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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

hr {height:1px;}

a {text-decoration:none;}

dt {font-weight:bold;}

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

.txtOptionInput {width:11em;}

#contentWrapper .chkOptionInput {border:0;}

.externalLink {text-decoration:underline;}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.whenBackstage {display:none;}
.backstageVisible .whenBackstage {display:block;}
/*}}}*/
/***
StyleSheet for use when a translation requires any css style changes.
This StyleSheet can be used directly by languages such as Chinese, Japanese and Korean which need larger font sizes.
***/
/*{{{*/
body {font-size:0.8em;}
#sidebarOptions {font-size:1.05em;}
#sidebarOptions a {font-style:normal;}
#sidebarOptions .sliderPanel {font-size:0.95em;}
.subtitle {font-size:0.8em;}
.viewer table.listView {font-size:0.95em;}
/*}}}*/
/*{{{*/
@media print {
#mainMenu, #sidebar, #messageArea, .toolbar, #backstageButton, #backstageArea {display: none !important;}
#displayArea {margin: 1em 1em 0em;}
noscript {display:none;} /* Fixes a feature in Firefox 1.5.0.2 where print preview displays the noscript content */
}
/*}}}*/
<!--{{{-->
<div class='toolbar' role='navigation' macro='toolbar [[ToolbarCommands::ViewToolbar]]'></div>
<div class='title' macro='view title'></div>
<div class='subtitle'><span macro='view modifier link'></span>, <span macro='view modified date'></span> (<span macro='message views.wikified.createdPrompt'></span> <span macro='view created date'></span>)</div>
<div class='tagging' macro='tagging'></div>
<div class='tagged' macro='tags'></div>
<div class='viewer' macro='view text wikified'></div>
<div class='tagClear'></div>
<!--}}}-->
|''Type:''|file|
|''URL:''|file:///G:/Dropbox/eADok.html|
|''Workspace:''|(default)|

This tiddler was automatically created to record the details of this server
Von Windows XP, Vista und 7 gibt es jeweils 32-bit und 64 bit Versionen.
Die für das eigene System notwendige Version kann durch "''Start - Einstellungen - Systemsteuerung''" und dann "''System''" festgestellt werden.
Bei 64-bit Versionen wird dies im ~System-Fenster angezeigt.
Unabhängig von der ~Windows-Version (32-bit oder 64-bit) steht ab V1.33 von eADok nur mehr eine Installationsdatei zur Verfügung.
Von Windows XP, Vista und 7 gibt es jeweils 32-bit und 64 bit Versionen.
Die für das eigene System notwendige Version kann durch "''Start - Einstellungen - Systemsteuerung''" und dann "''System''" festgestellt werden.
Bei 64-bit Versionen wird dies im ~System-Fenster angezeigt.
Europäisches Übereinkommen über die internationale Beförderung gefährlicher Güter auf der Strasse (ADR)
Zurordnungsliste von Abfallarten (SlNr) zu UN Nr. gem. [[ADR]]
Abfallnachweisverordnung 2012 (ANV 2012, BGBl II Nr. 341/2012, http://goo.gl/XpY0X)
Abfallnachweisverordnung 2003 (ANVO, BGBl. II Nr. 618/2003, [[Abfallnachweisverordnung auf Wikipedia|http://goo.gl/EHIGk]]) 
Abfallverbrennungsverordnung (AVV, BGBl. II Nr. 389/2002 idF BGBl. II Nr. 296/2007)
*[[Infos beim BMLFUW|http://goo.gl/uoXuT]] 
Verordnung über Jahresabfallbilanzen (~AbfallbilanzV, BGBl II Nr. 497/2008, [[Info zur Abfallbilanzverordnung, BMLFUW|http://goo.gl/niSMT]])
Ein Abfallbilanzcontainer in eADok dient zur Aufnahme von Daten für die Jahresabfallbilanz. Diese Daten stammen vornehmlich aus den Aufzeichnungen in eADok, können jedoch auch von anderen Quellen stammen.
!Welcome to your ''tiddlyspot.com'' ~TiddlyWiki!
''[[tiddlyspot.com|http://tiddlyspot.com]]'' gives you an instant [[TiddlyWiki|http://tiddlywiki.com]] hosted on our ''tiddlyspot.com'' servers.

Want to work online? No problem, you can go to your ''tiddlyspot.com'' URL (which is http://tiddlyspot.com/eadok/ ) and start editing. Click "save to web" and your changes are saved directly to your ''tiddlyspot.com'' home -- no messing about with local files or ftp.

Want to work offline? No problem, your ''tiddlyspot.com'' ~TiddlyWiki is a real, fully functioning ~TiddlyWiki that you can save onto your hard drive or USB stick. Use the link below to save to your local computer. As you make changes, use the "save to disk" button to save to your local file. Whenever you're ready to sync up again, just click "save to web".

!To save online
Enter the upload password provided when you created your ~TiddlyWiki. Then click the "save to web" button below (or in the right side column) to save your ~TiddlyWiki.
Upload Password: <<option pasUploadPassword>>
<<upload http://tiddlyspot.com/eadok/store.cgi index.html . . eadok>>

!To save offline
To take this ~TiddlyWiki offline, click [[Download|http://tiddlyspot.com/?action=download&site=eadok]]. Save the file locally then open it in your browser.


!Learn more about ~TiddlyWiki
Find out more about ~TiddlyWiki at [[TiddlyWiki.com|http://tiddlywiki.com]]. Also visit [[TiddlyWiki Guides|http://tiddlywikiguides.org]] for documentation on learning and using ~TiddlyWiki.

The [[TiddlyWiki mailing list|http://groups.google.com/group/TiddlyWiki]] is an excellent place to ask questions and get help.

!Enjoy!
We hope you like using your ''tiddlyspot.com'' ~TiddlyWiki. Please email [[feedback@tiddlyspot.com|mailto:feedback@tiddlyspot.com]] with any comments.

----
config.options.chkHttpReadOnly = true;
[[GLN]] einer Anlage im [[eRAS]]
In der Anlagenverwaltung können sämtliche bilaanzierungsrelevanten Anlagen gemäß AbfallbilanzV und DeponieVO angelegt werden. Dies ist notwendig um die entsprechenden innerbetrieblichen Stoffströme aufzeichnen zu können.
[img[Anlagenverwaltung|http://www.eadok.at/pics/ba4zzfeiag9avivyf.jpg]]

Folgende Menüpunkte stehen zur Verfügung:
[img[Anlagenmenü|http://www.eadok.at/pics/ba501iglef8wbo7yf.jpg]]
*''Neu'': zum Anlegen einer neuen Anlage
*''Speicher'': zum  Speichern der (geänderten) Daten einer Anlage
*''Löschen'': zum endgültigen Löschen einer Anlage
Es müssen jedenfalls die mit ''*'' versehenen Felder je Anlage ausgefüllt werden, weiters ist es notwendig, einen Anlagentyp, das Hauptbehandlungsverfahren sowie die Restkapazität (nur bei Deponien) anzugeben.

Hinweis: ''Es müssen nur die im eRAS mit "Berichtseinheit: ABIL" gekennzeichneten Anlagen erfasst werden!''
[img[Anlagen|http://www.eadok.at/pics/ba509nzmf3okul1l3.jpg]]

!!Was bedeutet "Buchungsart Streckengeschäft"?
*Alle Abfallbewegungen von Abfallsammlern, welche nicht zu einem Standort dieses Sammlers gebracht werden oder von einem solchen Standort abgeholt werden, sind als sogenanntes Streckengeschäft zu buchen. 
*Bei einem Streckengeschäft wird immer auf die Person(en-GLN) des Sammlers gebucht.
*Eigentlich umfasst eine Streckengeschäftsbuchung 2 Buchungszeilen:
**eine Eingangsbuchung
**eine Ausgangsbuchung
!!wie wird ein  Streckengeschäft in eADok gebucht?
Die Buchung erfolgt grundsätzlich wie bei allen Bewegungsbuchungen in eADok:
*Aus der Lieferschein- oder Begleitscheinverwaltung wird der Menüpunkt "Neu" ausgewählt.
[img[Lieferschein/Begleitschein neu|http://www.eadok.at/pics/bp0fd0xo4e1sm9n1a.jpg]]
*Bei der Buchungsart wird anders als bei normalen Buchungen die Buchungsart "E/A STRECKENGESCHÄFT" ausgewählt
[img[Buchungsart "E/A STRECKENGESCHÄFT"|http://www.eadok.at/pics/bp0fnzuzsyallpv4u.gif]] 
*Der LS/BS wird erfasst wie üblich, es ist lediglich zu berücksichtigen, dass weder in der Rubrik Übergabe noch in der Rubrik Übernahme der betroffene Sammler eingetragen werden kann, dh es wird jeweils der Ort der Herkunft und des Verbleibs ausgewählt (mit Standort-GLN). Als Firma ~BAstrein AG" würde das etwa so aussehen:
[img[BAstrein Strecke|http://www.eadok.at/pics/bp0fqs9kzr9t5lase.gif]] 
*Nach der Erfassung dieses Vorganges werden in eADok 2 miteinader verknüpfte LS/BS angelegt
!!Ansicht und Bearbeitung bereits erfasster Streckengeschäfte
Jedes Streckengeschäft wird auch im neuen Register "Streckengeschäfte" angezeigt:
[img[Streckengeschäfte|http://www.eadok.at/pics/bp0fxlkb145c7f5y6.gif]]
Über das Kontextmenü (rechte Maustaste über einem der enthaltenen Einträge) können diverse Operationen mit dem ausgewählten BS/LS durchgeführt werden:
[img[Streckengeschäft Kontextmenü|http://www.eadok.at/pics/bp0g1h6bdv98zkpum.jpg]]
So kann zB der Ausgang des Streckengeschäftes auf mehrere Eingänge verteilt werden oder auch der gesamte Vorgang ausgedruckt (mit aufeinander folgenden BS/LS) werden.
+++!!![Erstellen einer Jahresabfallbilanz...|Anklicken zum Ausklappen...]>...
<<tiddler [[Erstellen einer Jahresabfallbilanz]]>>
===
+++!!![Upload der Jahresabfallbilanz...|Anklicken zum Ausklappen...]>...
<<tiddler [[Upload der Jahresabfallbilanz]]>>
===
+++!!![Mitsammlung für Systeme: Anleitung...|Anklicken zum Ausklappen...]>...
<<tiddler [[Mitsammlung für Systeme: Anleitung]]>>
===
+++!!![mehrere Bilanzen zusammenfassen...|Anklicken zum Ausklappen...]>...
<<tiddler [[mehrere Bilanzen zusammenfassen]]>>
===
+++!!![zum Formular...|Anklicken zum Ausklappen...]>...
<<tiddler [[Anregungen und Fehler melden: Formular]]>>
===

!!Liste der bisherigen Meldungen:
<html>
<iframe width='100%' height='720' frameborder='0' src="https://docs.google.com/spreadsheets/d/1bgnWUJ854ADXbDXskajG1B7cNUQZKU5I64DO5nRChCg/pubhtml?gid=0&amp;single=true&amp;widget=true&amp;headers=false"></iframe>
</html>
<html>
<iframe src="http://spreadsheets.google.com/embeddedform?key=rdCtJ7lgTYRCbPNl2vb7vhA" width="720" height="720" frameborder="0" marginheight="0" marginwidth="0">Laden...</iframe>
</html>
Bundesgesetzblatt (http://www.ris2.bka.gv.at/)
Begleitschein gem. [[ANVO]] 
Begleitscheindatei
Begleitscheinformular gemäß ANVO
!!Filter
Durch Anklicken der rechten Ecke einer Spalte in der Tabellenüberschrift wird ein Filtermenü aufgerufen:

[img[Filtermenue.jpg|http://www.eadok.at/pics/Filtermenue.jpg]]

Die BS/LS können anhand der angezeigten Einträge gefiltert werden. Der Filter kann auch auf mehrere Spalten ausgeweitet werden.

!!Analyse der Daten
Die ggf. vorgefilterten und ausgewählten BS/~LS-Buchungszeilen könne über das Kontextmenü (rechte Maustaste) analysiert werden.

[img[Kontextmenu1.jpg|http://www.eadok.at/pics/Kontextmenu1.jpg]]

Es wird ein neues Fenster geöffnet, in welchem die ausgewählten BS/LS summiert werden. Die entsprechenden Daten könne als ~CSV-Datei exportiert werden.
Diese Datei steht im EDM-Portal unter ''"Meldewesen - eBegleitschein"'' nach dem Upload der EBSM-Datei zum Download bereit. Die Protokolldatei wird in eADok importiert. Fehlerhafte BS werden zur Korrektur in das Register "in Bearbeitung" zurückverschoben, von der Behörde akzeptierte BS werden ins Register "von Behörde bestätigt" verschoben.
zur umfassenden Suche von Liefer- und Begleitscheinen. Mit den gefundenen LS/~BS-Datensätzen können folgende Operationen durchgeführt werden
**Export im ~XML-Format (EBSM_neu und EBSM_alt)
**Export als ~CSV-Datei (ANSI und ~UTF8)
**Löschen
**Drucken
[img[Begleitscheinsuche|http://www.eadok.at/pics/azlfy2z0ilwo2xq30.gif]]
Die Begleitscheinverwaltung für Abfallerzeuger unterscheidet sich wesentlich von der Begleitscheinverwaltung für Sammler und Behandler, daher werden diese getrennt betrachtet:
+++!!![Begleitscheinverwaltung für Abfallerzeuger...|Anklicken zum Ausklappen...]>...
<<tiddler [[Begleitscheinverwaltung für Abfallerzeuger]]>>
===
+++!!![Begleitscheinverwaltung für Sammler und Behandler...|Anklicken zum Ausklappen...]>...
<<tiddler [[Begleitscheinverwaltung für Sammler und Behandler]]>>
===
Die Begleitschein- (und Lieferschein-) Verwaltung ist das zentrale Element der Applikation.
Die Begleitscheine (BS) und Lieferscheine (LS) werden  in 2 Registern abgelegt:
*Ausgang
**für alle von der Firma ausgehenden BS und LS
*Innerbetrieblich
**für alle innerbetrieblichen Abfalltransporte (zB zwischen Standorten der gleichen Firma)

Die jeweiligen Register sind wiederum unterteilt in BS und LS ''"in Bearbeitung"'' sowie ''"Ablage"''.
[img[Register|http://www.eadok.at/pics/ba4nps565aoap15sd.jpg]]

Folgende Bearbeitungen können bei den BS und LS durchgeführt werden:
[img[Begleitscheinbearbeitungen|http://www.eadok.at/pics/ba4nwwqeg28r8x6rx.jpg]]
*''Neu'': Erstellen eines neuen BS oder LS
*''Neu von ausgewähltem BS'': Nach der Auswahl eines BS/LS in der Liste kann ein mit den Daten dieses BS/LS vorausgefüllter BS erstellt werden
*''Ausgewählten BS ändern'': der entsprechende BS/LS kann geändert werden. Dies ist jedoch nur bei BS/LS möglich, welche sich noch "in Bearbeitung" befinden
*''Löschen'': Der/die ausgewählte(n) BS/LS werden gelöscht
*''Anzeigen'': Der BS/LS wird angezeigt, eine Änderung ist nicht möglich. Durch Doppelklick auf einen BS/LS in der Liste wird dieser auch angezeigt.
*''Zurück in Bearbeitung'': Dies ist nur für BS/LS in der Ablage möglich
*''XML Import/Export'': Liefer- und Begleitscheine können als ~XML-Datei (gemäß ~EBSM-Schnittstelle) von Kunden importiert bzw. exportiert und an Kunden etc. weitergegeben werden.
**''~XML-Import'': Import von Liefer- und Begleitscheinen. Das ~Import-Format (~EBSM_alt/neu) wird automatisch festgestellt
**''~XML-Export-EBSM_neu'': Export von Liefer- und Begleitscheinen im ~EBSM_neu Format
**''~XML-Export-EBSM_alt'': Export von Liefer- und Begleitscheinen im ~EBSM_alt Format insbesondere zum Datenaustausch mit Kunden
*''Begleitscheine suchen'': zur umfassenden Bs/LS Suche mit verschiedenen Filtermöglichkeiten (siehe weiter unten).
!!Begleitscheinformular für Abfallerzeuger
[img[BS Erzeuger|http://www.eadok.at/pics/ba51y1i59mf2qb0hz.jpg]]
Das BS-Formular orientiert sich weitgehend am BS-Formular der ANVO,
folgende Punkte sind jedoch zu beachten:
*am Beginn der Erfassung eines BS ist die betreffende [[Buchungsart]] auszuwählen (Standard: ''Übergabe'')
*Die Abfallart kann durch die Eingabe der SlNr, durch Auswahl im Kombifeld oder durch Suche (Button "...") erfolgen
*Bei Abfällen mit der Spezifikation "77" ist zusätzlich eine Kontaminationsgruppe anzugeben
[img[Kontaminationsgr|http://www.eadok.at/pics/ba523u6uk8mzi6qfb.jpg]]
*Die Angabe der Masse erfolgt in kg, es ist auch die Art der Messmethode anzugeben
*Die Auswahl des Übergebers erfolgt durch Direkteingabe einer Abfallbesitzernummer (8-stellig), einer GLN (13-stellig), eines Namens (aus der Kundenverwaltung) oder durch Suche (Button: ...)
**Hinweis: Bei Abfallerzeugern sind nur die eigene Person und eigene Standorte möglich!
*Die Begleitscheinnummer wird automatisch aus den bereits in den Einstellungen erfassten Nummernkreisen vergeben
*zur Erfassung eines abweichender Absenderadressen kann der Button ">>" angeklickt werden (dies ist auch in der Rubrik "Übernahme" möglich).
**erster Klick: Eingabe einer alternativen Adresse möglich:
[img[Adresse ändern|http://www.eadok.at/pics/ba529yy8k2uhmqf5z.jpg]]
**zweiter Klick: Eingabe einer Grundstücksnummer / Katastralgemeinde
[img[Grundstück erfassen|http://www.eadok.at/pics/ba52bdvgbadgc6qtj.jpg]]
*Die Auswahl des Transporteurs und Übernehmers erfolgt analog zum Übergeber (beim Transporteur können aber auch die Werte des Übergebers oder Übernehmers übernommen werden)
[img[Transporteur|http://www.eadok.at/pics/ba52ev7d2mmqhhtmv.jpg]]
Die Begleitschein- (und Lieferschein-) Verwaltung ist das zentrale Element der Applikation.
Die Begleitscheine (BS) und Lieferscheine (LS) werden jeweils in 4 Registern abgelegt:
*Eingang
**für alle bei der Firma eingehenden BS und LS
*Ausgang
**für alle von der Firma ausgehenden BS und LS
*Sonstige
**für alle BS und LS, welche sonst von der Fa. erfasst werden möchten (zB für durchgeführte Transporte)
*Innerbetrieblich
**für alle innerbetrieblichen Abfalltransporte (zB zwischen Standorten der gleichen Firma)

Die jeweiligen Register sind wiederum unterteilt in BS und LS ''"in Bearbeitung"'' sowie ''"Ablage"''.
[img[Register|http://www.eadok.at/pics/ba4nps565aoap15sd.jpg]]

Bei den ~Eingangs-BS wird unterteilt in ''"in Bearbeitung"'', ''"Datei für Behörde erzeugt"'' und  ''"von Behörde bestätigt"''.
[img[Eingangsbegleitscheine|http://www.eadok.at/pics/ba4oacep1k2zt79fx.jpg]]

Folgende Barbeitungen können bei den BS und LS durchgeführt werden:
[img[Bearbeitungsmöglichkeiten|http://www.eadok.at/pics/ba4od4z5rytl9q0zx.jpg]]
*''Neu'': Erstellen eines neuen BS oder LS
*''Neu von ausgewähltem BS'': Nach der Auswahl eines BS/LS in der Liste kann ein mit den Daten dieses BS/LS vorausgefüllter BS erstellt werden
*''Ausgewählten BS ändern'': der entsprechende BS/LS kann geändert werden. Dies ist jedoch nur bei BS/LS möglich, welche sich noch "in Bearbeitung" befinden
*''Löschen'': Der/die ausgewählte(n) BS/LS werden gelöscht
*''Anzeigen'': Der BS/LS wird angezeigt, eine Änderung ist nicht möglich. Durch Doppelklick auf einen BS/LS in der Liste wird dieser auch angezeigt.
*''Zurück in Bearbeitung'': Dies ist nur für BS/LS in der Ablage oder bei BS im Bearbeitungsstand "Datei für Behörde erzeugt" möglich
*''~BS-Bestätigung erzwingen'': Eingangsbegleitscheine aus dem Bereich "Datei für Behörde erzeugt" können auch händisch in den Bereich "von Behörde bestätigt" verschoben werden. Diese Begleitscheine sind jedoch farblich von den anderen zu unterscheiden.
*''XML Import/Export'': Liefer- und Begleitscheine können als ~XML-Datei (gemäß ~EBSM-Schnittstelle) von Kunden importiert bzw. exportiert und an Kunden etc. weitergegeben werden.
**''~XML-Import'': Import von Liefer- und Begleitscheinen. Das ~Import-Format (~EBSM_alt/neu) wird automatisch festgestellt
**''~XML-Export-EBSM_neu'': Export von Liefer- und Begleitscheinen im ~EBSM_neu Format
**''~XML-Export-EBSM_alt'': : Export von Liefer- und Begleitscheinen im ~EBSM_alt Format insbesondere zum Datenaustausch mit Kunden
*''BS-Protokolldatei einspielen'': Nachdem ~Eingangs-Begleitscheine an die Behörde gemäß §6 Abfallnachweisverordnung übermittelt wurden, kann das von der Behörde erstellte Protokoll (XML, muß im EDM-Portal herunter geladen werden) in eADok übernommen werden. Je nach Fehlerstatus werden die BS in den Bereich "von Behörde bestätigt" oder "in Bearbeitung" verschoben.
*''Begleitscheine suchen'': zur umfassenden BS/LS Suche mit verschiedenen Filtermöglichkeiten (siehe weiter unten).

!!Begleitscheinformular für Abfallsammler/-behandler
[img[BS Sammler/Behandler|http://www.eadok.at/pics/ba52j1wi2ru0ds8xz.jpg]]
Das BS-Formular orientiert sich weitgehend am BS-Formular der ANVO,
folgende Punkte sind jedoch zu beachten:
*am Beginn der Erfassung eines BS ist die betreffende [[Buchungsart]] auszuwählen (Standard: ''Übernahme'')
[img[Buchungsarten SamBeh|http://www.eadok.at/pics/ba52ku0p8l4ixl8w7.jpg]]
**Hinweis: je nach Buchungsart sind nur bestimmte Übergeber oder Übernehmer zulässig (siehe weiter unten)!
*Die Abfallart kann durch die Eingabe der SlNr, durch Auswahl im Kombifeld oder durch Suche (Button "...") erfolgen
*Bei Abfällen mit der Spezifikation "77" ist zusätzlich eine Kontaminationsgruppe anzugeben
[img[Kontaminationsgr|http://www.eadok.at/pics/ba523u6uk8mzi6qfb.jpg]]
*Die Angabe der Masse erfolgt in kg, es ist auch die Art der Messmethode anzugeben
*Die Auswahl des Übergebers erfolgt durch Direkteingabe einer Abfallbesitzernummer (8-stellig), einer GLN (13-stellig), eines Namens (aus der Kundenverwaltung) oder durch Suche (Button: ...)
*zur Erfassung eines abweichender Absenderadressen kann der Button ">>" angeklickt werden (dies ist auch in der Rubrik "Übernahme" möglich).
**erster Klick: Eingabe einer alternativen Adresse möglich:
[img[Adresse ändern|http://www.eadok.at/pics/ba529yy8k2uhmqf5z.jpg]]
**zweiter Klick: Eingabe einer Grundstücksnummer / Katastralgemeinde
[img[Grundstück erfassen|http://www.eadok.at/pics/ba52bdvgbadgc6qtj.jpg]]
*Die Auswahl des Transporteurs und Übernehmers erfolgt analog zum Übergeber (beim Transporteur können aber auch die Werte des Übergebers oder Übernehmers übernommen werden)
[img[Transporteur|http://www.eadok.at/pics/ba52ev7d2mmqhhtmv.jpg]]
*Die ~BS-Nummernvergabe erfolgt je nachdem, ob die betreffende Person als Übergeber oder als Übernehmer agiert in der betreffenden Rubrik und erfolgt automatisch aus den angelegten Nummernkreisen.
+++(Begleitscheinübermittlung an die Behörde durch Abfallsammler /-behandler)!!![Begleitscheinübermittlung an die Behörde durch Abfallsammler /-behandler...|Anklicken zum Ausklappen...]>...
<<tiddler [[Begleitscheinübermittlung an das Lebensministerium]]>>
===
!!Begleitscheinübermittlung an die Behörde durch Abfallsammler /-behandler
Mit eADok ab Version 1.30 können Begleitscheine im [[EBSM_neu]]-Format mittels WebService direkt an den Landeshauptmann im Wege des ~EDM-Portals des Lebensministeriums direkt übermittelt werden. Die vom EDM erzeugte Protokolldatei wird dabei automatisch in eADok importiert und steht somit zur Kontrolle der ordnungsgemäßen Übermittlung zur Verfügung.

!!!Bei der Begleitscheinübermittlung ist wie folgt vorzugehen:
In der Begleitscheinverwaltung sind die zu übermittelnden BS auszuwählen.
[img[BS-Auswahl-1|http://666kb.com/i/caq434bqibcvp0nh4.jpg]]

Dies kann zB durch Mehrfachauswahl (~STRG-Maustatste) bzw. durch das Kontextmenü ("rechte Maustaste - Alles Markieren erfolgen")
[img[Kontexmenü Auswahl BS|http://666kb.com/i/caq46vpi3cd3l3nq0.jpg]] 

Wenn die zu übermittelnden BS ausgewählt sind, kann wiederum im Kontextmenü (oder über den Menüpunkt "Begleitschein - ~EDM-Webservice - Upload Begleitscheine") der Uploadvorgang gestartet werden:
[img[upload starten|http://666kb.com/i/caq4bfidhcm8tkst4.jpg]] 

Beim erstmaligen Ausführen dieser Prozedur wird der EDM-login-Name sowie das EDM-Passwort abgefragt.
''Hinweis: Das Passwort wird seitens des EDM für de ~BS-Übermittlung benötigt. In eADok wird das Passwort nicht gespeichert und ist somit beim nächsten Start von eADok nicht mehr verfügbar!'' Es ist auch möglich, sich mit einem Nebenbenutzeraccount im EDM anzumelden.
[img[Login EDM|http://666kb.com/i/caq4es80ywjfywtlk.jpg]] 

In einem weiteren Fenster wird nochmals abgefragt, ob die ausgewählten BS tatsächlich übermittelt werden sollen:
[img[Übermittung?|http://666kb.com/i/caq4hz24atk5zgmag.jpg]] 

Im nächsten Fenster wird das Übermittlungsprotokoll angezeigt:
[img[Protokoll|http://666kb.com/i/caq4lyxwfj3yp1jvc.jpg]]
* Ordnungsgemäß übertragene BS werden sodann in das Register "BS von Behörde bestätigt" verschoben
* Fehlerhafte BS verbleiben im Register "BS in Bearbeitung"
* Falls für übermittelte BS kein Übermittlungsprotokoll vom EDM eingegangen ist, werden diese BS ins Register "BS für Behörde erzeugt" verschoben. Dort ist eine erneute Protokollanforderung  bzw. eine Neuübermittlung möglich.
[img[Prot Anfordern|http://666kb.com/i/caq4pglfgmd2bjpp4.jpg]]


''Das bisherige, aufwendige Verfahren ([[Begleitscheinübermittlung an das Lebensministerium (alt)]]) ist daher nicht mehr notwendig!''




!!Begleitscheinübermittlung an die Behörde durch Abfallsammler /-behandler
Mit eADok können Begleitscheine im [[EBSM_neu]]-Format im EDM-Portal des Lebensministerium in der Applikation eBegleitschein direkt hochgeladen werden und die dabei erzeugte Protokolldatei wieder in eADok importiert werden
Dabei ist wie folgt vorzugehen:
!!!Export der Begleitscheine als ~XML-Datei aus eADok
*In der Begleitscheinverwaltung werden im Register "BS in Bearbeitung" alle zu übersendenden BS ausgewählt. Alle BS des Registers können mit der rechten Maustaste und "Alles Markieren" ausgewählt werden:
[img[Begleitscheine auswählen|http://www.eadok.at/pics/batx3h0sf17jzxqod.gif]]
*Durch Auswahl des Menüpunktes "~BS-Datei für Behörde erstellen" werden die gewählten BS zur Übermittlung an die Behörde vorbereitet:
[img[BS-Datei erstellen|http://www.eadok.at/pics/batx76rwawcz0koct.gif]]
*BS, bei welchen Daten unvollständig sind, werden von der Übermittlung ausgeschlossen:
[img[BS unvollständig|http://www.eadok.at/pics/batxcnz4ocyw4gi8d.gif]]
*Die vollständigen BS werden in die ~XML-Datei übernommen...
[img[BS vollständig|http://www.eadok.at/pics/batxer9u91niedv0t.gif]]
*...und exportiert:
[img[BS Export|http://www.eadok.at/pics/batxgj4ud8xbe8ea5.gif]]
*Das oben angezeigte Fenster kann dann geschlossen werden.

!!!Import der BS-Datei im EDM-Portal
*im EDM-Portal wird nach dem einloggen die Applikation "eBegleitschein" ausgewählt
[img[eBegleitschein|http://www.eadok.at/pics/batxn27v9ozsr2ibx.gif]]
*weiters wird das Formular für den Begleitscheinupload ausgewählt:
[img[BS-Upload|http://www.eadok.at/pics/batxpfvyyas9kfvbh.gif]]
*Mit dem Button "Durchsuchen" kann die vorhin in eADok erstellte BS-Datei im Explorer ausgewählt werden
[img[Datei auswählen|http://www.eadok.at/pics/batxq944qskr9j80d.gif]] 
*Die Datei befindet sich standardmäßig im Unterordner xmlLH von eADok
[img[xmlLH|http://www.eadok.at/pics/batxtk5katr6pfzv1.gif]]
*Mit dem Button "Öffnen" wird der Pfad in das vorhin gezeigte Textfeld im Formular übetrnommen
*Durch Auswahl des Eintrages "prüfen und speichern ohne korrigierte Begleitscheine" und "upload starten wird die Datei in eBegleitschein hochgeladen und validiert (geprüft)
[img[upload starten|http://www.eadok.at/pics/batxvdasmx4mie0jx.gif]]
*Nach dem upload wird das Ergebnis der Prüfung angezeigt. "Richtige BS sind mit ''OK''gekennzeichnet. abgelehnte BS mit ''NOK''.
[img[Ergebnis upload|http://www.eadok.at/pics/batxyyu3wl9x3l559.gif]]

!!Protokolldatei aus eBegleitschein herunterladen und in eADok übernehmen
*Mit dem Button "exportieren in ~XML-Format" wird die Protokolldatei heruntergeladen. Es sollte dafür das Unterverzeichnis "protLH" von eADok verwendet werden.
*Nach dem Download kann die Datei mit dem Menüpunkt "BS-Protokolldatei einspielen" in eADok importiert werden:
[img[BS-Protokoll importieren|http://www.eadok.at/pics/batzuargz6yuvalvx.gif]]
*im nachgfolgenden Fenster werden nochmals die importierten BS angezeigt. Mit dem Button "~Begleitschein-Bestätigungen einholen und Protokoll speichern" wird das Protokoll in eADok übernommen:
[img[Begleitschein-Bestätigungen einholen und Protokoll speichern|http://www.eadok.at/pics/batzvyc4zusean0i5.gif]] 
*Die akzeptierten Begelitscheine werden in das Register "BS von Behörde bestätigt" verschoben:
[img[BS von Behörde bestätigt|http://www.eadok.at/pics/batzzuthbo3lt1f7x.gif]]
*abgelehnte BS werden wieder ins Register "BS in Bearbeitung verschoben". Dort wird bei Auswahl jedes einzelnen BS der Ablehungsgrund angegeben und kann der BS entsprechend geändert werden.
!!Begleitscheinübermittlung an die Behörde durch Abfallsammler /-behandler
Mit eADok ab V 1.30 können Begleitscheine im [[EBSM_neu]]-Format mittels WebService direkt an den Landeshauptmann im Wege des EDMübermittelt werden. Die dabei erzeugte Protokolldatei wird automatisch in eADok importiert. In eADok ist somit ersichtlich, ob die BS ordnungsgemäß übermittelt wurden.






Das bisherige, aufwendige Prozedere entfällt damit: [[Begleitscheinübermittlung an das Lebensministerium (alt)]]
<html>
<iframe src="http://www.oekobits.at/eADok/eadok_order.php" width="950" height="880" frameborder="0" marginheight="0" marginwidth="0">Laden...</iframe>
</html>
/***
|Name|BetterTimelineMacro|
|Created by|SaqImtiaz|
|Location|http://lewcid.googlepages.com/lewcid.html#BetterTimelineMacro|
|Version|0.5 beta|
|Requires|~TW2.x|
!!!Description:
A replacement for the core timeline macro that offers more features:
*list tiddlers with only specfic tag
*exclude tiddlers with a particular tag
*limit entries to any number of days, for example one week
*specify a start date for the timeline, only tiddlers after that date will be listed.

!!!Installation:
Copy the contents of this tiddler to your TW, tag with systemConfig, save and reload your TW.
Edit the ViewTemplate to add the fullscreen command to the toolbar.

!!!Syntax:
{{{<<timeline better:true>>}}}
''the param better:true enables the advanced features, without it you will get the old timeline behaviour.''

additonal params:
(use only the ones you want)
{{{<<timeline better:true onlyTag:Tag1 excludeTag:Tag2 sortBy:modified/created firstDay:YYYYMMDD maxDays:7 maxEntries:30>>}}}

''explanation of syntax:''
onlyTag: only tiddlers with this tag will be listed. Default is to list all tiddlers.
excludeTag: tiddlers with this tag will not be listed.
sortBy: sort tiddlers by date modified or date created. Possible values are modified or created.
firstDay: useful for starting timeline from a specific date. Example: 20060701 for 1st of July, 2006
maxDays: limits timeline to include only tiddlers from the specified number of days. If you use a value of 7 for example, only tiddlers from the last 7 days will be listed.
maxEntries: limit the total number of entries in the timeline.


!!!History:
*28-07-06: ver 0.5 beta, first release

!!!Code
***/
//{{{
// Return the tiddlers as a sorted array
TiddlyWiki.prototype.getTiddlers = function(field,excludeTag,includeTag)
{
 var results = [];
 this.forEachTiddler(function(title,tiddler)
 {
 if(excludeTag == undefined || tiddler.tags.find(excludeTag) == null)
 if(includeTag == undefined || tiddler.tags.find(includeTag)!=null)
 results.push(tiddler);
 });
 if(field)
 results.sort(function (a,b) {if(a[field] == b[field]) return(0); else return (a[field] < b[field]) ? -1 : +1; });
 return results;
}



//this function by Udo
function getParam(params, name, defaultValue)
{
 if (!params)
 return defaultValue;
 var p = params[0][name];
 return p ? p[0] : defaultValue;
}

window.old_timeline_handler= config.macros.timeline.handler;
config.macros.timeline.handler = function(place,macroName,params,wikifier,paramString,tiddler)
{
 var args = paramString.parseParams("list",null,true);
 var betterMode = getParam(args, "better", "false");
 if (betterMode == 'true')
 {
 var sortBy = getParam(args,"sortBy","modified");
 var excludeTag = getParam(args,"excludeTag",undefined);
 var includeTag = getParam(args,"onlyTag",undefined);
 var tiddlers = store.getTiddlers(sortBy,excludeTag,includeTag);
 var firstDayParam = getParam(args,"firstDay",undefined);
 var firstDay = (firstDayParam!=undefined)? firstDayParam: "00010101";
 var lastDay = "";
 var field= sortBy;
 var maxDaysParam = getParam(args,"maxDays",undefined);
 var maxDays = (maxDaysParam!=undefined)? maxDaysParam*24*60*60*1000: (new Date()).getTime() ;
 var maxEntries = getParam(args,"maxEntries",undefined);
 var last = (maxEntries!=undefined) ? tiddlers.length-Math.min(tiddlers.length,parseInt(maxEntries)) : 0;
 for(var t=tiddlers.length-1; t>=last; t--)
 {
 var tiddler = tiddlers[t];
 var theDay = tiddler[field].convertToLocalYYYYMMDDHHMM().substr(0,8);
 if ((theDay>=firstDay)&& (tiddler[field].getTime()> (new Date()).getTime() - maxDays))
 {
 if(theDay != lastDay)
 {
 var theDateList = document.createElement("ul");
 place.appendChild(theDateList);
 createTiddlyElement(theDateList,"li",null,"listTitle",tiddler[field].formatString(this.dateFormat));
 lastDay = theDay;
 }
 var theDateListItem = createTiddlyElement(theDateList,"li",null,"listLink",null);
 theDateListItem.appendChild(createTiddlyLink(place,tiddler.title,true));
 }
 }
 }

 else
 {
 window.old_timeline_handler.apply(this,arguments);
 }
}
//}}}
''Hinweise zur Benutzung von [[Bilanz-Import-eADok.xls (downloadlink)|http://www.oekobits.at/eADok/eadokfiles/]]''
Dieses Modul steht für die Jahresabfallbilanz 2010 nicht mehr zur Verfügung!
!Veranlassung
Das Programm ~Bilanz-Import-eADok.xls dient der einfachen Erfassung der Aufzeichnungen von Deponiebetreibern und Betreibern von Abfallverbrennungsanlagen, um die gemäß den entsprechenden Verordnungen ([[Deponie-VO]] und [[AVV]]) notwendigen Jahresabfallbilanzen für das Jahr 2008 vorzubereiten.
!Ablauf der Bearbeitung
#Erfassung der eigenen Aufzeichnungen in ~Bilanz-Import-eADok.xls ==> [[Erfassung in Bilanz-Import-eADok.xls]]
#Prüfung und Export der Daten in ~Bilanz-Import-eADok.xls
#Import der Daten in eADok ==> [[Bilanzdatenbearbeitung in eADok]]
#Export der  Bilanz aus eAdok und upload im ~EDM-Portal
/%!weitere Anwendungshinweise%/
Beschreibung fehlt noch &&
+++!!![Import der Daten aus Bilanz-Import-eADok.xls in eADok...|Anklicken zum Ausklappen...]>...
*Nach dem Öffnen von eADok ist folgender Menüpunkt auszuwählen
[img[Import eADok|http://www.eadok.at/pics/b5nwgkta21vkqtau6.gif]]
*Durch Auswahl des Menüpunktes ''Bilanz-Neu'' erscheint folgendes Fenster zum Anlegen der Bilanzstruktur:
[img[Bilanzstruktur anlegen|http://www.eadok.at/pics/b5nwl8ac1ttpu1s0u.gif]] 
*nach Festlegung des Meldezeitraumes wird mit ''OK'' eine neue Bilanz angelegt.
*Durch Auswahl des Menüpunktes ''Daten-Import'' erscheint ein Fenster zur Auswahl der in Bilanz-Import-eADok.xls erstellten ~CSV-Datei
[img[Auswahl CSV-Datei|http://www.eadok.at/pics/b5nwqg5quw0d2rkf2.gif]]
*Nach Auswahl der entsprechenden Datei werden die Daten nochmals geprüft und können (falls keine Fehler festgestellt wurden) mit dem Button ''~Bilanz-Daten übernehmen'' in eADok eingespielt werden.
[img[Bilanzdaten übernehmen|http://www.eadok.at/pics/b5nwvvui4i5jov38e.gif]]
===
+++!!![Export der Bilanz aus eADok...|Anklicken zum Ausklappen...]>...
*Nach Auswahl einer Bilanz im Bilanz-Manager von eADok erscheint durch Auswahl des Menüpunktes ''Bilanz - Export (Abfall-Input-Outputmeldung)'' folgendes Fenster:
[img[Export Sicherheitsabfrage|http://www.eadok.at/pics/b5nx1brjl7y73qn1a.gif]]
*Durch das Auswählen des Buttons ''Fortfahren'' wird eine XML-Datei im eADok-Unterverzeichnis ''xmlLH'' erstellt.
===
+++!!![Import der XML-Datei im EDM-Portal...|Anklicken zum Ausklappen...]>...
*Nach der Anmeldung im EDM-Portal ist inder NAvigation der Punkt ''eBilanzen'' auszuwählen:
[img[Navigation EDM|http://www.eadok.at/pics/b5nx6pdeoix8ctgri.gif]]
*Auf der erscheinenden Seite diesen Punkt auswählen,
[img[XML in privaten Bereich|http://www.eadok.at/pics/b5nx7pv5ncf6p9f6m.gif]]
*die zuvor in eADok generierte Datei auswählen
[img[hochladen|http://www.eadok.at/pics/b5nxa4jbrjaxu3z1a.gif]] 
*und ''Datei hochladen''.
*Es sollte folgende Meldung erscheinen:
[img[Erfolgreich hochgeladen|http://www.eadok.at/pics/b5nxcihjjn2wqg4ri.gif]] 
===
+++!!![Bilanz aus privatem Bereich ins Register einbringen...|Anklicken zum Ausklappen...]>...
*Im EDM-Portal den Menüpunkt ''Privater Bereich - Übersicht'' auswählen
*die erfolgreich hochgeladene Datei sollte sich derart wiederfinden:
[img[privater Bereich|http://www.eadok.at/pics/b5nxgghpfwcwkel26.gif]]
*Bei der Validierung der Datei im EDM-Portal wird häufig ausgegeben, dass die ~XML-Datei Fehler enthält. Die Bilanz kann trotzdem ins Register übermittelt werden:
[img[Meldung ins Register|http://www.eadok.at/pics/b5nxl2fx890lsurdq.gif]] 
===
Beschreibung fehlt noch &&
Verordnung über Jahresabfallbilanzen (AbfallbilanzV, BGBl II Nr. 497/2008, [[Info zur Abfallbilanzverordnung, BMLFUW|http://goo.gl/niSMT]])
Dieser Menüpunkt dient der Erstellung von Blanko BS/LS
[img[Blanko-BS|http://www.eadok.at/pics/img_003st.jpg]] 
!!Buchungsarten gemäß Zuordnungstabelle im EDM
|9008390101544|Übernahme|"Normale" Übernahme von Abfall.|
|9008390101551|Rücknahme aus Lohnarbeit|Rücknahme eines Abfalls nach der Behandlung in Lohnarbeit.|
|9008390101568|Übernahme in Lohnarbeit|Übernahme eines Abfalls zur Behandlung in Lohnarbeit.|
|9008390101575|Übernahme in Streckengeschäft|Übernahme eines Abfalls zur Weiterführung in einem Streckengeschäft (Beginn des Streckengeschäftes).|
|9008390101582|Übernahme aus Streckengeschäft|Übernahme eines Abfalls am Ende eines Streckengeschäftes.|
|9008390101599|Übernahme aus/in Streckengeschäft|Übernahme eines Abfalls aus einem Streckengeschäft mit direkter Weiterführung in ein folgendes Streckengeschäft.|
|9008390101605|Rücknahme aus Lohnarbeit mit Übernahme in Streckengeschäft|Rücknahme eines Abfalls nach der Behandlung in Lohnarbeit mit direkter Weiterführung in ein folgendes Streckengeschäft.|
|9008390101612|Übernahme aus Streckengeschäft in Lohnarbeit|Übernahme eines Abfalls am Ende eines Streckengeschäftes zu einer folgenden Behandlung in Lohnarbeit.|
|9008390101629|Übernahme in Sammeltour|Übernahme eines Abfalls im Zuge einer Sammelfahrt wobei die Abfälle mehrerer Übergeber gemeinsam zu einem Standort des Übernehmers gebracht werden.|
|9008390101636|Übernahme in Sammeltour/Streckengeschäft|Übernahme eines Abfalls im Zuge einer Sammelfahrt wobei die Abfälle mehrerer Übergeber gemeinsam vom Übernehmer in einem Streckengeschäft weitergeführt werden.|
|9008390102534|Übernahme einer Kleinmenge zur Deponierung|Übernahme einer Kleinmenge zur Deponierung gemäß § 13 Abs. 1 und 2 Deponieverordnung 2008|
|9008390101643|Übergabe|"Normale" Übergabe von Abfall.|
|9008390101650|Übergabe in Lohnarbeit|Übergabe eines Abfalls zur Behandlung in Lohnarbeit.|
|9008390101667|Rückgabe aus Lohnarbeit|Rückgabe eines Abfalls nach der Behandlung in Lohnarbeit.|
|9008390101674|Übergabe in Streckengeschäft|Übergabe eines Abfalls, der vom Übernehmer in einem Streckengeschäft weitergeführt wird (Beginn des Streckengeschäftes).|
|9008390101681|Übergabe aus Streckengeschäft|Übergabe eines Abfalls am Ende eines Streckengeschäftes.|
|9008390101698|Übergabe aus/in Streckengeschäft|Übergabe eines Abfalls, der bereits in einem Streckengeschäft geführt wird, in ein folgendes Streckengeschäft.|
|9008390101704|Rückgabe aus Lohnarbeit mit Übergabe in Streckengeschäft|Rückgabe eines Abfalls nach der Behandlung in Lohnarbeit, wobei der Übernehmer diesen in einem Streckengeschäft weiterführt.|
|9008390101711|Übergabe aus Streckengeschäft in Lohnarbeit|Übergabe eines Abfalls am Ende eines Streckengeschäftes zur Behandlung in Lohnarbeit.|
|9008390101728|Innerbetriebliche Abfallbewegung|Abfallbewegung zwischen Anlagen oder Standorten derselben Rechtsperson.|



[[link:Buchungsarten im EDM|https://secure.umweltbundesamt.at/edm_portal/redaList.do?seqCode=un5fnr2cuwcnbx&lsCode=twmmqa6eathxdj&entireLsq=true&zz=0.9835482793953653_0.8524613438962199]]
Dateityp zur Weiterbearbeitung zB in Excel
/***
''CheckboxPlugin for TiddlyWiki version 2.0''
^^author: Eric Shulman
source: http://www.TiddlyTools.com/#CheckboxPlugin 
license: [[Creative Commons Attribution-ShareAlike 2.5 License|http://creativecommons.org/licenses/by-sa/2.5/]]^^

Add checkboxes to your tiddler content. Checkbox states can be preserved in the document by either automatically modifying the tiddler content or setting/removing tags on specified tiddlers, or they may be saved as local cookies by assigning an optional 'chkID' to the checkbox. Add custom javascript for programmatic initialization and onClick handling for any checkbox. Also provides access to checkbox DOM element data and tracks the checkbox state in TiddlyWiki's config.options[] internal data.

!!!!!Usage
<<<
The checkbox syntax, including all optional parameters, is contained inside a matched set of [ and ] brackets.
{{{ [x=id(title|tag){init_script}{onclick_script}] }}}

An alternative syntax lets you place the optional parameters ''outside'' the [ and ] brackets, and is provided for backward-compatibility with existing content that may include checkbox definitions based on earlier releases of this plugin:
{{{ [x]=id(title|tag){init_script}{onclick_script} }}}

//{{{
[ ]or[_] and [x]or[X]
//}}}
Simple checkboxes. The current unchecked/checked state is indicated by the character between the {{{[}}} and {{{]}}} brackets ("_" means unchecked, "X" means checked). When you click on a checkbox, the current state is retained by directly modifying the tiddler content to place the corresponding "_" or "X" character in between the brackets
//{{{
[x=id]
//}}}
Assign an optional ID to the checkbox so you can use {{{document.getElementByID("id")}}} to manipulate the checkbox DOM element, as well as tracking the current checkbox state in {{{config.options["id"]}}}. If the ID starts with "chk" the checkbox state will also be saved in a cookie, so it can be automatically restored whenever the checkbox is re-rendered (overrides any default {{{[x]}}} or {{{[_]}}} value). If a cookie value is kept, the "_" or "X" character in the tiddler content remains unchanged, and is only applied as the default when a cookie-based value is not currently defined.
//{{{
[x(title|tag)] or [x(title:tag)]
//}}}
Initializes and tracks the current checkbox state by setting or removing ("TogglyTagging") a particular tag value from a specified tiddler. If you omit the tiddler title (and the | or : separator), the specified tag is assigned to the current tiddler. If you omit the tag value, as in {{{(title|)}}}, the default tag, {{{checked}}}, is assumed. Omitting both the title and tag, {{{()}}}, tracks the checkbox state by setting the "checked" tag on the current tiddler. When tag tracking is used, the "_" or "X" character in the tiddler content remains unchanged, and is not used to set or track the checkbox state. If a tiddler title named in the tag does not exist, the checkbox state defaults to //unselected//. When the checkbox is subsequently changed to //selected//, it will automatically (and silently) create the missing tiddler and then add the tag to it. //''NOTE: beginning with version 2.1.2 of this plugin, the "|" separator is the preferred separator between the title and tag name, as it avoids syntactic ambiguity when ":" is used within tiddler titles or tag names.''//
//{{{
[x{javascript}{javascript}]
//}}}
You can define optional javascript code segments to add custom initialization and/or 'onClick' handling to a checkbox. The current checkbox state (and it's other DOM attributes) can be set or read from within these code segments by reference to the default context-object, 'this'.

The first code segment will be executed when the checkbox is initially displayed, so that you can programmatically determine it's starting checked/unchecked state. The second code segment (if present) is executed whenever the checkbox is clicked, so that you can perform programmed responses or intercept and override the checkbox state based on complex logic using the TW core API or custom functions defined in plugins (e.g. testing a particular tiddler title to see if certain tags are set or setting some tags when the checkbox is clicked).

Note: if you want to use the default checkbox initialization processing with a custom onclick function, use this syntax: {{{ [x=id{}{javascript}] }}} 
<<<
!!!!!Configuration
<<<
Normally, when a checkbox state is changed, the affected tiddlers are automatically re-rendered, so that any checkbox-dependent dynamic content can be updated. There are three possible tiddlers to be re-rendered, depending upon where the checkbox is placed, and what kind of storage method it is using.
*''container'': the tiddler in which the checkbox is displayed. (e.g., this tiddler)
*''tagged'': the tiddler that is being tagged (e.g., "~MyTask" when tagging "~MyTask:done")
*''tagging'': the "tag tiddler" (e.g., "~done" when tagging "~MyTask:done")
You can set the default refresh handling for all checkboxes in your document by using the following javascript syntax either in a systemConfig plugin, or as an inline script. (Substitute true/false values as desired):
{{{config.checkbox.refresh = { tagged:true, tagging:true, container:true };}}}

You can also override these defaults for any given checkbox by using an initialization function to set one or more of the refresh options. For example:
{{{[_{this.refresh.container=false}]}}}
<<<
!!!!!Examples
<<<
//{{{
[X] label
[_] label
//}}}
>checked and unchecked static default values
>[X] label
>[_] label
//{{{
[_=demo] label
//}}}
>document-based value (id='demo', no cookie)
>[_=demo] label
//{{{
[_=chkDemo] label
//}}}
>cookie-based value (id='chkDemo')
>[_=chkDemo] label
//{{{
[_(CheckboxPlugin|demotag)]
[_(CheckboxPlugin|demotag){this.refresh.tagged=this.refresh.container=false}]
//}}}
>tag-based value (TogglyTagging)
>[_(CheckboxPlugin|demotag)] toggle 'demotag' (and refresh tiddler display)
>[_(CheckboxPlugin|demotag){this.refresh.tagged=this.refresh.container=false}] toggle 'demotag' (no refresh)
>current tags: <script>return store.getTiddler(story.findContainingTiddler(place).id.substr(7)).tags.toString();</script>
><script label="click to view current tags">alert(store.getTiddler(story.findContainingTiddler(place).id.substr(7)).tags.toString());return false</script>
//{{{
[X{this.checked=true}{alert(this.checked?"on":"off")}] message box with checkbox state
//}}}
>custom init and onClick functions
>[X{this.checked=true}{alert(this.checked?"on":"off")}] message box with checkbox state
Retrieving option values:
config.options['demo']=<script>return config.options['demo']?"true":"false";</script>
config.options['chkDemo']=<script>return config.options['chkDemo']?"true":"false";</script>

!!!!!Installation
import (or copy/paste) the following tiddlers into your document:
''CheckboxPlugin'' (tagged with <<tag systemConfig>>)
<<<
!!!!!Revision History
<<<
2006.05.04 - 2.1.3
fix use of findContainingTiddler() to check for a non-null return value, so that checkboxes won't crash when used outside of tiddler display context (such as in header, sidebar or mainmenu)

2006.03.11 - 2.1.2
added "|" as delimiter to tag-based storage syntax (e.g. "tiddler|tag") to avoid parsing ambiguity when tiddler titles or tag names contain ":". Using ":" as a delimiter is still supported but is deprecated in favor of the new "|" usage. Based on a problem reported by JeffMason.

2006.02.25 - 2.1.0
added configuration options to enable/disable forced refresh of tiddlers when toggling tags

2006.02.23 - 2.0.4
when toggling tags, force refresh of the tiddler containing the checkbox.

2006.02.23 - 2.0.3
when toggling tags, force refresh of the 'tagged tiddler' so that tag-related tiddler content (such as "to-do" lists) can be re-rendered.

2006.02.23 - 2.0.2
when using tag-based storage, allow use [[ and ]] to quote tiddler or tag names that contain spaces:
"""[x([[Tiddler with spaces]]:[[tag with spaces]])]"""

2006.01.10 - 2.0.1
when toggling tags, force refresh of the 'tagging tiddler'. For example, if you toggle the "systemConfig" tag on a plugin, the corresponding "systemConfig" TIDDLER will be automatically refreshed (if currently displayed), so that the 'tagged' list in that tiddler will remain up-to-date.

2006.01.04 - 2.0.0
update for ~TW2.0

2005.12.27 - 1.1.2
Fix lookAhead regExp handling for """[x=id]""", which had been including the "]" in the extracted ID. 
Added check for "chk" prefix on ID before calling saveOptionCookie()

2005.12.26 - 1.1.2
Corrected use of toUpperCase() in tiddler re-write code when comparing """[X]""" in tiddler content with checkbox state. Fixes a problem where simple checkboxes could be set, but never cleared.

2005.12.26 - 1.1.0
Revise syntax so all optional parameters are included INSIDE the [ and ] brackets. Backward compatibility with older syntax is supported, so content changes are not required when upgrading to the current version of this plugin. Based on a suggestion by GeoffSlocock

2005.12.25 - 1.0.0
added support for tracking checkbox state using tags ("TogglyTagging")
Revised version number for official post-beta release.

2005.12.08 - 0.9.3
support separate 'init' and 'onclick' function definitions.

2005.12.08 - 0.9.2
clean up lookahead pattern

2005.12.07 - 0.9.1
only update tiddler source content if checkbox state is actually different. Eliminates unnecessary tiddler changes (and 'unsaved changes' warnings)

2005.12.07 - 0.9.0
initial BETA release
<<<
!!!!!Credits
<<<
This feature was created by EricShulman from [[ELS Design Studios|http:/www.elsdesign.com]]
<<<
!!!!!Code
***/
//{{{
version.extensions.CheckboxPlugin = {major: 2, minor: 1, revision:3 , date: new Date(2006,5,4)};
//}}}

// // 1.2.x compatibility
//{{{
if (!window.story) window.story=window;
if (!store.getTiddler) store.getTiddler=function(title){return store.tiddlers[title]}
if (!store.addTiddler) store.addTiddler=function(tiddler){store.tiddlers[tiddler.title]=tiddler}
if (!store.deleteTiddler) store.deleteTiddler=function(title){delete store.tiddlers[title]}
//}}}

//{{{
config.checkbox = { refresh: { tagged:true, tagging:true, container:true } };
config.formatters.push( {
 name: "checkbox",
 match: "\\[[xX_ ][\\]\\=\\(\\{]",
 lookahead: "\\[([xX_ ])(\\])?(=[^\\s\\(\\]{]+)?(\\([^\\)]*\\))?({[^}]*})?({[^}]*})?(\\])?",
 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)
 {
 // get params
 var checked=lookaheadMatch[1];
 var id=lookaheadMatch[3];
 var tag=lookaheadMatch[4];
 var fn_init=lookaheadMatch[5];
 var fn_click=lookaheadMatch[6];
 // create checkbox element
 var c = document.createElement("input");
 c.setAttribute("type","checkbox");
 c.onclick=onClickCheckbox;
 c.srcpos=w.matchStart+1; // remember location of "X"
 c.container=story.findContainingTiddler(w.output); if (c.container) c.container=c.container.id.substr(7); // tiddler containing checkbox
 c.refresh = { };
 c.refresh.container=config.checkbox.refresh.container;
 c.refresh.tagged=config.checkbox.refresh.tagged;
 c.refresh.tagging=config.checkbox.refresh.tagging;
 w.output.appendChild(c);
 // set default state
 c.checked=(checked.toUpperCase()=="X");
 // get/set state by ID
 if (id) {
 c.id=id.substr(1); // trim off leading "="
 if (config.options[c.id]!=undefined)
 c.checked=config.options[c.id];
 else
 config.options[c.id]=c.checked;
 }
 // get/set state by tag
 if (tag) {
 c.tiddler=c.container;
 c.tag=tag.substr(1,tag.length-2).trim(); // trim off parentheses
 var pos=c.tag.indexOf("|"); if (pos==-1) var pos=c.tag.indexOf(":");
 if (pos==0) { c.tag=tag.substr(1); }
 if (pos>0) { c.tiddler=c.tag.substr(0,pos).replace(/\[\[/g,"").replace(/\]\]/g,""); c.tag=c.tag.substr(pos+1); }
 c.tag.replace(/\[\[/g,"").replace(/\]\]/g,"");
 if (!c.tag.length) c.tag="checked";
 var t=store.getTiddler(c.tiddler);
 c.checked = (t && t.tags)?(t.tags.find(c.tag)!=null):false;
 }
 if (fn_init) c.fn_init=fn_init.trim().substr(1,fn_init.length-2); // trim off surrounding { and } delimiters
 if (fn_click) c.fn_click=fn_click.trim().substr(1,fn_click.length-2);
 c.init=true; c.onclick(); c.init=false; // compute initial state and save in tiddler/config/cookie
 w.nextMatch = lookaheadMatch.index + lookaheadMatch[0].length;
 }
 }
 }
)
//}}}

//{{{
function onClickCheckbox()
{
 if (this.fn_init)
 // custom function hook to set initial state (run only once)
 { try { eval(this.fn_init); this.fn_init=null; } catch(e) { displayMessage("Checkbox init error: "+e.toString()); } }
 else if (this.fn_click)
 // custom function hook to override or react to changes in checkbox state
 { try { eval(this.fn_click) } catch(e) { displayMessage("Checkbox click error: "+e.toString()); } }
 if (this.id)
 // save state in config AND cookie (only when ID starts with 'chk')
 { config.options[this.id]=this.checked; if (this.id.substr(0,3)=="chk") saveOptionCookie(this.id); }
 if ((!this.id || this.id.substr(0,3)!="chk") && !this.tag) {
 // save state in tiddler content only if not using cookie or tag tracking
 var t=story.findContainingTiddler(this); if (t) {
 var t=store.getTiddler(t.id.substr(7));
 if (this.checked!=(t.text.substr(this.srcpos,1).toUpperCase()=="X")) { // if changed
 t.set(null,t.text.substr(0,this.srcpos)+(this.checked?"X":"_")+t.text.substr(this.srcpos+1),null,null,t.tags);
 store.setDirty(true);
 }
 }
 }
 if (this.tag) {
 var t=store.getTiddler(this.tiddler);
 if (!t) { t=(new Tiddler()); t.set(this.tiddler,"",config.options.txtUserName,(new Date()),null); store.addTiddler(t); } 
 var tagged=(t.tags && t.tags.find(this.tag)!=null);
 if (this.checked && !tagged) { t.tags.push(this.tag); store.setDirty(true); }
 if (!this.checked && tagged) { t.tags.splice(t.tags.find(this.tag),1); store.setDirty(true); }
 // if tag state has been changed, force a display update
 if (this.checked!=tagged) {
 if (this.refresh.tagged) story.refreshTiddler(this.tiddler,null,true); // the TAGGED tiddler
 if (this.refresh.tagging) story.refreshTiddler(this.tag,null,true); // the TAGGING tiddler
 }
 }
 // refresh containing tiddler (but not during initial rendering, or we get an infinite loop!)
 if (!this.init && this.refresh.container && this.container!=this.tiddler)
 story.refreshTiddler(this.container,null,true); // the tiddler CONTAINING the checkbox
 return true;
}
//}}}
[[Configuration]]
/***
Just some bits and pieces
***/
//{{{
config.messages.messageClose.text = "X"; // default is "close"
config.views.wikified.defaultText = ""; // default is "The tiddler '%0' doesn't yet exist. Double-click to create it"
config.options.chkHttpReadOnly = true; // Enable editing so that visitors can experiment with it
//}}}
PageTemplate
|>|>|SiteTitle - SiteSubtitle|
|MainMenu|DefaultTiddlers ViewTemplate EditTemplate|SideBarOptions|
|~|~|OptionsPanel|
|~|~|AdvancedOptions|
|~|~|<<tiddler Configuration.SideBarTabs>>|

''StyleSheet:'' StyleSheetColors - StyleSheetLayout - StyleSheetPrint

IncludeList
HoverMenu

BetterTimelineMacro: zur Änderung der Anzeige "Historie"

<<saveChanges>>

AboutTiddlySpot: zum Hochladen auf tiddlyspot.com

SiteUrl
SideBarTabs
|[[Timeline|TabTimeline]]|[[All|TabAll]]|[[Tags|TabTags]]|>|>|[[More|TabMore]] |
|>|>||[[Missing|TabMoreMissing]]|[[Orphans|TabMoreOrphans]]|[[Shadowed|TabMoreShadowed]]|
[[eADok]]
Deponieverordnung 2008, BGBl II Nr. 39/2008 
*[[Infos beim BMLFUW|http://goo.gl/8IyrC]] 
Deponieverordnung 2008 (BGBl II Nr. 39/2008 idgF, [[Info zur Deponieverordnung, BMLFUW|http://goo.gl/8IyrC]])
!!Folgende Dateien stehen unter http://www.oekobits.at/eADok/eadokfiles/ zum Download bereit
*''[[eADok_Setup_V1.33_h4.exe|http://www.oekobits.at/eADok/eadokfiles/eADok_Setup_V1.33_h4.exe]]'' ([[32-bit und 64-bit Version von eADok]])
**zur Neuinstallation und zum Update von eADok
**Eine bereits bestehende Installation von eADok (''ab Version 1.07'') kann direkt upgedatet werden
*''[[eADok-ClientServer_install_and_update.pdf|http://www.oekobits.at/eADok/eadokfiles/eADok-ClientServer_install_and_update.pdf]]''
**Anleitung zur Server Installation von eADok
*''[[AustauschDB.zip|http://www.oekobits.at/eADok/eadokfiles/datenaustausch/AustauschDB.zip]]''
**Datenaustauschdatenbank
*''[[csvimport.zip|http://www.oekobits.at/eADok/eadokfiles/datenaustausch/csvimport.zip]]''
**Datenaustauschdefinition (CSV)


Ab Version 1.12 ist es möglich, durchnummerierte Begleitscheinformulare zu erstellen und auszudrucken. Damit kommen wir einem mehrfach von Abfallsammlern vorgebrachten Wunsch nach, um das Handling vor Ort bei den Kunden zu erleichtern.
!!Aufruf des Formulars
Der Aufruf des betreffenden Formulars erfolgt mit dem Menüpunkt: "Datei - ~Blanko-Formulare"
!!Formular
[img[Blanko-BS|http://www.eadok.at/pics/bpfn58nsgdlog0a1q.jpg]] 
*Es ist notwendig, für die ~Blanko-BS einen Nummernkreis auszuwählen. Dieser Nummernkreis darf sich nicht mit Nummernkreisen in den "Tools - Einstellungen - Nummernkreisen" überschneiden. Sinnvollerweise wird hier mit einem Wert gestartet, der normalerweise nicht erreicht wird (zB: 10.000)
*Es können auch schon BS für das nachfolgende Jahr angelegt werden, sodass auch das betreffende Jahr einzutragen ist (Defaultwert: aktuelles Jahr)
*Da die Transporte in den meisten Fällen dann auch von der eigenen Firma durchgeführt werden, können auch diese Felder vorbefüllt werden (Firmensitz als Transporteur eintragen)
*Im Feld "Übernehmer Sitz/Standorte) können eigene Standorte oder der Sitz des Unternehmens ausgewählt werden.
*Die Anzahl der auszudruckenden Exemplare je BS können über den Menüpunkt "Tools - Einstellungen - Druckformat" geändert werden.
*Beim Erstellen einer größeren Anzahl von ~BS-Formularen kann der Vorgang etwas länger dauern.
Begleitscheindatei im EBSM_neu oder EBSM_alt - Format
~XML-Format zur Übersendung von Begleitscheindaten an den Landeshauptmann bzw. zum Datenaustausch mit Kunden. Die Meldung an die Behörde sollte besser (ab Version 1.07 von eADok generell) mit der EBSM_neu - Format erfolgen.
~XML-Format zur Übersendung von Begleitscheindaten an die Behörde über das EDM-Portal (ab eADok-Version 1.07 standardmäßig vorgesehen). Dieses Format ist zum Datenaustausch mit Kunden nicht geeignet. Dafür sollte besser das ~XML-Format für eBilanz-Bewegungsdaten verwendet werden.
elektronisches Datenmanagement im Lebensministerium
Portal für das elektronische Datenmanagement des Lebensministeriums
http://edm.gv.at
Melderegister des ~EDM-Umwelt des Lebensministeriums.
zB Begleitscheinrgister, Abfallbilanzregister, eRAS
<!---
| Name:|~TagglyTaggingEditTemplate |
| Version:|1.1 (12-Jan-2006)|
| Source:|http://simonbaird.com/mptw/#TagglyTaggingEditTemplate|
| Purpose:|See TagglyTagging for more info|
| Requires:|You need the CSS in TagglyTaggingStyles to make it look right|
--->
<!--{{{-->
<div class="toolbar" macro="toolbar +saveTiddler closeOthers cancelTiddler 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 class="editor" macro="edit text"></div>
<br/>
<!--}}}-->
Beschreibung fehlt noch &&
!!Hinweis
''Die Erfassung von Bilanzdaten mittels Bilanz-Import-eADok.xls steht für die Bilanz 2010 nicht mehr zur Verfügung!''
+++(Excel Einstellungen)!!![Excel Einstellungen...|Anklicken zum Ausklappen...]>...
Um das Programm Bilanz-Import-eADok.xls verwenden zu können ist es notwendig, die Sicherheitseinstellungen für Makros auf ''Mittel'' einzustellen.
Dies erfolgt wie folgt dargestellt:
*Excel öffnen
*Menüpunkt <Extras> - <Makro> - <Sicherheit...> auswählen
*Sicherheitsstufe ''Mittel'' (oder geringer) auswählen:
[img[Sicherheitsstufe anpassen|http://www.eadok.at/pics/b5ltwm0mugkl7tna6.gif]]
*Mit ''OK'' bestätigen
===
+++(Programmstart)!!![Programmstart...|Anklicken zum Ausklappen...]>...

Nach dem Aufruf des Programmes erscheint folgende Sicherheitswarnung:
[img[Sicherheitswarnung|http://www.eadok.at/pics/b5lu48hpb1agv999a.gif]]
Diese Sicherheitswarnung ist mit ''Makros aktivieren'' zu bestätigen.
===
+++(Programmübersicht)!!![Programmübersicht...|Anklicken zum Ausklappen...]>...
Das Programm Bilanz-Import-eADok.xls verfügt über folgende Register:
[img[Register in Bilanz-Import-eADok.xls|http://www.eadok.at/pics/b5lu82xxupggdn866.gif]]
===
+++(Register Stammdaten)!!![Register Stammdaten...|Anklicken zum Ausklappen...]>...
Register Stammdaten:

[img[Register Stammdaten|http://www.eadok.at/pics/b5lupybu7zzxsom5a.gif][http://www.eadok.at/pics/b5luqubeheyja5sm6.gif]]<<imagebox>>

In den Stammdaten sind zur eigenen Person (=Firma) die bilanzierungsrelevanten Standorte und Anlagen sowie Restkapazitäten (nur bei Deponien) zu erfassen.
Dies kann auch mittels Formular erfolgen (Aufruf über Schaltfläche ''~Formular-Eingabe'')
+++(Formular zur Stammdatenerfassung)!!![Formular zur Stammdatenerfassung...|Anklicken zum Ausklappen...]>...
!!Identifikation der Firma
[img[Identifikation der Firma|http://www.eadok.at/pics/b5lv1ly592oq7sb32.gif]]
Hier ist die Firmenbezeichnung (zB gemäß [[Firmenbuch]]) ssowie die im eRAS zugeordnete 13-stellige [[GLN]] anzugeben. Es erfolgt eine Überprüfung auf Gültigkeit der GLN.

!!Standorte
[img[Standorte|http://www.eadok.at/pics/b5lv9pc3gcir8hx5q.gif]]
Alle Standorte mit bilanzierungsrelevanten Anlagen sind hier anzuführen. Es erfolgt ebenfalls eine Überprüfung auf Gültigkeit der GLN.
!!Anlagen
[img[Anlagen|http://www.eadok.at/pics/b5lvd2uclpj5vxtem.gif]]
Für alle relevanten Standorte sind die bilanzierungsrelevanten Anlagen zu erfassen. Bei Deponie(kompartimente)n sind auch die Restkapazitäten in m³ anzugeben (mit Erhebungsdatum)
===
!!Stammdaten erfasst

nach erfolgter Erfassung schaut das Register Stammdaten in etwa wie folgt aus:
[img[Stammdaten befüllt|http://www.eadok.at/pics/b5lvr3hfwkdpmsv1a.gif]]

Durch Drücken der Schaltfläche ''Fehlerprüfung'' (rechts oben) können die erfassten Daten auf Plausibilität geprüft werden. Diese Prüfung ist in allen Registern möglich, erfolgt aber auch vor dem Export der Bilanzdaten. Fehlerhaft erfasste Daten werden dabei entsprechend ausgewiesen:
[img[fehlerhafte Anlagen-GLN|http://www.eadok.at/pics/b5lw2gwxusnmoq3vi.gif]] 
===
+++(Hinweise zu den weiteren Registern)!!![Hinweise zu den weiteren Registern...|Anklicken zum Ausklappen...]>...
In den restlichen Registern werden die Abfalleingänge, -ausgänge, die innerbetrieblichen Weitergaben sowie die Lagerstände verbucht. Es können auch gleichartige Transaktionen zusammengefasst (über einen größeren Zeitraum) eingegeben werden.
Die Tabellen sind so angelegt, dass auf einfache Art und Weise Daten aus sonstigen ~Excel-Tabellen leicht mittels copy-and-paste eingefügt werden können. Es stehen aber auch hier komfortable Eingabemasken (~Formular-Eingabe) zur Verfügung.
Nach erfolgter Erfassung kann auch in diesen Registern eine Fehlerprüfung durchgeführt werden, wobei sämtliche Einträge mit Fehlern angezeigt werden.
===
+++(Register Eingang)!!![Register Eingang...|Anklicken zum Ausklappen...]>...
''Folgende Daten sind in diesem Register zu erfassen:''
*Buchungsart (GTIN)
*Abfallart inkl. Spez. [5/7-stellig] oder GTIN
*Abfallmasse [kg]
*~Quantifizierung-GTIN
*Datum von (bis)
*Übergebername
*GLN (Person/Standort)
**''Hinweis:es dürfen keine sonstigen GLN oder GTIN eingetragen werden (zB personenkreisbezogene GTIN)''
*~Bundesland-GLN	
*~Anlagen-GLN
+++(Formular Eingangsbuchung)!!![Formular Eingangsbuchung...|Anklicken zum Ausklappen...]>...
[img[Formular Eingangsbuchung|http://www.eadok.at/pics/b5nuqfo92otb3hice.gif]] 
*Bei der Buchungsart ist aus folgenden Einträgen auszuwählen:
[img[Buchungsart|http://www.eadok.at/pics/b5nus8xsdkwa930gu.gif]]
*Die übernommen Masse ist in kg anzugeben
*Bei der Quantifizierung ist einer dieser Einträge auszuwählen:
[img[Beschreibung|http://www.eadok.at/pics/b5nuvqas21hf33di6.gif]]
*Die Abfallart ist aus der ~SlNr-Liste auszuwählen
*Das Transaktionsdatum ist zu erfassen. Werden mehrere Übergaben zusammengefasst, ist auch das (bis)-Datum einzutragen
*Der Übergeber ist mit Name und Anschrift (im Feld "Name") oder durch GLN anzugeben
*Bei Deponien soll stattdessen der Ersterzeuger angegeben werden, zB:
[img[Ersterzeuger|http://www.eadok.at/pics/b5nv18hqdbl8y6iou.gif]]
*Beim Verbleib ist eine der im Register Stammdaten erfassten eigenen Anlagen anzugeben
===
===
+++(Register Ausgang)!!![Register Ausgang...|Anklicken zum Ausklappen...]>...
''Folgende Daten sind in diesem Register zu erfassen:''
*Buchungsart (GTIN)
*Abfallart inkl. Spez. [5/7-stellig] oder GTIN
*Abfallmasse [kg]
*~Quantifizierung-GTIN
*Datum von (bis)
*~Anlagen-GLN
*Verbleib
**Übernehmername oder 
**GLN (Person/Standort)
+++(Formular Ausgangsbuchung)!!![Formular Ausgangsbuchung...|Anklicken zum Ausklappen...]>...
[img[Formular Eingangsbuchung|http://www.eadok.at/pics/b5nv6fr9rw199qase.gif]]
*Bei der Buchungsart ist aus folgenden Einträgen auszuwählen:
[img[Buchungsarten|http://www.eadok.at/pics/b5nvclmsbpnfc3bq6.gif]]
*Die übernommen Masse ist in kg anzugeben
*Bei der Quantifizierung ist einer dieser Einträge auszuwählen:
[img[Beschreibung|http://www.eadok.at/pics/b5nuvqas21hf33di6.gif]]
*Die Abfallart ist aus der ~SlNr-Liste auszuwählen
*Das Transaktionsdatum ist zu erfassen. Werden mehrere Übergaben zusammengefasst, ist auch das (bis)-Datum einzutragen
*Der Übernehmer ist mit Name und Anschrift (im Feld "Name") oder durch GLN anzugeben
*Bei der Herkunftist eine der im Register Stammdaten erfassten eigenen Anlagen anzugeben
===
===
+++(Register innerbetrieblich)!!![Register innerbetrieblich...|Anklicken zum Ausklappen...]>...
''Folgende Daten sind im Falle innerbetrieblicher Übergaben in diesem Register zu erfassen:''
*Buchungsart (GTIN)
*Abfallart inkl. Spez. [5/7-stellig] oder GTIN
*Abfallmasse [kg]
*~Quantifizierung-GTIN
*Datum von (bis)
*Herkunft
**~Anlagen-GLN / ~Standort-GLN
*Verbleib
**~Anlagen-GLN / ~Standort-GLN
+++(Formular innerbetrieblich)!!![Formular innerbetrieblich...|Anklicken zum Ausklappen...]>...
[img[Formular innerbetrieblich|http://www.eadok.at/pics/b5nvl6ja3qz776ihq.gif]] 
Die Erfassung erfolgt analog zu den vorangehenden Formularen.
Entweder bei der Herkunft oder beim Verbleib muss eine Anlage ausgewählt werden (Übergaben zwischen Standorten sind hier nicht möglich!)
===
===
+++(Register Lagerstand)!!![Register Lagerstand...|Anklicken zum Ausklappen...]>...
''Folgende Daten sind bei der Erfassung von Lagerständen  in diesem Register zu erfassen:''
*Buchungsart (GTIN)
*Abfallart inkl. Spez. [5/7-stellig] oder GTIN
*Abfallmasse [kg]
*~Quantifizierung-GTIN
*Datum	der Buchung
*~Anlagen-GLN
+++(Formular Lagerstand)!!![Formular Lagerstand...|Anklicken zum Ausklappen...]>...
[img[Formular Lagerstand|http://www.eadok.at/pics/b5nvtnbvt8dxrinfi.gif]]
*Bei der Buchungsart ist aus folgenden Einträgen auszuwählen:
[img[Buchungsarten|http://www.eadok.at/pics/b5nvuoaioz9sw9lpa.gif]]
**Hinweise:
***Die Buchungsarten ~Input-PL und ~Output-PL betreffen immer Anlagenpufferlager
***Es muss für jede Buchung am Jahresanfang auch eine Buchung am Jahresende geben
===
===
+++(Export ins eADok)!!![Export ins eADok...|Anklicken zum Ausklappen...]>...
Nach erfolgreicher Erfassung aller Daten in den einzelnen Registern kann im Register ''Startseite'' der Menüpunkt ''Export eADok'' ausgewählt werden.
Es erfolgt eine (nochmalige) Überprüfung der enthaltenen Daten:
[img[Prüfung|http://www.eadok.at/pics/b5nw8f2yyffhh6xwe.gif]]
Mit dem Button ''Bilanz exportieren'' wird sodann eine verschlüsselte ~CSV-Datei erstellt und im ~Programm-Verzeichnis von ~Bilanz-Import-eADok.xls gespeichert.
===
!!Erstellen eines neuen [[Abfallbilanzcontainers|Abfallbilanzcontainer]]
Durch den Aufruf des Menüpunktes "Bilanzmanger" wird der noch leere ~Bilanz-Manager geöffnet:
[img[Aufruf Bilanzmanger|http://www.eadok.at/pics/bpfgya4dusabshyit.jpg]]

Hier kann durch Aufruf des Menüpunktes "Neuer Bilanzcontainer" das Gerüst für eine neue Bilanz erstellt werden.
[img[Neuer Bilanzcontainer|http://www.eadok.at/pics/bpfh9xzg23vaolmy3.jpg]] 

Im darauf folgenden Dialogfenster ist die Bilanz zu benennen und der entsprechende Zeitraum auszuwählen.
[img[Bilanzcontainer|http://www.eadok.at/pics/bpfhfldu7ym2mc2uj.jpg]] 

Mit "Ok" wird der Container angelegt, welcher dann im Bilanzmanager zur Verfügung steht. So können (zB zu Testzwecken oder für andere Zeiträume) mehrere Bilanzen angelegt werden.
!!Import/Transfer vonBilanzdaten
Über den Menüpunkt "Bilanz -  Import Bilanzdaten" oder über das Kontextmenü (rechte Maustatste) können Daten in den Bilanzcontainer importiert werden.
[img[Import Bilanzdaten|http://www.eadok.at/pics/bpfhnv6ky6tajv30j.jpg]]

Im Normalfall erfolgt sodann ein Transfer aus den eADok-Aufzeichnungen, es ist jedoch auch in der ~PRO-Version der Import aus strukturiertren ~CSV-Dateien bzw. aus einer Austauschdatenbank möglich
[img[Datentransfer eADok|http://www.eadok.at/pics/bpfhq3wsxehe0v9xf.jpg]]

+++(Import Bilanzdaten mit eADok-PRO)!!![Import Bilanzdaten mit eADok-PRO...|Anklicken zum Ausklappen...]>...
<<tiddler [[Import Bilanzdaten mit eADok-PRO]]>>
===

Nach Bestätigung des Datumsbereiches im nächsten Fenster werden die Bewegungsdaten in den Bilanzcontainer importiert und die Daten validiert.
Nach erfolgter Prüfung können die Daten mit der Schaltfläche "~Bilanz-Daten übernehmen" in den ausgewählten Bilanzcontainer übernommen werden.
[img[Bilanzdaten übernehmen|http://www.eadok.at/pics/bpfibzk8lj10heek8.jpg]] 

Die entsprechende xml-Datei kann sodann nach Anmeldung im EDM-Portal unter der Anwendung eBilanz in den privaten Bereich hochgeladen werden.
Dort erfolgt eine Validierung der Datei, welche anschließend aus dem privaten Bereich an die Behörde übermittelt werde


Nach der Liefersscheinerstellung (Liferscheinverwaltung) kann zu diesem LS ein so genanntes "~Grüne-Liste-Dokument" für die grenzüberschreitende Abfallverbringung erstellt werden.
Dazu ist der betreffende LS in der Lieferscheinverwaltung auszuwählen und mittels "rechte Maustaste - Anhang ~VII-Formular" ein Fenster zu öffnen:
[img[Auswahl Anhang VII|http://666kb.com/i/caqs5td7v5tlzpsng.jpg]] 

[img[Grüne Liste Formular|http://666kb.com/i/caqs8buix15mhdemk.jpg]]
In diesem Fenster sind in den jeweiligen Register die zusätzlich notwendigen Felder zu befüllen.
Mit dem Button "Erstellen/Drucken" kann das erstellte Formular an den Drucker gesendet werden.

''Hinweis: Gem. Abfallverbringungsverordnung muss der Verbringung von sog. "Grüne Liste-Abfällen" zur Verwertung ein Verwertungsvertrag mit dem Übernehmer zugrunde liegen!''
Bei der Erstellung eines Begleitscheines kann ab Version 1.30 nach Auswahl der Abfallart der neue Button "ADR" ausgewählt werden. Es sollten aber auch bereits alle anderen Felder im BS vollständig ausgefüllt sein.
[img[Button ADR|http://666kb.com/i/caqr6ot3hvhchm1xo.jpg]]

Es erscheint folgendes Fenster:
[img[Fenster ADR|http://666kb.com/i/caqr9k9qi1nq6cbpo.jpg]]

*Im Register "UN-Nummer" ist jene auszuwählen, die dem Abfallbestmöglich entspricht. Aufgrund der SlNr werden bereits jene UN-Nummern vorgeschlagen, welche gem. ÖN S2105 bzw. [[Abfalltransportbroschüre des Landes Salzburg|http://goo.gl/0uIby]] für diese Abfallart zugeordnet werden. Es kann jedoch auch jede weitere UN-Nummer ausgewählt werden.
*Im Register "Versandstücke" ist die Anzahl und Beschreibung der Versandstücke durchzuführen
[img[Versandstücke|http://666kb.com/i/caqrg7phbx62xa5os.jpg]] 
*Im Register "Absender, Empfänger" können vom Übergeber/Übernehmer abweichende Personen eingetragen werden
*Im Register "Sondervereinbarung" sollte der Eintrag ausgewählt werden, um die Erleichterungen gemäß Sondervereinbarung [[M222|http://www.ris.bka.gv.at/GeltendeFassung.wxe?Abfrage=Bundesnormen&Gesetzesnummer=20006923]] zum ADR in Anspruch nehmen zu können.

Abschließend ist der Button "Text generieren" auszuwählen. Der dadurch erstellte Text wird im BS im Feld Bemerkungen eingetragen. Eine Änderung ist auch süpäter noch möglich.
[img[Text Beförderungspapier ADR|http://666kb.com/i/caqrnwx3mfsl4vhvw.jpg]] 
 



mehr Informationen zum Firmenbuch finden Sie unter [[http://www.help.gv.at/Content.Node/76/Seite.760000.html|http://www.help.gv.at/Content.Node/76/Seite.760000.html]] 
/***
|Name|FontSizePlugin|
|Created by|SaqImtiaz|
|Location|http://lewcid.googlepages.com/lewcid.html#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://lewcid.googlepages.com/lewcid.html#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 : 100, // 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();
 }
};
//}}}
''G''lobale ''L''okations ''N''ummer: 13-stellige Nummer der [[http://www.gs1austria.at/|links\http://www.gs1austria.at/]]  zur Identifikation von Personen, Standorten, Anlagen udgl.
Im EDM werden vom BMLFUW im Rahmen der Regsitrierung von Personen, Standorten und Anlagen eigene GLN vergeben (zZt. beginnend mit 900839.......)
Nummer mit dem gleichen Format zur Identifikation von Stoffen, Verfahren usw. werden als [[GTIN]] bezeichnet.
''G''lobal ''T''rade ''I''tem ''N''umber zur Identifikation von Stoffen, Abfällen, Verfahren etc.
{{{
//--
//-- TiddlyWiki German Translation - r6082 for TiddlyWiki 2.4.1 - GermanTranslation2.4b
//-- Maintainer: Besim Karadeniz <besim(at)karadeniz.de>
//-- Web: www.karadeniz.de/tiddlywiki/
//--

if (config.options.txtUserName == "YourName")
	merge(config.options,{txtUserName: "IhrName"});

merge(config.tasks,{
	save: {text: "speichern", tooltip: "Änderungen in dieses TiddlyWiki speichern", action: saveChanges},
	sync: {text: "synchronisieren", tooltip: "Änderungen mit anderen TiddlyWiki-Dateien und Servern synchronisieren", content: '<<sync>>'},
	importTask: {text: "importieren", tooltip: "Tiddler und Plugins aus anderen TiddlyWiki-Dateien und Servern importieren", content: '<<importTiddlers>>'},
	tweak: {text: "optimieren", tooltip: "Erscheinungsbild und Reaktion des TiddlyWiki optimieren", content: '<<options>>'},
	upgrade: {text: "upgraden", tooltip: "Upgraden des Kerncodes von TiddlyWiki", content: '<<upgrade>>'},
	plugins: {text: "Plugins", tooltip: "Installierte Plugins verwalten", content: '<<plugins>>'}
});

// Optionen, die im Options-Panel oder/in Cookies eingestellt werden koennen
merge(config.optionsDesc,{
	txtUserName: "Ihr Benutzername zum Unterzeichnen Ihrer Einträge",
	chkRegExpSearch: "Reguläre Ausdrücke in der Suche aktivieren",
	chkCaseSensitiveSearch: "Groß-/Kleinschreibung in der Suche aktivieren",
	chkIncrementalSearch: "Inkrementelle Zeichen-für-Zeichen-Suche",
	chkAnimate: "Animationen aktivieren",
	chkSaveBackups: "Beim Speichern ein Backup erstellen",
	chkAutoSave: "Automatisch speichern",
	chkGenerateAnRssFeed: "RSS-Feed beim Speichern generieren",
	chkSaveEmptyTemplate: "Leere Vorlage beim Speichern generieren",
	chkOpenInNewWindow: "Externe Links in einem neuen Fenster öffnen",
	chkToggleLinks: "Klick auf geöffnete Tiddler lässt diese schließen",
	chkHttpReadOnly: "Bearbeitungsfunktionen ausblenden, wenn Zugriff via HTTP",
	chkForceMinorUpdate: "Bearbeitungen als kleine Änderungen mit Beibehaltung von Datum und Zeit behandeln",
	chkConfirmDelete: "Löschbestätigung vor dem Löschen von Tiddlern",
	chkInsertTabs: "Benutzen Sie die Tabulatortaste um Tabulatorzeichen einzufügen anstelle jeweils zum nächsten Feld zu springen",
	txtBackupFolder: "Verzeichnisname für Backup Dateien:",
	txtMaxEditRows: "Maximale Zahl von Zeilen in einer Textbox eines Tiddlers:",
	txtFileSystemCharSet: "Standard-Zeichensatz beim Speichern von Änderungen (nur Firefox/Mozilla)"});

merge(config.messages,{
	customConfigError: "Beim Laden von Plugins sind Fehler aufgetreten. Siehe PluginManager für Details",
	pluginError: "Fehler: %0",
	pluginDisabled: "Nicht ausgeführt, da durch 'systemConfigDisable'-Tag deaktiviert",
	pluginForced: "Ausgeführt, da durch 'systemConfigForce'-Tag erzwungen",
	pluginVersionError: "Nicht ausgeführt, da dieses Plugin eine neuere Version von TiddlyWiki erfordert",
	nothingSelected: "Nichts ausgewählt. Sie müssen zuerst ein oder mehrere Elemente auswählen",
	savedSnapshotError: "Es scheint, dass dieses TiddlyWiki inkorrekt gespeichert wurde. Bitte besuchen Sie http://www.tiddlywiki.com/#DownloadSoftware für Details",
	subtitleUnknown: "(unbekannt)",
	undefinedTiddlerToolTip: "Der Tiddler '%0' existiert noch nicht",
	shadowedTiddlerToolTip: "Der Tiddler '%0' existiert noch nicht, hat aber einen vordefinierten Schatteneintrag",
	tiddlerLinkTooltip: "%0 - %1, %2",
	externalLinkTooltip: "Externer Link zu %0",
	noTags: "Es gibt keine getaggten Tiddler",
	notFileUrlError: "Sie müssen zunächst dieses TiddlyWiki in eine Datei speichern, bevor Änderungen gespeichert werden können",
	cantSaveError: "Änderungen können nicht gespeichert werden. Mögliche Gründe:\n- Ihr Browser unterstützt das Abspeichern nicht (Firefox, Internet Explorer, Safari und Opera können dies mit richtiger Konfiguration)\n- Der Pfadname zu Ihrem TiddlyWiki enthält ungültige Zeichen\n- Die TiddlyWiki-HTML-Datei wurde verschoben oder umbenannt",
	invalidFileError: "Die originale Datei '%0' scheint kein gültiges TiddlyWiki zu sein",
	backupSaved: "Backup gespeichert",
	backupFailed: "Fehler beim Speichern des Backup",
	rssSaved: "RSS-Feed gespeichert",
	rssFailed: "Fehler beim Speichern des RSS-Feed",
	emptySaved: "Leere Vorlage gespeichert",
	emptyFailed: "Fehler beim Speichern der leeren Vorlage",
	mainSaved: "Haupt-TiddlyWiki-Datei gespeichert",
	mainFailed: "Fehler beim Speichern der Haupt-TiddlyWiki-Datei. Ihre Änderungen wurden nicht gespeichert",
	macroError: "Fehler im Makro <<\%0>>",
	macroErrorDetails: "Fehler beim Ausführen von Makro <<\%0>>:\n%1",
	missingMacro: "Kein entsprechendes Makro vorhanden",
	overwriteWarning: "Ein Tiddler namens '%0' existiert bereits. Wählen Sie OK zum Überschreiben",
	unsavedChangesWarning: "WARNUNG! Ungespeicherte Änderungen im TiddlyWiki vorhanden\n\nWählen Sie OK zum Speichern\nWählen Sie ABBRECHEN/CANCEL zum Verwerfen",
	confirmExit: "--------------------------------\n\nUngespeicherte Änderungen im TiddlyWiki vorhanden. Wenn Sie fortfahren, werden Sie diese Änderungen verlieren\n\n--------------------------------",
	saveInstructions: "SaveChanges",
	unsupportedTWFormat: "Nicht unterstütztes TiddlyWiki-Format '%0'",
	tiddlerSaveError: "Fehler beim Speichern von Tiddler '%0'",
	tiddlerLoadError: "Fehler beim Laden von Tiddler '%0'",
	wrongSaveFormat: "Speichern im Speicherformat '%0' nicht möglich. Standardformat zum Speichern wird verwendet.",
	invalidFieldName: "Ungültiger Dateiname %0",
	fieldCannotBeChanged: "Feld '%0' kann nicht geändert werden",
	loadingMissingTiddler: "Es wird versucht, den Tiddler '%0' vom Server '%1' bei\n\n'%2' im Workspace '%3' abzurufen",
	upgradeDone: "Das Upgrade auf Version %0 ist komplett\n\nKlicken Sie auf 'OK' zum Neuladen des aktualisierten TiddlyWiki"});

merge(config.messages.messageClose,{
	text: "schließen",
	tooltip: "diesen Textbereich schließen"});

config.messages.backstage = {
	open: {text: "Backstage", tooltip: "Öffnen Sie den Backstage-Bereich für Arbeiten an Entwicklungs- und Bearbeitungsaufgaben"},
	close: {text: "schließen", tooltip: "Backstage-Bereich schließen"},
	prompt: "Backstage: ",
	decal: {
		edit: {text: "bearbeiten", tooltip: "Den Tiddler '%0' bearbeiten"}
	}
};

config.messages.listView = {
	tiddlerTooltip: "Klick für den vollen Text dieses Tiddlers",
	previewUnavailable: "(Vorschau nicht vorhanden)"
};

config.messages.dates.months = ["Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November","Dezember"];
config.messages.dates.days = ["Sonntag", "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag"];
config.messages.dates.shortMonths = ["Jan", "Feb", "Mär", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dez"];
config.messages.dates.shortDays = ["So", "Mo", "Di", "Mi", "Do", "Fr", "Sa"];
// Suffixe für Datum (englischsprachig), z.B. "1st","2nd","3rd"..."30th","31st"
config.messages.dates.daySuffixes = ["st","nd","rd","th","th","th","th","th","th","th",
	"th","th","th","th","th","th","th","th","th","th",
	"st","nd","rd","th","th","th","th","th","th","th",
	"st"];
config.messages.dates.am = "am";
config.messages.dates.pm = "pm";

merge(config.messages.tiddlerPopup,{
	});

merge(config.views.wikified.tag,{
	labelNoTags: "keine Tags",
	labelTags: "Tags: ",
	openTag: "Öffne Tag '%0'",
	tooltip: "Zeige Tiddlers mit Tags '%0'",
	openAllText: "Öffne alle",
	openAllTooltip: "Alle diese Tiddler öffnen",
	popupNone: "Keine anderen Tiddler mit '%0' getaggt"});

merge(config.views.wikified,{
	defaultText: "Der Tiddler '%0' existiert noch nicht. Doppelklicken zum Erstellen",
	defaultModifier: "(fehlt)",
	shadowModifier: "(vordefinierter Schatten-Tiddler)",
	dateFormat: "DD. MMM YYYY",
	createdPrompt: "erstellt"});

merge(config.views.editor,{
	tagPrompt: "Geben Sie die Tags durch Leerstellen getrennt ein, [[benutzen Sie doppelte eckige Klammern]] falls nötig, oder wählen Sie vorhandene",
	defaultText: "Geben Sie den Text für '%0' ein"});

merge(config.views.editor.tagChooser,{
	text: "Tags",
	tooltip: "Wählen Sie vorhandene Tags zum Hinzufügen zu diesem Tiddler aus",
	popupNone: "Es sind keine Tags definiert",
	tagTooltip: "Tag '%0' hinzufügen"});

merge(config.messages,{
	sizeTemplates:
		[
		{unit: 1024*1024*1024, template: "%0\u00a0GB"},
		{unit: 1024*1024, template: "%0\u00a0MB"},
		{unit: 1024, template: "%0\u00a0KB"},
		{unit: 1, template: "%0\u00a0B"}
		]});

merge(config.macros.search,{
	label: "suchen",
	prompt: "Dieses TiddlyWiki durchsuchen",
	accessKey: "F",
	successMsg: "%0 Tiddler gefunden, die %1 enthalten",
	failureMsg: "Keine Tiddler gefunden, die %0 enthalten"});

merge(config.macros.tagging,{
	label: "Tagging: ",
	labelNotTag: "kein Tagging",
	tooltip: "Liste der Tiddler, die mit '%0' getaggt sind"});

merge(config.macros.timeline,{
	dateFormat: "DD. MMM YYYY"});

merge(config.macros.allTags,{
	tooltip: "Tiddler, die mit '%0' getagged sind, anzeigen",
	noTags: "Keine getaggten Tiddler vorhanden"});

config.macros.list.all.prompt = "Alle Einträge in alphabetischer Reihenfolge";
config.macros.list.missing.prompt = "Tiddler, auf die verwiesen wird, die aber nicht existieren";
config.macros.list.orphans.prompt = "Tiddler, auf die nicht von anderen Tiddlern verwiesen wird";
config.macros.list.shadowed.prompt = "Tiddler, für die Standardeinträge existieren";
config.macros.list.touched.prompt = "Tiddlers, die lokal verändert wurden";

merge(config.macros.closeAll,{
	label: "alle schließen",
	prompt: "Alle angezeigten Tiddler schließen (außer denen, die gerade bearbeitet werden)"});

merge(config.macros.permaview,{
	label: "Permaview",
	prompt: "Erzeugt einen URL, mit dem auf alle gerade geöffneten Tiddler verwiesen werden kann"});

merge(config.macros.saveChanges,{
	label: "Änderungen speichern",
	prompt: "Alle Änderungen speichern",
	accessKey: "S"});

merge(config.macros.newTiddler,{
	label: "Neuer Tiddler",
	prompt: "Neuen Tiddler erstellen",
	title: "Neuer Tiddler",
	accessKey: "N"});

merge(config.macros.newJournal,{
	label: "Neues Journal",
	prompt: "Neuen Tiddler mit aktuellem Datum und aktueller Zeit erstellen",
	accessKey: "J"});

merge(config.macros.options,{
	wizardTitle: "Erweiterte Optionen verändern",
	step1Title: "Diese Optionen werden mit Cookies in Ihrem Browser gespeichert",
	step1Html: "<input type='hidden' name='markList'></input><br><input type='checkbox' checked='false' name='chkUnknown'>Unbekannte Optionen anzeigen</input>",
	unknownDescription: "//(unbekannt)//",
	listViewTemplate: {
		columns: [
			{name: 'Option', field: 'option', title: "Option", type: 'String'},
			{name: 'Description', field: 'description', title: "Beschreibung", type: 'WikiText'},
			{name: 'Name', field: 'name', title: "Name", type: 'String'}
			],
		rowClasses: [
			{className: 'lowlight', field: 'lowlight'}
			]}
	});

merge(config.macros.plugins,{
	wizardTitle: "Plugins verwalten",
	step1Title: "Aktuell geladene Plugins",
	step1Html: "<input type='hidden' name='markList'></input>",
	skippedText: "(Dieses Plugin wurde nicht ausgeführt, da es nach dem Start hinzugefügt wurde)",
	noPluginText: "Es sind keine Plugins installiert",
	confirmDeleteText: "Wollen Sie wirklich folgende Plugins löschen:\n\n%0",
	removeLabel: "systemConfig-Tag entfernen",
	removePrompt: "systemConfig-Tag entfernen",
	deleteLabel: "löschen",
	deletePrompt: "Diese Tiddler endgültig löschen",
	listViewTemplate: {
		columns: [
			{name: 'Selected', field: 'Selected', rowName: 'title', type: 'Selector'},
			{name: 'Tiddler', field: 'tiddler', title: "Tiddler", type: 'Tiddler'},
			{name: 'Size', field: 'size', tiddlerLink: 'size', title: "Grösse", type: 'Size'},
			{name: 'Forced', field: 'forced', title: "Erzwungen", tag: 'systemConfigForce', type: 'TagCheckbox'},
			{name: 'Disabled', field: 'disabled', title: "Deaktiviert", tag: 'systemConfigDisable', type: 'TagCheckbox'},
			{name: 'Executed', field: 'executed', title: "Geladen", type: 'Boolean', trueText: "Ja", falseText: "Nein"},
			{name: 'Startup Time', field: 'startupTime', title: "Startzeit", type: 'String'},
			{name: 'Error', field: 'error', title: "Status", type: 'Boolean', trueText: "Fehler", falseText: "OK"},
			{name: 'Log', field: 'log', title: "Log", type: 'StringList'}
			],
		rowClasses: [
			{className: 'error', field: 'error'},
			{className: 'warning', field: 'warning'}
			]}
	});

merge(config.macros.toolbar,{
	moreLabel: "mehr",
	morePrompt: "Weitere Funktionen anzeigen"
	});

merge(config.macros.refreshDisplay,{
	label: "aktualisieren",
	prompt: "Gesamte TiddlyWiki-Ansicht aktualisieren"
	});

merge(config.macros.importTiddlers,{
	readOnlyWarning: "Sie können nicht in eine schreibgeschützte TiddlyWiki-Datei importieren. Versuchen Sie diese über eine file:// URL zu öffnen",
	wizardTitle: "Tiddler aus anderer Datei oder anderem Server importieren",
	step1Title: "Schritt 1: Server oder TiddlyWiki-Datei ausfindig machen",
	step1Html: "Typ des Servers auswählen: <select name='selTypes'><option value=''>Wählen...</option></select><br>URL oder Pfadnamen eingeben: <input type='text' size=50 name='txtPath'><br>...oder nach einer Datei browsen: <input type='file' size=50 name='txtBrowse'><br><hr>...oder einen vordefinierten Feed auswählen: <select name='selFeeds'><option value=''>Wählen...</option></select>",
	openLabel: "öffnen",
	openPrompt: "Verbindung zu dieser Datei oder Server starten",
	openError: "Beim Versuch, die TiddlyWiki-Datei zu öffnen, gab es Probleme",
	statusOpenHost: "Verbindung zum Host starten",
	statusGetWorkspaceList: "Liste von vorhandenen Workspaces abrufen",
	step2Title: "Schritt 2: Workspace auswählen",
	step2Html: "Einen Workspace-Namen eingeben: <input type='text' size=50 name='txtWorkspace'><br>...oder ein Workspace auswählen: <select name='selWorkspace'><option value=''>Wählen...</option></select>",
	cancelLabel: "abbrechen",
	cancelPrompt: "Diesen Import abbrechen",
	statusOpenWorkspace: "Workspace wird geöffnet",
	statusGetTiddlerList: "Abrufen der Liste von vorhandenen Workspaces",
	errorGettingTiddlerList: "Fehler beim Abrufen der Liste der Tiddler, klicken Sie auf ABBRECHEN/CANCEL, um es nochmal zu probieren",
	step3Title: "Schritt 3: Zu importierende Tiddler auswählen",
	step3Html: "<input type='hidden' name='markList'></input><br><input type='checkbox' checked='true' name='chkSync'>Links dieser Tiddler zum Server erhalten, um nachfolgende Änderungen synchronisieren zu können</input><br><input type='checkbox' checked='false' name='chkSave'>Speichern der Details dieses Servers in einem 'systemServer'Tiddler namens:</input> <input type='text' size=25 name='txtSaveTiddler'>",
	importLabel: "importieren",
	importPrompt: "Diese Tiddler importieren",
	confirmOverwriteText: "Wollen Sie wirklich folgende Tiddler überschreiben:\n\n%0",
	step4Title: "Schritt 4: Importieren von %0 Tiddler",
	step4Html: "<input type='hidden' name='markReport'></input>",
	doneLabel: "Erledigt",
	donePrompt: "Diesen Assistenten schliessen",
	statusDoingImport: "Tiddler werden importiert",
	statusDoneImport: "Alle Tiddler importiert",
	systemServerNamePattern: "%2 auf %1",
	systemServerNamePatternNoWorkspace: "%1",
	confirmOverwriteSaveTiddler: "Der Tiddler '%0' existiert bereits. Klicken Sie auf 'OK' um ihn mit den Details dieses Servers zu überschreiben, oder 'Abbrechen', um ihn unverändert zu lassen",
	serverSaveTemplate: "|''Eingabe:''|%0|\n|''URL:''|%1|\n|''Workspace:''|%2|\n\nDieser Tiddler wurde automatisch erstellt, um Details dieses Servers aufzuzeichnen",
	serverSaveModifier: "(System)",
	listViewTemplate: {
		columns: [
			{name: 'Selected', field: 'Selected', rowName: 'title', type: 'Selector'},
			{name: 'Tiddler', field: 'tiddler', title: "Tiddler", type: 'Tiddler'},
			{name: 'Size', field: 'size', tiddlerLink: 'size', title: "Grösse", type: 'Size'},
			{name: 'Tags', field: 'tags', title: "Tags", type: 'Tags'}
			],
		rowClasses: [
			]}
	});

merge(config.macros.upgrade,{
	wizardTitle: "Upgraden des Kerncodes von TiddlyWiki",
	step1Title: "Update oder Reparatur dieses TiddlyWiki auf die aktuellste Version",
	step1Html: "Sie sind dabei, auf die aktuellste Version des TiddlyWiki-Kerncodes upzugraden (von <a href='%0' class='externalLink' target='_blank'>%1</a>). Ihre Inhalte werden während dem Upgrade erhalten bleiben.<br><br>Bitte beachten Sie, dass Kerncode-Updates mit älteren Plugins kollidieren können. Wenn Sie Probleme mit der aktualisierten Datei beobachten, besuchen Sie bitte <a href='http://www.tiddlywiki.org/wiki/CoreUpgrades' class='externalLink' target='_blank'>http://www.tiddlywiki.org/wiki/CoreUpgrades</a>",
	errorCantUpgrade: "Upgrade dieses TiddlyWiki nicht möglich. Sie können nur lokal abgespeicherte TiddlyWiki-Dateien upgraden",
	errorNotSaved: "Sie müssen zunächst Änderungen speichern, bevor Sie ein Upgrade starten können",
	step2Title: "Upgrade-Details bestätigen",
	step2Html_downgrade: "Sie sind dabei, von der TiddlyWiki-Version %0 auf die Version %1 downzugraden.<br><br>Der Downgrade auf eine frühere Version von TiddlyWiki wird nicht empfohlen",
	step2Html_restore: "Dieses TiddlyWiki scheint bereits die aktuellste Version des Kerncodes (%0) einzusetzen.<br><br>Sie können mit dem Upgrade fortsetzen, um sicherzustellen, dass der Kerncode nicht korrumpiert oder beschädigt wurde",
	step2Html_upgrade: "Sie sind dabei, von der TiddlyWiki-Version %0 auf die Version %1 upzugraden",
	upgradeLabel: "upgraden",
	upgradePrompt: "Vorbereiten des Upgrade-Prozesses",
	statusPreparingBackup: "Backup vorbereiten",
	statusSavingBackup: "Backup-Datei speichern",
	errorSavingBackup: "Ein Problem mit dem Speichern der Backup-Datei ist aufgetreten",
	statusLoadingCore: "Kerncode laden",
	errorLoadingCore: "Fehler beim Laden des Kerncodes",
	errorCoreFormat: "Fehler im neuen Kerncode",
	statusSavingCore: "Neuen Kerncode speichern",
	statusReloadingCore: "Neuen Kerncode neu laden",
	startLabel: "starten",
	startPrompt: "Upgrade-Prozess starten",
	cancelLabel: "abbrechen",
	cancelPrompt: "Upgrade-Prozess abbrechen",
	step3Title: "Upgrade abgebrochen",
	step3Html: "Sie haben den Upgrade-Prozess abgebrochen"
	});

merge(config.macros.sync,{
	listViewTemplate: {
		columns: [
			{name: 'Selected', field: 'selected', rowName: 'title', type: 'Selector'},
			{name: 'Tiddler', field: 'tiddler', title: "Tiddler", type: 'Tiddler'},
			{name: 'Server Type', field: 'serverType', title: "Server-Typ", type: 'String'},
			{name: 'Server Host', field: 'serverHost', title: "Server-Host", type: 'String'},
			{name: 'Server Workspace', field: 'serverWorkspace', title: "Server-Workspace", type: 'String'},
			{name: 'Status', field: 'status', title: "Status der Synchronisation", type: 'String'},
			{name: 'Server URL', field: 'serverUrl', title: "Server-URL", text: "View", type: 'Link'}
			],
		rowClasses: [
			],
		buttons: [
			{caption: "Diese Tiddler synchronisieren", name: 'sync'}
			]},
	wizardTitle: "Mit externen Servern oder Dateien synchronisieren",
	step1Title: "Wählen Sie die Tiddler aus, die Sie synchronisieren möchten",
	step1Html: '<input type="hidden" name="markList"></input>',
	syncLabel: "synchronisieren",
	syncPrompt: "Diese Tiddler synchronisieren",
	hasChanged: "Verändert während Trennung",
	hasNotChanged: "Unverändert während Trennung",
	syncStatusList: {
		none: {text: "...", display:null, className:'notChanged'},
		changedServer: {text: "Auf dem Server geändert", display:null, className:'changedServer'},
		changedLocally: {text: "Im ausgesteckten Zustand geändert", display:null, className:'changedLocally'},
		changedBoth: {text: "Im ausgesteckten Zustand und auf dem Server geändert", display:null, className:'changedBoth'},
		notFound: {text: "Auf dem Server nicht gefunden", display:null, className:'notFound'},
		putToServer: {text: "Aktualisierung auf dem Server gespeichert", display:null, className:'putToServer'},
		gotFromServer: {text: "Aktualisierung vom Server abgerufen", display:null, className:'gotFromServer'}
		}
	});

merge(config.macros.annotations,{
	});

merge(config.commands.closeTiddler,{
	text: "schließen",
	tooltip: "Diesen Tiddler schließen"});

merge(config.commands.closeOthers,{
	text: "andere schließen",
	tooltip: "Alle anderen Tiddler schließen"});

merge(config.commands.editTiddler,{
	text: "bearbeiten",
	tooltip: "Diesen Tiddler bearbeiten",
	readOnlyText: "betrachten",
	readOnlyTooltip: "Quellcode dieses Tiddlers betrachten"});

merge(config.commands.saveTiddler,{
	text: "fertig",
	tooltip: "Änderungen an diesem Tiddler speichern"});

merge(config.commands.cancelTiddler,{
	text: "abbrechen",
	tooltip: "Änderungen an diesem Tiddler verwerfen",
	warning: "Wollen Sie wirklich Änderungen in '%0' verwerfen?",
	readOnlyText: "fertig",
	readOnlyTooltip: "Diesen Tiddler normal anzeigen"});

merge(config.commands.deleteTiddler,{
	text: "löschen",
	tooltip: "Diesen Tiddler löschen",
	warning: "Wollen Sie '%0' wirklich löschen?"});

merge(config.commands.permalink,{
	text: "Permalink",
	tooltip: "Permalink für diesen Tiddler"});

merge(config.commands.references,{
	text: "Referenzen",
	tooltip: "Alle Tiddler zeigen, die auf diesen verweisen",
	popupNone: "Keine Referenzen"});

merge(config.commands.jump,{
	text: "springen",
	tooltip: "Zu anderem, geöffneten Tiddler springen"});

merge(config.commands.syncing,{
	text: "Synchronisierung läuft",
	tooltip: "Synchronisation dieses Tiddlers mit einem Server oder einer externen Datei kontrollieren",
	currentlySyncing: "<div>Aktuell am Synchronisieren mit <span class='popupHighlight'>'%0'</span> zu:</"+"div><div>Host: <span class='popupHighlight'>%1</span></"+"div><div>Workspace: <span class='popupHighlight'>%2</span></"+"div>", // Hinweis - Das Schliessen des <div>-Tag verlassen
	notCurrentlySyncing: "Derzeit keine Synchronisierung",
	captionUnSync: "Synchronisierung dieses Tiddlers stoppen",
	chooseServer: "Diesen Tiddler mit anderem Server synchronisieren:",
	currServerMarker: "\u25cf ",
	notCurrServerMarker: "  "});

merge(config.commands.fields,{
	text: "Felder",
	tooltip: "Erweiterte Felder dieses Tiddlers anzeigen",
	emptyText: "Keine erweiterten Felder für diesen Tiddler vorhanden",
	listViewTemplate: {
		columns: [
			{name: 'Field', field: 'field', title: "Feld", type: 'String'},
			{name: 'Value', field: 'value', title: "Wert", type: 'String'}
			],
		rowClasses: [
			],
		buttons: [
			]}});

merge(config.shadowTiddlers,{
	DefaultTiddlers: "[[GettingStarted]]",
	MainMenu: "[[GettingStarted]]",
	SiteTitle: "Mein TiddlyWiki",
	SiteSubtitle: "ein wiederverwendbares nichtlineares, persönliches ~Web-Notizbuch",
	SiteUrl: "http://www.tiddlywiki.com/",
	SideBarOptions: '<<search>><<closeAll>><<permaview>><<newTiddler>><<newJournal "DD. MMM YYYY" "Journal">><<saveChanges>><<slider chkSliderOptionsPanel OptionsPanel "Optionen \u00bb" "Optionen von TiddlyWiki ändern">>',
	SideBarTabs: '<<tabs txtMainTab "Zeitachse" "Zeitachse" TabTimeline "Alles" "Alle Tiddler" TabAll "Tags" "Alle Tags" TabTags "Mehr" "Weitere Listen" TabMore>>',
	TabMore: '<<tabs txtMoreTab "Fehlend" "Fehlende Tiddler" TabMoreMissing "Waisen" "Verwaiste Tiddler" TabMoreOrphans "Schatten" "Tiddler mit Schatteneinträgen" TabMoreShadowed>>'
	});

merge(config.annotations,{
	AdvancedOptions: "Dieser Schatten-Tiddler bietet Zugang zu diversen erweiterten Optionen",
	ColorPalette: "Diese Werte in diesem Schatten-Tiddler legen das Farbschema der Benutzerschnittstelle des TiddlyWiki fest",
	DefaultTiddlers: "Die in diesem Schatten-Tiddler aufgelisteten Tiddler werden automatisch beim Start des TiddlyWiki angezeigt",
	EditTemplate: "Die HTML-Vorlage in diesem Schatten-Tiddler legt das Aussehen von Tiddler während ihrer Bearbeitung fest",
	GettingStarted: "Dieser Schatten-Tiddler bietet eine einfache Bedienungsanleitung",
	ImportTiddlers: "Dieser Schatten-Tiddler bietet Zugang zum Import von Tiddler",
	MainMenu: "Dieser Schatten-Tiddler dient als Container für das Hauptmenü in der linksseitigen Spalte des Bildschirms",
	MarkupPreHead: "Dieser Tiddler wird an der Spitze der <head>-Sektion der HTML-Datei des TiddlyWiki eingefügt",
	MarkupPostHead: "Dieser Tiddler wird am Ende der <head>-Sektion der HTML-Datei des TiddlyWiki eingefügt",
	MarkupPreBody: "Dieser Tiddler wird an der Spitze der <body>-Sektion der HTML-Datei des TiddlyWiki eingefügt",
	MarkupPostBody: "Dieser Tiddler wird am Ende der <body>-Sektion der HTML-Datei des TiddlyWiki unmittelbar nach dem Scriptblock eingefügt",
	OptionsPanel: "Dieser Schatten-Tiddler dient als Container für das einblendbare Optionsfeld in der rechtsseitigen Seitenleiste",
	PageTemplate: "Die HTML-Vorlage in diesem Schatten-Tiddler legt das allgemeine Aussehen des TiddlyWiki fest",
	PluginManager: "Dieser Schatten-Tiddler bietet Zugang zum Plugin-Manager",
	SideBarOptions: "Dieser Schatten-Tiddler dient als Container für das Optionsfeld in der rechtsseitigen Seitenleiste",
	SideBarTabs: "Dieser Schatten-Tiddler dient als Container für das Tab-Panel in der rechtsseitigen Seitenleiste",
	SiteSubtitle: "Dieser Schatten-Tiddler enthält den zweiten Teil der Seitenüberschrift",
	SiteTitle: "Dieser Schatten-Tiddler enthält den ersten Teil der Seitenüberschrift",
	SiteUrl: "Dieser Schatten-Tiddler sollte den vollständigen Ziel-URL der Veröffentlichung enthalten",
	StyleSheetColors: "Dieser Schatten-Tiddler enthält CSS-Definitionen bezüglich der Farbe von Seitenelementen. ''DIESEN TIDDLER NICHT BEARBEITEN'', fügen Sie Ihre Änderungen stattdessen in den StyleSheet-Schatten-Tiddler ein",
	StyleSheet: "Dieser Tiddler kann benutzerspezifische CSS-Definitionen enthalten",
	StyleSheetLayout: "Dieser Schatten-Tiddler enthält CSS-Definitionen bezüglich dem Aussehen von Seitenelementen. ''DIESEN TIDDLER NICHT BEARBEITEN'', fügen Sie Ihre Änderungen stattdessen in den StyleSheet-Schatten-Tiddler ein",
	StyleSheetLocale: "Dieser Schatten-Tiddler enthält CSS-Definitionen bezüglich lokale Übersetzungen",
	StyleSheetPrint: "Dieser Schatten-Tiddler enthält CSS-Definitionen zum Drucken",
	TabAll: "Dieser Schatten-Tiddler enthält den Inhalt des 'Alles'-Tab in der rechtsseitigen Seitenleiste",
	TabMore: "Dieser Schatten-Tiddler enthält den Inhalt des 'Mehr'-Tab in der rechtsseitigen Seitenleiste",
	TabMoreMissing: "Dieser Schatten-Tiddler enthält den Inhalt des 'Fehlend'-Tab in der rechtsseitigen Seitenleiste",
	TabMoreOrphans: "Dieser Schatten-Tiddler enthält den Inhalt des 'Waisen'-Tab in der rechtsseitigen Seitenleiste",
	TabMoreShadowed: "Dieser Schatten-Tiddler enthält den Inhalt des 'Schatten'-Tab in der rechtsseitigen Seitenleiste",
	TabTags: "Dieser Schatten-Tiddler enthält den Inhalt des 'Tags'-Tab in der rechtsseitigen Seitenleiste",
	TabTimeline: "Dieser Schatten-Tiddler enthält den Inhalt des 'Zeitachse'-Tab in der rechtsseitigen Seitenleiste",
	ToolbarCommands: "Dieser Schatten-Tiddler legt fest, welche Befehle in Tiddler-Toolbars angezeigt werden",
	ViewTemplate: "Die HTML-Vorlage in diesem Schatten-Tiddler legt das Aussehen der Tiddler fest"
	});

// Weitere Uebersetzungen des Interface

merge(config.shadowTiddlers,{
	OptionsPanel: "Diese [[Interface-Einstellungen|InterfaceOptions]] zur Anpassung von TiddlyWiki werden in Ihrem Browser gespeichert\n\nIhr Benutzername zum Unterzeichnen Ihrer Einträge. Bitte als WikiWord (z.B. KlausBrandmüller) schreiben\n\n<<option txtUserName>>\n<<option chkSaveBackups>> [[Backups speichern|SaveBackups]]\n<<option chkAutoSave>> [[Automatisch speichern|AutoSave]]\n<<option chkRegExpSearch>> [[RegExp Suche|RegExpSearch]]\n<<option chkCaseSensitiveSearch>> [[Groß-/Kleinschreibung in Suche|CaseSensitiveSearch]]\n<<option chkAnimate>> [[Animationen aktivieren|EnableAnimations]]\n\n----\[[Erweiterte Optionen|AdvancedOptions]]\nPluginManager\nImportTiddlers",
	GettingStarted: "Um mit diesem TiddlyWiki zu starten, sollten Sie folgende Tiddler modifizieren:\n* SiteTitle & SiteSubtitle: Den [[Titel|SiteTitle]] und [[Untertitel|SiteSubtitle]] der Site, wie oben angezeigt (nach dem Speichern werden diese auch in der Titelzeile des Browsers angezeigt)\n* MainMenu: Ihr Inhaltsverzeichnis (für gewöhnlich Links)\n* DefaultTiddlers: Beinhaltet die Namen der Tiddler, die Sie angezeigt haben möchten, wenn das TiddlyWiki geöffnet wird.\nSie sollten zudem Ihren Benutzernamen zum Unterzeichnen Ihrer Bearbeitungen eingeben: <<option txtUserName>>",
	ViewTemplate: "<div class='toolbar' macro='toolbar -closeTiddler closeOthers +editTiddler permalink references jump'></div>\n<div class='title' macro='view title'></div>\n<div class='subtitle'><span macro='view modifier link'></span>, <span macro='view modified date'></span> (erstellt am <span macro='view created date'></span>)</div>\n<div class='tagging' macro='tagging'></div>\n<div class='tagged' macro='tags'></div>\n<div class='viewer' macro='view text wikified'></div>\n<div class='tagClear'></div>",
	InterfaceOptions: "Die [[Interface-Einstellungen|InterfaceOptions]] werden angezeigt, wenn Sie rechts auf 'Optionen' klicken. Sie werden mit einem Cookie in Ihrem Browser gespeichert, um sie zwischen den Aufrufen zu sichern. Nähere Informationen zu den einzelnen Funktionen finden Sie, wenn Sie die Funktion selbst anklicken.",
	WikiWord: "Ein WikiWord ist ein Wort, das aus mehreren einzelnen Wörtern zusammengesetzt ist, in dem jedes Wort mit einem Grossbuchstaben beginnt und eine individuelle Seite bezeichnet.",
	SaveBackups: "[[Backups speichern|SaveBackups]] ist eine Funktion, mit der automatisch bei jedem Abspeichern ein Backup erstellt wird.",
	AutoSave: "[[Automatisches Speichern|AutoSave]] speichert automatisch Änderungen jedes Mal, wenn Sie einen Tiddler bearbeiten. Damit sinken die Chancen, dass Sie Daten verlieren. Beachten Sie jedoch, dass bei aktivierter [[Backup-Funktion|SaveBackups]] natürlich auch eine Menge Backup-Dateien erstellt werden. Entscheiden Sie sich deshalb für die eine oder andere Funktion.",
	RegExpSearch: "Mit der [[RegExp Suche|RegExpSearch]] können Sie mit regulären Suchausdrücken flexible Suchanfragen vornehmen.",
	CaseSensitiveSearch: "Die Unterscheidung der [[Groß-/Kleinschreibung in Suche|CaseSensitiveSearch]] tut genau dies.",
	EnableAnimations: "Diese Funktion aktiviert Animationen, wenn Sie einen Tiddler öffnen oder schliessen.",
	GenerateAnRssFeed: "Wenn Sie [[RSS-Feed generieren|GenerateAnRssFeed]] aktivieren, speichert TiddlyWiki automatisch einen RSS-2.0-gültigen Feed, so bald Ihr TiddlyWiki gespeichert wird. Der Feed hat den gleichen Dateinamen wie das TiddlyWiki, lediglich jedoch mit der Endung '.xml'.",
	OpenLinksInNewWindow: "Diese Funktion öffnet externe Links in einem neuen ~Browser-Fenster.",
	SaveEmptyTemplate: "Diese Funktion erwirkt, dass beim Abspeichern von Änderungen eine leere Vorlage von TiddlyWiki erzeugt wird. Dies ist als Hilfe gedacht für Entwickler, die Adaptionen von TiddlyWiki bereitstellen. Die Funktion ist nicht erforderlich, wenn Sie ein normaler Benutzer sind.",
	HideEditingFeatures: "Ist diese Funktion aktiviert, werden die Bearbeitungsfunktionen ausgeblendet, wenn das TiddlyWiki über HTTP aufgerufen wird. Der Benutzer hat dann die Möglichkeit, den Tiddler zwar betrachten zu können, aber nicht zu bearbeiten.",
	MinorChanged: "Manchmal ist es sinnvoll, dass bei kleinen Änderungen der Tiddler in der Zeitachse nicht automatisch an den Anfang gesetzt wird. Mit Aktivierung dieser Funktion werden alle Bearbeitungen von Tiddlern als kleine Änderungen betrachtet und das Änderungsdatum nicht geändert.",
	ConfirmBeforeDeleting: "Bei Aktivierung dieser Funktion fordert TiddlyWiki eine Bestätigung des Benutzers an, wenn ein Tiddler gelöscht werden soll."});
}}}
!Grundeinstellungen

Beim ersten Start werden Sie aufgefordert, die wesentlichen Konfigurationen von eADok vorzunehmen:

[img[Einstellungen|http://www.eadok.at/pics/ba4kklg5pvpxrkf6o.jpg]]

!!Auswahl des eigenen Betriebes
Aus den Betrieben in der Kundenverwaltung ist der eigene Betrieb auszuwählen. Dies ist insbesondere zur korrekten Erstellung von Lieferscheinen und Begleitscheinen notwendig. Weiters ist auzuwählen, ob es sich beim eigenen Betrieb um einen Abfallerzeuger oder Sammler/Behandler von Abfälnen handelt. Für Abfallerzeuger sind nur die notwendigen Funktionen verfügbar.
[img[Firmenauswahl|http://www.eadok.at/pics/az9r2ddx6nuvbvm03.gif]]
!!Pfade
*Hier können die Systempfade für die Ablage der ~XML-Dateien geändert werden
!!Nummernkreise
Für die Erstellung von Begleitscheinen und Lieferscheinen sind fortlaufende Nummern zu verwenden. Es können standortspezifisch (für die registrierte Person und für alle Standorte) Nummernkreise (jeweils Begleitschein / Lieferschein) eingetragen werden. Ohne Eintragung von Nummernkreisen ist keine Erstellung von Begleitscheinen/Lieferscheinen möglich.
[img[Nummernkreise|http://www.eadok.at/pics/bfpsboxzwqe9ja0f0.jpg]]
Wenn standortspezifische Nummernkreise angelegt sind, werden diese für BS/LS von diesen Standorten verwendet. Wenn diese Nummernkreise erschöpft sind, werden die Nummernkreise der ausgewählten Person / des ausgewählten Standortes verwendet.
!!Druckformat
[img[Einstellungen|http://www.eadok.at/pics/ak49rh8y941ao2k3h.gif]]
Hier können die auf den Lieferscheinen und Begleitscheinen (im Firmenformat) anzudruckenden Angaben eingetragen, sowie die Anzahl der pro Begleitschein auszudruckenden Durchschläge ausgewählt werden.
Es kann auch ein Logo aus dem Dateisystem für die Lieferscheine sowie Begleitscheine im Firmenformat ausgewählt werden werden (maximale Größe: H = 95 px, B= 333 px).
!!Admin
''Vorsicht:'' Im Register ''Admin'' können alle erfassten Daten gelöscht werden!
/***
|Name|HaloscanMacro|
|Created by|JimSpeth|
|Location|http://end.com/~speth/HaloscanMacro.html|
|Version|1.1.0|
|Requires|~TW2.x|

!Description
Comment and trackback support for TiddlyWiki (via Haloscan).

!History
* 16-Feb-06, version 1.1.0, drastic changes, now uses settings from haloscan account config
* 31-Jan-06, version 1.0.1, fixed display of counts for default tiddlers
* 30-Jan-06, version 1.0, initial release

!Examples
|!Source|!Output|h
|{{{<<haloscan comments>>}}}|<<haloscan comments>>|
|{{{<<haloscan trackbacks>>}}}|<<haloscan trackbacks>>|

!Installation
Register for a [[Haloscan|http://www.haloscan.com]] account. It's free and painless.
Install the HaloscanMacro in a new tiddler with a tag of systemConfig (save and reload to activate).
In the macro configuration code (below), change //YourName// to your Haloscan account name.
Use the macro somewhere in a tiddler (see ViewTemplate for an example).

!Settings
You can adjust various options for your account in the member configuration area of Haloscan's web site. The macro will use these settings when formatting the links.

!Code
***/
//{{{

/* change "YourName" to your Haloscan account name */
config.macros.haloscan = {account: "sbgkr", baseURL: "http://www.haloscan.com/load/"};

var haloscanLoaded = 0;
config.macros.haloscan.load = function ()
{
 if (haloscanLoaded == 1)
 return;
 
 account = config.macros.haloscan.account;
 if (!account || (account == "sbgkr"))
 account = store.getTiddlerText("SiteTitle");
 
 var el = document.createElement('script');
 el.language = 'JavaScript'; 
 el.type = 'text/javascript'; 
 el.src = config.macros.haloscan.baseURL + account;
 document.documentElement.childNodes[0].appendChild(el);
 
 haloscanLoaded = 1;
}
config.macros.haloscan.load();

/* this totally clobbers document.write, i hope that's ok */
var safeWrite = function(s)
{
 document.written = s;
 return s;
};
document.write = safeWrite;

config.macros.haloscan.refreshDefaultTiddlers = function ()
{
 var start = store.getTiddlerText("DefaultTiddlers");
 if (start)
 {
 var titles = start.readBracketedList();
 for (var t=titles.length-1; t>=0; t--)
 story.refreshTiddler(titles[t], DEFAULT_VIEW_TEMPLATE, 1);
 }
}

var haloscanRefreshed = 0;
config.macros.haloscan.handler = function (place, macroName, params, wikifier, paramString, tiddler)
{
 if (typeof HaloScan == 'undefined')
 {
 if (haloscanRefreshed == 0)
 {
 setTimeout("config.macros.haloscan.refreshDefaultTiddlers()", 1);
 haloscanRefreshed = 1;
 }
 return;
 }
 
 var id = story.findContainingTiddler(place).id.substr(7);
 var hs_search = new RegExp('\\W','gi');
 id = id.replace(hs_search,"_");
 
 account = config.macros.haloscan.account;
 if (!account || (account == "sbgkr"))
 account = store.getTiddlerText("SiteTitle");
 
 var haloscanError = function (msg)
 {
 createTiddlyError(place, config.messages.macroError.format(["HaloscanMacro"]), config.messages.macroErrorDetails.format(["HaloscanMacro", msg]));
 }
 
 if (params.length == 1)
 {
 if (params[0] == "comments")
 {
 postCount(id);
 commentsLabel = document.written;
 commentsPrompt = "Comments on this tiddler";
 var commentsHandler = function(e) { HaloScan(id); return false; };
 var commentsButton = createTiddlyButton(place, commentsLabel, commentsPrompt, commentsHandler);
 }
 else if (params[0] == "trackbacks")
 {
 postCountTB(id);
 trackbacksLabel = document.written;
 trackbacksPrompt = "Trackbacks for this tiddler";
 var trackbacksHandler = function(e) { HaloScanTB(id); return false; };
 var trackbackButton = createTiddlyButton(place, trackbacksLabel, trackbacksPrompt, trackbacksHandler);
 }
 else
 haloscanError("unknown parameter: " + params[0]);
 }
 else if (params.length == 0)
 haloscanError("missing parameter");
 else
 haloscanError("bad parameter count");
}

//}}}
/***
|Name:|HideWhenMacro|
|Author:|SimonBaird|
|Source:|http://tiddlyspot.com/mptw/#HideWhenMacro|
|Version:|1.0.1|
|Date:|30-Jul-2006|

!Description
Implements hideWhen and showWhen macros for use in ViewTemplate

!Example
{{{<div macro="showWhen tiddler.tags.contains('Task')">[[TaskToolbar]]</div>}}}

***/
//{{{

merge(config.macros,{

 hideWhen: { handler: function (place,macroName,params,wikifier,paramString,tiddler) {
 if (eval(paramString)) {
 removeChildren(place);
 place.parentNode.removeChild(place);
 }
 }},

 showWhen: { handler: function (place,macroName,params,wikifier,paramString,tiddler) {
 config.macros.hideWhen.handler(place,macroName,params,wikifier,'!('+paramString+')',tiddler);
 }}

});

//}}}
/***
To use, add {{{[[HorizontalMainMenuStyles]]}}} to your StyleSheet tiddler, or you can just paste the CSS in directly. See also HorizontalMainMenu and PageTemplate.
***/
/*{{{*/

#topMenu br {display:none; }
#topMenu { background: #39a; }
#topMenu { padding:2px; }
#topMenu .button, #topMenu .tiddlyLink {
 margin-left:0.5em; margin-right:0.5em;
 padding-left:3px; padding-right:3px;
 color:white; font-size:115%;
}
#topMenu .button:hover, #topMenu .tiddlyLink:hover { background:#178;}

#displayArea { margin: 1em 15.7em 0em 1em; } /* so we use the freed up space */

/* just in case want some QuickOpenTags in your topMenu */
#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; }


/*}}}*/
!Installation
Es muss lediglich die geänderte [[eADok.exe|http://www.oekobits.at/eADok/eadokfiles/eADok.exe]] herunter geladen werden und in das Installationsverzeichnis von eADok (normalerweise C:\eadok) kopiert werden. Es kann aber auch ein vollständiges [[Update|Installation von eADok]] durchgeführt werden.
!wesentliche Änderungen in der Version 1.32_1
|xml-Datenexport|Prüfsumme für Bilanzen und ~Prüfsummen-Validator|
|BS/LS Erfassung|Prüfregel: Übernahme aus/ Übergabe in Strecke: es wird als Übergeber bzw. Übernehmer auch die ~Personenkreis-GLN 9008390999981, 9008390999974 akzeptiert|
|eBilanz|Restkapazität: 0 m3 werden nun akzeptiert|
|~BS-Protokoll|Feature zur Entleerung des ~Prüfprotokoll-Caches|
|~BS-Protokoll|Bei unvollständiger ~Prüfprotokoll-Rückmeldung des ~WebServices lieferte eine nochmalige Anforderung kein Ergebnis mehr zurück (BS wird nicht ins Register "BS von Behörde bestätigt" überführt)|
|~BS-Protokoll|Anzeige und Export des Prüfprotokolls schlägt bei Jahresübergängen fehl |
|Export ebsm_neu|Fehler in der Erzeugung einer validen xml Datei bei eingetragenem Branchencode des Übergebers|
|eBilanz|Zusammenfassung der Ersterzeuger auf BLD + Branche: Ausnahme von der Zusammenfassung > Deponiebuchungen, keine gültige Branche  |
|BS/LS Erfassung|Erleichterung Streckengeschäft: Fehlerhafte Anzeige der weiteren Sammler bei Erfassung 'Übernahme aus Strecke', 'Übergabe in Strecke'|
|BS/LS Erfassung|Streckengeschäft: Neue Eingangsbuchung übernimmt das Buchungsdatum von vorhandenem Ausgang nicht|
|BS/LS Erfassung|Erzeuger: Erfassung von Erzeugerdaten auch durch Kopieren des Übergebers möglich|
|Begleitschein|~BS-Bestätigung erzwingen' manchmal nicht verfügbar|
|BS/LS Erfassung|weitere kleine Fehler in der Prüfung von BS/LS behoben |
|eAFZ|Fehler bei der Erstellung der Jahresmeldung behoben (betraf nur Meldungen ohne Übernahmen)|
|eADokVIS|Plugin war in der eADok-Netzwerkversion nicht aufrufbar|
|Updates|Feature: Updatemanager (Aktualisierung einzelner Programmbibliotheken)|
!Installation
Es muss lediglich die geänderte [[eADok.exe|http://www.oekobits.at/eADok/eadokfiles/eADok.exe]] herunter geladen werden und in das Installationsverzeichnis von eADok (normalerweise C:\eadok) kopiert werden. Es kann aber auch ein vollständiges [[Update|Installation von eADok]] durchgeführt werden.
!wesentliche Änderungen in der Version 1.32_h2
|Kundensuche|behoben: In bestimmter Abfolge der Betriebsauswahl und anschließender Kundenauswahl bei der BS/~LS-Erstellung wurde der ausgewählte Kunde als identifizierter Betrieb eingetragen...|
|eBilanz|Zusammenfassungsregel für Übernehmer & Erzeuger&nbsp;geändert (Aufsplittung auf Empfangsort bzw. Anfallsort)|
|eBilanz Prüfregel|Prüfung des Datumsbereichs wird beschränkt auf Übernahmedatum|
|ebsm_neu Prüfregel|die Übernahme von Lieferscheinen (ebsm_neu-Format) ohne Masse und ohne SlNr ist wieder möglich|
|BS/LS Erfassung|behoben: Fehler in der Anzeige der für Lohnarbeit relevanten ~Übergabe-Verfahren, Löschen von fremden Anlagen-GLN|
!Installation
Es muss lediglich die geänderte [[eADok.exe|http://www.oekobits.at/eADok/eadokfiles/eADok.exe]] herunter geladen werden und in das Installationsverzeichnis von eADok (normalerweise C:\eadok) kopiert werden. Es kann aber auch ein vollständiges [[Update|Installation von eADok]] durchgeführt werden.
!wesentliche Änderungen in der Version 1.32_h3
|xml-Datenexport|als Zip speichern..|
|Kundenverwaltung|Editieren von Transporteuren ohne GLN war nicht möglich|
|~Start-Prozess|Logging des Startprozesses und&nbsp;unhandled exceptions|
|BS/~LS-Erfassung|Fehler behoben: Automatischer Eintrag der eigenen ~PersonenGLN bei Übergeber bei Buchungsart 'Übergabe aus Streckengeschäft'|
|BS/LS Erfassung|weitere geringfügige Fehler behoben|
!Installation
Es muss lediglich die geänderte [[eADok.exe|http://www.oekobits.at/eADok/eadokfiles/eADok.exe]] herunter geladen werden und in das Installationsverzeichnis von eADok (normalerweise C:\eadok) kopiert werden. Es kann aber auch ein vollständiges [[Update|Installation von eADok]] durchgeführt werden.
!wesentliche Änderungen in der Version 1.32_h4
|BS/~LS-Erstellung|Fehlerhafte Hinweismeldung zur Stilllegung bei ~Personenkreis-GLNs|
|BS/~LS-Erstellung|neuer Streckeneingang: Hinweismeldung, wenn Übergabemenge nicht mit&nbsp;den Übernahmemengen übereinstimmt&nbsp; und Option zur autom. Mengenanpassung des Ausgangsscheines|
|BS/~LS-Erstellung|Anpassung der Betriebsauswahl und ~Webservice-Funktion eRAS ~Registerdaten-Update|
|BS/~LS-Vorlagen|Bei mobilen Anlagen wird nun auch eine angegebene stationäre ~AnlagenGLN in den Vorlagen gespeichert|
|BS/~LS-Druck|~Druck-Funktion 'Markierung' und 'Aktuelle Seite' werden vorübergehend deaktiviert (Bug im Control)|
!Installation
Es muss lediglich die geänderte [[eADok.exe|http://www.oekobits.at/eADok/eadokfiles/eADok.exe]] herunter geladen werden und in das Installationsverzeichnis von eADok (normalerweise C:\eadok) kopiert werden. Es kann aber auch ein vollständiges [[Update|Installation von eADok]] durchgeführt werden.
!wesentliche Änderungen in der Version 1.32_h5
|BS/~LS-Erstellung|Neuer Eingang zu Streckengeschäft: autom. Anpassung der BS/~LS-Nummerierung (Jahresübergang)|
|BS/~LS-Import|behoben: fehlerhafte Zuordnung(seit 1.32_h4) bei Import von bereits in der Datenbank vorhandenen BS und LS|
|BS/~LS-Erstellung|behoben: Ungeeigneter Prozeduraufruf zur autom. Mengenanpassung für ~Strecken-Ausgangsschein&nbsp;bei Buchungsart 'Übergabe in Strecke'|
|eBegleitschein|Upload&nbsp;von 'neu' angelegtem BS, der bereits im EDM gespeichert ist, wird vorerst abgelehnt|
|BS/~LS-Erstellung|Lockerung der&nbsp;Prüfung der Nummerierung bei 'Sonstige'|
!Installation
Es muss lediglich die geänderte [[eADok.exe|http://www.oekobits.at/eADok/eadokfiles/eADok.exe]] herunter geladen werden und in das Installationsverzeichnis von eADok (normalerweise C:\eadok) kopiert werden. Es kann aber auch ein vollständiges [[Update|Installation von eADok]] durchgeführt werden.
!wesentliche Änderungen in der Version 1.32_h6
|~LS-Verwaltung|fehlerhafte Anzeige von Lieferscheinen im Register 'in Bearbeitung': Lieferscheine ohne Masse bzw. ~SlNr wurden beim Start des Formulares nicht angezeigt|
|BS/~LS-Erstellung|Streckengeschäft: bei manchen Systemen bricht die Erstellungsprozedur mit folgendem Fehler ab: " Die Zeichenfolge wurde nicht als gültiges ~DateTime erkannt."|
|BS/~LS-Suche|Anzeige von ~GLNs im Suchergebnis|
|eBegleitschein|Aenderungen im Verhalten von eADok zu fehlerhaften ~Prüfprotokoll-Requests (~RequestID) oder Fehlern des ~UBA-WS-Servers > mail an ~EDM-Helpdesk möglich|
|BS/~LS-Erstellung|Korrektur bei Prüfung der ~SlNr-Gültigkeit: verändertes ~Event-Handling im Feld 'Transportbeginn'|
|eBilanz|Prüfregel 'adressierbare Plz' wird bei Übernahme in den Bilanzcontainer deaktiviert|
|BS/~LS-Erstellung|~Katastralgemeindenr-Suche über alle KG in Österreich möglich (Name, ~KG-Nr, PLZ)|
|eBilanz|Beschleunigung der Prüfungsprozeduren|
|xml-Import|Import von ~EBSM-alt xml-Dateien ab sofort mit erhöhter Datenprüfung|
|eAFZ|Jahresübermittlung: Fehler bei der korrekten Ermittlung der Gesamtmasse von übernommenen Fahrzeugen, wenn pro ausgestelltem BS/LS im Eingang mehr als ein Fahrzeug angegeben wurde|
|Kundensuche|Einbindung der eRAS online Registerabfrage|
|eRAS online|Korrektur beim Setzen von Archivierungsflags bei Abfrage nach einer ~Standort-GLN|
|BS/~LS-Verwaltung|Überarbeitung der ~Ablage-Funktion (Verschieben in Ablage bzw. Bestätigung erzwingen&nbsp;bei Protokollfehler, Importierte, Fehlerhafte nicht mehr möglich)|
!Installation
Es muss lediglich die geänderte [[eADok.exe|http://www.oekobits.at/eADok/eadokfiles/eADok.exe]] herunter geladen werden und in das Installationsverzeichnis von eADok (normalerweise C:\eadok) kopiert werden. Es kann aber auch ein vollständiges [[Update|Installation von eADok]] durchgeführt werden.
!wesentliche Änderungen in der Version 1.32_h7
|Kundensuche|behoben: ~Bundesland-Vorschlag bei Eingabe einer Plz im Register 'Personenkreise'|
|eBegleitschein|Upload&nbsp;von 'neu' angelegtem BS, der bereits im EDM gespeichert ist, muss per Dialog für den Upload freigegeben werden|
|BS/~LS-Verwaltung|behoben: nach Filterung der Liste werden in manchen Fällen auch ausgefilterte Datensätze in die Selektion aufgenommen|
|Kundensuche|~Personenkreis-Neukundenanlage: ähnlich lautende Kunden (~PersonenkreisGLN, Firmenname, Strasse, Staat, Plz) werden nun erst nach Rückfrage in den Kundenstamm übernommen|
|BS/~LS-Erstellung|eigene Standorte und Anlagen zusätzlich in neuem Auswahlformular|
|xml-Ablage|Verbesserung der Fehlerbehandlung zu Fehler: 'ein Teil des Pfades ... konnte nicht gefunden werden"|

!!wichtigste Neuerung in V1.100_h2:
*Der Fehler in der Vorlagenbearbeitung wurde behoben
mehr zum Thema "[[Verwenden von Vorlagen]]"
!!Hinweise zur Installation:
!!!Version 1.10 (auch 1.10_h) bereits installiert
Es muss nur die Datei eADok.exe im Programmverzeichnis von eADok durch die neue Version http://www.oekobits.at/eADok/eadokfiles/eADok.exe (15.10.2009, 4.530 kB [[MD5-Prüfsumme]]: ''ff04c606a72fe6af19aefd60a27c8671'') ersetzt werden.
!!!Update
Wenn mit der Vorgängerversion (1.09, 1.091, 1.092, 1.093, 1.094, 1.095) bereits Daten erfasst wurden, ist das Programm lediglich auf den neuesten Stand zu bringen. Dazu die Datei ''[[eADok_update_V1100.exe|http://www.oekobits.at/eADok/eadokfiles/eADok_update_V1100.exe]]'' (15.10.2009, 8.193 KB, [[MD5-Prüfsumme]]: ''ccc823ae32ed021a11087badc0025061'') ebenfalls von [[www.oekobits.at/eADok/|http://www.oekobits.at/eADok/]] herunterladen und ausführen. ''
Bei der Installation muss das richtige Verzeichnis mit der Datei eadok.exe ausgewählt werden''.
Beim Updaten werden die Daten der alten eADok-Version gesichert und in die neue Version automatisch übernommen.

''Hinweis: Ein direktes Update von älteren Versionen von eADok ist nicht möglich. Dazu muss zuerst die Version 1.09 installiert werden.'' 
!!wichtigste Neuerungen V1.100_h:
*Bugfix: Anlagenbezogene Aufzeichnungen: bei Identifizierung als Standort eines Betriebes wurden die übrigen Standorte und der Firmensitz nicht mehr angezeigt
*Bugfix: Anlagen: das Anlegen bzw. Löschen von Verfahren zu einer Anlage löste einen '~Primary-Key' Fehler aus: dieser Fehler tritt nur in der Vollversion V1.100 auf, nicht jedoch bei einem Update einer Vorgängerversion!
*es kann direkt in eADok geprüft werden, ob eine neue Version zum Download zur Verfügung steht (derzeit nur, wenn kein Proxy verwendet wird)
**Aufruf über ''[?] - [Auf neue Version prüfen...]''
!!Hinweise zur Installation:
!!!nach Installation der Vollversion von eADok 1.10:
Falls eine Vollinstallation bereits durchgeführt und Anlagen erstellt wurden, wird ersucht die nun im Downloadverzeichnis bereitgestellte eADok_update_V1100.exe zu installieren, die bereits erstellten Anlagen über den Menüpunkt ~Tools-Einstellungen-Register ‘Admin’-’Anlagen und Lagerstandsaufzeichnungen löschen’ zu entfernen und neu anzulegen.
!!!nach Installation der Updateversion von eADok 1.10:
Benutzer der ~Update-Version wird geraten, die nun zur Verfügung gestellte ~Update-Version nochmals herunterzuladen und einzuspielen, bzw. es reicht auch der Austausch der eADok.exe (bei ~SuperServer-Konfigurationen)

*ob bereits die richtige Version ''eADok V1.10_h1'' installiert ist, ist aus der Fensterzeile von eADok ersichtlich:
[img[Fensterzeile eADok|http://www.eadok.at/pics/baeqn8ygq7hfdlhe4.jpg]] 

!!Installation
*Bei eADok-Installationen (nur V1.13!), welche vor dem 28.1.2011 installiert oder upgedatet wurden, ist lediglich die Datei "eADok.exe" im eADok-Programmverzeichnis (üblicherweise c:\eadok) durch [[diese neue Version von eADok.exe)|http://www.oekobits.at/eADok/eadokfiles/eADok.exe]] zu ersetzen
*Die originale Version 1.13 ist erkennbar an der Programmfensterüberschrift  [img[eADok V1.13|http://www.eadok.at/pics/113.jpg]]
*Die aktuelle Version 1.13_h1 ist erkennbar an der angepassten Programmfensterüberschrift  [img[eADok V1.13|http://www.eadok.at/pics/0113_h1.jpg]]
*Bei Neuinstallation oder update einer älteren eADok-Version (bis V 1.12) können die aktualisierten Installationsdateien verwendet werden:
**[[eADok_Setup_V1.130_x32.exe|http://www.oekobits.at/eADok/eadokfiles/eADok_Setup_V1.130_x32.exe]] (32-bit Version von eADok)
**[[eADok_Setup_V1.130_x64.exe|http://www.oekobits.at/eADok/eadokfiles/eADok_Setup_V1.130_x64.exe]] (64-bit Version von eADok)
!!Hinweis
Aus gegebenem Anlass möchten wir darauf hinweisen, dass lokale eADok-Installationen regelmäßig gesichert werden sollen (täglich, zumindest jedoch wöchentlich bzw. vor einem update)
*Dazu reicht es aus, das Unterverzeichnis "db" im eADok-Programmverzeichnis (üblicherweise C:\eADok\db) zB auf einen externen Datenträger zu kopieren.
!!wesentliche Neuerungen in dieser Version:
*BS/~LS-Import: Überarbeitung der ~Import-Prüfung, Import funktioniert jetzt im Hintergrund, Konvertierung ~ISO-3166 implementiert
*BS/LS: Änderung des Farbschemas für die BS/~LS-Anzeige
*eADok für Windows 64 bit: GDI+ Fehler bei Druckvorgängen behoben
*BS/~LS-Nummerierung bei Jahreswechsel: automatische Aktualisierung nach Datumsänderung
*BS/~LS-Ansicht: Filtermöglichkeit implementiert
*diverse weitere Anpassungen
!!Installation
*Bei eADok-Installationen (nur V1.13!), welche vor dem ''10.2.2011'' installiert oder upgedatet wurden, ist lediglich die Datei "eADok.exe" im eADok-Programmverzeichnis (üblicherweise c:\eadok) durch [[diese neue Version von eADok.exe)|http://www.oekobits.at/eADok/eadokfiles/eADok.exe]] zu ersetzen
*Bei Neuinstallation oder update einer älteren eADok-Version (bis V 1.12) können die aktualisierten Installationsdateien verwendet werden:
**[[eADok_Setup_V1.130_x32.exe|http://www.oekobits.at/eADok/eadokfiles/eADok_Setup_V1.130_x32.exe]] (32-bit Version von eADok)
**[[eADok_Setup_V1.130_x64.exe|http://www.oekobits.at/eADok/eadokfiles/eADok_Setup_V1.130_x64.exe]] (64-bit Version von eADok)
!!wesentliche Neuerungen in dieser Version:
*Problem bei der automatischen LS/~BS-Nummerierung wurde behoben
*Die eRAS Registerabfrage wurde an die aktuelle eRAS Version angepasst
*Fehler bei der Prüfung von ~KG-Nummern beim Erstellen von Bilanzen wurde behoben
*diverse kleinere Anpassungen
!!Installation
*Bei eADok-Installationen (nur V1.13!), welche vor dem ''1.3.2011'' installiert oder upgedatet wurden, ist lediglich die Datei "eADok.exe" im eADok-Programmverzeichnis (üblicherweise c:\eadok) durch [[diese neue Version von eADok.exe)|http://www.oekobits.at/eADok/eadokfiles/eADok.exe]] zu ersetzen
*Bei Neuinstallation oder update einer älteren eADok-Version (bis V 1.12) können die aktualisierten Installationsdateien verwendet werden:
**[[eADok_Setup_V1.130_x32.exe|http://www.oekobits.at/eADok/eadokfiles/eADok_Setup_V1.130_x32.exe]] (32-bit Version von eADok)
**[[eADok_Setup_V1.130_x64.exe|http://www.oekobits.at/eADok/eadokfiles/eADok_Setup_V1.130_x64.exe]] (64-bit Version von eADok)
!!wesentliche Neuerungen in dieser Version:
*Bilanzerstellung: Verbesserungen in der Verfolgbarkeit des Bilanzerstellungsvorgangs
*Allgemein: Anpassungen für fehlerhafte Anzeigen der Steuerelemente bei Systemen mit erhöhter DPI Einstellung (125%)
**die Änderung der ~DPI-Einstellungen in Windows ist jedenfalls nicht empfehlenswert und kann zu einer verfälschten Darstellung (nicht nur) in eADok führen! 
*Bilanz: Einschränkung der Lagerstände auf den ausgewählten Berichtszeitsraum, Verhindern von Mehrfachausgaben der Lagerstände
**wurde notwendig, da die Bilanzen mit Lagersständen vor/nach dem Bilanzierungszeitraum derzeit im EDM-Portal nicht hochgeladen werden können
*BS/LS/Bilanz: geändertes Datumsformat in den Ländereinstellungen führte zu Konvertierungsfehlern
*C~SV-Importmodul (PRO): Fehlerhafte Prüfung von Verweisen bei Streckengeschäften und Transportart wurde behoben
*weitere kleine Anpassungen
!!Installation
*''Bei eADok-Installationen in V1.14 ist lediglich die Datei "eADok.exe" im eADok-Programmverzeichnis (üblicherweise c:\eadok) durch [[diese neue Version von eADok.exe|http://www.oekobits.at/eADok/eadokfiles/eADok.exe]] zu ersetzen. (Kein übliches Update notwendig!)''

*Bei Neuinstallation oder update einer älteren eADok-Version (bis V 1.13) können die bereits aktualisierten Installationsdateien verwendet werden:
**[[eADok_Setup_V1.140_x32.exe|http://www.oekobits.at/eADok/eadokfiles/old/eADok_Setup_V1.140_x32.exe]] (32-bit Version von eADok)
**[[eADok_Setup_V1.140_x64.exe|http://www.oekobits.at/eADok/eadokfiles/old/eADok_Setup_V1.140_x64.exe]] (64-bit Version von eADok)

!!wesentliche Neuerungen in dieser Version:
|Kundendaten|Das Löschen und Ändern von Kundendaten war in V 1.14 nicht möglich, Fehler behoben|
|Begleitschein, Streckengeschäft|als Übernehmer war in V 1.14 nur die Auswahl der eigenen Person möglich; Fehler behoben|
|BS/LS Import, CSV Import|Import von BS/LS war auch in falschen Korrelationen möglich; Fehler behoben|
|Kundenverwaltung, Staatencode|es konnte jede beliebige 2-stellige Zeichenfolge eingegeben werden, führte bei der LS/BS Erstellung zu einem Fehler, wenn kein gültiger ~ISO-Code eingetragen war; Fehler behoben|
|Bilanz: Anlagendaten|Fremdanlagen könne nur in Sonderfällen mitexportiert werden|
|Bilanzmanager|~Kurz-Zusammenfassung kann als xls exportiert werden (dzt. noch einfaches Format)|
!!Installation
*''Bei eADok-Installationen in V1.14 ist lediglich die Datei "eADok.exe" im eADok-Programmverzeichnis (üblicherweise c:\eadok) durch [[diese neue Version von eADok.exe|http://www.oekobits.at/eADok/eadokfiles/eADok.exe]] zu ersetzen. (Kein übliches Update notwendig!)''

*Bei Neuinstallation oder update einer älteren eADok-Version (bis V 1.13) können die bereits aktualisierten Installationsdateien verwendet werden:
**[[eADok_Setup_V1.140_x32.exe|http://www.oekobits.at/eADok/eadokfiles/eADok_Setup_V1.140_x32.exe]] (32-bit Version von eADok)
**[[eADok_Setup_V1.140_x64.exe|http://www.oekobits.at/eADok/eadokfiles/eADok_Setup_V1.140_x64.exe]] (64-bit Version von eADok)

!!wesentliche Neuerungen in dieser Version:
|Kundendaten|Das Löschen und Ändern von Kundendaten war in V 1.14 nicht möglich, Fehler behoben|
|Begleitschein, Streckengeschäft|als Übernehmer war in V 1.14 nur die Auswahl der eigenen Person möglich; Fehler behoben|
|BS/LS Import, CSV Import|Import von BS/LS war auch in falschen Korrelationen möglich; Fehler behoben|
|Kundenverwaltung, Staatencode|es konnte jede beliebige 2-stellige Zeichenfolge eingegeben werden, führte bei der LS/BS Erstellung zu einem Fehler, wenn kein gültiger ~ISO-Code eingetragen war; Fehler behoben|
|Bilanz: Anlagendaten|Fremdanlagen könne nur in Sonderfällen mitexportiert werden|
|Bilanzmanager|~Kurz-Zusammenfassung kann als xls exportiert werden (dzt. noch einfaches Format)|

Hinweis:
richtige Version: [[Hotfix zu Version 1.14 (1.14_h1, 2011-03-25)]]
!!Installation
*''Bei eADok-Installationen in V1.20 ist lediglich die Datei "eADok.exe" im eADok-Programmverzeichnis (üblicherweise c:\eadok) durch [[diese neue Version von eADok.exe|http://www.oekobits.at/eADok/eadokfiles/eADok.exe]] zu ersetzen. (Kein übliches Update notwendig!)''

*Bei Neuinstallation oder update einer älteren eADok-Version (bis V 1.14) können die bereits aktualisierten Installationsdateien verwendet werden:
**[[eADok_Setup_V1.20_h2_x32.exe|http://www.oekobits.at/eADok/eadokfiles/eADok_Setup_V1.20_h2_x32.exe]] (32-bit Version von eADok)
**[[eADok_Setup_V1.20_h2_x64.exe|http://www.oekobits.at/eADok/eadokfiles/eADok_Setup_V1.20_h2_x64.exe]] (64-bit Version von eADok)

!!wesentliche Neuerungen in dieser Version:
|Lagerstand|Überarbeitung der Lagerstandszeiträume, Lagerstandskorrekturen und Restkapazitäten: Lagerstände und Restkap. werden ab 1.12. des Bilanzvorjahres bis 31.01. des Folgejahres im Bilanzcontainer berücksichtigt|
|Allgemein|Schriftgrößenanpassung und Auflösung am Bildschirm (~DPI-Anpassung!)|
|BS/LS eRAS-Webservice|bei zu rasch wechselnder Kundenauswahl (Autovervollständigung) läuft die Prozedur hinterher und aktualisiert den falschen Kunden; Fehler behoben|
|eADok Start|Ausnahmefehler beim Start einer 2. eADok-Instanz in manchen ~WinXP Systemen und in ~VMWare Umgebungen wurde behoben|
|eADok support|~Systeminfo-Datei ist als txt exportierbar|
|XML - Import|Fehler bei Überprüfung auf bereits vorhandene BS/LS (sonstige) wurde behoben|
|Webservice eRAS|Implementierung der neuen Version eRAS-API|
|XML - Import|Importieren einer Bilanz in die ~BS-LS-Aufzeichnungen wurde ermöglicht|
|BS - neu|bei 'Neu von ausgewähltem' wirddie Messmethode nicht mehr auf Standardeinstellung 'Messung' geändert|
|XML - Export|Fehler bei Anzeige des xml-~Export-Statusfenster, falls zuvor noch ein Statusfenster geöffnet war, wurde behoben|
|eADok -Backup|Erzwingen eines eADok-Neustarts nach ~Datenbank-Wiederherstellungsvorgang|
|BS - neu|Bei Änderung von BS/LS werden die Eingaben von 'alternativen Adressen' geprüft (Firmensitz -> Standort)|
|Installationsroutine|Neuinstallation in das Verzeichnis einer vorhandenen eADok-Version wird nicht mehr zugelassen|
|Teilbilanzen - Manager|Anzeigefehler während der Vorbereitungsprozedur ('ungültiger threadübergreifender Vorgang') wurde behoben|
!Installation
Es muss lediglich die geänderte [[eADok.exe|http://www.oekobits.at/eADok/eadokfiles/eADok.exe]] herunter geladen werden und in das Installationsverzeichnis von eADok (normalerweise C:\eadok) kopiert werden.
!wesentliche Änderungen in der Version 1.30_h1
|BS/~LS-Vorlagen|Bezeichnungsänderung bei gespeicherter Vorlage nicht möglich; Fehler behoben|
|BS/~LS-Analyse|Programmabsturz bei Analyse großer Datenmengen behoben|
|neuer BS/LS|Fehlermeldung bei Auswahl eines einmaligen Transporteurs wurde behoben|
|BS/~LS-Vorlagen|Fehler bei Aktualisieren einer Vorlage nach Erhalt der Fehlermeldung 'Die ausgewählte Vorlage ... kann nicht als Lieferscheinvorlage dienen!'; Fehler behoben|
|neuer BS/LS|bei 'Neu von ausgewähltem BS/LS'  wurde eine allfällige Markierung 'nicht bilanzrelevant' mitübernommen; Fehler behoben|
|BS/~LS-Suche|Anzeige  der Anzahl gefundenen bzw. selektietren Datensätze|
|allgemein|Grafische Anzeigefehler bei hoher ~DPI-Auflösung behoben|
<<top>>
<<toggleSideBar '' '' hide>><<renameButton '>' 'Sidebar ein-/ausblenden'>>
<<jump o 'Offene Einträge anzeigen' top>>
<<newTiddler>><<renameButton n 'Neuer Tiddler'>>
<<newJournal 'DD. MMM YYYY'>><<renameButton j 'Neues Journal'>>
/***
|Name|HoverMenuPlugin|
|Created by|SaqImtiaz|
|Location|http://lewcid.googlepages.com/lewcid.html#HoverMenuPlugin|
|Version|1.1|
|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:
*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: 15, // horizontal distance of menu from side of screen, increase to your liking.
 y: 140 //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:#18f; color:#FFF; padding:0 5px; float:right; margin-bottom:4px;}\n"+
"#hoverMenu .button:hover, #hoverMenu .tiddlyLink:hover {font-weight:bold; border:none; color:#fff; background:#000; 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];
 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 ToggleSideBarMacro 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");
//}}}
//end ToggleSideBarMacro 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;
};
//}}}
In der ~PRO-Version von eADok können auch Aufzeichnungen aus anderen ~EDV-Systemen übernommen werden. 
Eine Anleitung für den Import findet sich unter [[http://www.oekobits.at/eADok/eadokfiles/datenaustausch/csvimport_12.zip|http://goo.gl/grUI8]]
!Import GLN aus dem EDM/eRAS
In der ausgelieferten Version von ''eADok'' befinden sich bereits Stammdaten aus dem EDM mit aktuellem Stand (zum Datum der aktuellen Programmversion). Um neuere Daten zu importieren ist folgendermaßen vorzugehen:
*Aufruf des Menüpunktes zum Download der Registerdaten:
[img[Menüpunkt Registerdaten|http://www.eadok.at/pics/tools-eras.gif]]

''Download der ~EDM-Registerdaten'':
[img[Registerdaten|http://www.eadok.at/pics/ba4n82k4vl3zro1hp.jpg]]
nach dem Drücken des entsprechenden Buttons wird ein eigenes Browserfenster geöffnet, welches bereits das Suchformular im eRAS enthält:
[img[Excel-Datei auswählen|http://www.eadok.at/pics/erasabf.gif]]
Die Suche ''ohne Auswahl von Filterkriterien'' starten.

Das folgende Suchergebnis ist als ''CSV''-Datei abzuspeichern (Möglichkeit dazu ganz unten im Fenster):
[img[speichern als CSV|http://www.eadok.at/pics/speichern.gif]]

Die Abfrage wird erstellt und kann sodann im Menüpunkt ''Exporte'' im eRAS herunter geladen werden:
[img[eRAS-Daten Export|http://www.eadok.at/pics/exp.jpg]]

[img[Export-Regsiter|http://www.eadok.at/pics/export.jpg]] 
Die Datei kann dann in ein beliebiges VZ auf der Festplatte gespreichert werden (am Besten wird das eADok-Programm-VZ verwendet)

Nach dem Speichern der Datei wird in eADok durch Drücken des Buttons ''"~CSV-Datei auswählen und eRAS-Daten importieren"'' die entsprechende Datei zum Import in die Datenbank ausgewählt und in die Datenbank übernommen. Dies kann aufgrund der Dateigröße einige Zeit in Anspruch nehmen


''Eine Aktualisierung der Registerdaten erfolgt ab V 1.20 automatisch, sobald ein LS/BS mit einer ~Kunden-GLN erstellt wird!''
/***
''Import Tiddlers Plugin for TiddlyWiki version 1.2.x and 2.0''
^^author: Eric Shulman - ELS Design Studios
source: http://www.TiddlyTools.com/#ImportTiddlersPlugin
license: [[Creative Commons Attribution-ShareAlike 2.5 License|http://creativecommons.org/licenses/by-sa/2.5/]]^^

When many people share and edit copies of the same TiddlyWiki document, the ability to quickly collect all these changes back into a single, updated document that can then be redistributed to the entire group is very important. This plugin lets you selectively combine tiddlers from any two TiddlyWiki documents. It can also be very useful when moving your own tiddlers from document to document (e.g., when upgrading to the latest version of TiddlyWiki, or 'pre-loading' your favorite stylesheets into a new 'empty' TiddlyWiki document.)

!!!!!Inline interface (live)
<<<
<<importTiddlers inline>>
<<<
!!!!!Macro Syntax
<<<
{{{<<importTiddlers>>}}}
creates "import tiddlers" link. click to show/hide import control panel

{{{<<importTiddlers inline>>}}}
creates import control panel directly in tiddler content

{{{<<importTiddlers filter source quiet ask>>}}}
non-interactive 'automatic' import.
''filter'' determines which tiddlers will be automatically selected for importing. Use one of the following keywords:
>''"new"'' retrieves only tiddlers that are found in the import source document, but do not yet exist in the destination document
>''"changes"'' retrieves only tiddlers that exist in both documents for which the import source tiddler is newer than the existing tiddler
>''"updates"'' retrieves both ''new'' and ''changed'' tiddlers (this is the default action when none is specified)
>''"all"'' retrieves ALL tiddlers from the import source document, even if they have not been changed.
''source'' is the location of the imported document. It can be either a local document or an URL:
>filename is any local path/file, in whatever format your system requires
>URL is any remote web location that starts with "http://" or "https://"
''"quiet"'' (optional)
>supresses all status message during the import processing (e.g., "opening local file...", "found NN tiddlers..." etc). Note that if ANY tiddlers are actualy imported, a final information message will still be displayed (along with the ImportedTiddlers report), even when 'quiet' is specified. This ensures that changes to your document cannot occur without any visible indication at all.
''"ask"'' (optional)
>adds interactive confirmation. A browser message box (OK/Cancel) is displayed for each tiddler that will be imported, so that you can manually bypass any tiddlers that you do not want to import.

''Special tag values: importReplace and importPublic''

By adding these special tags to an existing tiddler, you can precisely control whether or not to allow updates to that tiddler as well as decide which tiddlers in your document can be automatically imported by others.
*''For maximum safety, the default action is to prevent existing tiddlers from being unintentionally overwritten by incoming tiddlers.'' To allow an existing tiddler to be overwritten by an imported tiddler, you must tag the existing tiddler with ''<<tag importReplace>>''
*''For maximum privacy, the default action for //outgoing// tiddlers is to NOT automatically share your tiddlers with others.'' To allow a tiddler in your document to be shared via auto-import actions by others, you must tag it with ''<<tag importPublic>>''
//Note: these tags are only applied when using the auto-import processing. When using the interactive control panel, all tiddlers in the imported document are available in the listbox, regardless of their tag values.//
<<<
!!!!!Interactive Usage
<<<
When used interactively, a control panel is displayed consisting of an "import source document" filename input (text field plus a ''[Browse...]'' button), a listbox of available tiddlers, a "differences only" checkbox, an "add tags" input field and four push buttons: ''[open]'', ''[select all]'', ''[import]'' and ''[close]''.

Press ''[browse]'' to select a TiddlyWiki document file to import. You can also type in the path/filename or a remote document URL (starting with http://)and press ''[open]''. //Note: There may be some delay to permit the browser time to access and load the document before updating the listbox with the titles of all tiddlers that are available to be imported.//

Select one or more titles from the listbox (hold CTRL or SHIFT while clicking to add/remove the highlight from individual list items). You can press ''[select all]'' to quickly highlight all tiddler titles in the list. Use the ''[-]'', ''[+]'', or ''[=]'' links to adjust the listbox size so you can view more (or less) tiddler titles at one time. When you have chosen the tiddlers you want to import and entered any extra tags, press ''[import]'' to begin copying them to the current TiddlyWiki document.

''select: all, new, changes, or differences''

You can click on ''all'', ''new'', ''changes'', or ''differences'' to automatically select a subset of tiddlers from the list. This makes it very quick and easy to find and import just the updated tiddlers you are interested in:
>''"all"'' selects ALL tiddlers from the import source document, even if they have not been changed.
>''"new"'' selects only tiddlers that are found in the import source document, but do not yet exist in the destination document
>''"changes"'' selects only tiddlers that exist in both documents but that are newer in the source document
>''"differences"'' selects all new and existing tiddlers that are different from the destination document (even if destination tiddler is newer)

''Import Tagging:''

Tiddlers that have been imported can be automatically tagged, so they will be easier to find later on, after they have been added to your document. New tags are entered into the "add tags" input field, and then //added// to the existing tags for each tiddler as it is imported.

''Skip, Rename, Merge, or Replace:''

When importing a tiddler whose title is identical to one that already exists, the import process pauses and the tiddler title is displayed in an input field, along with four push buttons: ''[skip]'', ''[rename]'', ''[merge]'' and ''[replace]''.

To bypass importing this tiddler, press ''[skip]''. To import the tiddler with a different name (so that both the tiddlers will exist when the import is done), enter a new title in the input field and then press ''[rename]''. Press ''[merge]'' to combine the content from both tiddlers into a single tiddler. Press ''[replace]'' to overwrite the existing tiddler with the imported one, discarding the previous tiddler content.

//Note: if both the title ''and'' modification date/////time match, the imported tiddler is assumed to be identical to the existing one, and will be automatically skipped (i.e., not imported) without asking.//

''Import Report History''

When tiddlers are imported, a report is generated into ImportedTiddlers, indicating when the latest import was performed, the number of tiddlers successfully imported, from what location, and by whom. It also includes a list with the title, date and author of each tiddler that was imported.

When the import process is completed, the ImportedTiddlers report is automatically displayed for your review. If more tiddlers are subsequently imported, a new report is //added// to ImportedTiddlers, above the previous report (i.e., at the top of the tiddler), so that a reverse-chronological history of imports is maintained.

If a cumulative record is not desired, the ImportedTiddlers report may be deleted at any time. A new ImportedTiddlers report will be created the next time tiddlers are imported.

Note: You can prevent the ImportedTiddlers report from being generated for any given import activity by clearing the "create a report" checkbox before beginning the import processing.

<<<
!!!!!Installation
<<<
copy/paste the following tiddlers into your document:
''ImportTiddlersPlugin'' (tagged with <<tag systemConfig>>)

create/edit ''SideBarOptions'': (sidebar menu items) 
^^Add "< < ImportTiddlers > >" macro^^

''Quick Installation Tip #1:''
If you are using an unmodified version of TiddlyWiki (core release version <<version>>), you can get a new, empty TiddlyWiki with the Import Tiddlers plugin pre-installed (''[[download from here|TW+ImportExport.html]]''), and then simply import all your content from your old document into this new, empty document.
<<<
!!!!!Revision History
<<<
''2006.02.17 [2.6.0]''
Removed "differences only" listbox display mode, replaced with selection filter 'presets': all/new/changes/differences. Also fixed initialization handling for "add new tags" so that checkbox state is correctly tracked when panel is first displayed.
''2006.02.16 [2.5.4]''
added checkbox options to control "import remote tags" and "keep existing tags" behavior, in addition to existing "add new tags" functionality.
''2006.02.14 [2.5.3]''
FF1501 corrected unintended global 't' (loop index) in importReport() and autoImportTiddlers()
''2006.02.10 [2.5.2]''
corrected unintended global variable in importReport().
''2006.02.05 [2.5.1]''
moved globals from window.* to config.macros.importTiddlers.* to avoid FireFox 1.5.0.1 crash bug when referencing globals
''2006.01.18 [2.5.0]''
added checkbox for "create a report". Default is to create/update the ImportedTiddlers report. Clear the checkbox to skip this step.
''2006.01.15 [2.4.1]''
added "importPublic" tag and inverted default so that auto sharing is NOT done unless tagged with importPublic
''2006.01.15 [2.4.0]''
Added support for tagging individual tiddlers with importSkip, importReplace, and/or importPrivate to control which tiddlers can be overwritten or shared with others when using auto-import macro syntax. Defaults are to SKIP overwriting existing tiddlers with imported tiddlers, and ALLOW your tiddlers to be auto-imported by others.
''2006.01.15 [2.3.2]''
Added "ask" parameter to confirm each tiddler before importing (for use with auto-importing)
''2006.01.15 [2.3.1]''
Strip TW core scripts from import source content and load just the storeArea into the hidden IFRAME. Makes loading more efficient by reducing the document size and by preventing the import document from executing its TW initialization (including plugins). Seems to resolve the "Found 0 tiddlers" problem. Also, when importing local documents, use convertUTF8ToUnicode() to convert the file contents so support international characters sets.
''2006.01.12 [2.3.0]''
Reorganized code to use callback function for loading import files to support event-driven I/O via an ASYNCHRONOUS XMLHttpRequest. Let's processing continue while waiting for remote hosts to respond to URL requests. Added non-interactive 'batch' macro mode, using parameters to specify which tiddlers to import, and from what document source. Improved error messages and diagnostics, plus an optional 'quiet' switch for batch mode to eliminate //most// feedback.
''2006.01.11 [2.2.0]''
Added "[by tags]" to list of tiddlers, based on code submitted by BradleyMeck
''2006.01.09 [2.1.1]''
When a URL is typed in, and then the "open" button is pressed, it generates both an onChange event for the file input and a click event for open button. This results in multiple XMLHttpRequest()'s which seem to jam things up quite a bit. I removed the onChange handling for file input field. To open a file (local or URL), you must now explicitly press the "open" button in the control panel.
''2006.01.08 [2.1.0]''
IMPORT FROM ANYWHERE!!! re-write getImportedTiddlers() logic to either read a local file (using local I/O), OR... read a remote file, using a combination of XML and an iframe to permit cross-domain reading of DOM elements. Adapted from example code and techniques courtesy of Jonny LeRoy.
''2006.01.06 [2.0.2]''
When refreshing list contents, fixed check for tiddlerExists() when "show differences only" is selected, so that imported tiddlers that don't exist in the current file will be recognized as differences and included in the list.
''2006.01.04 [2.0.1]''
When "show differences only" is NOT checked, import all tiddlers that have been selected even when they have a matching title and date.
''2005.12.27 [2.0.0]''
Update for TW2.0
Defer initial panel creation and only register a notification function when panel first is created
''2005.12.22 [1.3.1]''
tweak formatting in importReport() and add 'discard report' link to output
''2005.12.03 [1.3.0]''
Dynamically create/remove importPanel as needed to ensure only one instance of interface elements exists, even if there are multiple instances of macro embedding. Also, dynamically create/recreate importFrame each time an external TW document is loaded for importation (reduces DOM overhead and ensures a 'fresh' frame for each document)
''2005.11.29 [1.2.1]''
fixed formatting of 'detail info' in importReport()
''2005.11.11 [1.2.0]''
added 'inline' param to embed controls in a tiddler
''2005.11.09 [1.1.0]''
only load HTML and CSS the first time the macro handler is called. Allows for redundant placement of the macro without creating multiple instances of controls with the same ID's.
''2005.10.25 [1.0.5]''
fixed typo in importReport() that prevented reports from being generated
''2005.10.09 [1.0.4]''
combined documentation with plugin code instead of using separate tiddlers
''2005.08.05 [1.0.3]''
moved CSS and HTML definitions into plugin code instead of using separate tiddlers
''2005.07.27 [1.0.2]''
core update 1.2.29: custom overlayStyleSheet() replaced with new core setStylesheet()
''2005.07.23 [1.0.1]''
added parameter checks and corrected addNotification() usage
''2005.07.20 [1.0.0]''
Initial Release
<<<
!!!!!Credits
<<<
This feature was developed by EricShulman from [[ELS Design Studios|http:/www.elsdesign.com]]
<<<
!!!!!Code
***/

// // Version
//{{{
version.extensions.importTiddlers = {major: 2, minor: 6, revision: 0, date: new Date(2006,2,17)};
//}}}

// // 1.2.x compatibility
//{{{
if (!window.story) window.story=window;
if (!store.getTiddler) store.getTiddler=function(title){return store.tiddlers[title]}
if (!store.addTiddler) store.addTiddler=function(tiddler){store.tiddlers[tiddler.title]=tiddler}
if (!store.deleteTiddler) store.deleteTiddler=function(title){delete store.tiddlers[title]}
//}}}

// // IE needs explicit global scoping for functions/vars called from browser events
//{{{
window.onClickImportButton=onClickImportButton;
window.loadImportFile=loadImportFile;
window.refreshImportList=refreshImportList;
//}}}

// // default cookie/option values
//{{{
if (!config.options.chkImportReport) config.options.chkImportReport=true;
//}}}


// // ''MACRO DEFINITION''

//{{{
config.macros.importTiddlers = { };
config.macros.importTiddlers = {
 label: "import tiddlers",
 prompt: "Copy tiddlers from another document",
 countMsg: "%0 tiddlers selected for import",
 src: "", // path/filename or URL of document to import
 inbound: null, // hash-indexed array of tiddlers from other document
 newTags: "", // text of tags added to imported tiddlers
 addTags: true, // add new tags to imported tiddlers
 listsize: 8, // # of lines to show in imported tiddler list
 importTags: true, // include tags from remote source document when importing a tiddler
 keepTags: true, // retain existing tags when replacing a tiddler
 index: 0, // current processing index in import list
 sort: "" // sort order for imported tiddler listbox
};

config.macros.importTiddlers.handler = function(place,macroName,params) {
 // LINK WITH FLOATING PANEL
 if (!params[0]) {
 createTiddlyButton(place,this.label,this.prompt,onClickImportMenu);
 return;
 }
 // INLINE TIDDLER CONTENT
 if (params[0]=="inline") {
 createImportPanel(place);
 document.getElementById("importPanel").style.position="static";
 document.getElementById("importPanel").style.display="block";
 return;
 }
 // NON-INTERACTIVE BATCH MODE
 switch (params[0]) {
 case 'all':
 case 'new':
 case 'changes':
 case 'updates':
 var filter=params.shift();
 break;
 default:
 var filter="updates";
 break;
 } 
 if (!params[0]||!params[0].length) return; // filename is required
 config.macros.importTiddlers.src=params.shift();
 var quiet=(params[0]=="quiet"); if (quiet) params.shift();
 var ask=(params[0]=="ask"); if (ask) params.shift();
 config.macros.importTiddlers.inbound=null; // clear the imported tiddler buffer
 // load storeArea from a hidden IFRAME, then apply import rules and add/replace tiddlers
 loadImportFile(config.macros.importTiddlers.src,filter,quiet,ask,autoImportTiddlers);
}
//}}}

// // ''READ TIDDLERS FROM ANOTHER DOCUMENT''

//{{{
function loadImportFile(src,filter,quiet,ask,callback) {
 if (!quiet) clearMessage();
 // LOCAL FILE
 if ((src.substr(0,7)!="http://")&&(src.substr(0,8)!="https://")) {
 if (!quiet) displayMessage("Opening local document: "+ src);
 var txt=loadFile(src);
 if(!txt) { if (!quiet) displayMessage("Could not open local document: "+src); }
 else {
 var s="<html><body>"+txt.substr(txt.indexOf('<div id="storeArea">'));
 if (!quiet) displayMessage(txt.length+" bytes in document. ("+s.length+" bytes used for tiddler storage)");
 config.macros.importTiddlers.inbound = readImportedTiddlers(convertUTF8ToUnicode(s));
 var count=config.macros.importTiddlers.inbound?config.macros.importTiddlers.inbound.length:0;
 if (!quiet) displayMessage("Found "+count+" tiddlers in "+src);
 if (callback) callback(src,filter,quiet,ask);
 }
 return;
 }
 // REMOTE FILE
 var x; // XML object
 try {x = new XMLHttpRequest()}
 catch(e) {
 try {x = new ActiveXObject("Msxml2.XMLHTTP")}
 catch (e) {
 try {x = new ActiveXObject("Microsoft.XMLHTTP")}
 catch (e) { return }
 }
 }
 x.onreadystatechange = function() {
 if (x.readyState == 4) {
 if (x.status == 200) {
 var sa="<html><body>"+x.responseText.substr(x.responseText.indexOf('<div id="storeArea">'));
 if (!quiet) displayMessage(x.responseText.length+" bytes in document. ("+sa.length+" bytes used for tiddler storage)");
 config.macros.importTiddlers.inbound = readImportedTiddlers(sa);
 var count=config.macros.importTiddlers.inbound?config.macros.importTiddlers.inbound.length:0;
 if (!quiet) displayMessage("Found "+count+" tiddlers in "+src);
 if (callback) callback(src,filter,quiet,ask);
 }
 else
 if (!quiet) displayMessage("Could not open remote document:"+ src+" (error="+x.status+")");
 }
 }
 if (document.location.protocol=="file:") { // UniversalBrowserRead only works from a local file context
 try {netscape.security.PrivilegeManager.enablePrivilege('UniversalBrowserRead')}
 catch (e) { if (!quiet) displayMessage(e.description?e.description:e.toString()); }
 }
 if (!quiet) displayMessage("Opening remote document: "+ src);
 try {
 var url=src+(src.indexOf('?')<0?'?':'&')+'nocache='+Math.random();
 x.open("GET",url,true);
 x.overrideMimeType('text/html');
 x.send(null);
 }
 catch (e) {
 if (!quiet) {
 displayMessage("Could not open remote document: "+src);
 displayMessage(e.description?e.description:e.toString());
 }
 }
}

function readImportedTiddlers(txt)
{
 var importedTiddlers = [];
 // create frame
 var f=document.getElementById("importFrame");
 if (f) document.body.removeChild(f);
 f=document.createElement("iframe");
 f.id="importFrame";
 f.style.width="0px"; f.style.height="0px"; f.style.border="0px";
 document.body.appendChild(f);
 // get document
 var d=f.document;
 if (f.contentDocument) d=f.contentDocument; // For NS6
 else if (f.contentWindow) d=f.contentWindow.document; // For IE5.5 and IE6
 // load source into document
 d.open(); d.writeln(txt); d.close();
 // read tiddler DIVs from storeArea DOM element 
 var importStore = [];
 var importStoreArea = d.getElementById("storeArea");
 if (!importStoreArea || !(importStore=importStoreArea.childNodes) || (importStore.length==0)) { return null; }
 importStoreArea.normalize();
 for(var t = 0; t < importStore.length; t++) {
 var e = importStore[t];
 var title = null;
 if(e.getAttribute)
 title = e.getAttribute("tiddler");
 if(!title && e.id && (e.id.substr(0,5) == "store"))
 title = e.id.substr(5);
 if(title && title != "") {
 var theImported = new Tiddler();
 theImported.loadFromDiv(e,title);
 importedTiddlers.push(theImported);
 }
 }
 return importedTiddlers;
}
//}}}

// // ''NON-INTERACTIVE IMPORT''

// // import all/new/changed tiddlers into store, replacing or adding tiddlers as needed
//{{{
function autoImportTiddlers(src,filter,quiet,ask)
{
 var count=0;
 if (config.macros.importTiddlers.inbound) for (var t=0;t<config.macros.importTiddlers.inbound.length;t++) {
 var theImported = config.macros.importTiddlers.inbound[t];
 var theExisting = store.getTiddler(theImported.title);

 // only import tiddlers if tagged with "importPublic"
 if (theImported.tags && theImported.tags.find("importPublic")==null)
 { config.macros.importTiddlers.inbound[t].status=""; continue; } // status=="" means don't show in report

 // never import the "ImportedTiddlers" history from the other document...
 if (theImported.title=='ImportedTiddlers')
 { config.macros.importTiddlers.inbound[t].status=""; continue; } // status=="" means don't show in report

 // check existing tiddler for importReplace, or systemConfig tags
 config.macros.importTiddlers.inbound[t].status="added"; // default - add any tiddlers not filtered out
 if (store.tiddlerExists(theImported.title)) {
 config.macros.importTiddlers.inbound[t].status="replaced";
 if (!theExisting.tags||(theExisting.tags.find("importReplace")==null))
 { config.macros.importTiddlers.inbound[t].status="not imported - tiddler already exists (use importReplace to allow changes)"; continue; }
 if ((theExisting.tags.find("systemConfig")!=null)||(theImported.tags.find("systemConfig")!=null))
 config.macros.importTiddlers.inbound[t].status+=" - WARNING: an active systemConfig plugin has been added or updated";
 }

 // apply the all/new/changes/updates filter 
 if (filter!="all") {
 if ((filter=="new") && store.tiddlerExists(theImported.title))
 { config.macros.importTiddlers.inbound[t].status="not imported - tiddler already exists"; continue; }
 if ((filter=="changes") && !store.tiddlerExists(theImported.title))
 { config.macros.importTiddlers.inbound[t].status="not imported - new tiddler"; continue; }
 if (store.tiddlerExists(theImported.title) && ((theExisting.modified.getTime()-theImported.modified.getTime())>=0))
 { config.macros.importTiddlers.inbound[t].status="not imported - tiddler is unchanged"; continue; }
 }

 // get confirmation if required
 if (ask && !confirm("Import "+(theExisting?"updated":"new")+" tiddler '"+theImported.title+"'\nfrom "+src))
 { config.macros.importTiddlers.inbound[t].status="skipped - cancelled by user"; continue; }

 // DO THE IMPORT!!
 store.addTiddler(theImported); count++;
 }
 importReport(quiet); // generate a report (as needed) and display it if not 'quiet'
 if (count) store.setDirty(true); 
 // always show final message when tiddlers were actually imported
 if (!quiet||count) displayMessage("Imported "+count+" tiddler"+(count!=1?"s":"")+" from "+src);
}
//}}}

// // ''REPORT GENERATOR''

//{{{
function importReport(quiet)
{
 if (!config.macros.importTiddlers.inbound) return;
 // DEBUG alert('importReport: start');

 // if import was not completed, the Ask panel will still be open... close it now.
 var askpanel=document.getElementById('importAskPanel'); if (askpanel) askpanel.style.display='none'; 
 // get the alphasorted list of tiddlers
 var tiddlers = config.macros.importTiddlers.inbound;
 tiddlers.sort(function (a,b) {if(a['title'] == b['title']) return(0); else return (a['title'] < b['title']) ? -1 : +1; });
 // gather the statistics
 var count=tiddlers.length;
 var added=0; var replaced=0; var renamed=0; var skipped=0; var merged=0;
 for (var t=0; t<count; t++)
 if (tiddlers[t].status)
 {
 if (tiddlers[t].status=='added') added++;
 if (tiddlers[t].status.substr(0,7)=='skipped') skipped++;
 if (tiddlers[t].status.substr(0,6)=='rename') renamed++;
 if (tiddlers[t].status.substr(0,7)=='replace') replaced++;
 if (tiddlers[t].status.substr(0,6)=='merged') merged++;
 }
 var omitted=count-(added+replaced+renamed+skipped+merged);
 // DEBUG alert('stats done: '+count+' total, '+added+' added, '+skipped+' skipped, '+renamed+' renamed, '+replaced+' replaced, '+merged+' merged');
 // skip the report if nothing was imported
 if (added+replaced+renamed+merged==0) return;
 // skip the report if not desired by user
 if (!config.options.chkImportReport) {
 // reset status flags
 for (var t=0; t<count; t++) config.macros.importTiddlers.inbound[t].status="";
 // refresh display since tiddlers have been imported
 store.notifyAll();
 // quick message area summary report
 var msg=(added+replaced+renamed+merged)+' of '+count+' tiddler'+((count!=1)?'s':"");
 msg+=' imported from '+config.macros.importTiddlers.src.replace(/\\/g,'/')
 displayMessage(msg);
 return;
 }
 // create the report tiddler (if not already present)
 var tiddler = store.getTiddler('ImportedTiddlers');
 if (!tiddler) // create new report tiddler if it doesn't exist
 {
 tiddler = new Tiddler();
 tiddler.title = 'ImportedTiddlers';
 tiddler.text = "";
 }
 // format the report header
 var now = new Date();
 var newText = "";
 newText += "On "+now.toLocaleString()+", "+config.options.txtUserName+" imported tiddlers from\n";
 newText += "[["+config.macros.importTiddlers.src+"|"+config.macros.importTiddlers.src+"]]:\n";
 newText += "<"+"<"+"<\n";
 newText += "Out of "+count+" tiddler"+((count!=1)?"s ":" ")+" in {{{"+config.macros.importTiddlers.src.replace(/\\/g,'/')+"}}}:\n";
 if (added+renamed>0)
 newText += (added+renamed)+" new tiddler"+(((added+renamed)!=1)?"s were":" was")+" added to your document.\n";
 if (merged>0)
 newText += merged+" tiddler"+((merged!=1)?"s were":" was")+" merged with "+((merged!=1)?"":"an ")+"existing tiddler"+((merged!=1)?"s":"")+".\n"; 
 if (replaced>0)
 newText += replaced+" existing tiddler"+((replaced!=1)?"s were":" was")+" replaced.\n"; 
 if (skipped>0)
 newText += skipped+" tiddler"+((skipped!=1)?"s were":" was")+" skipped after asking.\n"; 
 if (omitted>0)
 newText += omitted+" tiddler"+((omitted!=1)?"s":"")+((omitted!=1)?" were":" was")+" not imported.\n";
 if (config.macros.importTiddlers.addTags && config.macros.importTiddlers.newTags.trim().length)
 newText += "imported tiddlers were tagged with: \""+config.macros.importTiddlers.newTags+"\"\n";
 // output the tiddler detail and reset status flags
 for (var t=0; t<count; t++)
 if (tiddlers[t].status!="")
 {
 newText += "#["+"["+tiddlers[t].title+"]"+"]";
 newText += ((tiddlers[t].status!="added")?("^^\n"+tiddlers[t].status+"^^"):"")+"\n";
 config.macros.importTiddlers.inbound[t].status="";
 }
 newText += "<"+"<"+"<\n";
 // output 'discard report' link
 newText += "<html><input type=\"button\" href=\"javascript:;\" ";
 newText += "onclick=\"story.closeTiddler('"+tiddler.title+"'); store.deleteTiddler('"+tiddler.title+"');\" ";
 newText += "value=\"discard report\"></html>";
 // update the ImportedTiddlers content and show the tiddler
 tiddler.text = newText+((tiddler.text!="")?'\n----\n':"")+tiddler.text;
 tiddler.modifier = config.options.txtUserName;
 tiddler.modified = new Date();
 store.addTiddler(tiddler);
 if (!quiet) story.displayTiddler(null,"ImportedTiddlers",1,null,null,false);
 story.refreshTiddler("ImportedTiddlers",1,true);
 // refresh the display
 store.notifyAll();
}
//}}}

// // ''INTERFACE DEFINITION''

// // Handle link click to create/show/hide control panel
//{{{
function onClickImportMenu(e)
{
 if (!e) var e = window.event;
 var parent=resolveTarget(e).parentNode;
 var panel = document.getElementById("importPanel");
 if (panel==undefined || panel.parentNode!=parent)
 panel=createImportPanel(parent);
 var isOpen = panel.style.display=="block";
 if(config.options.chkAnimate)
 anim.startAnimating(new Slider(panel,!isOpen,e.shiftKey || e.altKey,"none"));
 else
 panel.style.display = isOpen ? "none" : "block" ;
 e.cancelBubble = true;
 if (e.stopPropagation) e.stopPropagation();
 return(false);
}
//}}}

// // Create control panel: HTML, CSS, register for notification
//{{{
function createImportPanel(place) {
 var panel=document.getElementById("importPanel");
 if (panel) { panel.parentNode.removeChild(panel); }
 setStylesheet(config.macros.importTiddlers.css,"importTiddlers");
 panel=createTiddlyElement(place,"span","importPanel",null,null)
 panel.innerHTML=config.macros.importTiddlers.html;
 store.addNotification(null,refreshImportList); // refresh listbox after every tiddler change
 refreshImportList();
 return panel;
}
//}}}

// // CSS
//{{{
config.macros.importTiddlers.css = '\
#importPanel {\
 display: none; position:absolute; z-index:11; width:35em; right:105%; top:3em;\
 padding: 0.5em; margin:0em; text-align:left; font-size: 8pt;\
 background-color: #eee; color:#000000; \
 border:1px solid black; border-bottom-width: 3px; border-right-width: 3px; -moz-border-radius:1em;\
}\
#importPanel a { color:#009; }\
#importPanel input { width: 98%; margin: 1px; font-size:8pt; }\
#importPanel select { width: 98%; margin: 1px; font-size:8pt; }\
#importPanel .importButton { padding: 0em; margin: 0px; font-size:8pt; }\
#importPanel .importListButton { padding:0em 0.25em 0em 0.25em; color: #000000; display:inline }\
#importAskPanel { display:none; margin:0.5em 0em 0em 0em; }\
';
//}}}

// // HTML
//{{{
config.macros.importTiddlers.html = '\
<span style="float:left; padding:1px; white-space:nowrap">\
 import from source document\
</span>\
<span style="float:right; padding:1px; white-space:nowrap">\
 <input type=checkbox id="chkImportReport" checked style="height:1em; width:auto"\
 onClick="config.options[\'chkImportReport\']=this.checked;">create a report\
</span>\
<input type="file" id="fileImportSource" size=56\
 onKeyUp="config.macros.importTiddlers.src=this.value"\
 onChange="config.macros.importTiddlers.src=this.value;">\
<span style="float:left; padding:1px; white-space:nowrap">\
 select:\
 <a href="JavaScript:;" id="importSelectAll"\
 onclick="onClickImportButton(this)" title="select all tiddlers">\
 &nbsp;all&nbsp;</a>\
 <a href="JavaScript:;" id="importSelectNew"\
 onclick="onClickImportButton(this)" title="select tiddlers not already in destination document">\
 &nbsp;added&nbsp;</a> \
 <a href="JavaScript:;" id="importSelectChanges"\
 onclick="onClickImportButton(this)" title="select tiddlers that have been updated in source document">\
 &nbsp;changes&nbsp;</a> \
 <a href="JavaScript:;" id="importSelectDifferences"\
 onclick="onClickImportButton(this)" title="select tiddlers that have been added or are different from existing tiddlers">\
 &nbsp;differences&nbsp;</a> \
 <a href="JavaScript:;" id="importToggleFilter"\
 onclick="onClickImportButton(this)" title="show/hide selection filter">\
 &nbsp;filter&nbsp;</a> \
</span>\
<span style="float:right; padding:1px; white-space:nowrap">\
 <a href="JavaScript:;" id="importListSmaller"\
 onclick="onClickImportButton(this)" title="reduce list size">\
 &nbsp;&#150;&nbsp;</a>\
 <a href="JavaScript:;" id="importListLarger"\
 onclick="onClickImportButton(this)" title="increase list size">\
 &nbsp;+&nbsp;</a>\
 <a href="JavaScript:;" id="importListMaximize"\
 onclick="onClickImportButton(this)" title="maximize/restore list size">\
 &nbsp;=&nbsp;</a>\
</span>\
<select id="importList" size=8 multiple\
 onchange="setTimeout(\'refreshImportList(\'+this.selectedIndex+\')\',1)">\
 <!-- NOTE: delay refresh so list is updated AFTER onchange event is handled -->\
</select>\
<input type=checkbox id="chkAddTags" checked style="height:1em; width:auto"\
 onClick="config.macros.importTiddlers.addTags=this.checked;">add new tags &nbsp;\
<input type=checkbox id="chkImportTags" checked style="height:1em; width:auto"\
 onClick="config.macros.importTiddlers.importTags=this.checked;">import source tags &nbsp;\
<input type=checkbox id="chkKeepTags" checked style="height:1em; width:auto"\
 onClick="config.macros.importTiddlers.keepTags=this.checked;">keep existing tags\
<input type=text id="txtNewTags" size=15 onKeyUp="config.macros.importTiddlers.newTags=this.value" autocomplete=off>\
<div align=center>\
 <input type=button id="importOpen" class="importButton" style="width:32%" value="open"\
 onclick="onClickImportButton(this)">\
 <input type=button id="importStart" class="importButton" style="width:32%" value="import"\
 onclick="onClickImportButton(this)">\
 <input type=button id="importClose" class="importButton" style="width:32%" value="close"\
 onclick="onClickImportButton(this)">\
</div>\
<div id="importAskPanel">\
 tiddler already exists:\
 <input type=text id="importNewTitle" size=15 autocomplete=off">\
 <div align=center>\
 <input type=button id="importSkip" class="importButton" style="width:23%" value="skip"\
 onclick="onClickImportButton(this)">\
 <input type=button id="importRename" class="importButton" style="width:23%" value="rename"\
 onclick="onClickImportButton(this)">\
 <input type=button id="importMerge" class="importButton" style="width:23%" value="merge"\
 onclick="onClickImportButton(this)">\
 <input type=button id="importReplace" class="importButton" style="width:23%" value="replace"\
 onclick="onClickImportButton(this)">\
 </div>\
</div>\
';
//}}}

// // refresh listbox
//{{{
function refreshImportList(selectedIndex)
{
 var theList = document.getElementById("importList");
 if (!theList) return;
 // if nothing to show, reset list content and size
 if (!config.macros.importTiddlers.inbound) 
 {
 while (theList.length > 0) { theList.options[0] = null; }
 theList.options[0]=new Option('please open a document...',"",false,false);
 theList.size=config.macros.importTiddlers.listsize;
 return;
 }
 // get the sort order
 if (!selectedIndex) selectedIndex=0;
 if (selectedIndex==0) config.macros.importTiddlers.sort='title'; // heading
 if (selectedIndex==1) config.macros.importTiddlers.sort='title';
 if (selectedIndex==2) config.macros.importTiddlers.sort='modified';
 if (selectedIndex==3) config.macros.importTiddlers.sort='tags';
 if (selectedIndex>3) {
 // display selected tiddler count
 for (var t=0,count=0; t < theList.options.length; t++) count+=(theList.options[t].selected&&theList.options[t].value!="")?1:0;
 clearMessage(); displayMessage(config.macros.importTiddlers.countMsg.format([count]));
 return; // no refresh needed
 }

 // get the alphasorted list of tiddlers (optionally, filter out unchanged tiddlers)
 var tiddlers=config.macros.importTiddlers.inbound;
 tiddlers.sort(function (a,b) {if(a['title'] == b['title']) return(0); else return (a['title'] < b['title']) ? -1 : +1; });
 // clear current list contents
 while (theList.length > 0) { theList.options[0] = null; }
 // add heading and control items to list
 var i=0;
 var indent=String.fromCharCode(160)+String.fromCharCode(160);
 theList.options[i++]=new Option(tiddlers.length+' tiddler'+((tiddlers.length!=1)?'s are':' is')+' in the document',"",false,false);
 theList.options[i++]=new Option(((config.macros.importTiddlers.sort=="title" )?">":indent)+' [by title]',"",false,false);
 theList.options[i++]=new Option(((config.macros.importTiddlers.sort=="modified")?">":indent)+' [by date]',"",false,false);
 theList.options[i++]=new Option(((config.macros.importTiddlers.sort=="tags")?">":indent)+' [by tags]',"",false,false);
 // output the tiddler list
 switch(config.macros.importTiddlers.sort)
 {
 case "title":
 for(var t = 0; t < tiddlers.length; t++)
 theList.options[i++] = new Option(tiddlers[t].title,tiddlers[t].title,false,false);
 break;
 case "modified":
 // sort descending for newest date first
 tiddlers.sort(function (a,b) {if(a['modified'] == b['modified']) return(0); else return (a['modified'] > b['modified']) ? -1 : +1; });
 var lastSection = "";
 for(var t = 0; t < tiddlers.length; t++) {
 var tiddler = tiddlers[t];
 var theSection = tiddler.modified.toLocaleDateString();
 if (theSection != lastSection) {
 theList.options[i++] = new Option(theSection,"",false,false);
 lastSection = theSection;
 }
 theList.options[i++] = new Option(indent+indent+tiddler.title,tiddler.title,false,false);
 }
 break;
 case "tags":
 var theTitles = {}; // all tiddler titles, hash indexed by tag value
 var theTags = new Array();
 for(var t=0; t<tiddlers.length; t++) {
 var title=tiddlers[t].title;
 var tags=tiddlers[t].tags;
 for(var s=0; s<tags.length; s++) {
 if (theTitles[tags[s]]==undefined) { theTags.push(tags[s]); theTitles[tags[s]]=new Array(); }
 theTitles[tags[s]].push(title);
 }
 }
 theTags.sort();
 for(var tagindex=0; tagindex<theTags.length; tagindex++) {
 var theTag=theTags[tagindex];
 theList.options[i++]=new Option(theTag,"",false,false);
 for(var t=0; t<theTitles[theTag].length; t++)
 theList.options[i++]=new Option(indent+indent+theTitles[theTag][t],theTitles[theTag][t],false,false);
 }
 break;
 }
 theList.selectedIndex=selectedIndex; // select current control item
 if (theList.size<config.macros.importTiddlers.listsize) theList.size=config.macros.importTiddlers.listsize;
 if (theList.size>theList.options.length) theList.size=theList.options.length;
}
//}}}

// // Control interactions
//{{{
function onClickImportButton(which)
{
 // DEBUG alert(which.id);
 var theList = document.getElementById('importList');
 if (!theList) return;
 var thePanel = document.getElementById('importPanel');
 var theAskPanel = document.getElementById('importAskPanel');
 var theNewTitle = document.getElementById('importNewTitle');
 var count=0;
 switch (which.id)
 {
 case 'fileImportSource':
 case 'importOpen': // load import source into hidden frame
 importReport(); // if an import was in progress, generate a report
 config.macros.importTiddlers.inbound=null; // clear the imported tiddler buffer
 refreshImportList(); // reset/resize the listbox
 if (config.macros.importTiddlers.src=="") break;
 // Load document into hidden iframe so we can read it's DOM and fill the list
 loadImportFile(config.macros.importTiddlers.src,"all",null,null,function(src,filter,quiet,ask){window.refreshImportList(0);});
 break;
 case 'importSelectAll': // select all tiddler list items (i.e., not headings)
 importReport(); // if an import was in progress, generate a report
 for (var t=0,count=0; t < theList.options.length; t++) {
 if (theList.options[t].value=="") continue;
 theList.options[t].selected=true;
 count++;
 }
 clearMessage(); displayMessage(config.macros.importTiddlers.countMsg.format([count]));
 break;
 case 'importSelectNew': // select tiddlers not in current document
 importReport(); // if an import was in progress, generate a report
 for (var t=0,count=0; t < theList.options.length; t++) {
 theList.options[t].selected=false;
 if (theList.options[t].value=="") continue;
 theList.options[t].selected=!store.tiddlerExists(theList.options[t].value);
 count+=theList.options[t].selected?1:0;
 }
 clearMessage(); displayMessage(config.macros.importTiddlers.countMsg.format([count]));
 break;
 case 'importSelectChanges': // select tiddlers that are updated from existing tiddlers
 importReport(); // if an import was in progress, generate a report
 for (var t=0,count=0; t < theList.options.length; t++) {
 theList.options[t].selected=false;
 if (theList.options[t].value==""||!store.tiddlerExists(theList.options[t].value)) continue;
 for (var i=0; i<config.macros.importTiddlers.inbound.length; i++) // find matching inbound tiddler
 { var inbound=config.macros.importTiddlers.inbound[i]; if (inbound.title==theList.options[t].value) break; }
 theList.options[t].selected=(inbound.modified-store.getTiddler(theList.options[t].value).modified>0); // updated tiddler
 count+=theList.options[t].selected?1:0;
 }
 clearMessage(); displayMessage(config.macros.importTiddlers.countMsg.format([count]));
 break;
 case 'importSelectDifferences': // select tiddlers that are new or different from existing tiddlers
 importReport(); // if an import was in progress, generate a report
 for (var t=0,count=0; t < theList.options.length; t++) {
 theList.options[t].selected=false;
 if (theList.options[t].value=="") continue;
 if (!store.tiddlerExists(theList.options[t].value)) { theList.options[t].selected=true; count++; continue; }
 for (var i=0; i<config.macros.importTiddlers.inbound.length; i++) // find matching inbound tiddler
 { var inbound=config.macros.importTiddlers.inbound[i]; if (inbound.title==theList.options[t].value) break; }
 theList.options[t].selected=(inbound.modified-store.getTiddler(theList.options[t].value).modified!=0); // changed tiddler
 count+=theList.options[t].selected?1:0;
 }
 clearMessage(); displayMessage(config.macros.importTiddlers.countMsg.format([count]));
 break;
 case 'importToggleFilter': // show/hide filter
 case 'importFilter': // apply filter
 alert("coming soon!");
 break;
 case 'importStart': // initiate the import processing
 importReport(); // if an import was in progress, generate a report
 config.macros.importTiddlers.index=0;
 config.macros.importTiddlers.index=importTiddlers(0);
 importStopped();
 break;
 case 'importClose': // unload imported tiddlers or hide the import control panel
 // if imported tiddlers not loaded, close the import control panel
 if (!config.macros.importTiddlers.inbound) { thePanel.style.display='none'; break; }
 importReport(); // if an import was in progress, generate a report
 config.macros.importTiddlers.inbound=null; // clear the imported tiddler buffer
 refreshImportList(); // reset/resize the listbox
 break;
 case 'importSkip': // don't import the tiddler
 var theItem = theList.options[config.macros.importTiddlers.index];
 for (var j=0;j<config.macros.importTiddlers.inbound.length;j++)
 if (config.macros.importTiddlers.inbound[j].title==theItem.value) break;
 var theImported = config.macros.importTiddlers.inbound[j];
 theImported.status='skipped after asking'; // mark item as skipped
 theAskPanel.style.display='none';
 config.macros.importTiddlers.index=importTiddlers(config.macros.importTiddlers.index+1); // resume with NEXT item
 importStopped();
 break;
 case 'importRename': // change name of imported tiddler
 var theItem = theList.options[config.macros.importTiddlers.index];
 for (var j=0;j<config.macros.importTiddlers.inbound.length;j++)
 if (config.macros.importTiddlers.inbound[j].title==theItem.value) break;
 var theImported = config.macros.importTiddlers.inbound[j];
 theImported.status = 'renamed from '+theImported.title; // mark item as renamed
 theImported.set(theNewTitle.value,null,null,null,null); // change the tiddler title
 theItem.value = theNewTitle.value; // change the listbox item text
 theItem.text = theNewTitle.value; // change the listbox item text
 theAskPanel.style.display='none';
 config.macros.importTiddlers.index=importTiddlers(config.macros.importTiddlers.index); // resume with THIS item
 importStopped();
 break;
 case 'importMerge': // join existing and imported tiddler content
 var theItem = theList.options[config.macros.importTiddlers.index];
 for (var j=0;j<config.macros.importTiddlers.inbound.length;j++)
 if (config.macros.importTiddlers.inbound[j].title==theItem.value) break;
 var theImported = config.macros.importTiddlers.inbound[j];
 var theExisting = store.getTiddler(theItem.value);
 var theText = theExisting.text+'\n----\n^^merged from: [['+config.macros.importTiddlers.src+'#'+theItem.value+'|'+config.macros.importTiddlers.src+'#'+theItem.value+']]^^\n^^'+theImported.modified.toLocaleString()+' by '+theImported.modifier+'^^\n'+theImported.text;
 var theDate = new Date();
 var theTags = theExisting.getTags()+' '+theImported.getTags();
 theImported.set(null,theText,null,theDate,theTags);
 theImported.status = 'merged with '+theExisting.title; // mark item as merged
 theImported.status += ' - '+theExisting.modified.formatString("MM/DD/YYYY hh:mm:ss");
 theImported.status += ' by '+theExisting.modifier;
 theAskPanel.style.display='none';
 config.macros.importTiddlers.index=importTiddlers(config.macros.importTiddlers.index); // resume with this item
 importStopped();
 break;
 case 'importReplace': // substitute imported tiddler for existing tiddler
 var theItem = theList.options[config.macros.importTiddlers.index];
 for (var j=0;j<config.macros.importTiddlers.inbound.length;j++)
 if (config.macros.importTiddlers.inbound[j].title==theItem.value) break;
 var theImported = config.macros.importTiddlers.inbound[j];
 var theExisting = store.getTiddler(theItem.value);
 theImported.status = 'replaces '+theExisting.title; // mark item for replace
 theImported.status += ' - '+theExisting.modified.formatString("MM/DD/YYYY hh:mm:ss");
 theImported.status += ' by '+theExisting.modifier;
 theAskPanel.style.display='none';
 config.macros.importTiddlers.index=importTiddlers(config.macros.importTiddlers.index); // resume with THIS item
 importStopped();
 break;
 case 'importListSmaller': // decrease current listbox size, minimum=5
 if (theList.options.length==1) break;
 theList.size-=(theList.size>5)?1:0;
 config.macros.importTiddlers.listsize=theList.size;
 break;
 case 'importListLarger': // increase current listbox size, maximum=number of items in list
 if (theList.options.length==1) break;
 theList.size+=(theList.size<theList.options.length)?1:0;
 config.macros.importTiddlers.listsize=theList.size;
 break;
 case 'importListMaximize': // toggle listbox size between current and maximum
 if (theList.options.length==1) break;
 theList.size=(theList.size==theList.options.length)?config.macros.importTiddlers.listsize:theList.options.length;
 break;
 }
}
//}}}

// // re-entrant processing for handling import with interactive collision prompting
//{{{
function importTiddlers(startIndex)
{
 if (!config.macros.importTiddlers.inbound) return -1;

 var theList = document.getElementById('importList');
 if (!theList) return;
 var t;
 // if starting new import, reset import status flags
 if (startIndex==0)
 for (var t=0;t<config.macros.importTiddlers.inbound.length;t++)
 config.macros.importTiddlers.inbound[t].status="";
 for (var i=startIndex; i<theList.options.length; i++)
 {
 // if list item is not selected or is a heading (i.e., has no value), skip it
 if ((!theList.options[i].selected) || ((t=theList.options[i].value)==""))
 continue;
 for (var j=0;j<config.macros.importTiddlers.inbound.length;j++)
 if (config.macros.importTiddlers.inbound[j].title==t) break;
 var theImported = config.macros.importTiddlers.inbound[j];
 var theExisting = store.getTiddler(theImported.title);
 // avoid redundant import for tiddlers that are listed multiple times (when 'by tags')
 if (theImported.status=="added")
 continue;
 // don't import the "ImportedTiddlers" history from the other document...
 if (theImported.title=='ImportedTiddlers')
 continue;
 // if tiddler exists and import not marked for replace or merge, stop importing
 if (theExisting && (theImported.status.substr(0,7)!="replace") && (theImported.status.substr(0,5)!="merge"))
 return i;
 // assemble tags (remote + existing + added)
 var newTags = "";
 if (config.macros.importTiddlers.importTags)
 newTags+=theImported.getTags() // import remote tags
 if (config.macros.importTiddlers.keepTags && theExisting)
 newTags+=" "+theExisting.getTags(); // keep existing tags
 if (config.macros.importTiddlers.addTags && config.macros.importTiddlers.newTags.trim().length)
 newTags+=" "+config.macros.importTiddlers.newTags; // add new tags
 theImported.set(null,null,null,null,newTags.trim());
 // set the status to 'added' (if not already set by the 'ask the user' UI)
 theImported.status=(theImported.status=="")?'added':theImported.status;
 // do the import!
 store.addTiddler(theImported);
 store.setDirty(true);
 }
 return(-1); // signals that we really finished the entire list
}
//}}}

//{{{
function importStopped()
{
 var theList = document.getElementById('importList');
 var theNewTitle = document.getElementById('importNewTitle');
 if (!theList) return;
 if (config.macros.importTiddlers.index==-1)
 importReport(); // import finished... generate the report
 else
 {
 // DEBUG alert('import stopped at: '+config.macros.importTiddlers.index);
 // import collision... show the ask panel and set the title edit field
 document.getElementById('importAskPanel').style.display='block';
 theNewTitle.value=theList.options[config.macros.importTiddlers.index].value;
 }
}
//}}}
On Montag, 02. Oktober 2006 09:00:51, MaxKraml imported tiddlers from
[[E:\TiddlyWiki\sonstige_TW\MonkeyPirateTiddlyWiki(2.0.10).html|E:\TiddlyWiki\sonstige_TW\MonkeyPirateTiddlyWiki(2.0.10).html]]:
<<<
Out of 156 tiddlers in {{{E:/TiddlyWiki/sonstige_TW/MonkeyPirateTiddlyWiki(2.0.10).html}}}:
1 new tiddler was added to your document.
155 tiddlers were not imported.
#[[NestedSlidersPlugin]]
<<<
<html><input type="button" href="javascript:;" onclick="story.closeTiddler('ImportedTiddlers'); store.deleteTiddler('ImportedTiddlers');" value="discard report"></html>
----
On Montag, 28. August 2006 00:13:25, MaxKraml imported tiddlers from
[[L:\TiddlyWiki\lelolima-vorlage.html|L:\TiddlyWiki\lelolima-vorlage.html]]:
<<<
Out of 55 tiddlers in {{{L:/TiddlyWiki/lelolima-vorlage.html}}}:
1 new tiddler was added to your document.
54 tiddlers were not imported.
#[[RearrangeTiddlersPlugin]]
<<<
<html><input type="button" href="javascript:;" onclick="story.closeTiddler('ImportedTiddlers'); store.deleteTiddler('ImportedTiddlers');" value="discard report"></html>
----
On Sonntag, 27. August 2006 23:56:00, MaxKraml imported tiddlers from
[[L:\TiddlyWiki\lelolima-vorlage.html|L:\TiddlyWiki\lelolima-vorlage.html]]:
<<<
Out of 55 tiddlers in {{{L:/TiddlyWiki/lelolima-vorlage.html}}}:
1 new tiddler was added to your document.
54 tiddlers were not imported.
#[[BetterTimelineMacro]]
<<<
<html><input type="button" href="javascript:;" onclick="story.closeTiddler('ImportedTiddlers'); store.deleteTiddler('ImportedTiddlers');" value="discard report"></html>
----
On Sonntag, 27. August 2006 23:55:28, MaxKraml imported tiddlers from
[[L:\TiddlyWiki\lelolima-vorlage.html|L:\TiddlyWiki\lelolima-vorlage.html]]:
<<<
Out of 55 tiddlers in {{{L:/TiddlyWiki/lelolima-vorlage.html}}}:
1 new tiddler was added to your document.
54 tiddlers were not imported.
#[[TiddlerImportieren]]
<<<
<html><input type="button" href="javascript:;" onclick="story.closeTiddler('ImportedTiddlers'); store.deleteTiddler('ImportedTiddlers');" value="discard report"></html>
----
On Sonntag, 27. August 2006 23:53:55, MaxKraml imported tiddlers from
[[L:\TiddlyWiki\lelolima-vorlage.html|L:\TiddlyWiki\lelolima-vorlage.html]]:
<<<
Out of 55 tiddlers in {{{L:/TiddlyWiki/lelolima-vorlage.html}}}:
1 existing tiddler was replaced.
54 tiddlers were not imported.
#[[Configuration]]^^
replaces Configuration - 8/20/2006 20:7:0 by MaxKraml^^
<<<
<html><input type="button" href="javascript:;" onclick="story.closeTiddler('ImportedTiddlers'); store.deleteTiddler('ImportedTiddlers');" value="discard report"></html>
----
On Sonntag, 20. August 2006 10:27:46, MaxKraml imported tiddlers from
[[L:\TiddlyWiki\lelolima-neu.html|L:\TiddlyWiki\lelolima-neu.html]]:
<<<
Out of 52 tiddlers in {{{L:/TiddlyWiki/lelolima-neu.html}}}:
1 new tiddler was added to your document.
1 existing tiddler was replaced.
50 tiddlers were not imported.
#[[HideWhenMacro]]
#[[ViewTemplate]]^^
replaces ViewTemplate - 8/14/2006 22:45:0 by MaxKraml^^
<<<
<html><input type="button" href="javascript:;" onclick="story.closeTiddler('ImportedTiddlers'); store.deleteTiddler('ImportedTiddlers');" value="discard report"></html>
----
On Montag, 14. August 2006 20:28:59, MaxKraml imported tiddlers from
[[E:\TiddlyWiki\lelolima-neu.html|E:\TiddlyWiki\lelolima-neu.html]]:
<<<
Out of 50 tiddlers in {{{E:/TiddlyWiki/lelolima-neu.html}}}:
8 new tiddlers were added to your document.
42 tiddlers were not imported.
#[[Configuration]]
#[[Configuration.SideBarTabs]]
#[[FontSizePlugin]]
#[[GermanTranslation2011]]
#[[HoverMenu]]
#[[HoverMenuPlugin]]
#[[IntelliTaggerPlugin]]
#[[YourSearchPlugin]]
<<<
<html><input type="button" href="javascript:;" onclick="story.closeTiddler('ImportedTiddlers'); store.deleteTiddler('ImportedTiddlers');" value="discard report"></html>
>Diese Hilfedatei wurde erstellt von MaxKraml mit [[TiddlyWiki|http://www.tiddlywiki.com]] Version <<version>>
>gehosted auf [[www.eadok.at|http://www.eadok.at]] und [[tiddlyspot.com|http://tiddlyspot.com]]

''Bezüglich der Verweise auf dieser Webseite:''

Bei der augenscheinlich erdrückenden Mehrheit der deutschsprachigen Websites ist es heutzutage offensichtlich üblich, nur auf Sites zu verlinken, deren Inhalt so dermaßen fragwürdig ist, dass man sich genötigt sieht, sich ausdrücklich davon zu distanzieren. Ich dagegen setze nur Links auf Sites, deren Inhalt ich als empfehlenswert empfinde. Dennoch: Jedem ist unmittelbar verständlich, daß externe Webseiten von seiten der Betreiber zu jeder Zeit und ohne mein Wissen substantiell verändert werden können und ich alleine schon deswegen keine Verantwortung für jene Seiten übernehmen kann.
direkt einer Behandlungsanlage zugeordnetes Zwischenlager, zB Müllbunker einer Abfallverbrennungsschiene
!Systemvoraussetzungen
''Neben Microsoft Windows ist es notwendig, dass das Microsoft .NET Framework mindestens in Version 2.0 auf dem Rechner installiert ist. 
Dies ist jedenfalls bei Windows XP ab SP2 sowie Windows Vista und Windows 7 der Fall.''
Ob das Framework installiert ist, kann unter 
''~START-Einstellungen-Systemsteuerung-Software'' festgestellt werden:

[img[http://www.eadok.at/pics/b30jou2r1wzt40fd0.gif]]

Sollte das Framework noch nicht installiert sein, kann es bei Microsoft ([[http://tinyurl.com/exb8a|http://tinyurl.com/exb8a]]) heruntergeladen werden.

!Neuinstallation
Zur Installation des Programms die Datei ''[[eADok_Setup_V1.32_h2_x32.exe|http://www.oekobits.at/eADok/eadokfiles/eADok_Setup_V1.32_h2_x32.exe]]'' ([[32-bit Version von eADok]]) oder ''[[eADok_Setup_V1.32_h2_x64.exe|http://www.oekobits.at/eADok/eadokfiles/eADok_Setup_V1.32_h2_x64.exe]]'' ([[64-bit Version von eADok]]) von [[http://www.oekobits.at/eADok/eadokfiles|http://www.oekobits.at/eADok/eadokfiles]] herunterladen und in ein beliebiges Verzeichnis auf der Festplatte kopieren. Durch Starten der ~Exe-Datei wird das Programm installiert. Das Programm ''eADok.exe'' ist ohne weitere Installation lauffähig.
!!Hinweis
''Bei Installation von eADok im Standardprogrammverzeichnis (C:\Programme) unter Windows Vista und Windows 7 kommt es zu Problemen!
Dies liegt an der Portabilität von eADok.'' Es sollte wenn möglich das eADok-Standardverzeichnis ''C:\eadok'' verwendet werden.

!Update
Wenn mit der Vorgängerversion (ab Version 1.07) bereits Daten erfasst wurden, ist das Programm lediglich auf den neuesten Stand zu bringen.
Dazu ebenfalls die jeweilige Installationsdatei von [[http://www.oekobits.at/eADok/eadokfiles|http://www.oekobits.at/eADok/eadokfiles]] herunterladen und ausführen. ''
Bei der Installation muss das richtige Verzeichnis mit der Datei eadok.exe ausgewählt werden''.
Beim Updaten werden die Daten der alten eADok-Version gesichert und in die neue Version automatisch übernommen.

''Hinweis: Ein direktes Update von älteren Versionen von eADok ist nicht möglich. Dazu muss zumindest die Version 1.07 installiert sein.
Warnung: Sollte eADok unter Windows Vista oder Windows 7 im Standardprogrammverzeichnis installiert sein, kommt es beim Update zu einem Fehler.
Bei der Updateroutine wird ein entsprechender Hinweis ausgegeben!''
/***
|''Name:''|~IntelliTaggerPlugin|
|''Version:''|1.0.0 (2006-04-26)|
|''Type:''|plugin|
|''Source:''|http://tiddlywiki.abego-software.de/#IntelliTaggerPlugin|
|''Author:''|Udo Borkowski (ub [at] abego-software [dot] de)|
|''Documentation:''|[[IntelliTaggerPlugin Documentation]]|
|''Source Code:''|[[IntelliTaggerPlugin SourceCode]]|
|''Licence:''|[[BSD open source license (abego Software)]]|
|''~TiddlyWiki:''|Version 2.0.8 or better|
|''Browser:''|Firefox 1.5.0.2 or better|

***/
// /%
if(!version.extensions.IntelliTaggerPlugin){if(!window.abego){window.abego={};}if(!abego.internal){abego.internal={};}abego.alertAndThrow=function(s){alert(s);throw s;};if(version.major<2){abego.alertAndThrow("Use TiddlyWiki 2.0.8 or better to run the IntelliTagger Plugin.");}version.extensions.IntelliTaggerPlugin={major:1,minor:0,revision:0,date:new Date(2006,3,26),type:"plugin",source:"http://tiddlywiki.abego-software.de/#IntelliTaggerPlugin",documentation:"[[IntelliTaggerPlugin Documentation]]",sourcecode:"[[IntelliTaggerPlugin SourceCode]]",author:"Udo Borkowski (ub [at] abego-software [dot] de)",licence:"[[BSD open source license (abego Software)]]",tiddlywiki:"Version 2.0.8 or better",browser:"Firefox 1.5.0.2 or better"};abego.isPopupOpen=function(_2){return _2&&_2.parentNode==document.body;};abego.openAsPopup=function(_3){if(_3.parentNode!=document.body){document.body.appendChild(_3);}};abego.closePopup=function(_4){if(abego.isPopupOpen(_4)){document.body.removeChild(_4);}};abego.getWindowRect=function(){return {left:findScrollX(),top:findScrollY(),height:findWindowHeight(),width:findWindowWidth()};};abego.moveElement=function(_5,_6,_7){_5.style.left=_6+"px";_5.style.top=_7+"px";};abego.centerOnWindow=function(_8){if(_8.style.position!="absolute"){throw "abego.centerOnWindow: element must have absolute position";}var _9=abego.getWindowRect();abego.moveElement(_8,_9.left+(_9.width-_8.offsetWidth)/2,_9.top+(_9.height-_8.offsetHeight)/2);};abego.isDescendantOrSelf=function(_a,e){while(e){if(_a==e){return true;}e=e.parentNode;}return false;};abego.toSet=function(_c){var _d={};for(var i=0;i<_c.length;i++){_d[_c[i]]=true;}return _d;};abego.filterStrings=function(_f,_10,_11){var _12=[];for(var i=0;i<_f.length&&(_11===undefined||_12.length<_11);i++){var s=_f[i];if(s.match(_10)){_12.push(s);}}return _12;};abego.arraysAreEqual=function(a,b){var n=a.length;if(n!=b.length){return false;}for(var i=0;i<n;i++){if(a[i]!=b[i]){return false;}}return true;};abego.moveBelowAndClip=function(_19,_1a){if(!_1a){return;}var _1b=findPosX(_1a);var _1c=findPosY(_1a);var _1d=_1a.offsetHeight;var _1e=_1b;var _1f=_1c+_1d;var _20=findWindowWidth();if(_20<_19.offsetWidth){_19.style.width=(_20-100)+"px";}var _21=_19.offsetWidth;if(_1e+_21>_20){_1e=_20-_21-30;}if(_1e<0){_1e=0;}_19.style.left=_1e+"px";_19.style.top=_1f+"px";_19.style.display="block";};abego.compareStrings=function(a,b){return (a==b)?0:(a<b)?-1:1;};abego.sortIgnoreCase=function(arr){var _25=[];var n=arr.length;for(var i=0;i<n;i++){var s=arr[i];_25.push([s.toString().toLowerCase(),s]);}_25.sort(function(a,b){return (a[0]==b[0])?0:(a[0]<b[0])?-1:1;});for(i=0;i<n;i++){arr[i]=_25[i][1];}};abego.getTiddlerField=function(_2b,_2c,_2d){var _2e=document.getElementById(_2b.idPrefix+_2c);var e=null;if(_2e!=null){var _30=_2e.getElementsByTagName("*");for(var t=0;t<_30.length;t++){var c=_30[t];if(c.tagName.toLowerCase()=="input"||c.tagName.toLowerCase()=="textarea"){if(!e){e=c;}if(c.getAttribute("edit")==_2d){e=c;}}}}return e;};abego.setRange=function(_33,_34,end){if(_33.setSelectionRange){_33.setSelectionRange(_34,end);var max=0+_33.scrollHeight;var len=_33.textLength;var top=max*_34/len,bot=max*end/len;_33.scrollTop=Math.min(top,(bot+top-_33.clientHeight)/2);}else{if(_33.createTextRange!=undefined){var _39=_33.createTextRange();_39.collapse();_39.moveEnd("character",end);_39.moveStart("character",_34);_39.select();}else{_33.select();}}};abego.internal.TagManager=function(){var _3a=null;var _3b=function(){if(_3a){return;}_3a={};store.forEachTiddler(function(_3c,_3d){for(var i=0;i<_3d.tags.length;i++){var tag=_3d.tags[i];var _40=_3a[tag];if(!_40){_40=_3a[tag]={count:0,tiddlers:{}};}_40.tiddlers[_3d.title]=true;_40.count+=1;}});};var _41=TiddlyWiki.prototype.saveTiddler;TiddlyWiki.prototype.saveTiddler=function(_42,_43,_44,_45,_46,_47){var _48=this.fetchTiddler(_42);var _49=_48?_48.tags:[];var _4a=(typeof _47=="string")?_47.readBracketedList():_47;_41.apply(this,arguments);if(!abego.arraysAreEqual(_49,_4a)){abego.internal.getTagManager().reset();}};var _4b=TiddlyWiki.prototype.removeTiddler;TiddlyWiki.prototype.removeTiddler=function(_4c){var _4d=this.fetchTiddler(_4c);var _4e=_4d&&_4d.tags.length>0;_4b.apply(this,arguments);if(_4e){abego.internal.getTagManager().reset();}};this.reset=function(){_3a=null;};this.getTiddlersWithTag=function(tag){_3b();var _50=_3a[tag];return _50?_50.tiddlers:null;};this.getAllTags=function(_51){_3b();var _52=[];for(var i in _3a){_52.push(i);}for(i=0;_51&&i<_51.length;i++){_52.pushUnique(_51[i],true);}abego.sortIgnoreCase(_52);return _52;};this.getTagInfos=function(){_3b();var _54=[];for(var _55 in _3a){_54.push([_55,_3a[_55]]);}return _54;};var _56=function(a,b){var a1=a[1];var b1=b[1];var d=b[1].count-a[1].count;return d!=0?d:abego.compareStrings(a[0].toLowerCase(),b[0].toLowerCase());};this.getSortedTagInfos=function(){_3b();var _5c=this.getTagInfos();_5c.sort(_56);return _5c;};this.getPartnerRankedTags=function(_5d){var _5e={};for(var i=0;i<_5d.length;i++){var _60=this.getTiddlersWithTag(_5d[i]);for(var _61 in _60){var _62=store.getTiddler(_61);if(!(_62 instanceof Tiddler)){continue;}for(var j=0;j<_62.tags.length;j++){var tag=_62.tags[j];var c=_5e[tag];_5e[tag]=c?c+1:1;}}}var _66=abego.toSet(_5d);var _67=[];for(var n in _5e){if(!_66[n]){_67.push(n);}}_67.sort(function(a,b){var d=_5e[b]-_5e[a];return d!=0?d:abego.compareStrings(a.toLowerCase(),b.toLowerCase());});return _67;};};abego.internal.getTagManager=function(){if(!abego.internal.gTagManager){abego.internal.gTagManager=new abego.internal.TagManager();}return abego.internal.gTagManager;};(function(){var _6c=2;var _6d=1;var _6e=30;var _6f;var _70;var _71;var _72;var _73;var _74;if(!abego.IntelliTagger){abego.IntelliTagger={};}var _75=function(){return _70;};var _76=function(tag){return _73[tag];};var _78=function(s){var i=s.lastIndexOf(" ");return (i>=0)?s.substr(0,i):"";};var _7b=function(_7c){var s=_7c.value;var len=s.length;return (len>0&&s[len-1]!=" ");};var _7f=function(_80){var s=_80.value;var len=s.length;if(len>0&&s[len-1]!=" "){_80.value+=" ";}};var _83=function(tag,_85,_86){if(_7b(_85)){_85.value=_78(_85.value);}story.setTiddlerTag(_86.title,tag,0);_7f(_85);abego.IntelliTagger.assistTagging(_85,_86);};var _87=function(n){if(_74){if(_74.length>n){return _74[n];}n-=_74.length;}return (_72&&_72.length>n)?_72[n]:null;};var _89=function(n,_8b,_8c){var _8d=_87(n);if(_8d){_83(_8d,_8b,_8c);}};var _8e=function(_8f){var pos=_8f.value.lastIndexOf(" ");var _91=(pos>=0)?_8f.value.substr(++pos,_8f.value.length):_8f.value;return new RegExp(_91.escapeRegExp(),"i");};var _92=function(_93,_94){var _95=0;for(var i=0;i<_93.length;i++){if(_94[_93[i]]){_95++;}}return _95;};var _97=function(_98,_99,_9a){var _9b=1;var c=_98[_99];for(var i=_99+1;i<_98.length;i++){if(_98[i][1].count==c){if(_98[i][0].match(_9a)){_9b++;}}else{break;}}return _9b;};var _9e=function(_9f,_a0){var _a1=abego.internal.getTagManager().getSortedTagInfos();var _a2=[];var _a3=0;for(var i=0;i<_a1.length;i++){var c=_a1[i][1].count;if(c!=_a3){if(_a0&&(_a2.length+_97(_a1,i,_9f)>_a0)){break;}_a3=c;}if(c==1){break;}var s=_a1[i][0];if(s.match(_9f)){_a2.push(s);}}return _a2;};var _a7=function(_a8,_a9){return abego.filterStrings(abego.internal.getTagManager().getAllTags(_a9),_a8);};var _aa=function(){if(!_6f){return;}var _ab=store.getTiddlerText("IntelliTaggerMainTemplate");if(!_ab){_ab="<b>Tiddler IntelliTaggerMainTemplate not found</b>";}_6f.innerHTML=_ab;applyHtmlMacros(_6f,null);refreshElements(_6f,null);};var _ac=function(e){if(!e){var e=window.event;}var tag=this.getAttribute("tag");if(_71){_71.call(this,tag,e);}return false;};var _af=function(_b0,_b1,_b2,_b3){if(!_b1){return;}var _b4=_b3?abego.toSet(_b3):{};var n=_b1.length;for(var i=0;i<n;i++){var tag=_b1[i];if(_b4[tag]){continue;}if(i>0){createTiddlyElement(_b0,"span",null,"tagSeparator"," | ");}var _b8="";var _b9=_b0;if(_b2<10){_b9=createTiddlyElement(_b0,"span",null,"numberedSuggestion");_b2++;var key=_b2<10?""+(_b2):"0";createTiddlyElement(_b9,"span",null,"suggestionNumber",key+") ");var _bb=_b2==1?"Ctrl-Space or ":"";_b8=" (Shortcut: %1Alt-%0)".format([key,_bb]);}var _bc=config.views.wikified.tag.tooltip.format([tag]);var _bd=(_76(tag)?"Remove tag '%0'%1":"Add tag '%0'%1").format([tag,_b8]);var _be="%0; Shift-Click: %1".format([_bd,_bc]);var btn=createTiddlyButton(_b9,tag,_be,_ac,_76(tag)?"currentTag":null);btn.setAttribute("tag",tag);}};var _c0=function(){if(_6f){window.scrollTo(0,ensureVisible(_6f));}if(_75()){window.scrollTo(0,ensureVisible(_75()));}};var _c1=function(e){if(!e){var e=window.event;}if(!_6f){return;}var _c3=resolveTarget(e);if(_c3==_75()){return;}if(abego.isDescendantOrSelf(_6f,_c3)){return;}abego.IntelliTagger.close();};addEvent(document,"click",_c1);var _c4=Story.prototype.gatherSaveFields;Story.prototype.gatherSaveFields=function(e,_c6){_c4.apply(this,arguments);var _c7=_c6.tags;if(_c7){_c6.tags=_c7.trim();}};var _c8=function(_c9){story.focusTiddler(_c9,"tags");var _ca=abego.getTiddlerField(story,_c9,"tags");if(_ca){var len=_ca.value.length;abego.setRange(_ca,len,len);window.scrollTo(0,ensureVisible(_ca));}};var _cc=config.macros.edit.handler;config.macros.edit.handler=function(_cd,_ce,_cf,_d0,_d1,_d2){_cc.apply(this,arguments);var _d3=_cf[0];if((_d2 instanceof Tiddler)&&_d3=="tags"){var _d4=_cd.lastChild;_d4.onfocus=function(e){abego.IntelliTagger.assistTagging(_d4,_d2);setTimeout(function(){_c8(_d2.title);},100);};_d4.onkeyup=function(e){if(!e){var e=window.event;}if(e.altKey&&!e.ctrlKey&&!e.metaKey&&(e.keyCode>=48&&e.keyCode<=57)){_89(e.keyCode==48?9:e.keyCode-49,_d4,_d2);}else{if(e.ctrlKey&&e.keyCode==32){_89(0,_d4,_d2);}}setTimeout(function(){abego.IntelliTagger.assistTagging(_d4,_d2);},100);return false;};_7f(_d4);}};var _d7=function(e){if(!e){var e=window.event;}var _d9=resolveTarget(e);var _da=_d9.getAttribute("tiddler");if(_da){story.displayTiddler(_d9,_da,"IntelliTaggerEditTagsTemplate",false);_c8(_da);}return false;};var _db=config.macros.tags.handler;config.macros.tags.handler=function(_dc,_dd,_de,_df,_e0,_e1){_db.apply(this,arguments);abego.IntelliTagger.createEditTagsButton(_e1,createTiddlyElement(_dc.lastChild,"li"));};var _e2=function(){if(_6f&&_70&&!abego.isDescendantOrSelf(document,_70)){abego.IntelliTagger.close();}};setInterval(_e2,100);abego.IntelliTagger.displayTagSuggestions=function(_e3,_e4,_e5,_e6,_e7){_72=_e3;_73=abego.toSet(_e4);_74=_e5;_70=_e6;_71=_e7;if(!_6f){_6f=createTiddlyElement(document.body,"div",null,"intelliTaggerSuggestions");_6f.style.position="absolute";}_aa();abego.openAsPopup(_6f);if(_75()){var w=_75().offsetWidth;if(_6f.offsetWidth<w){_6f.style.width=(w-2*(_6c+_6d))+"px";}abego.moveBelowAndClip(_6f,_75());}else{abego.centerOnWindow(_6f);}_c0();};abego.IntelliTagger.assistTagging=function(_e9,_ea){var _eb=_8e(_e9);var s=_e9.value;if(_7b(_e9)){s=_78(s);}var _ed=s.readBracketedList();var _ee=_ed.length>0?abego.filterStrings(abego.internal.getTagManager().getPartnerRankedTags(_ed),_eb,_6e):_9e(_eb,_6e);abego.IntelliTagger.displayTagSuggestions(_a7(_eb,_ed),_ed,_ee,_e9,function(tag,e){if(e.shiftKey){onClickTag.call(this,e);}else{_83(tag,_e9,_ea);}});};abego.IntelliTagger.close=function(){abego.closePopup(_6f);_6f=null;return false;};abego.IntelliTagger.createEditTagsButton=function(_f1,_f2,_f3,_f4,_f5,id,_f7){if(!_f3){_f3="[edit]";}if(!_f4){_f4="Edit the tags";}if(!_f5){_f5="editTags";}var _f8=createTiddlyButton(_f2,_f3,_f4,_d7,_f5,id,_f7);_f8.setAttribute("tiddler",(_f1 instanceof Tiddler)?_f1.title:String(_f1));return _f8;};config.macros.intelliTagger={label:"intelliTagger",handler:function(_f9,_fa,_fb,_fc,_fd,_fe){var _ff=_fd.parseParams("list",null,true);var _100=_ff[0]["action"];for(var i=0;_100&&i<_100.length;i++){var _102=_100[i];var _103=config.macros.intelliTagger.subhandlers[_102];if(!_103){abego.alertAndThrow("Unsupported action '%0'".format([_102]));}_103(_f9,_fa,_fb,_fc,_fd,_fe);}},subhandlers:{showTags:function(_104,_105,_106,_107,_108,_109){_af(_104,_72,_74?_74.length:0,_74);},showFavorites:function(_10a,_10b,_10c,_10d,_10e,_10f){_af(_10a,_74,0);},closeButton:function(_110,_111,_112,_113,_114,_115){var _116=createTiddlyButton(_110,"close","Close the suggestions",abego.IntelliTagger.close);},version:function(_117){var t="IntelliTagger %0.%1.%2".format([version.extensions.IntelliTaggerPlugin.major,version.extensions.IntelliTaggerPlugin.minor,version.extensions.IntelliTaggerPlugin.revision]);var e=createTiddlyElement(_117,"a");e.setAttribute("href","http://tiddlywiki.abego-software.de/#IntelliTaggerPlugin");e.innerHTML="<font color=\"black\" face=\"Arial, Helvetica, sans-serif\">"+t+"<font>";},copyright:function(_11a){var e=createTiddlyElement(_11a,"a");e.setAttribute("href","http://tiddlywiki.abego-software.de");e.innerHTML="<font color=\"black\" face=\"Arial, Helvetica, sans-serif\">© 2006 <b><font color=\"red\">abego</font></b> Software<font>";}}};})();config.shadowTiddlers["IntelliTaggerStyleSheet"]="/***\n"+"!~IntelliTagger Stylesheet\n"+"***/\n"+"/*{{{*/\n"+".intelliTaggerSuggestions {\n"+"\tposition: absolute;\n"+"\twidth: 600px;\n"+"\n"+"\tpadding: 2px;\n"+"\tlist-style: none;\n"+"\tmargin: 0;\n"+"\n"+"\tbackground: #eeeeee;\n"+"\tborder: 1px solid DarkGray;\n"+"}\n"+"\n"+".intelliTaggerSuggestions .currentTag {\n"+"\tfont-weight: bold;\n"+"}\n"+"\n"+".intelliTaggerSuggestions .suggestionNumber {\n"+"\tcolor: #808080;\n"+"}\n"+"\n"+".intelliTaggerSuggestions .numberedSuggestion{\n"+"\twhite-space: nowrap;\n"+"}\n"+"\n"+".intelliTaggerSuggestions .intelliTaggerFooter {\n"+"\tmargin-top: 4px;\n"+"\tborder-top-width: thin;\n"+"\tborder-top-style: solid;\n"+"\tborder-top-color: #999999;\n"+"}\n"+".intelliTaggerSuggestions .favorites {\n"+"\tborder-bottom-width: thin;\n"+"\tborder-bottom-style: solid;\n"+"\tborder-bottom-color: #999999;\n"+"\tpadding-bottom: 2px;\n"+"}\n"+"\n"+".intelliTaggerSuggestions .normalTags {\n"+"\tpadding-top: 2px;\n"+"}\n"+"\n"+".intelliTaggerSuggestions .intelliTaggerFooter .button {\n"+"\tfont-size: 10px;\n"+"\n"+"\tpadding-left: 0.3em;\n"+"\tpadding-right: 0.3em;\n"+"}\n"+"\n"+"/*}}}*/\n";config.shadowTiddlers["IntelliTaggerMainTemplate"]="<!--\n"+"{{{\n"+"-->\n"+"<div class=\"favorites\" macro=\"intelliTagger action: showFavorites\"></div>\n"+"<div class=\"normalTags\" macro=\"intelliTagger action: showTags\"></div>\n"+"<!-- The Footer (with the Navigation) ============================================ -->\n"+"<table class=\"intelliTaggerFooter\" border=\"0\" width=\"100%\" cellspacing=\"0\" cellpadding=\"0\"><tbody>\n"+" <tr>\n"+"\t<td align=\"left\">\n"+"\t\t<span macro=\"intelliTagger action: closeButton\"></span>\n"+"\t</td>\n"+"\t<td align=\"right\">\n"+"\t\t<span macro=\"intelliTagger action: version\"></span>, <span macro=\"intelliTagger action: copyright \"></span>\n"+"\t</td>\n"+" </tr>\n"+"</tbody></table>\n"+"<!--\n"+"}}}\n"+"-->\n";config.shadowTiddlers["IntelliTaggerEditTagsTemplate"]="<!--\n"+"{{{\n"+"-->\n"+"<div class='toolbar' macro='toolbar +saveTiddler -cancelTiddler'></div>\n"+"<div class='title' macro='view title'></div>\n"+"<div class='tagged' macro='tags'></div>\n"+"<div class='viewer' macro='view text wikified'></div>\n"+"<div class='toolbar' macro='toolbar +saveTiddler -cancelTiddler'></div>\n"+"<div class='editor' macro='edit tags'></div><div class='editorFooter'><span macro='message views.editor.tagPrompt'></span><span macro='tagChooser'></span></div>\n"+"<!--\n"+"}}}\n"+"-->\n";config.shadowTiddlers["BSD open source license (abego Software)"]="See [[Licence|http://tiddlywiki.abego-software.de/#%5B%5BBSD%20open%20source%20license%5D%5D]].";config.shadowTiddlers["IntelliTaggerPlugin Documentation"]="[[Documentation on abego Software website|http://tiddlywiki.abego-software.de/doc/IntelliTagger.pdf]].";config.shadowTiddlers["IntelliTaggerPlugin SourceCode"]="[[Plugin source code on abego Software website|http://tiddlywiki.abego-software.de/src/Plugin-IntelliTagger-src.js]]";setStylesheet(store.getTiddlerText("IntelliTaggerStyleSheet"),"intelliTagger");}
//%/
!Kundenverwaltung
Mit dem Menüpunkt ''Kundenverwaltung'' können die eigenen Geschäftspartner (Übergeber, Transporteure und Übernehmer) verwaltet werden. Dazu können neue Kundendaten entweder aus den importierten eRAS-Daten übernommen werden (der Kunde muss dazu im EDM registriert sein!) oder  Kundendaten selbst angelegt werden. Für nicht registrierte Personen wird sodann bei den BS und LS eine sog. [[personenkreisbezogene GLN]] verwendet.

Hinweis: ''Ab Version 1.10 werden in eADok auch historische eRAS-Daten verwaltet.''
Nach der Erfassung aller bilanzrelevanten Anlagen (siehe weiter oben) können die Lagerstandsbuchungen wie in der AbfallbilanzV gefordert erfasst werden.
[img[Lagerstand|http://www.eadok.at/pics/ba50cduow6tt518av.jpg]]
Folgende Menüpunkte sind vorhanden:
[img[Menü-Lager|http://www.eadok.at/pics/ba50fd0406iofg4ef.jpg]] 
!!Vorgangsweise
*Für jede Abfallart je Anlage kann (sollte) ein Lagerstandswert am Beginn der Aufzeichnungen erfasst werden
[img[Buchung SlNr|http://www.eadok.at/pics/ba50m80i4vi23yxjb.jpg]] 
**Für Input-Pufferlager kann auch ein Lagerstandswert ohne Angabe einer SlNr erfolgen (zB bei der gemeinsamen Lagerung mehrerer Abfallarten im "Müllbunker" einer MBA)
[img[Buchung Pool|http://www.eadok.at/pics/ba50nbqugcp4xgwg7.jpg]]
*um eine neuerliche Buchung für eine Abfallrt in einer Anlage durchzuführen, ist das Register ''Lagerstände aktualisieren'' auszuwählen.
[img[Register Lagerstände aktualisieren|http://www.eadok.at/pics/ba50snm2xsw4l1lqf.jpg]]
**bei eigenständigen Lagern wird dabei in der Spalte ''fiktiver Lagerstand'' der aus den Ein- und Ausgängen errechnete Lagerstand angegeben. Dieser kann als tatsächlicher Lagerstand übernommen (durch Ankreuzen in der Spalte ''Übernehmen?'') oder es kann abweichend der Lagerstand manuell in der Spalte ''tatsächlicher Lagerstand'' eingetragen werden (Feldauswahl durch "Doppelklick"). Bei manueller Eintragung wird sodann ein eine automatische Korrekturbuchung vorgenommen.
* Im Register ''Lagerstandsliste'' werden sämtliche Buchungen (inkl. Korrekturbuchungen) angezeigt. Durch Stzen eines Filters können die Buchungen nach SlNr und Datumsbereich eingeschränkt werden.
[img[Lagerstandsliste|http://www.eadok.at/pics/ba51nur16iuxqxruv.jpg]]

/***
|Name:|LessBackupsPlugin|
|Description:|Intelligently limit the number of backup files you create|
|Version:|3.0.1 ($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 specific code by by Saq Imtiaz.
***/
//{{{

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

if (!config.lessBackups) {
	config.lessBackups = {
		// comment out the ones you don't want or set config.lessBackups.modes in your 'tweaks' plugin
		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).
		]
	};
}

window.getSpecialBackupPath = function(backupPath) {

	var now = new Date();

	var modes = config.lessBackups.modes;

	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 written 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_mptw_orig = window.getBackupPath;
window.getBackupPath = function(localPath) {
	return getSpecialBackupPath(getBackupPath_mptw_orig(localPath));
}

//}}}
Die Lieferscheinverwaltung dient zur Bearbeitung der Aufzeichnungen über nicht gefährliche Abfälle und funktioniert (mit Einschränkungen) analog zur Begleitscheinverwaltung.
eADok – elektronische Abfalldokumentation
Copyright (c) 2006-2012 OEKOBITS ~GmbH 
Alle Rechte vorbehalten. 

WICHTIG: BITTE LESEN SIE DIESE VEREINBARUNG SORGFÄLTIG, BEVOR SIE DIE SOFTWARE BENUTZEN. 

~ENDBENUTZER-LIZENZVERTRAG 
OEKOBITS ~GmbH verpflichtet sich, dem Benutzer ("Nutzer") eine Kopie dieses Softwareproduktes ("SOFTWARE") zur Verfügung zu stellen, und räumt dem Nutzer eine begrenzte Lizenz zur Nutzung der SOFTWARE ein. 
("LIZENZ") Diese Lizenz definiert, was der Nutzer mit der Software tun darf, und enthält Beschränkungen für Garantien, Haftungen und Rechtsmittel. Diese Lizenz kann von OEKOBITS ~GmbH jederzeit ohne Vorankündigung widerrufen werden, wenn der Nutzer die Bedingungen dieser Lizenz nicht erfüllt. 
Die Urheberrechte und sämtliche sonstigen Rechte an der SOFTWARE verbleiben bei OEKOBITS ~GmbH.

LIZENZ FÜR REGISTRIERTE SOFTWARE
Eine registrierte Kopie der SOFTWARE ("REGISTRIERTE SOFTWARE") ermöglicht dem Nutzer eine zeitlich beschränkte Verwendung der SOFTWARE auf einem oder mehreren Computern oder das Netzwerk. 
Die Lizenzierung ist mit einer eindeutigen Nummer, der Personen-GLN (Global Location Nummer) verknüpft, die zur Identifizierung der Organisation des Nutzers im elektronischen Register für Anlagen- und Personenstammdaten (eRAS) des Lebensministeriums (BMLFUW) verwendet wird. 
Unter diese Lizenzierung fallen somit auch sämtliche registrierte Standorte des Nutzers, es entstehen keine zusätzlichen Lizenzkosten.
Der Nutzer darf Kopien der eingetragenen Software für ~Backup-Zwecke anlegen. 

LIZENZ FÜR NICHTREGISTRIERTE SOFTWARE - eADok FREEWARE EDITION
Die Inanspruchnahme und Distribution der eADok Freeware Edition ist nicht limitiert. 
Bedingungen für Benutzung und Weitergabe: 
§	Jede Änderung am Programm und der Dokumentation ist verboten 
§	Alle Dateien müssen vollständig weitergeben werden, sowie sie im Originalpaket enthalten sind
§	Es dürfen keine Komponenten der Software in anderen Produkten verwendet werden
§	Die Software darf nicht dekompiliert oder der Programmcode auf irgendeine andere Art wieder lesbar gemacht machen
§	Die Software darf nicht verkauft werden oder für die Weitergabe Entgelt (in Geld oder in Form 
	einer anderen Gegenleistung) verlangt werden (außer Kosten für Datenträger) 
§	Die Lizenzbedingungen einschließlich der Bestimmungen zu Gewährleistung, Haftung und Garantie werden vom Nutzer akzeptiert

VERTRIEB VON NICHTREGISTRIERTER SOFTWARE
Die nicht installierte NICHTREGISTRIERTE SOFTWARE darf frei kopiert und verteilt werden vorausgesetzt, der Nutzer erfüllt die folgenden Anforderungen. Wenn der Nutzer die NICHTREGISTRIERTE SOFTWARE zum Download anbietet ("Shareware Nutzer"), dann muss der Shareware Nutzer zustimmen: 
(1)	sofort diese Version der deinstallierten, NICHTREGISTRIERTEN SOFTWARE mit einer neuen Version dieser SOFTWARE zu ersetzen sobald eine neue Version von OEKOBITS ~GmbH freigegeben wurde, oder 
(2)	diese Version der NICHTREGISTRIERTEN SOFTWARE sofort nach schriftlicher Ankündigung von OEKOBITS ~GmbH durch email zu löschen 

LIZENZBESTIMMUNGEN 
Diese Lizenzbestimmungen sind gültig, solange der Nutzer die NICHTREGISTRIERTE oder REGISTRIERTE SOFTWARE benutzt 
und / oder die NICHTREGISTRIERTE SOFTWARE nach Maßgabe dieser Vereinbarung vertreibt. 
Diese LIZENZ erlischt sofort, falls der Nutzer einer der hier beschriebenen Bestimmungen oder Bedingungen nicht erfüllt. 
Der Nutzer verpflichtet sich, bei Beendigung des Nutzungsvertrages sämtliche Kopien der REGISTRIERTEN und / oder NICHTREGISTRIERTEN SOFTWARE zu vernichten. Die in dieser LIZENZ dargelegten Beschränkungen der Gewährleistung und Haftung bleiben auch nach Beendigung des Nutzungsvertrages in Kraft. 


ZUSTIMMUNG ZU DIESER LIZENZVEREINBARUNG 
Durch das Herunterladen und / oder Installation dieser Software, stimmt der Nutzer den Bedingungen dieser LIZENZ vollinhaltlich zu. 

GEWÄHRLEISTUNG UND HAFTUNG 
Diese Software und Ihre Dokumentation wird "wie sie ist" und ohne besondere Eigenschaften oder Gewährleistungen jeglicher Art zur Verfügung gestellt, ob ausdrücklich oder stillschweigend. Ausschließlich der Nutzer haftet für Folgen der Benutzung dieser Software. OEKOBITS ~GmbH übernimmt keinerlei Haftung für jedwede Schäden des Nutzers oder Dritter, die aus direktem oder indirektem Einsatz der Software oder der Dokumentation entstehen. Uneingeschränkt ausgeschlossen ist die Haftung für Schäden aus entgangenem Gewinn, 
Betriebsunterbrechung, Verlust oder Beschädigung von Informationen und Daten und Schäden an anderer Software, auch wenn diese OEKOBITS ~GmbH bekannt sein sollten. OEKOBITS ~GmbH leistet keine weiteren Garantien für die Software und den schriftlichen Begleitmaterialien, entweder ausdrücklich oder stillschweigend. 
Ebenso leistet OEKOBITS ~GmbH keine Garantien auf Zusicherung allgemeiner Gebrauchstauglichkeit und Eignung für einen bestimmten Zweck. Jegliche Haftung von OEKOBITS ~GmbH wird ausschließlich limitiert auf Nachbesserung des Produkts.

SONSTIGE EINSCHRÄNKUNGEN 
Der Benutzer darf die SOFTWARE nicht vermieten, verpachten, lizenzieren, übersetzen, disassemblieren, Reverse Engineering oder dekompilieren. Der Nutzer darf die SOFTWARE nicht ändern oder einen Teil der SOFTWARE in einem anderen Programm verwenden. 
Diese LIZENZ darf ohne die vorherige schriftliche Zustimmung von OEKOBITS ~GmbH nicht abgetreten oder anderweitig übertragen werden. 

UNGÜLTIGE BESTIMMUNGEN 
Sollte eine Bestimmung dieser LIZENZ unwirksam oder nicht durchsetzbar sein, wird die Wirksamkeit der übrigen Bestimmungen davon nicht berührt und wirken soweit dies gesetzlich zulässig ist. In einem solchen Fall ist anstelle einer unwirksamen Bestimmung dieser LIZENZ eine dieser Bestimmung möglichst nahekommenden wirksamen Regelung zu treffen.

GESAMTE VEREINBARUNG 
Diese LIZENZ stellt die gesamte Vereinbarung zwischen OEKOBITS ~GmbH und dem Nutzer dar, und ersetzt alle anderen Vereinbarungen, mündlicher oder schriftlicher Form und kann nur durch eine schriftliche unterzeichnete Vereinbarung geändert werden.
/***
|''Name:''|LoadRemoteFileThroughProxy (previous LoadRemoteFileHijack)|
|''Description:''|When the TiddlyWiki file is located on the web (view over http) the content of [[SiteProxy]] tiddler is added in front of the file url. If [[SiteProxy]] does not exist "/proxy/" is added. |
|''Version:''|1.1.0|
|''Date:''|mar 17, 2007|
|''Source:''|http://tiddlywiki.bidix.info/#LoadRemoteFileHijack|
|''Author:''|BidiX (BidiX (at) bidix (dot) info)|
|''License:''|[[BSD open source license|http://tiddlywiki.bidix.info/#%5B%5BBSD%20open%20source%20license%5D%5D ]]|
|''~CoreVersion:''|2.2.0|
***/
//{{{
version.extensions.LoadRemoteFileThroughProxy = {
 major: 1, minor: 1, revision: 0, 
 date: new Date("mar 17, 2007"), 
 source: "http://tiddlywiki.bidix.info/#LoadRemoteFileThroughProxy"};

if (!window.bidix) window.bidix = {}; // bidix namespace
if (!bidix.core) bidix.core = {};

bidix.core.loadRemoteFile = loadRemoteFile;
loadRemoteFile = function(url,callback,params)
{
 if ((document.location.toString().substr(0,4) == "http") && (url.substr(0,4) == "http")){ 
 url = store.getTiddlerText("SiteProxy", "/proxy/") + url;
 }
 return bidix.core.loadRemoteFile(url,callback,params);
}
//}}}
Die MD5-Prüfsumme dient der Prüfung auf Echtheit einer Datei. Zum Testen kann zB das ''kostenlose Tool [[hasher|http://www.den4b.com/projects/Hasher/Hasher.zip]]'' ~~([[Quelle:http://www.den4b.com/projects.php|http://www.den4b.com/projects.php]])~~  verwendet werden. 
!Microsoft Data Access Components (MDAC) 2.8 ~SP1 
Das Programm installiert MDAC 2.8 ~SP1 und enthält dieselben Data ~Access-Komponenten, die auch Bestandteil von Microsoft Windows XP ~SP2 sind.

''[[Download von www.microsoft.com|http://www.microsoft.com/downloads/details.aspx?familyid=78CAC895-EFC2-4F8E-A9E0-3A1AFBD5922E&displaylang=de]]''
<html>
<iframe src="http://spreadsheets.google.com/embeddedform?key=pau3vVvC9U2pcIhmA-p3WPw" width="720" height="650" frameborder="0" marginheight="0" marginwidth="0">Laden...</iframe>
</html>
[[über eADok]] [[Programm]] [[Downloads]] [[Mailinglist|Mailinglist eADok]] [[UserGroup]] [[Anregungen/Fehler|Anregungen und Fehler melden]] <<tiddlerbox "Optionen" "Optionen" "Ansicht von eadok.tiddlyspot.com" 300 200>>
 <<search>> <<tiddlerbox "Impressum" "Impressum" "Impressum" 500 300>>
Max Kraml, [[Land Salzburg - Referat Abfallwirtschaft und Umweltrecht|http://www.salzburg.gv.at/20501]]
$$
!!Installation
Die [[Mustervorlage|http://eadok.at/vorlagen.txt]] mit Rechtsklick downloaden und ins [[UVZ]] "res" von eADok speichern.

''zu beachten'':
Eine allenfalls bereits bestehende Vorlagedatei "vorlage.txt" wird damit überschrieben!
!!Verwenden der Vorlage:
Die Vorlage steht in der BS/~LS-Verwaltung sofort zur Verfügung.

Weitere Hinweise zu Verwendung: [[Verwenden von Vorlagen]]
/***
|Name|NestedSlidersPlugin|
|Source|http://www.TiddlyTools.com/#NestedSlidersPlugin|
|Documentation|http://www.TiddlyTools.com/#NestedSlidersPluginInfo|
|Version|2.4.9|
|Author|Eric Shulman|
|License|http://www.TiddlyTools.com/#LegalStatements|
|~CoreVersion|2.1|
|Type|plugin|
|Description|show content in nest-able sliding/floating panels, without creating separate tiddlers for each panel's content|
!!!!!Documentation
>see [[NestedSlidersPluginInfo]]
!!!!!Configuration
<<<
<<option chkFloatingSlidersAnimate>> allow floating sliders to animate when opening/closing
>Note: This setting can cause 'clipping' problems in some versions of InternetExplorer.
>In addition, for floating slider animation to occur you must also allow animation in general (see [[AdvancedOptions]]).
<<<
!!!!!Revisions
<<<
2008.11.15 - 2.4.9 in adjustNestedSlider(), don't make adjustments if panel is marked as 'undocked' (CSS class).  In onClickNestedSlider(), SHIFT-CLICK docks panel (see [[MoveablePanelPlugin]])
|please see [[NestedSlidersPluginInfo]] for additional revision details|
2005.11.03 - 1.0.0 initial public release.  Thanks to RodneyGomes, GeoffSlocock, and PaulPetterson for suggestions and experiments.
<<<
!!!!!Code
***/
//{{{
version.extensions.NestedSlidersPlugin= {major: 2, minor: 4, revision: 9, date: new Date(2008,11,15)};

// options for deferred rendering of sliders that are not initially displayed
if (config.options.chkFloatingSlidersAnimate===undefined)
	config.options.chkFloatingSlidersAnimate=false; // avoid clipping problems in IE

// default styles for 'floating' class
setStylesheet(".floatingPanel { position:absolute; z-index:10; padding:0.5em; margin:0em; \
	background-color:#eee; color:#000; border:1px solid #000; text-align:left; }","floatingPanelStylesheet");

// if removeCookie() function is not defined by TW core, define it here.
if (window.removeCookie===undefined) {
	window.removeCookie=function(name) {
		document.cookie = name+'=; expires=Thu, 01-Jan-1970 00:00:01 UTC; path=/;'; 
	}
}

config.formatters.push( {
	name: "nestedSliders",
	match: "\\n?\\+{3}",
	terminator: "\\s*\\={3}\\n?",
	lookahead: "\\n?\\+{3}(\\+)?(\\([^\\)]*\\))?(\\!*)?(\\^(?:[^\\^\\*\\@\\[\\>]*\\^)?)?(\\*)?(\\@)?(?:\\{\\{([\\w]+[\\s\\w]*)\\{)?(\\[[^\\]]*\\])?(\\[[^\\]]*\\])?(?:\\}{3})?(\\#[^:]*\\:)?(\\>)?(\\.\\.\\.)?\\s*",
	handler: function(w)
		{
			lookaheadRegExp = new RegExp(this.lookahead,"mg");
			lookaheadRegExp.lastIndex = w.matchStart;
			var lookaheadMatch = lookaheadRegExp.exec(w.source)
			if(lookaheadMatch && lookaheadMatch.index == w.matchStart)
			{
				var defopen=lookaheadMatch[1];
				var cookiename=lookaheadMatch[2];
				var header=lookaheadMatch[3];
				var panelwidth=lookaheadMatch[4];
				var transient=lookaheadMatch[5];
				var hover=lookaheadMatch[6];
				var buttonClass=lookaheadMatch[7];
				var label=lookaheadMatch[8];
				var openlabel=lookaheadMatch[9];
				var panelID=lookaheadMatch[10];
				var blockquote=lookaheadMatch[11];
				var deferred=lookaheadMatch[12];

				// location for rendering button and panel
				var place=w.output;

				// default to closed, no cookie, no accesskey, no alternate text/tip
				var show="none"; var cookie=""; var key="";
				var closedtext=">"; var closedtip="";
				var openedtext="<"; var openedtip="";

				// extra "+", default to open
				if (defopen) show="block";

				// cookie, use saved open/closed state
				if (cookiename) {
					cookie=cookiename.trim().slice(1,-1);
					cookie="chkSlider"+cookie;
					if (config.options[cookie]==undefined)
						{ config.options[cookie] = (show=="block") }
					show=config.options[cookie]?"block":"none";
				}

				// parse label/tooltip/accesskey: [label=X|tooltip]
				if (label) {
					var parts=label.trim().slice(1,-1).split("|");
					closedtext=parts.shift();
					if (closedtext.substr(closedtext.length-2,1)=="=")	
						{ key=closedtext.substr(closedtext.length-1,1); closedtext=closedtext.slice(0,-2); }
					openedtext=closedtext;
					if (parts.length) closedtip=openedtip=parts.join("|");
					else { closedtip="show "+closedtext; openedtip="hide "+closedtext; }
				}

				// parse alternate label/tooltip: [label|tooltip]
				if (openlabel) {
					var parts=openlabel.trim().slice(1,-1).split("|");
					openedtext=parts.shift();
					if (parts.length) openedtip=parts.join("|");
					else openedtip="hide "+openedtext;
				}

				var title=show=='block'?openedtext:closedtext;
				var tooltip=show=='block'?openedtip:closedtip;

				// create the button
				if (header) { // use "Hn" header format instead of button/link
					var lvl=(header.length>5)?5:header.length;
					var btn = createTiddlyElement(createTiddlyElement(place,"h"+lvl,null,null,null),"a",null,buttonClass,title);
					btn.onclick=onClickNestedSlider;
					btn.setAttribute("href","javascript:;");
					btn.setAttribute("title",tooltip);
				}
				else
					var btn = createTiddlyButton(place,title,tooltip,onClickNestedSlider,buttonClass);
				btn.innerHTML=title; // enables use of HTML entities in label

				// set extra button attributes
				btn.setAttribute("closedtext",closedtext);
				btn.setAttribute("closedtip",closedtip);
				btn.setAttribute("openedtext",openedtext);
				btn.setAttribute("openedtip",openedtip);
				btn.sliderCookie = cookie; // save the cookiename (if any) in the button object
				btn.defOpen=defopen!=null; // save default open/closed state (boolean)
				btn.keyparam=key; // save the access key letter ("" if none)
				if (key.length) {
					btn.setAttribute("accessKey",key); // init access key
					btn.onfocus=function(){this.setAttribute("accessKey",this.keyparam);}; // **reclaim** access key on focus
				}
				btn.setAttribute("hover",hover?"true":"false");
				btn.onmouseover=function(ev) {
					// optional 'open on hover' handling
					if (this.getAttribute("hover")=="true" && this.sliderPanel.style.display=='none') {
						document.onclick.call(document,ev); // close transients
						onClickNestedSlider(ev); // open this slider
					}
					// mouseover on button aligns floater position with button
					if (window.adjustSliderPos) window.adjustSliderPos(this.parentNode,this,this.sliderPanel);
				}

				// create slider panel
				var panelClass=panelwidth?"floatingPanel":"sliderPanel";
				if (panelID) panelID=panelID.slice(1,-1); // trim off delimiters
				var panel=createTiddlyElement(place,"div",panelID,panelClass,null);
				panel.button = btn; // so the slider panel know which button it belongs to
				btn.sliderPanel=panel; // so the button knows which slider panel it belongs to
				panel.defaultPanelWidth=(panelwidth && panelwidth.length>2)?panelwidth.slice(1,-1):"";
				panel.setAttribute("transient",transient=="*"?"true":"false");
				panel.style.display = show;
				panel.style.width=panel.defaultPanelWidth;
				panel.onmouseover=function(event) // mouseover on panel aligns floater position with button
					{ if (window.adjustSliderPos) window.adjustSliderPos(this.parentNode,this.button,this); }

				// render slider (or defer until shown) 
				w.nextMatch = lookaheadMatch.index + lookaheadMatch[0].length;
				if ((show=="block")||!deferred) {
					// render now if panel is supposed to be shown or NOT deferred rendering
					w.subWikify(blockquote?createTiddlyElement(panel,"blockquote"):panel,this.terminator);
					// align floater position with button
					if (window.adjustSliderPos) window.adjustSliderPos(place,btn,panel);
				}
				else {
					var src = w.source.substr(w.nextMatch);
					var endpos=findMatchingDelimiter(src,"+++","===");
					panel.setAttribute("raw",src.substr(0,endpos));
					panel.setAttribute("blockquote",blockquote?"true":"false");
					panel.setAttribute("rendered","false");
					w.nextMatch += endpos+3;
					if (w.source.substr(w.nextMatch,1)=="\n") w.nextMatch++;
				}
			}
		}
	}
)

function findMatchingDelimiter(src,starttext,endtext) {
	var startpos = 0;
	var endpos = src.indexOf(endtext);
	// check for nested delimiters
	while (src.substring(startpos,endpos-1).indexOf(starttext)!=-1) {
		// count number of nested 'starts'
		var startcount=0;
		var temp = src.substring(startpos,endpos-1);
		var pos=temp.indexOf(starttext);
		while (pos!=-1)  { startcount++; pos=temp.indexOf(starttext,pos+starttext.length); }
		// set up to check for additional 'starts' after adjusting endpos
		startpos=endpos+endtext.length;
		// find endpos for corresponding number of matching 'ends'
		while (startcount && endpos!=-1) {
			endpos = src.indexOf(endtext,endpos+endtext.length);
			startcount--;
		}
	}
	return (endpos==-1)?src.length:endpos;
}
//}}}
//{{{
window.onClickNestedSlider=function(e)
{
	if (!e) var e = window.event;
	var theTarget = resolveTarget(e);
	while (theTarget && theTarget.sliderPanel==undefined) theTarget=theTarget.parentNode;
	if (!theTarget) return false;
	var theSlider = theTarget.sliderPanel;
	var isOpen = theSlider.style.display!="none";

	// if SHIFT-CLICK, dock panel first (see [[MoveablePanelPlugin]])
	if (e.shiftKey && config.macros.moveablePanel) config.macros.moveablePanel.dock(theSlider,e);

	// toggle label
	theTarget.innerHTML=isOpen?theTarget.getAttribute("closedText"):theTarget.getAttribute("openedText");
	// toggle tooltip
	theTarget.setAttribute("title",isOpen?theTarget.getAttribute("closedTip"):theTarget.getAttribute("openedTip"));

	// deferred rendering (if needed)
	if (theSlider.getAttribute("rendered")=="false") {
		var place=theSlider;
		if (theSlider.getAttribute("blockquote")=="true")
			place=createTiddlyElement(place,"blockquote");
		wikify(theSlider.getAttribute("raw"),place);
		theSlider.setAttribute("rendered","true");
	}

	// show/hide the slider
	if(config.options.chkAnimate && (!hasClass(theSlider,'floatingPanel') || config.options.chkFloatingSlidersAnimate))
		anim.startAnimating(new Slider(theSlider,!isOpen,e.shiftKey || e.altKey,"none"));
	else
		theSlider.style.display = isOpen ? "none" : "block";

	// reset to default width (might have been changed via plugin code)
	theSlider.style.width=theSlider.defaultPanelWidth;

	// align floater panel position with target button
	if (!isOpen && window.adjustSliderPos) window.adjustSliderPos(theSlider.parentNode,theTarget,theSlider);

	// if showing panel, set focus to first 'focus-able' element in panel
	if (theSlider.style.display!="none") {
		var ctrls=theSlider.getElementsByTagName("*");
		for (var c=0; c<ctrls.length; c++) {
			var t=ctrls[c].tagName.toLowerCase();
			if ((t=="input" && ctrls[c].type!="hidden") || t=="textarea" || t=="select")
				{ try{ ctrls[c].focus(); } catch(err){;} break; }
		}
	}
	var cookie=theTarget.sliderCookie;
	if (cookie && cookie.length) {
		config.options[cookie]=!isOpen;
		if (config.options[cookie]!=theTarget.defOpen) window.saveOptionCookie(cookie);
		else window.removeCookie(cookie); // remove cookie if slider is in default display state
	}

	// prevent SHIFT-CLICK from being processed by browser (opens blank window... yuck!)
	// prevent clicks *within* a slider button from being processed by browser
	// but allow plain click to bubble up to page background (to close transients, if any)
	if (e.shiftKey || theTarget!=resolveTarget(e))
		{ e.cancelBubble=true; if (e.stopPropagation) e.stopPropagation(); }
	Popup.remove(); // close open popup (if any)
	return false;
}
//}}}
//{{{
// click in document background closes transient panels 
document.nestedSliders_savedOnClick=document.onclick;
document.onclick=function(ev) { if (!ev) var ev=window.event; var target=resolveTarget(ev);

	if (document.nestedSliders_savedOnClick)
		var retval=document.nestedSliders_savedOnClick.apply(this,arguments);
	// if click was inside a popup... leave transient panels alone
	var p=target; while (p) if (hasClass(p,"popup")) break; else p=p.parentNode;
	if (p) return retval;
	// if click was inside transient panel (or something contained by a transient panel), leave it alone
	var p=target; while (p) {
		if ((hasClass(p,"floatingPanel")||hasClass(p,"sliderPanel"))&&p.getAttribute("transient")=="true") break;
		p=p.parentNode;
	}
	if (p) return retval;
	// otherwise, find and close all transient panels...
	var all=document.all?document.all:document.getElementsByTagName("DIV");
	for (var i=0; i<all.length; i++) {
		 // if it is not a transient panel, or the click was on the button that opened this panel, don't close it.
		if (all[i].getAttribute("transient")!="true" || all[i].button==target) continue;
		// otherwise, if the panel is currently visible, close it by clicking it's button
		if (all[i].style.display!="none") window.onClickNestedSlider({target:all[i].button})
		if (!hasClass(all[i],"floatingPanel")&&!hasClass(all[i],"sliderPanel")) all[i].style.display="none";
	}
	return retval;
};
//}}}
//{{{
// adjust floating panel position based on button position
if (window.adjustSliderPos==undefined) window.adjustSliderPos=function(place,btn,panel) {
	if (hasClass(panel,"floatingPanel") && !hasClass(panel,"undocked")) {
		// see [[MoveablePanelPlugin]] for use of 'undocked'
		var rightEdge=document.body.offsetWidth-1;
		var panelWidth=panel.offsetWidth;
		var left=0;
		var top=btn.offsetHeight; 
		if (place.style.position=="relative" && findPosX(btn)+panelWidth>rightEdge) {
			left-=findPosX(btn)+panelWidth-rightEdge; // shift panel relative to button
			if (findPosX(btn)+left<0) left=-findPosX(btn); // stay within left edge
		}
		if (place.style.position!="relative") {
			var left=findPosX(btn);
			var top=findPosY(btn)+btn.offsetHeight;
			var p=place; while (p && !hasClass(p,'floatingPanel')) p=p.parentNode;
			if (p) { left-=findPosX(p); top-=findPosY(p); }
			if (left+panelWidth>rightEdge) left=rightEdge-panelWidth;
			if (left<0) left=0;
		}
		panel.style.left=left+"px"; panel.style.top=top+"px";
	}
}
//}}}
//{{{
// TW2.1 and earlier:
// hijack Slider stop handler so overflow is visible after animation has completed
Slider.prototype.coreStop = Slider.prototype.stop;
Slider.prototype.stop = function()
	{ this.coreStop.apply(this,arguments); this.element.style.overflow = "visible"; }

// TW2.2+
// hijack Morpher stop handler so sliderPanel/floatingPanel overflow is visible after animation has completed
if (version.major+.1*version.minor+.01*version.revision>=2.2) {
	Morpher.prototype.coreStop = Morpher.prototype.stop;
	Morpher.prototype.stop = function() {
		this.coreStop.apply(this,arguments);
		var e=this.element;
		if (hasClass(e,"sliderPanel")||hasClass(e,"floatingPanel")) {
			// adjust panel overflow and position after animation
			e.style.overflow = "visible";
			if (window.adjustSliderPos) window.adjustSliderPos(e.parentNode,e.button,e);
		}
	};
}
//}}}
/***
|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;
 }
 }
};

//}}}
Anforderungsfomular für Onlinesupport (noch nicht implementiert)


$$
<<option chkAnimate>> Animationen aktivieren
<<option chkSinglePageMode>> jeweils nur ein Eintrag
<<option chkToggleLinks>> Klick auf geöffnete Tiddler läßt diese schließen
<<option chkTopOfPageMode>> Neuen Eintrag oben

<<fontSize Schriftgröße: >>

<<permaview>>

<<tiddlerbox "SiteMap" "SiteMap" "Übersicht über eadok.tiddlyspot.com" 300 400>>

<<closeAll>>

[[.|Configuration]]
<!---
I've just tweaked my gradient colours and the topMenu bit. See HorizontalMainMenu.
--->
<!--{{{-->
<div class='header' macro='gradient vert #000 #069'>
<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 id='topMenu' refresh='content' tiddler='MainMenu'></div>
</div>
<div id='sidebar'>

<div macro="showWhen readOnly">
 <!-- cut-down sidebar for web users -->
 <div id='sidebarOptions' refresh='content' tiddler='SideBarOptions'></div>
 </div>
 <div macro="hideWhen readOnly">
 <!-- regular sidebar for me -->
 <div id='sidebarOptions' refresh='content' tiddler='SideBarOptions'></div>
 <div id='sidebarTabs' refresh='content' force='true' tiddler='SideBarTabs'></div>
 </div>
</div>
<div id='displayArea'>
<div id='messageArea'></div>
<div id='tiddlerDisplay'></div>
</div>
<!--}}}-->
PasswordOptionPlugin extends the core Options with a non encrypted password type.

Notice:
*How a style can be specified for a specific option in StyleSheet

----
Test Password: <<option pasPassword myPasOptionInput >>
/***
|''Name:''|PasswordOptionPlugin|
|''Description:''|Extends TiddlyWiki options with non encrypted password option.|
|''Version:''|1.0.2|
|''Date:''|Apr 19, 2007|
|''Source:''|http://tiddlywiki.bidix.info/#PasswordOptionPlugin|
|''Author:''|BidiX (BidiX (at) bidix (dot) info)|
|''License:''|[[BSD open source license|http://tiddlywiki.bidix.info/#%5B%5BBSD%20open%20source%20license%5D%5D ]]|
|''~CoreVersion:''|2.2.0 (Beta 5)|
***/
//{{{
version.extensions.PasswordOptionPlugin = {
	major: 1, minor: 0, revision: 2, 
	date: new Date("Apr 19, 2007"),
	source: 'http://tiddlywiki.bidix.info/#PasswordOptionPlugin',
	author: 'BidiX (BidiX (at) bidix (dot) info',
	license: '[[BSD open source license|http://tiddlywiki.bidix.info/#%5B%5BBSD%20open%20source%20license%5D%5D]]',
	coreVersion: '2.2.0 (Beta 5)'
};

config.macros.option.passwordCheckboxLabel = "Save this password on this computer";
config.macros.option.passwordInputType = "password"; // password | text
setStylesheet(".pasOptionInput {width: 11em;}\n","passwordInputTypeStyle");

merge(config.macros.option.types, {
	'pas': {
		elementType: "input",
		valueField: "value",
		eventName: "onkeyup",
		className: "pasOptionInput",
		typeValue: config.macros.option.passwordInputType,
		create: function(place,type,opt,className,desc) {
			// password field
			config.macros.option.genericCreate(place,'pas',opt,className,desc);
			// checkbox linked with this password "save this password on this computer"
			config.macros.option.genericCreate(place,'chk','chk'+opt,className,desc);			
			// text savePasswordCheckboxLabel
			place.appendChild(document.createTextNode(config.macros.option.passwordCheckboxLabel));
		},
		onChange: config.macros.option.genericOnChange
	}
});

merge(config.optionHandlers['chk'], {
	get: function(name) {
		// is there an option linked with this chk ?
		var opt = name.substr(3);
		if (config.options[opt]) 
			saveOptionCookie(opt);
		return config.options[name] ? "true" : "false";
	}
});

merge(config.optionHandlers, {
	'pas': {
 		get: function(name) {
			if (config.options["chk"+name]) {
				return encodeCookie(config.options[name].toString());
			} else {
				return "";
			}
		},
		set: function(name,value) {config.options[name] = decodeCookie(value);}
	}
});

// need to reload options to load passwordOptions
loadOptionsCookie();

/*
if (!config.options['pasPassword'])
	config.options['pasPassword'] = '';

merge(config.optionsDesc,{
		pasPassword: "Test password"
	});
*/
//}}}
/***
|''Name:''|PasswordOptionPlugin|
|''Description:''|Extends TiddlyWiki options with non encrypted password option.|
|''Version:''|1.0.2|
|''Date:''|Apr 19, 2007|
|''Source:''|http://tiddlywiki.bidix.info/#PasswordOptionPlugin|
|''Author:''|BidiX (BidiX (at) bidix (dot) info)|
|''License:''|[[BSD open source license|http://tiddlywiki.bidix.info/#%5B%5BBSD%20open%20source%20license%5D%5D ]]|
|''~CoreVersion:''|2.2.0 (Beta 5)|
***/
//{{{
version.extensions.PasswordOptionPlugin = {
	major: 1, minor: 0, revision: 2, 
	date: new Date("Apr 19, 2007"),
	source: 'http://tiddlywiki.bidix.info/#PasswordOptionPlugin',
	author: 'BidiX (BidiX (at) bidix (dot) info',
	license: '[[BSD open source license|http://tiddlywiki.bidix.info/#%5B%5BBSD%20open%20source%20license%5D%5D]]',
	coreVersion: '2.2.0 (Beta 5)'
};

config.macros.option.passwordCheckboxLabel = "Save this password on this computer";
config.macros.option.passwordInputType = "password"; // password | text
setStylesheet(".pasOptionInput {width: 11em;}\n","passwordInputTypeStyle");

merge(config.macros.option.types, {
	'pas': {
		elementType: "input",
		valueField: "value",
		eventName: "onkeyup",
		className: "pasOptionInput",
		typeValue: config.macros.option.passwordInputType,
		create: function(place,type,opt,className,desc) {
			// password field
			config.macros.option.genericCreate(place,'pas',opt,className,desc);
			// checkbox linked with this password "save this password on this computer"
			config.macros.option.genericCreate(place,'chk','chk'+opt,className,desc);			
			// text savePasswordCheckboxLabel
			place.appendChild(document.createTextNode(config.macros.option.passwordCheckboxLabel));
		},
		onChange: config.macros.option.genericOnChange
	}
});

merge(config.optionHandlers['chk'], {
	get: function(name) {
		// is there an option linked with this chk ?
		var opt = name.substr(3);
		if (config.options[opt]) 
			saveOptionCookie(opt);
		return config.options[name] ? "true" : "false";
	}
});

merge(config.optionHandlers, {
	'pas': {
 		get: function(name) {
			if (config.options["chk"+name]) {
				return encodeCookie(config.options[name].toString());
			} else {
				return "";
			}
		},
		set: function(name,value) {config.options[name] = decodeCookie(value);}
	}
});

// need to reload options to load passwordOptions
loadOptionsCookie();

/*
if (!config.options['pasPassword'])
	config.options['pasPassword'] = '';

merge(config.optionsDesc,{
		pasPassword: "Test password"
	});
*/
//}}}
http://eadok.tiddlyspot.com/index.html#eADok%20[[Hotfix%202%20f%C3%BCr%20Version%201.10]]%20[[%C3%BCber%20eADok]]%20Lizenzbestimmungen%20[[Version%201.10%20%20%287%2F2009%29]]%20Installation%20Downloads%20MD5-Pr%C3%BCfsumme%20Programm%20[[Verwenden%20von%20Vorlagen]]%20[[Begleitschein%C3%BCbermittlung%20an%20das%20Lebensministerium]]%20Bilanz-Import-eADok%20[[Erfassung%20in%20Bilanz-Import-eADok.xls]]%20FAQ%20Impressum
[[GLN]] zur Identifikation einer Person
+++!!![Installation...|Anklicken zum Ausklappen...]>...
<<tiddler [[Installation von eADok]]>>
===
+++!!![Programmstart...|Anklicken zum Ausklappen...]>...
<<tiddler [[Programmstart von eADok]]>>
===
+++!!![Grundeinstellungen...|Anklicken zum Ausklappen...]>...
<<tiddler [[Grundeinstellungen von eADok]]>>
===
+++!!![Kundenverwaltung...|Anklicken zum Ausklappen...]>...
<<tiddler [[Kundenverwaltung]]>>
===
+++!!![Import GLN aus dem EDM - eRAS...|Anklicken zum Ausklappen...]>...
<<tiddler [[Import GLN aus dem EDM - eRAS]]>>

===
+++!!![Übersicht Begleitschein- und Lieferscheinverwaltung...|Anklicken zum Ausklappen...]>...
<<tiddler [[Übersicht Begleitschein- und Lieferscheinverwaltung]]>>
===
+++!!![Begleitscheinverwaltung...|Anklicken zum Ausklappen...]>...
<<tiddler [[Begleitscheinverwaltung]]>>
===
+++!!![Begleitschein-/Lieferschein- vorlagen...|Anklicken zum Ausklappen...]>...
<<tiddler [[Verwenden von Vorlagen]]>>
===
+++!!![Anleitung für die Buchungsart "Streckengeschäft"...|Anklicken zum Ausklappen...]>...
<<tiddler [[Anleitung für die Buchungsart "Streckengeschäft"]]>>
===
+++!!![Begleitscheinübermittlung an das Lebensministerium...|Anklicken zum Ausklappen...]>...
<<tiddler [[Begleitscheinübermittlung an das Lebensministerium]]>>
===
+++!!![Begleitscheinsuche...|Anklicken zum Ausklappen...]>...
<<tiddler [[Begleitscheine suchen]]>>
===
+++!!![Druck von Blanko-Begleitscheinen...|Anklicken zum Ausklappen...]>...
<<tiddler [[Druck von Blanko-Begleitscheinen]]>>
===
+++!!![Lieferscheinverwaltung...|Anklicken zum Ausklappen...]>...
!Lieferscheinverwaltung
<<tiddler [[Lieferscheinverwaltung]]>>
===
+++!!![Vereinfachte Aufzeichnungen...|Anklicken zum Ausklappen...]>...
<<tiddler [[Vereinfachte Aufzeichnungen]]>> 
===
+++!!![Anlagenverwaltung (nur für Sammler/Behandler)...|Anklicken zum Ausklappen...]>...
<<tiddler [[Anlagenverwaltung]]>>
===
+++!!![Lagerstandsverwaltung (nur für Sammler/Behandler)...|Anklicken zum Ausklappen...]>...
<<tiddler [[Lagerstandsverwaltung]]>>
===
+++!!![Bilanzerstellung (nur für Sammler/Behandler)...|Anklicken zum Ausklappen...]>...
<<tiddler [[Anleitung zur Erstellung und Upload einer Jahresabfallbilanz]]>>
===
+++!!![Meldungen gemäß Altfahrzeugeverordnung ...|Anklicken zum Ausklappen...]>...
<<tiddler [[eAFZ-Verwaltung]]>>
===
+++!!![Erstellung von ADR-Transport-Dokumenten im Begleitscheinformular ...|Anklicken zum Ausklappen...]>...
<<tiddler [[Erstellung von ADR-Transport-Dokumenten im Begleitscheinformular]]>>
===
+++!!![Erstellung von "Grüne Liste" Dokumenten im Lieferschein ...|Anklicken zum Ausklappen...]>...
<<tiddler [[Erstellung von "Grüne Liste" Dokumenten im Lieferschein]]>>
===
+++!!![Sonstige Daten...|Anklicken zum Ausklappen...]>...
<<tiddler [[Sonstige Daten]]>>
===

[[Weitere Entwicklung und History]]
!Programmstart

Zum Starten von eADok bitte die Datei ''eADok.exe'' ausführen.

Beim ersten Start werden Sie aufgefordert, die ~Ablagen-Ordner (= Speicherorte für xml-Dokumente) anlegen zu lassen.
Bestätigen Sie, wenn die ~Ablagen-Ordner automatisch in Unterverzeichnissen des ~Applikations-Stammordners angelegt werden sollen. Ansonsten kann diese Konfiguration auch später manuell in den Einstellungen vorgenommen werden.

Weiters werden Sie aufgefordert, Ihren eigenen Betrieb als Benutzer von eADok zu identifizieren
[img[Fehlende Identifikation|http://www.eadok.at/pics/ba4kikr5s6355z10g.jpg]]
/***
| Name:|QuickOpenTagPlugin|
| Purpose:|Makes tag links into a Taggly style open tag plus a normal style drop down menu|
| Creator:|SimonBaird|
| Source:|http://simonbaird.com/mptw/#QuickOpenTagPlugin|
| Requires:|TW 2.x|
| Version|1.1 (7-Feb-06)|

!History
* Version 1.1 (07/02/2006)
** Fix Firefox 1.5.0.1 crashes
** Updated by ~BidiX[at]~BidiX.info
* Version 1.0 (?/01/2006)
** First release

***/
//{{{

//⊻ ⊽ ⋁ ▼ 

window.createTagButton_orig_mptw = createTagButton;
window.createTagButton = function(place,tag,excludeTiddler) {
 var sp = createTiddlyElement(place,"span",null,"quickopentag");
 createTiddlyLink(sp,tag,true,"button");
 var theTag = createTiddlyButton(sp,config.macros.miniTag.dropdownchar,config.views.wikified.tag.tooltip.format([tag]),onClickTag);
 theTag.setAttribute("tag",tag);
 if(excludeTiddler)
 theTag.setAttribute("tiddler",excludeTiddler);
 return(theTag);
};

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

config.macros.miniTag.dropdownchar = (document.all?"▼":"▾"); // the fat one is the only one that works in IE

config.macros.allTags.handler = function(place,macroName,params)
{
 var tags = store.getTags();
 var theDateList = createTiddlyElement(place,"ul",null,null,null);
 if(tags.length === 0)
 createTiddlyElement(theDateList,"li",null,"listTitle",this.noTags);
 for (var t=0; t<tags.length; t++)
 {
 var theListItem =createTiddlyElement(theDateList,"li",null,null,null);
 var theLink = createTiddlyLink(theListItem,tags[t][0],true);
 var theCount = " (" + tags[t][1] + ")";
 theLink.appendChild(document.createTextNode(theCount));

 var theDropDownBtn = createTiddlyButton(theListItem," "+config.macros.miniTag.dropdownchar,this.tooltip.format([tags[t][0]]),onClickTag);
 theDropDownBtn.setAttribute("tag",tags[t][0]);
 }
};


setStylesheet(
 ".quickopentag { margin-right:1.2em; border:1px solid #eee; padding:2px; padding-right:0px; padding-left:1px; }\n"+
 ".quickopentag .tiddlyLink { padding:2px; padding-left:3px; }\n"+
 ".quickopentag a.button { padding:1px; padding-left:2px; padding-right:2px;}\n"+
 "a.miniTag {font-size:150%;}\n"+
 "",
"QuickOpenTagStyles");

//}}}

/***
<html>&#x22bb; &#x22bd; &#x22c1; &#x25bc; &#x25be;</html>
***/
Viele Seiten im Internet (wie auch diese) bieten Informationen über Aktualisierungen mit Hilfe von sog. ~RSS-Feeds an. meist erkennbar mit diesem Symbol:
[img[http://www.eadok.at/feed-icon-28x28.png]]
Zum Abonnieren von ~RSS- oder ~News-Feeds benötigt man entweder einen lokalen Feedreader (zB [[FeedReader|http://www.feedreader.com]]) oder einen ~Online-Dienst wie [[feedly.com|http://www.feedly.com/]]. Diese Tools durchsuchen die abonnierten Seiten und zeigen die jeweiligen Änderungen übersichtlich in einem Fenster an.
 if (config.options.txtUserName!="MaxKraml") {
   readOnly=true;
   showBackstage=false;
} 
//{{{

// adapted from: http://www.cs.utexas.edu/~joeraii/dragn/#Draggable
// changes by ELS:
// * hijack refreshTiddler() instead of overridding createTiddler()
// * find title element by className instead of elementID
// * set cursor style via code instead of stylesheet
// * set tooltip help text
// * set tiddler "position:relative" when starting drag event, restore saved value when drag ends

// * update 2006.08.07: use getElementsByTagName("*") to find title element, even when it is 'buried' deep in tiddler DOM elements (due to custom template usage)

Story.prototype.rearrangeTiddlersHijack_refreshTiddler = Story.prototype.refreshTiddler;
Story.prototype.refreshTiddler = function(title,template,unused1,unused2,unused3,unused4,unused5)
{
 this.rearrangeTiddlersHijack_refreshTiddler(title,template,unused1,unused2,unused3,unused4,unused5);
 var theTiddler = document.getElementById(this.idPrefix + title); if (!theTiddler) return;
 var theHandle;
 var children=theTiddler.getElementsByTagName("*");
 for (var i=0; i<children.length; i++) if (hasClass(children[i],"title")) { theHandle=children[i]; break; }
 if (!theHandle) return theTiddler;

 Drag.init(theHandle, theTiddler, 0, 0, null, null);
 theHandle.style.cursor="move";
 theHandle.title="drag title to re-arrange tiddlers"
 theTiddler.onDrag = function(x,y,myElem) {
 if (this.style.position!="relative")
 { this.savedstyle=this.style.position; this.style.position="relative"; }
 y = myElem.offsetTop;
 var next = myElem.nextSibling;
 var prev = myElem.previousSibling;
 if (next && y + myElem.offsetHeight > next.offsetTop + next.offsetHeight/2) { 
 myElem.parentNode.removeChild(myElem);
 next.parentNode.insertBefore(myElem, next.nextSibling);//elems[pos+1]);
 myElem.style["top"] = -next.offsetHeight/2+"px";
 }
 if (prev && y < prev.offsetTop + prev.offsetHeight/2) { 
 myElem.parentNode.removeChild(myElem);
 prev.parentNode.insertBefore(myElem, prev);
 myElem.style["top"] = prev.offsetHeight/2+"px";
 }
 };
 theTiddler.onDragEnd = function(x,y,myElem) {
 myElem.style["top"] = "0px";
 if (this.savedstyle!=undefined)
 this.style.position=this.savedstyle;
 }
 return theTiddler;
}

/**************************************************
 * dom-drag.js
 * 09.25.2001
 * www.youngpup.net
 **************************************************
 * 10.28.2001 - fixed minor bug where events
 * sometimes fired off the handle, not the root.
 **************************************************/

var Drag = {
 obj:null,

 init:
 function(o, oRoot, minX, maxX, minY, maxY) {
 o.onmousedown = Drag.start;
 o.root = oRoot && oRoot != null ? oRoot : o ;
 if (isNaN(parseInt(o.root.style.left))) o.root.style.left="0px";
 if (isNaN(parseInt(o.root.style.top))) o.root.style.top="0px";
 o.minX = typeof minX != 'undefined' ? minX : null;
 o.minY = typeof minY != 'undefined' ? minY : null;
 o.maxX = typeof maxX != 'undefined' ? maxX : null;
 o.maxY = typeof maxY != 'undefined' ? maxY : null;
 o.root.onDragStart = new Function();
 o.root.onDragEnd = new Function();
 o.root.onDrag = new Function();
 },

 start:
 function(e) {
 var o = Drag.obj = this;
 e = Drag.fixE(e);
 var y = parseInt(o.root.style.top);
 var x = parseInt(o.root.style.left);
 o.root.onDragStart(x, y, Drag.obj.root);
 o.lastMouseX = e.clientX;
 o.lastMouseY = e.clientY;
 if (o.minX != null) o.minMouseX = e.clientX - x + o.minX;
 if (o.maxX != null) o.maxMouseX = o.minMouseX + o.maxX - o.minX;
 if (o.minY != null) o.minMouseY = e.clientY - y + o.minY;
 if (o.maxY != null) o.maxMouseY = o.minMouseY + o.maxY - o.minY;
 document.onmousemove = Drag.drag;
 document.onmouseup = Drag.end;
 Drag.obj.root.style["z-index"] = "10";
 return false;
 },

 drag:
 function(e) {
 e = Drag.fixE(e);
 var o = Drag.obj;
 var ey = e.clientY;
 var ex = e.clientX;
 var y = parseInt(o.root.style.top);
 var x = parseInt(o.root.style.left);
 var nx, ny;
 if (o.minX != null) ex = Math.max(ex, o.minMouseX);
 if (o.maxX != null) ex = Math.min(ex, o.maxMouseX);
 if (o.minY != null) ey = Math.max(ey, o.minMouseY);
 if (o.maxY != null) ey = Math.min(ey, o.maxMouseY);
 nx = x + (ex - o.lastMouseX);
 ny = y + (ey - o.lastMouseY);
 Drag.obj.root.style["left"] = nx + "px";
 Drag.obj.root.style["top"] = ny + "px";
 Drag.obj.lastMouseX = ex;
 Drag.obj.lastMouseY = ey;
 Drag.obj.root.onDrag(nx, ny, Drag.obj.root);
 return false;
 },

 end:
 function() {
 document.onmousemove = null;
 document.onmouseup = null;
 Drag.obj.root.style["z-index"] = "0";
 Drag.obj.root.onDragEnd(parseInt(Drag.obj.root.style["left"]), parseInt(Drag.obj.root.style["top"]), Drag.obj.root);
 Drag.obj = null;
 },

 fixE:
 function(e) {
 if (typeof e == 'undefined') e = window.event;
 if (typeof e.layerX == 'undefined') e.layerX = e.offsetX;
 if (typeof e.layerY == 'undefined') e.layerY = e.offsetY;
 return e;
 }
};
//}}}
/***
| Name:|RenameTagsPlugin|
| Purpose:|Allows you to easily rename tags|
| Creator:|SimonBaird|
| Source:|http://simonbaird.com/mptw/#RenameTagsPlugin|
| Version:|1.0.1 (5-Mar-06)|

!Description
If you rename a tiddler/tag that is tagging other tiddlers this plugin will ask you if you want to rename the tag in each tiddler where it is used. This is essential if you use tags and ever want to rename them. To use it, open the tag you want to rename as a tiddler (it's the last option in the tag popup menu), edit it, rename it and click done. You will asked if you want to rename the tag. Click OK to rename the tag in the tiddlers that use it. Click Cancel to not rename the tag.

!Example
Try renaming [[Plugins]] or [[CSS]] on this site.

!History
* 1.0.1 (5-Mar-06) - Added feature to allow renaming of tags without side-effect of creating a tiddler
* 1.0.0 (5-Mar-06) - First working version

!Code
***/
//{{{

version.extensions.RenameTagsPlugin = {
 major: 1, minor: 0, revision: 0,
 date: new Date(2006,3,5),
 source: "http://simonbaird.com/mptw/#RenameTagsPlugin"
};

config.macros.RenameTagsPlugin = {};
config.macros.RenameTagsPlugin.prompt = "Rename the tag '%0' to '%1' in %2 tidder%3?";

// these are very useful, perhaps they should be in the core
if (!store.addTag) {
 store.addTag = function(title,tag) {
 var t=this.getTiddler(title); if (!t || !t.tags) return;
 t.tags.push(tag);
 };
};

if (!store.removeTag) {
 store.removeTag = function(title,tag) {
 var t=this.getTiddler(title); if (!t || !t.tags) return;
 if (t.tags.find(tag)!=null) t.tags.splice(t.tags.find(tag),1);
 };
};

store.saveTiddler_orig_tagrename = store.saveTiddler;
store.saveTiddler = function(title,newTitle,newBody,modifier,modified,tags) {
 if (title != newTitle && this.getTaggedTiddlers(title).length > 0) {
 // then we are renaming a tag
 var tagged = this.getTaggedTiddlers(title);
 if (confirm(config.macros.RenameTagsPlugin.prompt.format([title,newTitle,tagged.length,tagged.length>1?"s":""]))) {
 for (var i=0;i<tagged.length;i++) {
 store.removeTag(tagged[i].title,title);
 store.addTag(tagged[i].title,newTitle);
 // if tiddler is visible refresh it to show updated tag
 story.refreshTiddler(tagged[i].title,false,true);
 }
 }
 if (!this.tiddlerExists(title) && newBody == "") {
 // dont create unwanted tiddler
 return null;
 }
 }
 return this.saveTiddler_orig_tagrename(title,newTitle,newBody,modifier,modified,tags);
}

//}}}
Sammler/Behandler
''Vom Lebensministerium werden gemeinsam mit der WKÖ und den Bundesländern Schulungsveranstaltungen zur Verordnung über Jahresabfallbilanzen (AbfallbilanzV) und zu eADok durchgeführt.''
!!Termine
*[[28.10.2009, St. Pölten|http://portal.wko.at/wk/dok_detail_file.wk?AngID=1&DocID=1147742&StID=507697&DstID=1252]]
*[[09.11.2009, Graz|http://portal.wko.at/wk/format_detail.wk?AngID=1&StID=504180&DstID=7067&titel=Abfallbilanzverordnung:,Elektronische,Aufzeichnungen]]
*[[18.11.2009, Linz|http://portal.wko.at/wk/dok_detail_file.wk?AngID=1&DocID=1166408&StID=511128&DstID=5118]]
*23.11.2009, Dornbirn
*24.11.2009, Wien
*[[27.11.2009, Innsbruck|http://portal.wko.at/wk/format_detail.wk?AngID=1&StID=513813&DstID=1464&titel=Elektronische,Aufzeichnung,gem%C3%A4%C3%9F,Abfallbilanzverordnung]]
*[[30.11.2009, Salzburg|http://www.umweltservicesalzburg.at/interactivist/frontend/downloadDoc.asp?file=Programm%2Epdf&typ=.pdf&id=00106&chk=126882]]
*03.12.2009, Klagenfurt

**[[Unterlagen zur Schulung AbfallbilanzV]]
!Optionen

<<fontSize Schriftgröße: >> 
<<option chkAnimate>> Animationen aktivieren
<<option chkSinglePageMode>> jeweils nur ein Eintrag
<<option chkToggleLinks>> Klick auf Tiddler => schließen 
<<option chkTopOfPageMode>> Neuen Eintrag oben
<<search>><<closeAll>><<permaview>><<newTiddler>><<newJournal 'DD. MMM YYYY'>><<saveChanges>><<slider chkSliderOptionsPanel OptionsPanel 'Optionen »' 'Erweiterte Optionen von TiddlyWiki ändern'>>
/***
This CSS by DaveBirss.
***/
/*{{{*/

.tabSelected {
 background: #fff;
}

.tabUnselected {
 background: #eee;
}

#sidebar {
 color: #000;
}

#sidebarOptions {
 background: #fff;
}

#sidebarOptions .button {
 color: #999;
}

#sidebarOptions .button:hover {
 color: #000;
 background: #fff;
 border-color:white;
}

#sidebarOptions .button:active {
 color: #000;
 background: #fff;
}

#sidebarOptions .sliderPanel {
 background: transparent;
}

#sidebarOptions .sliderPanel A {
 color: #999;
}

#sidebarOptions .sliderPanel A:hover {
 color: #000;
 background: #fff;
}

#sidebarOptions .sliderPanel A:active {
 color: #000;
 background: #fff;
}

.sidebarSubHeading {
 color: #000;
}

#sidebarTabs {`
 background: #fff
}

#sidebarTabs .tabSelected {
 color: #000;
 background: #fff;
 border-top: solid 1px #ccc;
 border-left: solid 1px #ccc;
 border-right: solid 1px #ccc;
 border-bottom: none;
}

#sidebarTabs .tabUnselected {
 color: #999;
 background: #eee;
 border-top: solid 1px #ccc;
 border-left: solid 1px #ccc;
 border-right: solid 1px #ccc;
 border-bottom: none;
}

#sidebarTabs .tabContents {
 background: #fff;
}


#sidebarTabs .txtMoreTab .tabSelected {
 background: #fff;
}

#sidebarTabs .txtMoreTab .tabUnselected {
 background: #eee;
}

#sidebarTabs .txtMoreTab .tabContents {
 background: #fff;
}

#sidebarTabs .tabContents .tiddlyLink {
 color: #999;
}

#sidebarTabs .tabContents .tiddlyLink:hover {
 background: #fff;
 color: #000;
}

#sidebarTabs .tabContents {
 color: #000;
}

#sidebarTabs .button {
 color: #666;
}

#sidebarTabs .tabContents .button:hover {
 color: #000;
 background: #fff;
}

/*}}}*/
/***
''Single Page Mode Plugin for TiddlyWiki version 2.0 or above''
^^author: Eric Shulman - ELS Design Studios
source: http://www.TiddlyTools.com/#SinglePageModePlugin
license: [[Creative Commons Attribution-ShareAlike 2.5 License|http://creativecommons.org/licenses/by-sa/2.5/]]^^

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.

!!!!!Usage
<<<
SinglePageMode allows you to configure TiddlyWiki to navigate more like a traditional multipage web site with only one item displayed at a time. When SinglePageMode is enabled, the title of the current tiddler is automatically displayed in the browser window's titlebar and the browser's location URL is updated with a 'permalink' for the current tiddler so that it is easier to create a browser 'bookmark' for the current tiddler.

Even when SinglePageMode is disabled (i.e., displaying multiple tiddlers is permitted), you can reduce the potential for confusion by enable TopOfPageMode, which forces tiddlers to always open at the top 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. For convenience, these checkboxes are also included here:

<<option chkSinglePageMode>> Display one tiddler at a time
<<option chkTopOfPageMode>> Always open tiddlers at the top of the page
<<<
!!!!!Installation
<<<
import (or copy/paste) the following tiddlers into your document:
''SinglePageModePlugin'' (tagged with <<tag systemConfig>>)
^^documentation and javascript for SinglePageMode handling^^

When installed, this plugin automatically adds checkboxes in the ''shadow'' AdvancedOptions tiddler so you can enable/disable this behavior. However, if you have customized your AdvancedOptions, you will need to ''manually add these checkboxes to your customized tiddler.''
<<<
!!!!!Revision History
<<<
''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
<<<
!!!!!Credits
<<<
This feature was developed by EricShulman from [[ELS Design Studios|http:/www.elsdesign.com]].
Support for BACK/FORWARD buttons adapted from code developed by Clint Checketts
<<<
!!!!!Code
***/
//{{{
version.extensions.SinglePageMode= {major: 2, minor: 2, revision: 1, date: new Date(2006,7,3)};

if (config.options.chkSinglePageMode==undefined) config.options.chkSinglePageMode=true;
config.shadowTiddlers.AdvancedOptions += "\n<<option chkSinglePageMode>> Display one tiddler at a time";

if (config.options.chkTopOfPageMode==undefined) config.options.chkTopOfPageMode=false;
config.shadowTiddlers.AdvancedOptions += "\n<<option chkTopOfPageMode>> Always open tiddlers at the top 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;
 var tiddlerName = convertUTF8ToUnicode(decodeURI(window.location.hash.substr(1)));
 tiddlerName=tiddlerName.replace(/\[\[/,"").replace(/\]\]/,""); // strip any [[ ]] bracketing
 if (tiddlerName.length) story.displayTiddler(null,tiddlerName,1,null,null);
}

if (Story.prototype.SPM_coreDisplayTiddler==undefined) Story.prototype.SPM_coreDisplayTiddler=Story.prototype.displayTiddler;
Story.prototype.displayTiddler = function(srcElement,title,template,animate,slowly)
{
 if (config.options.chkSinglePageMode) {
 window.location.hash = encodeURIComponent(String.encodeTiddlyLink(title));
 config.lastURL = window.location.hash;
 document.title = wikifyPlain("SiteTitle") + " - " + title;
 story.closeAllTiddlers();
 if (!config.SPMTimer) config.SPMTimer=window.setInterval(function() {checkLastURL();},1000);
 }
 if (config.options.chkTopOfPageMode) { story.closeTiddler(title); window.scrollTo(0,0); srcElement=null; }
 this.SPM_coreDisplayTiddler(srcElement,title,template,animate,slowly)
}

if (Story.prototype.SPM_coreDisplayTiddlers==undefined) Story.prototype.SPM_coreDisplayTiddlers=Story.prototype.displayTiddlers;
Story.prototype.displayTiddlers = function(srcElement,titles,template,unused1,unused2,animate,slowly)
{
 // suspend single-page mode when displaying multiple tiddlers
 var saveSPM=config.options.chkSinglePageMode; config.options.chkSinglePageMode=false;
 var saveTPM=config.options.chkTopOfPageMode; config.options.chkTopOfPageMode=false;
 this.SPM_coreDisplayTiddlers(srcElement,titles,template,unused1,unused2,animate,slowly);
 config.options.chkSinglePageMode=saveSPM; config.options.chkTopOfPageMode=saveTPM;
}
//}}}
<<list all>>
elektronische ~Abfall-Dokumentation
[[eADok]]
http://eadok.tiddlyspot.com
Schlüsselnummer zur Identifizierung einer Abfallart gemäß AVVO
*Abfallkatalog
*R/~D-Codes
*~NACE-Codes
*Liste Übergeber Siedlungsabfälle
*Liste Übergeber Verpackungsabfälle

Hier werden die wesentlichen Zuordnungstabellen des [[EDM-Portal]]s zur Ansicht und weiteren Bearbeitung (zB in Excel) angezeigt.
[[GLN]] zur Identifikation eines Standortes einer Firma (Person)
Auf jedem Standort einer Firma kann es mehrere Anlagen (ebenfalls mit [[GLN]]) geben. 
/***
Cosmetic fixes that probably should be included in a future TW...
***/
/*{{{*/
.viewer .listTitle { list-style-type:none; margin-left:-2em; }
.editorFooter .button { padding-top: 0px; padding-bottom:0px; }
/*}}}*/
/***
Important stuff. See TagglyTaggingStyles and HorizontalMainMenuStyles
***/
/*{{{*/
[[TagglyTaggingStyles]]
[[HorizontalMainMenuStyles]]
/*}}}*/
/***
Clint's fix for weird IE behaviours
***/
/*{{{*/
body {position:static;}
.tagClear{margin-top:1em;clear:both;}
/*}}}*/
/***
Just colours, fonts, tweaks etc. See SideBarWhiteAndGrey
***/
/*{{{*/
body {background:#eee; /* font-size:103%; */}
a{ color: #069; }
a:hover{ background: #069; color: #fff; }
.popup { background: #178; border: 1px solid #069; }
.headerForeground a { color: #6fc;}
.headerShadow { left: 2px; top: 2px; }
.title { padding:0px; margin:0px; }
.siteSubtitle { padding:0px; margin:0px; padding-left:1.5em; }
.subtitle { font-size:90%; color:#ccc; padding-left:0.25em; }
h1,h2,h3,h4,h5 { color: #000; background: transparent; }
.title {color:black; font-size:2em;}
.shadow .title {color:#999; }
.viewer pre { background-color:#f8f8ff; border-color:#ddf; }
.viewer { padding-top:0px; }
.editor textarea { font-family:monospace; }
#sidebarOptions { border:1px #ccc solid; }
.tiddler {
 border-bottom:1px solid #ccc; border-right:1px solid #ccc; padding-bottom:1em; margin-bottom:1em; 
 background:#fff; padding-right:1.5em; }
#messageArea { background-color:#bde; border-color:#8ab; border-width:4px; border-style:dotted; font-size:90%; }
#messageArea .button { text-decoration:none; font-weight:bold; background:transparent; border:0px; }
#messageArea .button:hover {background: #acd; }
[[SideBarWhiteAndGrey]]

#adsense {
 margin: 1em 15.7em 0em 1em; border:1px solid #ddd;
 background:#f8f8f8; text-align:center;margin-bottom:1em;overflow:hidden;padding:0.5em;} 
/*}}}*/
/*{{{*/
/* for testing clint's new formatter. eg {{red{asdfaf}}} */
.red { color:white; background:red; display:block; padding:1em; } 

/* FF doesn't need this. but IE seems to want to make first one white */
.txtMainTab .tabset { background:#eee; }
.txtMoreTab .tabset { background:transparent; }

/*}}}*/
/*{{{*/
* 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; width:90%; 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;}
/*}}}*/
/*{{{*/
@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;}
}
/*}}}*/
<<timeline>>
/***
|Name|TagglyListPlugin|
|Created by|SimonBaird|
|Location|http://simonbaird.com/mptw/#TagglyListPlugin|
|Version|1.1.2 25-Apr-06|
|Requires|See TagglyTagging|

!History
* 1.1.2 (25-Apr-2006) embedded TagglyTaggingStyles. No longer need separated tiddler for styles.
* 1.1.1 (6-Mar-2006) fixed bug with refreshAllVisible closing tiddlers being edited. Thanks Luke Blanshard.

***/

/***
!Setup and config
***/
//{{{

version.extensions.TagglyListPlugin = {
 major: 1, minor: 1, revision: 2,
 date: new Date(2006,4,25),
 source: "http://simonbaird.com/mptw/#TagglyListPlugin"
};

config.macros.tagglyList = {};
config.macros.tagglyListByTag = {};
config.macros.tagglyListControl = {};
config.macros.tagglyListWithSort = {};
config.macros.hideSomeTags = {};

// change this to your preference
config.macros.tagglyListWithSort.maxCols = 6;

config.macros.tagglyList.label = "Tagged as %0:";

// the default sort options. set these to your preference
config.macros.tagglyListWithSort.defaults = {
 sortBy:"title", // title|created|modified
 sortOrder: "asc", // asc|desc
 hideState: "show", // show|hide
 groupState: "nogroup", // nogroup|group
 numCols: 1
};

// these tags will be ignored by the grouped view
config.macros.tagglyListByTag.excludeTheseTags = [
 "systemConfig",
 "TiddlerTemplates"
];

config.macros.tagglyListControl.tags = {
 title:"sortByTitle", 
 modified: "sortByModified", 
 created: "sortByCreated",
 asc:"sortAsc", 
 desc:"sortDesc",
 hide:"hideTagged", 
 show:"showTagged",
 nogroup:"noGroupByTag",
 group:"groupByTag",
 cols1:"list1Cols",
 cols2:"list2Cols",
 cols3:"list3Cols",
 cols4:"list4Cols",
 cols5:"list5Cols",
 cols6:"list6Cols",
 cols7:"list7Cols",
 cols8:"list8Cols",
 cols9:"list9Cols" 
}

// note: should match config.macros.tagglyListControl.tags
config.macros.hideSomeTags.tagsToHide = [
 "sortByTitle",
 "sortByCreated",
 "sortByModified",
 "sortDesc",
 "sortAsc",
 "hideTagged",
 "showTagged",
 "noGroupByTag",
 "groupByTag",
 "list1Cols",
 "list2Cols",
 "list3Cols",
 "list4Cols",
 "list5Cols",
 "list6Cols",
 "list7Cols",
 "list8Cols",
 "list9Cols"
];


//}}}
/***

!Utils
***/
//{{{
// from Eric
function isTagged(title,tag) {
 var t=store.getTiddler(title); if (!t) return false;
 return (t.tags.find(tag)!=null);
}

// from Eric
function toggleTag(title,tag) {
 var t=store.getTiddler(title); if (!t || !t.tags) return;
 if (t.tags.find(tag)==null) t.tags.push(tag);
 else t.tags.splice(t.tags.find(tag),1);
}

function addTag(title,tag) {
 var t=store.getTiddler(title); if (!t || !t.tags) return;
 t.tags.push(tag);
}

function removeTag(title,tag) {
 var t=store.getTiddler(title); if (!t || !t.tags) return;
 if (t.tags.find(tag)!=null) t.tags.splice(t.tags.find(tag),1);
}

// from Udo
Array.prototype.indexOf = function(item) {
 for (var i = 0; i < this.length; i++) {
 if (this[i] == item) {
 return i;
 }
 }
 return -1;
};
Array.prototype.contains = function(item) {
 return (this.indexOf(item) >= 0);
}
//}}}
/***

!tagglyList
displays a list of tagged tiddlers. 
parameters are sortField and sortOrder
***/
//{{{

// not used at the moment...
function sortedListOfOtherTags(tiddler,thisTag) {
 var list = tiddler.tags.concat(); // so we are working on a clone..
 for (var i=0;i<config.macros.hideSomeTags.tagsToHide.length;i++) {
 if (list.find(config.macros.hideSomeTags.tagsToHide[i]) != null)
 list.splice(list.find(config.macros.hideSomeTags.tagsToHide[i]),1); // remove hidden ones
 }
 for (var i=0;i<config.macros.tagglyListByTag.excludeTheseTags.length;i++) {
 if (list.find(config.macros.tagglyListByTag.excludeTheseTags[i]) != null)
 list.splice(list.find(config.macros.tagglyListByTag.excludeTheseTags[i]),1); // remove excluded ones
 }
 list.splice(list.find(thisTag),1); // remove thisTag
 return '[[' + list.sort().join("]] [[") + ']]';
}

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

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

 var sortBy = params[0] ? params[0] : "title"; 
 var sortOrder = params[1] ? params[1] : "asc";

 var result = store.getTaggedTiddlers(tiddler.title,sortBy);

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

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

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

 if ( 
 result[i].tags[j] != tiddler.title // not this tiddler
 && config.macros.hideSomeTags.tagsToHide.find(result[i].tags[j]) == null // not a hidden one
 && config.macros.tagglyListByTag.excludeTheseTags.find(result[i].tags[j]) == null // not excluded
 ) {
 if (!allTagsHolder[result[i].tags[j]])
 allTagsHolder[result[i].tags[j]] = "";
 allTagsHolder[result[i].tags[j]] += "**[["+result[i].title+"]]\n";

 if (leftOvers.find(result[i].title) != null)
 leftOvers.splice(leftOvers.find(result[i].title),1); // remove from leftovers. at the end it will contain the leftovers...
 }
 }
 }


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

 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 markup = "";

 if (sortOrder == "desc") {
 allTags.reverse();
 }
 else {
 // leftovers first...
 for (var i=0;i<leftOvers.length;i++)
 markup += "*[["+leftOvers[i]+"]]\n";
 } 

 for (var i=0;i<allTags.length;i++)
 markup += "*[["+allTags[i]+"]]\n" + allTagsHolder[allTags[i]];

 if (sortOrder == "desc") {
 // leftovers last...
 for (var i=0;i<leftOvers.length;i++)
 markup += "*[["+leftOvers[i]+"]]\n";
 }

 wikify(markup,place);
}

config.macros.tagglyList.handler = function (place,macroName,params,wikifier,paramString,tiddler) {
 var sortBy = params[0] ? params[0] : "title"; 
 var sortOrder = params[1] ? params[1] : "asc";
 var numCols = params[2] ? params[2] : 1;

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

 var listSize = result.length;
 var colSize = listSize/numCols;
 var remainder = listSize % numCols;

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

 var markup = "";
 var c=0;

 var newTaggedTable = createTiddlyElement(place,"table");
 var newTaggedBody = createTiddlyElement(newTaggedTable,"tbody");
 var newTaggedTr = createTiddlyElement(newTaggedBody,"tr");

 for (var j=0;j<numCols;j++) {
 var foo = "";
 var thisSize;

 if (j<remainder)
 thisSize = upperColsize;
 else
 thisSize = lowerColsize;

 for (var i=0;i<thisSize;i++) 
 foo += ( "*[[" + result[c++].title + "]]\n"); // was using splitList.shift() but didn't work in IE;

 var newTd = createTiddlyElement(newTaggedTr,"td",null,"tagglyTagging");
 wikify(foo,newTd);

 }

};

/* snip for later.....
 //var groupBy = params[3] ? params[3] : "t.title.substr(0,1)";
 //var groupBy = params[3] ? params[3] : "sortedListOfOtherTags(t,tiddler.title)";
 //var groupBy = params[3] ? params[3] : "t.modified";
 var groupBy = null; // for now. groupBy here is working but disabled for now.

 var prevGroup = "";
 var thisGroup = "";

 if (groupBy) {
 result.sort(function(a,b) {
 var t = a; var aSortVal = eval(groupBy); var aSortVal2 = eval("t".sortBy);
 var t = b; var bSortVal = eval(groupBy); var bSortVal2 = eval("t".sortBy);
 var t = b; var bSortVal2 = eval(groupBy);
 return (aSortVal == bSortVal ?
 (aSortVal2 == bSortVal2 ? 0 : (aSortVal2 < bSortVal2 ? -1 : +1)) // yuck
 : (aSortVal < bSortVal ? -1 : +1));
 });
 }

 if (groupBy) {
 thisGroup = eval(groupBy);
 if (thisGroup != prevGroup)
 markup += "*[["+thisGroup+']]\n';
 markup += "**[["+t.title+']]\n';
 prevGroup = thisGroup;
 }



*/


//}}}

/***

!tagglyListControl
Use to make the sort control buttons
***/
//{{{

function getSortBy(title) {
 var tiddler = store.getTiddler(title);
 var defaultVal = config.macros.tagglyListWithSort.defaults.sortBy;
 if (!tiddler) return defaultVal;
 var usetags = config.macros.tagglyListControl.tags;
 if (tiddler.tags.contains(usetags["title"])) return "title";
 else if (tiddler.tags.contains(usetags["modified"])) return "modified";
 else if (tiddler.tags.contains(usetags["created"])) return "created";
 else return defaultVal;
}

function getSortOrder(title) {
 var tiddler = store.getTiddler(title);
 var defaultVal = config.macros.tagglyListWithSort.defaults.sortOrder;
 if (!tiddler) return defaultVal;
 var usetags = config.macros.tagglyListControl.tags;
 if (tiddler.tags.contains(usetags["asc"])) return "asc";
 else if (tiddler.tags.contains(usetags["desc"])) return "desc";
 else return defaultVal;
}

function getHideState(title) {
 var tiddler = store.getTiddler(title);
 var defaultVal = config.macros.tagglyListWithSort.defaults.hideState;
 if (!tiddler) return defaultVal;
 var usetags = config.macros.tagglyListControl.tags;
 if (tiddler.tags.contains(usetags["hide"])) return "hide";
 else if (tiddler.tags.contains(usetags["show"])) return "show";
 else return defaultVal;
}

function getGroupState(title) {
 var tiddler = store.getTiddler(title);
 var defaultVal = config.macros.tagglyListWithSort.defaults.groupState;
 if (!tiddler) return defaultVal;
 var usetags = config.macros.tagglyListControl.tags;
 if (tiddler.tags.contains(usetags["group"])) return "group";
 else if (tiddler.tags.contains(usetags["nogroup"])) return "nogroup";
 else return defaultVal;
}

function getNumCols(title) {
 var tiddler = store.getTiddler(title);
 var defaultVal = config.macros.tagglyListWithSort.defaults.numCols; // an int
 if (!tiddler) return defaultVal;
 var usetags = config.macros.tagglyListControl.tags;
 for (var i=1;i<=config.macros.tagglyListWithSort.maxCols;i++)
 if (tiddler.tags.contains(usetags["cols"+i])) return i;
 return defaultVal;
}


function getSortLabel(title,which) {
 // TODO. the strings here should be definable in config
 var by = getSortBy(title);
 var order = getSortOrder(title);
 var hide = getHideState(title);
 var group = getGroupState(title);
 if (which == "hide") return (hide == "show" ? "−" : "+"); // 0x25b8;
 else if (which == "group") return (group == "group" ? "normal" : "grouped");
 else if (which == "cols") return "cols±"; // &plusmn;
 else if (by == which) return which + (order == "asc" ? "↓" : "↑"); // &uarr; &darr;
 else return which;
}

function handleSortClick(title,which) {
 var currentSortBy = getSortBy(title);
 var currentSortOrder = getSortOrder(title);
 var currentHideState = getHideState(title);
 var currentGroupState = getGroupState(title);
 var currentNumCols = getNumCols(title);

 var tags = config.macros.tagglyListControl.tags;

 // if it doesn't exist, lets create it..
 if (!store.getTiddler(title))
 store.saveTiddler(title,title,"",config.options.txtUserName,new Date(),null);

 if (which == "hide") {
 // toggle hide state
 var newHideState = (currentHideState == "hide" ? "show" : "hide");
 removeTag(title,tags[currentHideState]);
 if (newHideState != config.macros.tagglyListWithSort.defaults.hideState)
 toggleTag(title,tags[newHideState]);
 }
 else if (which == "group") {
 // toggle hide state
 var newGroupState = (currentGroupState == "group" ? "nogroup" : "group");
 removeTag(title,tags[currentGroupState]);
 if (newGroupState != config.macros.tagglyListWithSort.defaults.groupState)
 toggleTag(title,tags[newGroupState]);
 }
 else if (which == "cols") {
 // toggle num cols
 var newNumCols = currentNumCols + 1; // confusing. currentNumCols is an int
 if (newNumCols > config.macros.tagglyListWithSort.maxCols || newNumCols > store.getTaggedTiddlers(title).length)
 newNumCols = 1;
 removeTag(title,tags["cols"+currentNumCols]);
 if (("cols"+newNumCols) != config.macros.tagglyListWithSort.defaults.groupState)
 toggleTag(title,tags["cols"+newNumCols]);
 }
 else if (currentSortBy == which) {
 // toggle sort order
 var newSortOrder = (currentSortOrder == "asc" ? "desc" : "asc");
 removeTag(title,tags[currentSortOrder]);
 if (newSortOrder != config.macros.tagglyListWithSort.defaults.sortOrder)
 toggleTag(title,tags[newSortOrder]);
 }
 else {
 // change sortBy only
 removeTag(title,tags["title"]);
 removeTag(title,tags["created"]);
 removeTag(title,tags["modified"]);

 if (which != config.macros.tagglyListWithSort.defaults.sortBy)
 toggleTag(title,tags[which]);
 }

 store.setDirty(true); // save is required now.
 story.refreshTiddler(title,false,true); // force=true
}

config.macros.tagglyListControl.handler = function (place,macroName,params,wikifier,paramString,tiddler) {
 var onclick = function(e) {
 if (!e) var e = window.event;
 handleSortClick(tiddler.title,params[0]);
 e.cancelBubble = true;
 if (e.stopPropagation) e.stopPropagation();
 return false;
 };
 createTiddlyButton(place,getSortLabel(tiddler.title,params[0]),"Click to change sort options",onclick,params[0]=="hide"?"hidebutton":"button");
}
//}}}
/***

!tagglyListWithSort
put it all together..
***/
//{{{
config.macros.tagglyListWithSort.handler = function (place,macroName,params,wikifier,paramString,tiddler) {
 if (tiddler && store.getTaggedTiddlers(tiddler.title).length > 0)
 // todo make this readable
 wikify(
 "<<tagglyListControl hide>>"+
 (getHideState(tiddler.title) != "hide" ? 
 '<html><span class="tagglyLabel">'+config.macros.tagglyList.label.format([tiddler.title])+' </span></html>'+
 "<<tagglyListControl title>><<tagglyListControl modified>><<tagglyListControl created>><<tagglyListControl group>>"+(getGroupState(tiddler.title)=="group"?"":"<<tagglyListControl cols>>")+"\n" + 
 "<<tagglyList" + (getGroupState(tiddler.title)=="group"?"ByTag ":" ") + getSortBy(tiddler.title)+" "+getSortOrder(tiddler.title)+" "+getNumCols(tiddler.title)+">>" // hacky
 // + \n----\n" +
 //"<<tagglyList "+getSortBy(tiddler.title)+" "+getSortOrder(tiddler.title)+">>"
 : ""),
 place,null,tiddler);
}

config.macros.tagglyTagging = { handler: config.macros.tagglyListWithSort.handler };


//}}}
/***

!hideSomeTags
So we don't see the sort tags.
(note, they are still there when you edit. Will that be too annoying?
***/
//{{{

// based on tags.handler
config.macros.hideSomeTags.handler = function(place,macroName,params,wikifier,paramString,tiddler) {
 var theList = createTiddlyElement(place,"ul");
 if(params[0] && store.tiddlerExists[params[0]])
 tiddler = store.getTiddler(params[0]);
 var lingo = config.views.wikified.tag;
 var prompt = tiddler.tags.length == 0 ? lingo.labelNoTags : lingo.labelTags;
 createTiddlyElement(theList,"li",null,"listTitle",prompt.format([tiddler.title]));
 for(var t=0; t<tiddler.tags.length; t++)
 if (!this.tagsToHide.contains(tiddler.tags[t])) // this is the only difference from tags.handler...
 createTagButton(createTiddlyElement(theList,"li"),tiddler.tags[t],tiddler.title);

}

//}}}
/***

!Refresh everything when we save a tiddler. So the tagged lists never get stale. Is this too slow???
***/
//{{{

function refreshAllVisible() {
 story.forEachTiddler(function(title,element) {
 if (element.getAttribute("dirty") != "true") 
 story.refreshTiddler(title,false,true);
 });
}

story.saveTiddler_orig_mptw = story.saveTiddler;
story.saveTiddler = function(title,minorUpdate) {
 var result = this.saveTiddler_orig_mptw(title,minorUpdate);
 refreshAllVisible();
 return result;
}

store.removeTiddler_orig_mptw = store.removeTiddler;
store.removeTiddler = function(title) {
 this.removeTiddler_orig_mptw(title);
 refreshAllVisible();
}

config.shadowTiddlers.TagglyTaggingStyles = "/***\nTo use, add {{{[[TagglyTaggingStyles]]}}} to your StyleSheet tiddler, or you can just paste the CSS in directly. See also ViewTemplate, EditTemplate and TagglyTagging.\n***/\n/*{{{*/\n.tagglyTagged li.listTitle { display:none;}\n.tagglyTagged li { display: inline; font-size:90%; }\n.tagglyTagged ul { margin:0px; padding:0px; }\n.tagglyTagging { padding-top:0.5em; }\n.tagglyTagging li.listTitle { display:none;}\n.tagglyTagging ul { margin-top:0px; padding-top:0.5em; padding-left:2em; margin-bottom:0px; padding-bottom:0px; }\n\n/* .tagglyTagging .tghide { display:inline; } */\n\n.tagglyTagging { vertical-align: top; margin:0px; padding:0px; }\n.tagglyTagging table { margin:0px; padding:0px; }\n\n\n.tagglyTagging .button { display:none; margin-left:3px; margin-right:3px; }\n.tagglyTagging .button, .tagglyTagging .hidebutton { color:#aaa; font-size:90%; border:0px; padding-left:0.3em;padding-right:0.3em;}\n.tagglyTagging .button:hover, .hidebutton:hover { background:#eee; color:#888; }\n.selected .tagglyTagging .button { display:inline; }\n\n.tagglyTagging .hidebutton { color:white; } /* has to be there so it takes up space. tweak if you're not using a white tiddler bg */\n.selected .tagglyTagging .hidebutton { color:#aaa }\n\n.tagglyLabel { color:#aaa; font-size:90%; }\n\n.tagglyTagging ul {padding-top:0px; padding-bottom:0.5em; margin-left:1em; }\n.tagglyTagging ul ul {list-style-type:disc; margin-left:-1em;}\n.tagglyTagging ul ul li {margin-left:0.5em; }\n\n.editLabel { font-size:90%; padding-top:0.5em; }\n/*}}}*/\n";

refreshStyles("TagglyTaggingStyles");


//}}}

// // <html>&#x25b8;&#x25be;&minus;&plusmn;</html>
<html>
<!-- TeamViewer Logo (generated at http://www.teamviewer.com) -->
<div style="position:relative; width:120px; height:60px;">
  <a href="http://goo.gl/nQSX2" style="text-decoration:none;">
    <img src="http://www.teamviewer.com/link/?url=979936&id=682320323" alt="eADok online-support" title="eADok online-support" border="0" width="120" height="60" />
    <span style="position:absolute; top:19.5px; left:50px; display:block; cursor:pointer; color:White; font-family:Arial; font-size:10px; line-height:1.2em; font-weight:bold; text-align:center; width:65px;">
      eADok online-support
    </span>
  </a>
</div>
</html>
    
<<importTiddlers inline>>
/***
|''Name:''|TiddlyLightBox|
|''Date:''|Jan 1, 2006|
|''Version:''|1.0 beta|
|''Author:''|Saq Imtiaz|
|''Location:''|http://tw.lewcid.org/#TiddlyLightBoxPlugin|
|''Documentation:''|http://tw.lewcid.org/#TiddlyLightBoxDocs|
|''License:''|[[Creative Commons Attribution-ShareAlike 3.0 License|http://creativecommons.org/licenses/by-sa/3.0/]]|
|''Based on:''|DC3.LightBox<br>Light Box Gone Wild <br>Ibox|

!!Code
***/
//{{{
config.macros.imagebox ={};
config.macros.imagebox.handler = function (place,macroName,params,wikifier,paramString,tiddler)
{
    var e = place.lastChild;
    e.onclick = function(){TiddlyLightBox.initBox('image',this,params[1],params[2],params[0]);return false;};
}

config.macros.divbox ={};
config.macros.divbox.handler = function (place,macroName,params,wikifier,paramString,tiddler)
{
    if (params[0]!=".")
        createTiddlyButton(place,params[0],params[0],function(){TiddlyLightBox.initBox('html',params[1],params[3],params[4],params[2]);return false;});
    else
        {
        var e = place.lastChild;
        e.onclick = function(){TiddlyLightBox.initBox('html',params[1],params[3],params[4],params[2]);return false;};
        }
}

config.macros.tiddlerbox ={}
config.macros.tiddlerbox.handler = function (place,macroName,params,wikifier,paramString,tiddler)
{
    config.macros.divbox.handler(place,macroName,[params[0],"tiddler:"+params[1],params[2],params[3],params[4]]);
    return false;
}

store.addNotification("TiddlyLightBoxStyles",refreshStyles);

if (!window.TiddlyLightBox)
    window.TiddlyLightBox = {};
    var loadingImage = "http://lh5.ggpht.com/_MmRj6BVHsn4/SQ7B_YdhCvI/AAAAAAAAACE/xi9bXnS2RQc/s128/indicator.gif";
    window.TiddlyLightBox =
    {
    _curBox: null, // [sentinel]

    lightBoxHtml : '<div id="lightBoxOverlay" onclick="TiddlyLightBox.hideBox()" style="display:none"></div><div id="lightboxprogress" style="display:none;"><img src=\''+loadingImage+'\' alt=\'loading\' style="width:128px;height:128px;"></div><div class="lightBox" id="lightBox" style="display:none"><div id="lightBoxContent"></div><div id="lightBoxTitle">This is a title</div><div id="lightBoxClose"><a href:"#" onclick="TiddlyLightBox.hideBox();return false;">Click to close</a></div></div>',

    createBoxWrapper : function()
        {
        var wrapper = createTiddlyElement(document.getElementsByTagName("body")[0],"div","tiddlyLightBoxWrapper");
        wrapper.innerHTML = this.lightBoxHtml;
        },

    initBox : function(contentType,url,w,h,text)
        {
        if (this._curBox)
            return;
        this.showProgress();
        this.hideSelects("hidden");
        this.showBg();
        this._curBox = true;
        this.sizeTheBox(contentType,w,h);
        if (contentType == 'image')
            this.showImage(url,text);
        else if (contentType == 'html')
            this.showHtml(url,text);
        return false;
        },
        
    sizeTheBox : function(contentType,w,h)
        {
        var box = document.getElementById("lightBoxContent");
        if (w && isNaN(parseInt(w)))
            {
            addClass(box,w);
            }
        else if (w ||h || contentType == 'html')
            {
            box.style.width = w? w+ "px" : "450px";
            box.style.height = h? h+ "px" : "280px";
            if (contentType=='image')
                setStylesheet("#lightBoxContent img{height:100%;width:100%;}","lightBoxImageSizeHack");
            }
        },

    showProgress : function()
        {
        var progress = document.getElementById("lightboxprogress");
        progress.style.display='';
        this._center(progress);
        },
    
    hideProgress: function()
        {
        var progress = document.getElementById("lightboxprogress");
        progress.style.display='none';
        },

    //this function lifted from Lightbox Gone Wild
    hideSelects: function(visibility)
        {
        var selects = document.getElementsByTagName('select');
        for(i = 0; i < selects.length; i++)
            {
            selects[i].style.visibility = visibility;
            }
        },

    showBg: function()
        {
        var overlay = document.getElementById('lightBoxOverlay');
        if (config.browser.isIE)
            {
            overlay.style.height = Math.max(document.documentElement.scrollHeight,document.documentElement.offsetHeight);
            overlay.style.width = document.documentElement.scrollWidth;
            }
        overlay.style.display = 'block';
        },

    showImage: function (url,text)
        {
        imgPreloader = new Image();
        imgPreloader.onload = function ()
            {
            var lb = document.getElementById("lightBoxContent");
            lb.innerHTML = "<img src="+url+">";
            lb.onclick = function(){TiddlyLightBox.hideBox();return false;};
            TiddlyLightBox.posBox(text);
            };
        imgPreloader.src = url;
        },
        
    showHtml : function(theID,text)
        {
        var lb = document.getElementById("lightBoxContent");
        if (theID.indexOf("tiddler:")==-1)
             lb.innerHTML = document.getElementById(theID).innerHTML;
        else
            { 
             wikify(store.getTiddlerText(theID.replace("tiddler:","")),lb);
             lb.className='tiddler';
            }
        lb.style.overflow = "auto";
        this.posBox(text);
        },

    posBox: function(text)
       {
       this.setTitle(text);
       this.hideProgress();
       var lb = document.getElementById("lightBox");
       lb.style.display = "";
       lb.style.visibilty = "hidden";
       lb.style.position = "absolute";
       this._center(lb);
       if(!TiddlyLightBox._curBox) return;
       lb.style.visibility = "visible";
       lb.style.display = "block";
       },

     setTitle: function(text)
        {
        document.getElementById("lightBoxTitle").innerHTML=  (text==undefined)? '': text;
        },

    _center: function(lb)
       {
       var lbSize = new TiddlyLightBox.getElementSize(lb);
       lb.style.left = (Math.round(findWindowWidth()/2) - (lbSize.width /2) + findScrollX())+'px';
       lb.style.top = (Math.round(findWindowHeight()/2) - (lbSize.height /2) + findScrollY())+'px';
       },

    //this function lifted from Ibox
    getElementSize : function(elem)
       {
       this.width = elem.offsetWidth || elem.style.pixelWidth;
       this.height = elem.offsetHeight || elem.style.pixelHeight;
       },

     hideBox: function()
         {
         if(!this._curBox)
             return;
         document.getElementById("tiddlyLightBoxWrapper").innerHTML= this.lightBoxHtml;
         setStylesheet("","lightBoxImageSizeHack");
         this._curBox = null;
         return false;
         }
}

TiddlyLightBox.createBoxWrapper();

Story.prototype.findContainingTiddler = function(e)
{
    while(e && (!hasClass(e,"tiddler") || !e.getAttribute("tiddler")))
        e = e.parentNode;
    return(e);
}

config.shadowTiddlers.TiddlyLightBoxStyles="/*{{{*/\n#lightBoxOverlay {\n position:absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n z-index: 90; \n background-color: #000;\n -moz-opacity: 0.75;\n opacity: .75;\n filter: alpha(opacity=75);\n}\n#lightBoxOverlay[id]{ \n position: fixed;\n}\n\n#lightboxprogress { \n margin:0;padding:0;\n position: absolute;\n z-index:95;\n}\n\ndiv.lightBox {\n background: #fff;\n color: #fff;\n border: 4px solid #525252;\npadding:20px 20px 25px 20px; position:absolute; z-index:99;\n}\n\n#lightBoxClose {text-align:right; color:#000; font-size:1.0em; position:absolute; bottom:6px; right:20px;}\n#lightBoxClose a{color:#666; border-bottom:1px solid #666;cursor:pointer;}\n#lightBoxClose a:hover {color:#111; border-bottom:1px solid #666; cursor:pointer; background:transparent;}\n\n#lightBoxContent {border:1px solid #525252;color:#000; background:#fff;}\n#lightBox .tiddler {background:#fff;}\n\n#lightBoxContent img {border:0;margin:0;padding:0;display:block;cursor:pointer;}\n\n#lightBoxTitle {padding:0px; font-weight:bold; position:absolute; left:20px;bottom:6px; font-size:1.1em; color:#000;}\n\n/*}}}*/";
//}}}
| tiddlyspot password:|<<option pasUploadPassword>>|
| site management:|<<upload http://eadok.tiddlyspot.com/store.cgi index.html . .  eadok>>//(requires tiddlyspot password)//<br>[[control panel|http://eadok.tiddlyspot.com/controlpanel]], [[download (go offline)|http://eadok.tiddlyspot.com/download]]|
| links:|[[tiddlyspot.com|http://tiddlyspot.com/]], [[FAQs|http://faq.tiddlyspot.com/]], [[blog|http://tiddlyspot.blogspot.com/]], email [[support|mailto:support@tiddlyspot.com]] & [[feedback|mailto:feedback@tiddlyspot.com]], [[donate|http://tiddlyspot.com/?page=donate]]|
tiddlyspot password:
<<option pasUploadPassword>>
/***
Description: Contains the stuff you need to use Tiddlyspot
Note, you also need UploadPlugin, PasswordOptionPlugin and LoadRemoteFileThroughProxy
from http://tiddlywiki.bidix.info for a complete working Tiddlyspot site.
***/
//{{{

// edit this if you are migrating sites or retrofitting an existing TW
config.tiddlyspotSiteId = 'eadok';

// make it so you can by default see edit controls via http
config.options.chkHttpReadOnly = true;
window.readOnly = true; // make sure of it (for tw 2.2)
window.showBackstage = false; // show backstage too

// disable autosave in d3
if (window.location.protocol != "file:")
	config.options.chkGTDLazyAutoSave = false;

// tweak shadow tiddlers to add upload button, password entry box etc
with (config.shadowTiddlers) {
	SiteUrl = 'http://'+config.tiddlyspotSiteId+'.tiddlyspot.com';
	SideBarOptions = SideBarOptions.replace(/(<<saveChanges>>)/,"$1<<tiddler TspotSidebar>>");
	OptionsPanel = OptionsPanel.replace(/^/,"<<tiddler TspotOptions>>");
	DefaultTiddlers = DefaultTiddlers.replace(/^/,"[[WelcomeToTiddlyspot]] ");
	MainMenu = MainMenu.replace(/^/,"[[WelcomeToTiddlyspot]] ");
}

// create some shadow tiddler content
merge(config.shadowTiddlers,{

'WelcomeToTiddlyspot':[
 "This document is a ~TiddlyWiki from tiddlyspot.com.  A ~TiddlyWiki is an electronic notebook that is great for managing todo lists, personal information, and all sorts of things.",
 "",
 "@@font-weight:bold;font-size:1.3em;color:#444; //What now?// &nbsp;&nbsp;@@ Before you can save any changes, you need to enter your password in the form below.  Then configure privacy and other site settings at your [[control panel|http://" + config.tiddlyspotSiteId + ".tiddlyspot.com/controlpanel]] (your control panel username is //" + config.tiddlyspotSiteId + "//).",
 "<<tiddler TspotControls>>",
 "See also GettingStarted.",
 "",
 "@@font-weight:bold;font-size:1.3em;color:#444; //Working online// &nbsp;&nbsp;@@ You can edit this ~TiddlyWiki right now, and save your changes using the \"save to web\" button in the column on the right.",
 "",
 "@@font-weight:bold;font-size:1.3em;color:#444; //Working offline// &nbsp;&nbsp;@@ A fully functioning copy of this ~TiddlyWiki can be saved onto your hard drive or USB stick.  You can make changes and save them locally without being connected to the Internet.  When you're ready to sync up again, just click \"upload\" and your ~TiddlyWiki will be saved back to tiddlyspot.com.",
 "",
 "@@font-weight:bold;font-size:1.3em;color:#444; //Help!// &nbsp;&nbsp;@@ Find out more about ~TiddlyWiki at [[TiddlyWiki.com|http://tiddlywiki.com]].  Also visit [[TiddlyWiki.org|http://tiddlywiki.org]] for documentation on learning and using ~TiddlyWiki. New users are especially welcome on the [[TiddlyWiki mailing list|http://groups.google.com/group/TiddlyWiki]], which is an excellent place to ask questions and get help.  If you have a tiddlyspot related problem email [[tiddlyspot support|mailto:support@tiddlyspot.com]].",
 "",
 "@@font-weight:bold;font-size:1.3em;color:#444; //Enjoy :)// &nbsp;&nbsp;@@ We hope you like using your tiddlyspot.com site.  Please email [[feedback@tiddlyspot.com|mailto:feedback@tiddlyspot.com]] with any comments or suggestions."
].join("\n"),

'TspotControls':[
 "| tiddlyspot password:|<<option pasUploadPassword>>|",
 "| site management:|<<upload http://" + config.tiddlyspotSiteId + ".tiddlyspot.com/store.cgi index.html . .  " + config.tiddlyspotSiteId + ">>//(requires tiddlyspot password)//<br>[[control panel|http://" + config.tiddlyspotSiteId + ".tiddlyspot.com/controlpanel]], [[download (go offline)|http://" + config.tiddlyspotSiteId + ".tiddlyspot.com/download]]|",
 "| links:|[[tiddlyspot.com|http://tiddlyspot.com/]], [[FAQs|http://faq.tiddlyspot.com/]], [[blog|http://tiddlyspot.blogspot.com/]], email [[support|mailto:support@tiddlyspot.com]] & [[feedback|mailto:feedback@tiddlyspot.com]], [[donate|http://tiddlyspot.com/?page=donate]]|"
].join("\n"),

'TspotSidebar':[
 "<<upload http://" + config.tiddlyspotSiteId + ".tiddlyspot.com/store.cgi index.html . .  " + config.tiddlyspotSiteId + ">><html><a href='http://" + config.tiddlyspotSiteId + ".tiddlyspot.com/download' class='button'>download</a></html>"
].join("\n"),

'TspotOptions':[
 "tiddlyspot password:",
 "<<option pasUploadPassword>>",
 ""
].join("\n")

});
//}}}
Unterverzeichnis
Im Herbst 2009 finden in den Bundesländern Schulungen zur Verordnung über Jahresabfallbilanzen (AbfallbilanzV), BGBl II Nr. 497/2008 (http://tinyurl.com/yjg3ywg) statt.
Hier finden Sie die entsprechenden Schulungsunterlagen:
*[[091118_Schulung_AbilV_AnDuc_V0%203.pdf|http://www.mell.at/eadok/091118_Schulung_AbilV_AnDuc_V0%203.pdf]]
*[[091130_Schulung_AbilV_KJ_V0%203.pdf|http://www.mell.at/eadok/091130_Schulung_AbilV_KJ_V0%203.pdf]]
*[[091118_Schulung_AbilV_HummelR.pdf|http://www.mell.at/eadok/091118_Schulung_AbilV_HummelR.pdf]]
*[[091118_Schulung_AbilV_KramlM.pdf|http://www.mell.at/eadok/091118_Schulung_AbilV_KramlM.pdf]]
*[[eADok-Dokumentation.pdf|http://www.oekobits.at/eADok/eadokfiles/eADok-Dokumentation.pdf]]

!!Export aus dem Bilanzcontainer
Durch Auswahl des Menüpunktes "Export ~Abfall-Input-Output-Meldung" wird die gegenständliche Bilanz in eine xml-Datei exportiert.
[img[Export Bilanzmeldung|http://www.eadok.at/pics/bpfiqmwee4ljs0ox9.jpg]] 

[img[xml-Export|http://www.eadok.at/pics/bpfivbf7jl35emo8d.jpg]]
Durch Auswahl der Schaltfläche "Ablage" kann der entsprechende ~Ablage-Ordner geöffnet werden.
!!Upload ins EDM-Portal
Nach Anmeldung im EDM-Portal kann die xml-Datei in der Anwendung eBilanz in den privaten Bereich hochgeladen werden. Nach erfolgter Validierung kann die Bilanz vom privaten Bereich an die Behörde übermittelt werden.
| !date | !user | !location | !storeUrl | !uploadDir | !toFilename | !backupdir | !origin |
| 07/10/2014 11:32:37 | MaxKraml | [[eADok.html|file:///E:/Google%20Drive/DB/eADok.html#tiddlyspotControls]] | [[store.cgi|http://eadok.tiddlyspot.com/store.cgi]] | . | [[index.html | http://eadok.tiddlyspot.com/index.html]] | . | failed |
| 07/10/2014 11:33:24 | MaxKraml | [[eADok.html|file:///E:/Google%20Drive/DB/eADok.html#tiddlyspotControls]] | [[store.cgi|http://eadok.tiddlyspot.com/store.cgi]] | . | [[index.html | http://eadok.tiddlyspot.com/index.html]] | . |
| 04/11/2014 21:28:01 | MaxKraml | [[eADok.html|file:///E:/Google%20Drive/DB/eADok.html#tiddlyspotControls]] | [[store.cgi|http://eadok.tiddlyspot.com/store.cgi]] | . | [[index.html | http://eadok.tiddlyspot.com/index.html]] | . | ok |
| 08/12/2014 18:21:27 | MaxKraml | [[eADok.html|file:///E:/Google%20Drive/DB/eADok.html#tiddlyspotControls]] | [[store.cgi|http://eadok.tiddlyspot.com/store.cgi]] | . | [[index.html | http://eadok.tiddlyspot.com/index.html]] | . | ok |
| 16/02/2015 14:21:12 | MaxKraml | [[eADok.html|file:///E:/Google%20Drive/DB/eADok.html#tiddlyspotControls]] | [[store.cgi|http://eadok.tiddlyspot.com/store.cgi]] | . | [[index.html | http://eadok.tiddlyspot.com/index.html]] | . | ok |
| 02/04/2015 11:00:22 | MaxKraml | [[eADok.html|file:///Z:/eADok.html#tiddlyspotControls]] | [[store.cgi|http://eadok.tiddlyspot.com/store.cgi]] | . | [[index.html | http://eadok.tiddlyspot.com/index.html]] | . | ok |
| 05/05/2015 13:08:06 | MaxKraml | [[eADok.html|file:///Z:/eADok.html#tiddlyspotControls]] | [[store.cgi|http://eadok.tiddlyspot.com/store.cgi]] | . | [[index.html | http://eadok.tiddlyspot.com/index.html]] | . | ok |
| 02/06/2015 11:57:32 | MaxKraml | [[eADok.html|file:///Z:/eADok.html#tiddlyspotControls]] | [[store.cgi|http://eadok.tiddlyspot.com/store.cgi]] | . | [[index.html | http://eadok.tiddlyspot.com/index.html]] | . | ok |
| 20/01/2016 13:08:39 | MaxKraml | [[eADok.html|file:///Z:/eADok.html#tiddlyspotControls]] | [[store.cgi|http://eadok.tiddlyspot.com/store.cgi]] | . | [[index.html | http://eadok.tiddlyspot.com/index.html]] | . |
| 20/01/2016 13:13:48 | MaxKraml | [[eADok.html|file:///Z:/eADok.html#tiddlyspotControls]] | [[store.cgi|http://eadok.tiddlyspot.com/store.cgi]] | . | [[index.html | http://eadok.tiddlyspot.com/index.html]] | . | ok |
/***
|''Name:''|UploadPlugin|
|''Description:''|Save to web a TiddlyWiki|
|''Version:''|4.1.3|
|''Date:''|Feb 24, 2008|
|''Source:''|http://tiddlywiki.bidix.info/#UploadPlugin|
|''Documentation:''|http://tiddlywiki.bidix.info/#UploadPluginDoc|
|''Author:''|BidiX (BidiX (at) bidix (dot) info)|
|''License:''|[[BSD open source license|http://tiddlywiki.bidix.info/#%5B%5BBSD%20open%20source%20license%5D%5D ]]|
|''~CoreVersion:''|2.2.0|
|''Requires:''|PasswordOptionPlugin|
***/
//{{{
version.extensions.UploadPlugin = {
	major: 4, minor: 1, revision: 3,
	date: new Date("Feb 24, 2008"),
	source: 'http://tiddlywiki.bidix.info/#UploadPlugin',
	author: 'BidiX (BidiX (at) bidix (dot) info',
	coreVersion: '2.2.0'
};

//
// Environment
//

if (!window.bidix) window.bidix = {}; // bidix namespace
bidix.debugMode = false;	// true to activate both in Plugin and UploadService
	
//
// Upload Macro
//

config.macros.upload = {
// default values
	defaultBackupDir: '',	//no backup
	defaultStoreScript: "store.php",
	defaultToFilename: "index.html",
	defaultUploadDir: ".",
	authenticateUser: true	// UploadService Authenticate User
};
	
config.macros.upload.label = {
	promptOption: "Save and Upload this TiddlyWiki with UploadOptions",
	promptParamMacro: "Save and Upload this TiddlyWiki in %0",
	saveLabel: "save to web", 
	saveToDisk: "save to disk",
	uploadLabel: "upload"	
};

config.macros.upload.messages = {
	noStoreUrl: "No store URL in parmeters or options",
	usernameOrPasswordMissing: "Username or password missing"
};

config.macros.upload.handler = function(place,macroName,params) {
	if (readOnly)
		return;
	var label;
	if (document.location.toString().substr(0,4) == "http") 
		label = this.label.saveLabel;
	else
		label = this.label.uploadLabel;
	var prompt;
	if (params[0]) {
		prompt = this.label.promptParamMacro.toString().format([this.destFile(params[0], 
			(params[1] ? params[1]:bidix.basename(window.location.toString())), params[3])]);
	} else {
		prompt = this.label.promptOption;
	}
	createTiddlyButton(place, label, prompt, function() {config.macros.upload.action(params);}, null, null, this.accessKey);
};

config.macros.upload.action = function(params)
{
		// for missing macro parameter set value from options
		if (!params) params = {};
		var storeUrl = params[0] ? params[0] : config.options.txtUploadStoreUrl;
		var toFilename = params[1] ? params[1] : config.options.txtUploadFilename;
		var backupDir = params[2] ? params[2] : config.options.txtUploadBackupDir;
		var uploadDir = params[3] ? params[3] : config.options.txtUploadDir;
		var username = params[4] ? params[4] : config.options.txtUploadUserName;
		var password = config.options.pasUploadPassword; // for security reason no password as macro parameter	
		// for still missing parameter set default value
		if ((!storeUrl) && (document.location.toString().substr(0,4) == "http")) 
			storeUrl = bidix.dirname(document.location.toString())+'/'+config.macros.upload.defaultStoreScript;
		if (storeUrl.substr(0,4) != "http")
			storeUrl = bidix.dirname(document.location.toString()) +'/'+ storeUrl;
		if (!toFilename)
			toFilename = bidix.basename(window.location.toString());
		if (!toFilename)
			toFilename = config.macros.upload.defaultToFilename;
		if (!uploadDir)
			uploadDir = config.macros.upload.defaultUploadDir;
		if (!backupDir)
			backupDir = config.macros.upload.defaultBackupDir;
		// report error if still missing
		if (!storeUrl) {
			alert(config.macros.upload.messages.noStoreUrl);
			clearMessage();
			return false;
		}
		if (config.macros.upload.authenticateUser && (!username || !password)) {
			alert(config.macros.upload.messages.usernameOrPasswordMissing);
			clearMessage();
			return false;
		}
		bidix.upload.uploadChanges(false,null,storeUrl, toFilename, uploadDir, backupDir, username, password); 
		return false; 
};

config.macros.upload.destFile = function(storeUrl, toFilename, uploadDir) 
{
	if (!storeUrl)
		return null;
		var dest = bidix.dirname(storeUrl);
		if (uploadDir && uploadDir != '.')
			dest = dest + '/' + uploadDir;
		dest = dest + '/' + toFilename;
	return dest;
};

//
// uploadOptions Macro
//

config.macros.uploadOptions = {
	handler: function(place,macroName,params) {
		var wizard = new Wizard();
		wizard.createWizard(place,this.wizardTitle);
		wizard.addStep(this.step1Title,this.step1Html);
		var markList = wizard.getElement("markList");
		var listWrapper = document.createElement("div");
		markList.parentNode.insertBefore(listWrapper,markList);
		wizard.setValue("listWrapper",listWrapper);
		this.refreshOptions(listWrapper,false);
		var uploadCaption;
		if (document.location.toString().substr(0,4) == "http") 
			uploadCaption = config.macros.upload.label.saveLabel;
		else
			uploadCaption = config.macros.upload.label.uploadLabel;
		
		wizard.setButtons([
				{caption: uploadCaption, tooltip: config.macros.upload.label.promptOption, 
					onClick: config.macros.upload.action},
				{caption: this.cancelButton, tooltip: this.cancelButtonPrompt, onClick: this.onCancel}
				
			]);
	},
	options: [
		"txtUploadUserName",
		"pasUploadPassword",
		"txtUploadStoreUrl",
		"txtUploadDir",
		"txtUploadFilename",
		"txtUploadBackupDir",
		"chkUploadLog",
		"txtUploadLogMaxLine"		
	],
	refreshOptions: function(listWrapper) {
		var opts = [];
		for(i=0; i<this.options.length; i++) {
			var opt = {};
			opts.push();
			opt.option = "";
			n = this.options[i];
			opt.name = n;
			opt.lowlight = !config.optionsDesc[n];
			opt.description = opt.lowlight ? this.unknownDescription : config.optionsDesc[n];
			opts.push(opt);
		}
		var listview = ListView.create(listWrapper,opts,this.listViewTemplate);
		for(n=0; n<opts.length; n++) {
			var type = opts[n].name.substr(0,3);
			var h = config.macros.option.types[type];
			if (h && h.create) {
				h.create(opts[n].colElements['option'],type,opts[n].name,opts[n].name,"no");
			}
		}
		
	},
	onCancel: function(e)
	{
		backstage.switchTab(null);
		return false;
	},
	
	wizardTitle: "Upload with options",
	step1Title: "These options are saved in cookies in your browser",
	step1Html: "<input type='hidden' name='markList'></input><br>",
	cancelButton: "Cancel",
	cancelButtonPrompt: "Cancel prompt",
	listViewTemplate: {
		columns: [
			{name: 'Description', field: 'description', title: "Description", type: 'WikiText'},
			{name: 'Option', field: 'option', title: "Option", type: 'String'},
			{name: 'Name', field: 'name', title: "Name", type: 'String'}
			],
		rowClasses: [
			{className: 'lowlight', field: 'lowlight'} 
			]}
};

//
// upload functions
//

if (!bidix.upload) bidix.upload = {};

if (!bidix.upload.messages) bidix.upload.messages = {
	//from saving
	invalidFileError: "The original file '%0' does not appear to be a valid TiddlyWiki",
	backupSaved: "Backup saved",
	backupFailed: "Failed to upload backup file",
	rssSaved: "RSS feed uploaded",
	rssFailed: "Failed to upload RSS feed file",
	emptySaved: "Empty template uploaded",
	emptyFailed: "Failed to upload empty template file",
	mainSaved: "Main TiddlyWiki file uploaded",
	mainFailed: "Failed to upload main TiddlyWiki file. Your changes have not been saved",
	//specific upload
	loadOriginalHttpPostError: "Can't get original file",
	aboutToSaveOnHttpPost: 'About to upload on %0 ...',
	storePhpNotFound: "The store script '%0' was not found."
};

bidix.upload.uploadChanges = function(onlyIfDirty,tiddlers,storeUrl,toFilename,uploadDir,backupDir,username,password)
{
	var callback = function(status,uploadParams,original,url,xhr) {
		if (!status) {
			displayMessage(bidix.upload.messages.loadOriginalHttpPostError);
			return;
		}
		if (bidix.debugMode) 
			alert(original.substr(0,500)+"\n...");
		// Locate the storeArea div's 
		var posDiv = locateStoreArea(original);
		if((posDiv[0] == -1) || (posDiv[1] == -1)) {
			alert(config.messages.invalidFileError.format([localPath]));
			return;
		}
		bidix.upload.uploadRss(uploadParams,original,posDiv);
	};
	
	if(onlyIfDirty && !store.isDirty())
		return;
	clearMessage();
	// save on localdisk ?
	if (document.location.toString().substr(0,4) == "file") {
		var path = document.location.toString();
		var localPath = getLocalPath(path);
		saveChanges();
	}
	// get original
	var uploadParams = new Array(storeUrl,toFilename,uploadDir,backupDir,username,password);
	var originalPath = document.location.toString();
	// If url is a directory : add index.html
	if (originalPath.charAt(originalPath.length-1) == "/")
		originalPath = originalPath + "index.html";
	var dest = config.macros.upload.destFile(storeUrl,toFilename,uploadDir);
	var log = new bidix.UploadLog();
	log.startUpload(storeUrl, dest, uploadDir,  backupDir);
	displayMessage(bidix.upload.messages.aboutToSaveOnHttpPost.format([dest]));
	if (bidix.debugMode) 
		alert("about to execute Http - GET on "+originalPath);
	var r = doHttp("GET",originalPath,null,null,username,password,callback,uploadParams,null);
	if (typeof r == "string")
		displayMessage(r);
	return r;
};

bidix.upload.uploadRss = function(uploadParams,original,posDiv) 
{
	var callback = function(status,params,responseText,url,xhr) {
		if(status) {
			var destfile = responseText.substring(responseText.indexOf("destfile:")+9,responseText.indexOf("\n", responseText.indexOf("destfile:")));
			displayMessage(bidix.upload.messages.rssSaved,bidix.dirname(url)+'/'+destfile);
			bidix.upload.uploadMain(params[0],params[1],params[2]);
		} else {
			displayMessage(bidix.upload.messages.rssFailed);			
		}
	};
	// do uploadRss
	if(config.options.chkGenerateAnRssFeed) {
		var rssPath = uploadParams[1].substr(0,uploadParams[1].lastIndexOf(".")) + ".xml";
		var rssUploadParams = new Array(uploadParams[0],rssPath,uploadParams[2],'',uploadParams[4],uploadParams[5]);
		var rssString = generateRss();
		// no UnicodeToUTF8 conversion needed when location is "file" !!!
		if (document.location.toString().substr(0,4) != "file")
			rssString = convertUnicodeToUTF8(rssString);	
		bidix.upload.httpUpload(rssUploadParams,rssString,callback,Array(uploadParams,original,posDiv));
	} else {
		bidix.upload.uploadMain(uploadParams,original,posDiv);
	}
};

bidix.upload.uploadMain = function(uploadParams,original,posDiv) 
{
	var callback = function(status,params,responseText,url,xhr) {
		var log = new bidix.UploadLog();
		if(status) {
			// if backupDir specified
			if ((params[3]) && (responseText.indexOf("backupfile:") > -1))  {
				var backupfile = responseText.substring(responseText.indexOf("backupfile:")+11,responseText.indexOf("\n", responseText.indexOf("backupfile:")));
				displayMessage(bidix.upload.messages.backupSaved,bidix.dirname(url)+'/'+backupfile);
			}
			var destfile = responseText.substring(responseText.indexOf("destfile:")+9,responseText.indexOf("\n", responseText.indexOf("destfile:")));
			displayMessage(bidix.upload.messages.mainSaved,bidix.dirname(url)+'/'+destfile);
			store.setDirty(false);
			log.endUpload("ok");
		} else {
			alert(bidix.upload.messages.mainFailed);
			displayMessage(bidix.upload.messages.mainFailed);
			log.endUpload("failed");			
		}
	};
	// do uploadMain
	var revised = bidix.upload.updateOriginal(original,posDiv);
	bidix.upload.httpUpload(uploadParams,revised,callback,uploadParams);
};

bidix.upload.httpUpload = function(uploadParams,data,callback,params)
{
	var localCallback = function(status,params,responseText,url,xhr) {
		url = (url.indexOf("nocache=") < 0 ? url : url.substring(0,url.indexOf("nocache=")-1));
		if (xhr.status == 404)
			alert(bidix.upload.messages.storePhpNotFound.format([url]));
		if ((bidix.debugMode) || (responseText.indexOf("Debug mode") >= 0 )) {
			alert(responseText);
			if (responseText.indexOf("Debug mode") >= 0 )
				responseText = responseText.substring(responseText.indexOf("\n\n")+2);
		} else if (responseText.charAt(0) != '0') 
			alert(responseText);
		if (responseText.charAt(0) != '0')
			status = null;
		callback(status,params,responseText,url,xhr);
	};
	// do httpUpload
	var boundary = "---------------------------"+"AaB03x";	
	var uploadFormName = "UploadPlugin";
	// compose headers data
	var sheader = "";
	sheader += "--" + boundary + "\r\nContent-disposition: form-data; name=\"";
	sheader += uploadFormName +"\"\r\n\r\n";
	sheader += "backupDir="+uploadParams[3] +
				";user=" + uploadParams[4] +
				";password=" + uploadParams[5] +
				";uploaddir=" + uploadParams[2];
	if (bidix.debugMode)
		sheader += ";debug=1";
	sheader += ";;\r\n"; 
	sheader += "\r\n" + "--" + boundary + "\r\n";
	sheader += "Content-disposition: form-data; name=\"userfile\"; filename=\""+uploadParams[1]+"\"\r\n";
	sheader += "Content-Type: text/html;charset=UTF-8" + "\r\n";
	sheader += "Content-Length: " + data.length + "\r\n\r\n";
	// compose trailer data
	var strailer = new String();
	strailer = "\r\n--" + boundary + "--\r\n";
	data = sheader + data + strailer;
	if (bidix.debugMode) alert("about to execute Http - POST on "+uploadParams[0]+"\n with \n"+data.substr(0,500)+ " ... ");
	var r = doHttp("POST",uploadParams[0],data,"multipart/form-data; ;charset=UTF-8; boundary="+boundary,uploadParams[4],uploadParams[5],localCallback,params,null);
	if (typeof r == "string")
		displayMessage(r);
	return r;
};

// same as Saving's updateOriginal but without convertUnicodeToUTF8 calls
bidix.upload.updateOriginal = function(original, posDiv)
{
	if (!posDiv)
		posDiv = locateStoreArea(original);
	if((posDiv[0] == -1) || (posDiv[1] == -1)) {
		alert(config.messages.invalidFileError.format([localPath]));
		return;
	}
	var revised = original.substr(0,posDiv[0] + startSaveArea.length) + "\n" +
				store.allTiddlersAsHtml() + "\n" +
				original.substr(posDiv[1]);
	var newSiteTitle = getPageTitle().htmlEncode();
	revised = revised.replaceChunk("<title"+">","</title"+">"," " + newSiteTitle + " ");
	revised = updateMarkupBlock(revised,"PRE-HEAD","MarkupPreHead");
	revised = updateMarkupBlock(revised,"POST-HEAD","MarkupPostHead");
	revised = updateMarkupBlock(revised,"PRE-BODY","MarkupPreBody");
	revised = updateMarkupBlock(revised,"POST-SCRIPT","MarkupPostBody");
	return revised;
};

//
// UploadLog
// 
// config.options.chkUploadLog :
//		false : no logging
//		true : logging
// config.options.txtUploadLogMaxLine :
//		-1 : no limit
//      0 :  no Log lines but UploadLog is still in place
//		n :  the last n lines are only kept
//		NaN : no limit (-1)

bidix.UploadLog = function() {
	if (!config.options.chkUploadLog) 
		return; // this.tiddler = null
	this.tiddler = store.getTiddler("UploadLog");
	if (!this.tiddler) {
		this.tiddler = new Tiddler();
		this.tiddler.title = "UploadLog";
		this.tiddler.text = "| !date | !user | !location | !storeUrl | !uploadDir | !toFilename | !backupdir | !origin |";
		this.tiddler.created = new Date();
		this.tiddler.modifier = config.options.txtUserName;
		this.tiddler.modified = new Date();
		store.addTiddler(this.tiddler);
	}
	return this;
};

bidix.UploadLog.prototype.addText = function(text) {
	if (!this.tiddler)
		return;
	// retrieve maxLine when we need it
	var maxLine = parseInt(config.options.txtUploadLogMaxLine,10);
	if (isNaN(maxLine))
		maxLine = -1;
	// add text
	if (maxLine != 0) 
		this.tiddler.text = this.tiddler.text + text;
	// Trunck to maxLine
	if (maxLine >= 0) {
		var textArray = this.tiddler.text.split('\n');
		if (textArray.length > maxLine + 1)
			textArray.splice(1,textArray.length-1-maxLine);
			this.tiddler.text = textArray.join('\n');		
	}
	// update tiddler fields
	this.tiddler.modifier = config.options.txtUserName;
	this.tiddler.modified = new Date();
	store.addTiddler(this.tiddler);
	// refresh and notifiy for immediate update
	story.refreshTiddler(this.tiddler.title);
	store.notify(this.tiddler.title, true);
};

bidix.UploadLog.prototype.startUpload = function(storeUrl, toFilename, uploadDir,  backupDir) {
	if (!this.tiddler)
		return;
	var now = new Date();
	var text = "\n| ";
	var filename = bidix.basename(document.location.toString());
	if (!filename) filename = '/';
	text += now.formatString("0DD/0MM/YYYY 0hh:0mm:0ss") +" | ";
	text += config.options.txtUserName + " | ";
	text += "[["+filename+"|"+location + "]] |";
	text += " [[" + bidix.basename(storeUrl) + "|" + storeUrl + "]] | ";
	text += uploadDir + " | ";
	text += "[[" + bidix.basename(toFilename) + " | " +toFilename + "]] | ";
	text += backupDir + " |";
	this.addText(text);
};

bidix.UploadLog.prototype.endUpload = function(status) {
	if (!this.tiddler)
		return;
	this.addText(" "+status+" |");
};

//
// Utilities
// 

bidix.checkPlugin = function(plugin, major, minor, revision) {
	var ext = version.extensions[plugin];
	if (!
		(ext  && 
			((ext.major > major) || 
			((ext.major == major) && (ext.minor > minor))  ||
			((ext.major == major) && (ext.minor == minor) && (ext.revision >= revision))))) {
			// write error in PluginManager
			if (pluginInfo)
				pluginInfo.log.push("Requires " + plugin + " " + major + "." + minor + "." + revision);
			eval(plugin); // generate an error : "Error: ReferenceError: xxxx is not defined"
	}
};

bidix.dirname = function(filePath) {
	if (!filePath) 
		return;
	var lastpos;
	if ((lastpos = filePath.lastIndexOf("/")) != -1) {
		return filePath.substring(0, lastpos);
	} else {
		return filePath.substring(0, filePath.lastIndexOf("\\"));
	}
};

bidix.basename = function(filePath) {
	if (!filePath) 
		return;
	var lastpos;
	if ((lastpos = filePath.lastIndexOf("#")) != -1) 
		filePath = filePath.substring(0, lastpos);
	if ((lastpos = filePath.lastIndexOf("/")) != -1) {
		return filePath.substring(lastpos + 1);
	} else
		return filePath.substring(filePath.lastIndexOf("\\")+1);
};

bidix.initOption = function(name,value) {
	if (!config.options[name])
		config.options[name] = value;
};

//
// Initializations
//

// require PasswordOptionPlugin 1.0.1 or better
bidix.checkPlugin("PasswordOptionPlugin", 1, 0, 1);

// styleSheet
setStylesheet('.txtUploadStoreUrl, .txtUploadBackupDir, .txtUploadDir {width: 22em;}',"uploadPluginStyles");

//optionsDesc
merge(config.optionsDesc,{
	txtUploadStoreUrl: "Url of the UploadService script (default: store.php)",
	txtUploadFilename: "Filename of the uploaded file (default: in index.html)",
	txtUploadDir: "Relative Directory where to store the file (default: . (downloadService directory))",
	txtUploadBackupDir: "Relative Directory where to backup the file. If empty no backup. (default: ''(empty))",
	txtUploadUserName: "Upload Username",
	pasUploadPassword: "Upload Password",
	chkUploadLog: "do Logging in UploadLog (default: true)",
	txtUploadLogMaxLine: "Maximum of lines in UploadLog (default: 10)"
});

// Options Initializations
bidix.initOption('txtUploadStoreUrl','');
bidix.initOption('txtUploadFilename','');
bidix.initOption('txtUploadDir','');
bidix.initOption('txtUploadBackupDir','');
bidix.initOption('txtUploadUserName','');
bidix.initOption('pasUploadPassword','');
bidix.initOption('chkUploadLog',true);
bidix.initOption('txtUploadLogMaxLine','10');


// Backstage
merge(config.tasks,{
	uploadOptions: {text: "upload", tooltip: "Change UploadOptions and Upload", content: '<<uploadOptions>>'}
});
config.backstageTasks.push("uploadOptions");


//}}}

Diskussionsgruppe zu eADok.
Sie haben hier die Möglichkeit, mit anderen Usern und den Entwicklern Probleme und Anregungen zu diskutieren.

''[[zur eADok-user-group...|https://groups.google.com/forum/?hl=de#!forum/eadok]]''
Gemäß § 3 der [[ANVO]] können Abfallersterzeuger von Siedlungs- und Verpackungsabfälle für diese Abfallarten vereinfachte Aufzeichnungen führen. Dazu sind im betreffenden Formular für jede Abfallart die entsprechenden Angaben zu machen.
[img[Vereinfachte Aufzeichnungen|http://www.eadok.at/pics/ba4pxd7kb853rt4st.jpg]]
!!wesentliche Neuerungen in dieser Version
*verbesserte Menüführung
**mehrere Fenster (BS, LS, Kundenverwaltung) können gleichzeitig geöffnet werden
**bei mehrerern geöffneten Fenstern ist das Wechseln der Fenster über "Strg-F6" oder über den neuen Menüpunkt "Fenster" möglich
*vereinfachte Aufzeichnungen gem. § 3 [[ANVO]] sind möglich
**[[Menüpunkt "Vereinfachte Aufzeichnungen"|http://www.eadok.at/pics/b3ihkqejd2tsp6wr0.gif]]<<imagebox>>
*~Begleitschein-Protokolldatei-Import verbessert
*es wird nur mehr [[EBSM_neu]] zur Datenübermittlung von [[BS]] an die Behörde unterstützt!
*Kundendaten können exportiert werden
[img[http://www.eadok.at/pics/b3ihwwqxv9c16ixjg.gif][http://www.eadok.at/pics/b3ihxbpczamq4p2do.gif]]<<imagebox>>
*kleinere Bugs behoben
!!wesentliche Neuerungen in dieser Version
*Import von Bilanzdaten aus dem tool [[Bilanz-Import-eADok.xls|Bilanz-Import-eADok]], Verarbeitung und Export für das EDM-Portal (XML)
*beim Import von ~EBSM-Dateien wird der ursprüngliche Dateiname bei den Datensätzen mitgespeichert und steht im ~CSV-Export zur Verfügung
*Begleitscheine und Lieferscheine: eine allfällige Standort-GLN wird entfernt (zur Vermeidung von Importfehlern im EDM)
*Schema-Validierung der exportierten xml-Dateien
*Update des Abfallverzeichnis
*weitere kleine Bugs behoben

''Liste der Änderungen unter [[Weitere Entwicklung und History]]''
!!wesentliche Neuerungen in dieser Version
*mehrere Bilanzen können aus Bilanz-Import-eADok.xls importiert werden (für mehrere Deponiestandorte pro Firma)
*Mengenbegrenzung von 20.000.000 kg pro Datensatz gelöscht
*Prüfung Bilanzzeitraum korrigiert
*Exportfehler bei der Restkapazität von Deponien (siehe [[FAQ]] wurde behoben)
!!wesentliche Neuerungen in dieser Version
*Kundenverwaltung: Suche in den eRAS-Daten auch auf Standortdaten erweitert (Standort-GLN)
*BS Ablage: Bereits in der Ablage befindliche BS können auch nach Übersendung an EDM wieder reaktiviert werden 
*BS Anzeige: Anzeige eines BS, welcher noch keine Abfallart enthält, ist möglich
*Bilanzerstellung: der Export einer Leermeldung (Deponiebetreiber) inkl. Restkapazität wird zugelassen
*Bilanzerstellung: Bei Datensätzen einer Bilanz, bei welchen eine GLN verwendet wird, welche noch nicht in der Registerabfrage eingetragen ist oder schon wieder entfernt wurde, konnte der entsprechende Block nicht ausgegeben werden. Der Fehler wurde behoben
*eRAS Daten: Den eRAS Daten wird ein verbesserter Suchindex hinzugefügt (inkl. ~Standort-GLNs)
*Bilanzmeldung: Eine Bilanzmeldung kann auch ohne Bewegungsdaten erstellt werden
*~BS-Erstellung: Bei der Eingabe einer 8-stelligen Abfallbesitzernummer oder einer 13-stelligen GLN im BS wird der entsprechende Registereintrag automatisch in den BS übernommen (ohne Umweg über die Suche)
*verbesserte Fensterführung
*~CSV-Import: Überprüfung der installierten [[MDAC-Version|MDAC]] (Minimum V2.6)

Eine Gesamtübersicht der Änderungen finden Sie [[hier|Weitere Entwicklung und History]]
!!wesentliche Neuerung in dieser Version
*Bugfix: Druckmenü, Verlust der Druckaufträge bei aufeinanderfolgendem Druck
!!wesentliche Neuerungen in dieser Version
*Der Import von eRAS -Registerdaten ist jetzt auch unter Windows-Vista möglich (MDAC V6.0 auch zulässig)
*Beim Export von Bilanzdaten wurde bei Input-Zwischenlagern die Abfallart beim Export aus eADok gestrichen; Fehler wurde bereinigt
!!wesentliche Neuerungen in dieser Version
*''unterschiedliche Darstellung'' für Abfallerzeuger (vereinfacht) und Sammler/Behandler von Abfällen
*''Vorlagenverwaltung'' für Begleitscheine und Lieferscheine
*''Liefer-/Begleitscheinformular'' erweitert (insbesondere ''Anpassung an DeponieVO und AbfallbilanzV'')
*''Anlagenverwaltung'' für Sammler/Behandler 
*''Lagerstandsbuchungen'' für Sammler/Behandler
*''Kundenverwaltung'': eigene Kunden mit personenkreisbezogenen GLN möglich
*''[[eRAS]] Stammdaten'': historische Stammdaten aus dem [[eRAS]] werden berücksichtigt

mehr siehe: [[Weitere Entwicklung und History]]


!!wesentliche Neuerungen in dieser Version
*Erstellung der Jahresbilanz für Deponien mit Daten aus eADok möglich
*Nummernkreise für Standorte: Für sämtliche Betriebsstandorte können eigenen BS/~LS-Nummernkreise angelegt werden, die BS/~LS-Nummern werden im Erfassungsformular dem entsprechend automatisch eingetragen
*BS/LS werden um die Abfallinformation gem. [[DeponieVO]] erweitert
*BS/LS: Druck: Felder erweitert entsprechend dem Erfassungsformular
*BS/LS: es können mehr als 2 Kopien von LS/BS ausgedruckt werden (inkl. Original: 4)
*Kundenverwaltung: Aus den BS/LS können automatisch Kunden mit personenkreisspez. GLN in die Kundenverwaltung übernommen werden
*BS/LS: Sammeltour, Streckengeschäft: Restmenge des Ausgangs für ~Eingangs-BS wird vorgeschlagen
*BS/LS: Überprüfung von PLZ auf Gültigkeit bzw Adressierbarkeit
*Erweiterung der Fehlerprüfung der ~BS-Nummerierung für Nummernvergaben ausserhalb des Abfallbewegungszeitraums; ~BS-Nummernvergabe bezieht sich nun auf Zeitraum des ~Übergabe-Übernahmedatums (und nicht wie bisher auf das aktuelle Jahr)
*BS: wenn beim Erstellen oder importieren von BS als ÜG eine Abfallbesitzernummer angegeben wird, wird diese durch die im eRAS angegebene Personen-GLN (falls vorhanden) oder durch eine entsprechende Personenkreis GLN erstetzt. Die Abfallbesitzernummer wird im Feld Bemerkungen gespeichert.
*Kundenstamm: Anlegen ausländischer Kunden möglich
*Lagerstände: Filtern von Lagerständen über alle SlNr; Export von Lagerstandsliste und fiktiver Lagerstand in xls
*Anlagenformular: Überarbeitung des gesamten Formulars
*weitere kleinere Erweiterungen
*Behebung einiger kleiner Fehler
*Zusammenfassung der Vollversion- und ~Update-Setup Routine in einen einzigen Installer; Anpassung der ~Update-Routine für Aktualisierungen vorangegangener Versionen (ab Vers. 1.07)

!!wesentliche Neuerungen in dieser Version
*Ausdruck einer fortlaufend nummerierten Serie von ~Blanko-Begleitscheinformularen ist jetzt möglich (Menüpunkt: "Datei - ~Blanko-Formulare")
*Fehler in der eADok-Bilanzdatentransferprüfung bei Identifizierung als Standort behoben
*Fehler beim Abspeichern von Lieferscheinen bei veränderten Systemeinstellungen (kurzes Datumsformat) behoben
*Masse Dezimalstellen: eBilanz-xml-Ausgabe, Korrektur der Anzeige
*Fehler bei der Übernahme der ~Transporteur-GLN aus ~Betriebs-Suchformular korrigiert
*Bei Streckengeschäften werden die Buchungsarten und die ~Nachfolge-BS jetzt korrekt in der ~Begleitscheindatei-Datei (~XML-Datei  für die Behörde) abgebildet
*Bei Angabe der Standort-GLN können keine alternativen Adressen mehr angegeben werden
*Im Feld ~RD-Verfahren werden die bei den Anlagenstammdaten eingetragenen Hauptverfahren (beim ÜG und ÜN) als Defaultwert übernommen
*Das Feld Masse bei den Buchungen wurde auf 15 Stellen erweitert
*Fehler bei einmaligem Transporteur (Adresse nicht vollständig) wurde behoben
*anstatt der GLN wird die Standortbezeichnung im BS/LS angezeigt
*Fehler beim Update gewisser Netzwerkinstallationen wurde bereinigt
*historisierte Personen und Standorte sind in der Abfrage mit einem Archivierungsdatum gekennzeichnet
*Fehler beim Ausdruck von Datensätzen ohne SlNr wurde behoben
*Anzeige der Branchenbezeichnungen und des Archivierungsdatums bei den Kundendaten

!!wesentliche Neuerungen in dieser Version
*eBilanz: Update der eBilanz-Schnittstelle auf Version 2.11
*Der Import/Export von Abfallbewegungen (Einzelbuchungen) gemäß ~EDM-Bilanzschnittstelle (Eingang, Ausgang, Innerbetrieblich, Sonstige) ist jetzt möglich (inkl. jener Aufzeichnungsfelder, welche in der Bilanz nicht berücksichtigt werden)
*BS/LS	Spezialfall Streckengeschäfte:
**Die Abbildung erfolgt in eigenem Register
**vereinfachte Prozedur zur Erfassung eines Streckengeschäftes: damit ist in einem Vorgang die Buchung einer Eingangs- und Ausgangsbuchung möglich: der UEN bzw. UEG beim Streckengeschäft ist immer der Firmensitz und wird in den Buchungen automatisch ergänzt
***[[Anleitung für die Buchungsart "Streckengeschäft"|Anleitung für die Buchungsart "Streckengeschäft"]]
*BS/~LS-Vorlagen: Die Bearbeitungsmöglichkeit wurde wesentlich verbessert (inkl. Suchmöglichkeit)
*BS/~LS-Vorlagendatei: Der Pfad zur Ablage der Vorlagendatei kann in den Einstellungen festgelegt werden
*Blanko BS: Es ist jetzt auch möglich ~Ausgangs-Blanko-Scheine zu erstellen
*Nummerierung der BS/LS: Verbesserung der zugrunde liegenden Systematik
*Der Embedded Server wurde auf Version 2.1.3 von [[Firebird|http://www.firebirdsql.org/]] upgedatet
*Import EBSM_neu, EBSM_alt, eBilanz-Daten: Automatische Zuweisung der Buchungsart für Eingang, Ausgang, Innerbetrieblich, Sonstige
*Anpassungen bei den Buchungen zu "Lohnarbeit" und "Mobile Anlagen"
*weitere kleine Erweiterungen und Anpassungen

 
+++(Installation)!!![Installation...|Anklicken zum Ausklappen...]>...
<<tiddler [[Installation von eADok]]>>
===
!!wesentliche Neuerungen in dieser Version:
|Bilanzmanager|[[Mitsammlung: Für Systeme mitgesammelte Prozentsätze zu einzelnen Abfällen können angegeben und in die Bilanz aufgenommen werden|
|~BS-LS-Suche|Filtermöglichkeit zur Kennzeichnung von bilanzrelevanten und nicht bilanzrelevanten Buchungen|
|~Teil-Bilanzmanager|[[Standortbilanzen können zusammengefasst werden|mehrere Bilanzen zusammenfassen]]|
|~Fremd-Bilanzmanager (PRO)|Einzelbilanzen für mitaufgezeichnete Bewegungen von Sammlern (zB: Gemeinden) können als deren Bilanzen exportiert werden, Eintragung von Mitsammlungen (Systeme) ist ebenfalls möglich|
|BS/LS/Bilanz|werden Ersterzeugerdaten eingetragen, wird auf Vollständigkeit geprüft|
|Embedded Server|Update auf ~Firebird-embedded-Server  Version 2.1.4|
|BS/~LS-Export|Sonstige Buchungen können nun als Bewegungsdatensätze exportiert werden|
|Bilanzmanager|Ausgangsbuchungen zu einem Personenkreis werden nach Namen gruppiert|
|weitere kleine Änderungen| |

+++(Übersicht Weiterentwicklung)!!![Übersicht Weiterentwicklung...|Anklicken zum Ausklappen...]>...
<<tiddler [[Weitere Entwicklung und History]]>>
===
+++(Installation)!!![Installation...|Anklicken zum Ausklappen...]>...
<<tiddler [[Installation von eADok]]>>
===
!!wesentliche Neuerungen in dieser Version:

|''Thema''|''Inhalt''|
|Bilanzerstellung|[[Der Bilanzmanager wurde überarbeitet und das Handling wesentlich vereinfacht|Bilanzmanager ab V 120]]|
|Vorlagenverwaltung|[[Die Vorlagenverwaltung für BS/LS wurde wesentlich vereinfacht|Verwenden von Vorlagen]]|
|Vereinfachte Aufzeichnungen|Bei den vereinfachten Aufzeichnungen sind jetzt auch Angaben zu Standorten möglich|
|Datenbanksicherung|[[In den Einstellungen wurde ein neues Register zur regelmäßgen Datenbanksicherung eingefügt|Einstellungen - Datenbanksicherung]]|
|Bilanzerstellung - Deponien|[[Fehler bei Bilanzerstellung bei Deponien wurde behoben|Version 1.20 für Deponiemeldungen]]|
|~Bilanz-Auswertung|[[Bericht zur erstellten Bilanz wurde eingeführt|Bilanzbericht]]|
|Registerabfrage online|[[Implementierung einer online-eRAS-Registerabfrage im BS/LS-Formular|online-eRAS-Registerabfrage im BS-LS-Formular]]|
|BS/LS Selektion und Analyse|[[In der BS/LS-Verwaltung wurde die Möglichkeit zur Filterung und Analyse der Daten geschaffen|BS-LS-Filter und Analyse]]|
|Programmführung|mehrere Anpassungen|
|Fehler|Behebung mehrerer Fehler|

+++(Übersicht Weiterentwicklung)!!![Übersicht Weiterentwicklung...|Anklicken zum Ausklappen...]>...
<<tiddler [[Weitere Entwicklung und History]]>>
===
''Aufgrund einer fehlerhaften Zusammenfassungsprozedur in eADok bis V 1.14_h1 sollte für die Erstellung der Bilanzmeldung von Deponien jedenfalls die Version 1.20 von eADok verwendet werden!''
Bei allen anderen Bilanzen tritt dieser Fehler nicht auf.
!wesentliche Änderungen in der Version 1.30
|eBegleitschein	Webservice|[[vollautomatischer EDM-Upload von Begleitscheinen, Download von Prüfprotokollen|Begleitscheinübermittlung an das Lebensministerium]]|
|eAFZ|[[eAFZ-Verwaltung (Aufzeichung & Erstellung der Verwertungsnachweise) und elektronische Übermittlung der Jahresmeldung an die Behörde (vorerst für Erstübernehmer, Anfallstelle, Verwerter)|eAFZ-Verwaltung]]|
|ADR|[[Erstellung von ADR-Transport-Dokumenten im Begleitscheinformular]]|
|Art. 18 BS Verbringung Annex 7|[[Erstellung von "Grüne Liste" Dokumenten im Lieferschein]]|
|BS/LS Druck|gemischter Ausdruck von BS und LS möglich|
|BS/LS|eRAS-Webservice: AUSGANG - Übernehmer: fehlerhafter Eintrag bei Kundensuche|
|xml-Import|Fehler beim Import von Datensätzen mit Beurteilungsnachweis und Abfallcharakterisierung (Deponie) behoben|
|BS/LS Druck|Begleitschein/Lieferscheine als Liste|
|BSRES|~PLZ-Verzeichnis aktualisiert|
!Installation
Die Installationsdateien stehen unter http://www.oekobits.at/eADok/eadokfiles/ zum Download bereit:
*''[[eADok_Setup_V1.32_x32.exe|http://www.oekobits.at/eADok/eadokfiles/eADok_Setup_V1.32_x32.exe]]'' ([[32-bit Version von eADok]])
*''[[eADok_Setup_V1.32_x64.exe|http://www.oekobits.at/eADok/eadokfiles/eADok_Setup_V1.32_x64.exe]]'' ([[64-bit Version von eADok]])
Eine bereits bestehende Installation von eADok (''ab Version 1.07'') kann direkt upgedatet werden
!wesentliche Änderungen in der Version 1.32
|BS/LS Druck|Fehler behoben: Druckereinstellungen: die Selektion von Seiten war nicht mehr möglich|
|BS/LS Druck|Begleitschein/~Lieferschein-Einzelscheinformat Druck jetzt auch ohne Kopie möglich|
|Blanko-BS|Fehler wurde behoben: es wurden immer "Lieferscheine für nicht gef. Abfall"  vorbereitet|
|Blanko-BS|Fehler behoben: Der Ausdruck einzelner Seiten war nicht möglich (im Druckmenü ausgegraut)|
|eBegleitschein|Anpassung der Begleitscheinerfassung an die Erfordernisse der ANV2012 Novelle|
|eBegleitschein|Anpassung der Druckvorlagen für eBegleitschein|
|BS/LS Erfassung|Überarbeitung des Begleitschein/~Lieferschein-Erstellungsformulars, neue Fehlerbehandlung, Modul 'Erleichterung Streckengeschäft', 'kein Transport'-Indikator|
|Import/Export ebsm_neu (1.01)|Import und ~Export-Funktion an ebsm_neu (V. 1.01) angepasst, Fehlerprüfung für ebsm_neu wurde verschärft!|
|Import/Export eADok Bewegungsdaten|an Erfordernisse der ANVO(2012) angepasst|
|eADokVIS|Visualisierungsmodul für Bilanzdaten|
|[[ADR]]|Aktualisierung der ADR-Liste (Stand 2013)|
|eBilanz|Zusammenfassung: Option zu Zusammenfassung der Ersterzeuger auf BLD + Branche|
|eBilanz|neue Meldeart hinzugefügt: Datenauszug für die Behörde|
|BS/LS Vorlagen|Fehlerhafte Aktualisierung bei Vorlage E/A Streckengeschäft|
|~GrüneListe|Aktualisierung des Grüne Liste Dokuments|
|Kundenverwaltung|Selektion von Standorten für die Begleitschein-/~Lieferschein-Erstellung|
!Installation
Die Installationsdatei steht unter http://www.oekobits.at/eADok/eadokfiles/ zum Download bereit:
*''[[eADok_Setup_V1.33.exe|http://www.oekobits.at/eADok/eadokfiles/eADok_Setup_V1.33.exe]]'' ([[32-bit und 64-bit Version von eADok]])

Eine bereits bestehende Installation von eADok (''ab Version 1.07'') kann direkt upgedatet werden

!wesentliche Änderungen in der Version 1.33
|BS/LS|Zusammenführung der ~BS- und ~LS-Verwaltung, Beschleunigung der Erstellungsprozeduren|
|Vereinfachte Aufzeichnungen|Verbessertes Aufzeichnungsmodul für Erzeuger|
|BS/~LS-Verwaltung|Fehler bei&nbsp;Eingabe von ausländ. Postleitzahlen mit alphanumerischen Bestandteilen|
|BS/~LS-Druck|3. Zeile bei Übergeber/~Übernehmer-Name|
|BS/~LS-ListenDruck|Erweiterung der Gruppierung&nbsp;auf '~UEG-Name' (Fehlerhafte Gruppierung bei Personenkreisen)|
|Kundenverwaltung|Fehlermeldung behoben bei Erstellung eines neuen&nbsp;Transporteurs: "conversion error from string"|
|BS/~LS-Erstellung|eRAS ~Registerdaten-Update: kein Überschreiben der ~Absende-PLZ bzw. ~Empfangs-PLZ, wenn Eintrag in alternative Adresse vorliegt|
|Anlagen|Restkapazität	Eingabemöglichkeit für Restkapazität genehmigt, Restkapazität ausgebaut, die undeklarierte Angabe wird deaktiviert|
|Konfiguration|Automatische Nummernkreisvergabe bei ~Neu-Installation|
|Einstellungen|Deaktivierungsmöglichkeit der autom. Nummerierung von Standorten ohne Nummernkreis|
|Grüne Liste|Angabe eines 2. und 3. Transporteurs möglich|
|~AFZ-Verwertungsnachweis|Verbesserte Darstellung des Berichts|
|Referenztabelle|Aktualisierung der ~Abfall-Schlüsselnummerliste|
|~Setup-Routine|Zusammenführung der 32- und 64-bit ~Setup-Versionen in eine ~Setup-Datei|
|ADR|Aktualisierung der ~ADR-Liste (Stand 2015)|
!Installation
Die Installationsdatei steht unter http://www.oekobits.at/eADok/eadokfiles/ zum Download bereit:
*''[[eADok_Setup_V1.33_h4.exe|http://www.oekobits.at/eADok/eadokfiles/eADok_Setup_V1.33_h4.exe]]'' ([[32-bit und 64-bit Version von eADok]])

Eine bereits bestehende Installation von eADok (''ab Version 1.07'') kann direkt upgedatet werden
!wesentliche Änderungen in der Version 1.33_h4
|BS/LS Erfassung|behoben: Darstellung der korrekten SlNr-Liste in Korrelation zum ÜbergabeDatum|
|BS/LS Erfassung|behoben: beim Erstellen des 2. und der folgenden BS/LS funktionierten die Dropdown-Menüs im Erstellungsformular aufgrund eines fehlerhaften Steuerelementes nicht mehr richtig|
|Teilbilanzmanager|kleine Korrekturen im Layout|
|AFZ-Verwaltung|Verbesserung der Suche bei AFZ-Übergaben|
Seit Version 1.10 von eADok können zur Erstellung von Begleitscheinen (für gefährliche Abfälle) und Lieferscheinen (für nicht gefährliche Abfälle) Vorlagen verwendet werden.
''Mit Version 1.20 wurde die Vorlagenbearbeitung wesentlich vereinfacht.''
!!Anlegen von Vorlagen
*Ein neue Vorlage kann in der Begleitschein- oder Lieferscheinverwaltung entweder durch Anlegen eines neuen BS/LS erfolgen oder durch Öffnen eines bereits bestehenden BS/LS (Menüpunkt: ''Ausgewählten BS/LS ändern'') erfolgen.
*Das Formular ist mit den BS/~LS-Daten (soweit vorhandenen) zu befüllen (je mehr Daten in der Vorlage gespeichert werden, desto geringer wird der Aufwand beim Verwenden der Vorlage ;-)
*Durch Auswahl der Schaltfläche Vorlagen wird das Vorlagenfenster geöffnet
[img[Vorlagen|http://www.eadok.at/pics/bd9keh59v3e39c8dn.jpg]]

[img[Vorlagen|http://www.eadok.at/pics/bpfnmfn75r8ljkfku.jpg]]

Um die aktuell im BS/~LS-Formular enthaltenen Daten in eine neue Vorlage zu speichern, ist der Menüpunkt "Vorlage - neu (Speichern)" auszuwählen.
[img[Vorlage neu|http://www.eadok.at/pics/bpfnp8nxzcs9rrobi.jpg]] 
Im nachfolgenden Formular kann sodann eine Bezeichnung und eine Beschreibung für die neue Vorlage eingetragen werden und sodann abgespeichert werden.
!!Bearbeiten von bereits erfassten Vorlagen
Durch Doppelklick auf die Vorlagenbezeichnung oder die Beschreibung kann der jeweilige Feldinhalt editiert werden
[img[Vorlage bearbeiten|http://www.eadok.at/pics/bpfnvoc71wy5x9zvi.jpg]]
Im Kontextmenü jeder Vorlage (rechte Maustaste) besteht die Möglichkeit zum Löschen einer nicht mehr benötigten Vorlage
!!Verwenden von Vorlagen
Über das Kontextmenü (rechte Maustaste) kann der Inhalt der ausgewählten Vorlage in das Eingabeformular übernommen werden. 
[img[in Eingabemaske übernehmen|http://www.eadok.at/pics/bpfnywwzuwzo5kcta.jpg]] 

''NEU'': Direkt in der Erfassungsmaske von BS/LS kann über das Auswahlfeld eine bereits bestehende Vorlage asugewählt werden:
[img[Vorlage direkt asuwählen|http://www.eadok.at/pics/vorlage-neu.jpg]]

Nach der Bearbeitung in der Erfassungsmaske kann durch Auswhl des Kästchens "Vorlage aktualisieren" die Änderung gleich in die bestehende Vorlage übernommen werden (Beim Lieferschein erstellen oder Abbrechen):
[img[Vorlage direkt asuwählen|http://www.eadok.at/pics/vorlage-akt.jpg]]


[[Mustervorlagen für Problemstoffe]]



<div class='toolbar'>
<div macro="showWhen readOnly">
 <!-- cut-down toolbar for web users -->
<div macro='toolbar closeTiddler'></div>
</div>
<div macro="hideWhen readOnly">
 <!-- regular toolbar for me -->
 <div macro='toolbar closeTiddler closeOthers +editTiddler deleteTiddler
permalink references jump'></div>
</div> 
</div>
<div class='title' macro='view title'></div>
<div class='subtitle'><span macro='view modified date [[DD. MMM YYYY]]'></span> (erstellt am <span macro='view created date [[DD. MMM YYYY]]'></span>)</div>
<div macro="showWhen readOnly">
</div>
<div macro="hideWhen readOnly">
 <!-- regular toolbar for me -->
<div class='tagging' macro='tagging'></div>
<div class='tagged' macro='tags'></div>
</div> 
<div class='viewer' macro='view text wikified'></div>
<div class='tagClear'></div>
Das World Wide Web Consortium definiert die Bereitstellung eines Webservices als Unterstützung zur Zusammenarbeit zwischen verschiedenen Anwendungsprogrammen, die auf unterschiedlichen Plattformen und/oder Frameworks betrieben werden. [[(C) Wikipedia|http://de.wikipedia.org/wiki/Webservice]]
Übersicht über die Änderungen der letzten Versionen und zu geplanten Neuerungen:

<html>
<div align=center>
<iframe align=center src=http://spreadsheets.google.com/pub?key=pau3vVvC9U2oq746gZrF8IQ  frameBorder=1 width=1024 scrolling=yes height=750></iframe>
</div>
</html>
This document is a ~TiddlyWiki from tiddlyspot.com.  A ~TiddlyWiki is an electronic notebook that is great for managing todo lists, personal information, and all sorts of things.

@@font-weight:bold;font-size:1.3em;color:#444; //What now?// &nbsp;&nbsp;@@ Before you can save any changes, you need to enter your password in the form below.  Then configure privacy and other site settings at your [[control panel|http://eadok.tiddlyspot.com/controlpanel]] (your control panel username is //eadok//).
<<tiddler TspotControls>>
See also GettingStarted.

@@font-weight:bold;font-size:1.3em;color:#444; //Working online// &nbsp;&nbsp;@@ You can edit this ~TiddlyWiki right now, and save your changes using the "save to web" button in the column on the right.

@@font-weight:bold;font-size:1.3em;color:#444; //Working offline// &nbsp;&nbsp;@@ A fully functioning copy of this ~TiddlyWiki can be saved onto your hard drive or USB stick.  You can make changes and save them locally without being connected to the Internet.  When you're ready to sync up again, just click "upload" and your ~TiddlyWiki will be saved back to tiddlyspot.com.

@@font-weight:bold;font-size:1.3em;color:#444; //Help!// &nbsp;&nbsp;@@ Find out more about ~TiddlyWiki at [[TiddlyWiki.com|http://tiddlywiki.com]].  Also visit [[TiddlyWiki.org|http://tiddlywiki.org]] for documentation on learning and using ~TiddlyWiki. New users are especially welcome on the [[TiddlyWiki mailing list|http://groups.google.com/group/TiddlyWiki]], which is an excellent place to ask questions and get help.  If you have a tiddlyspot related problem email [[tiddlyspot support|mailto:support@tiddlyspot.com]].

@@font-weight:bold;font-size:1.3em;color:#444; //Enjoy :)// &nbsp;&nbsp;@@ We hope you like using your tiddlyspot.com site.  Please email [[feedback@tiddlyspot.com|mailto:feedback@tiddlyspot.com]] with any comments or suggestions.
<!--{{{-->
<span class='yourSearchNumber' macro='foundTiddler number'></span>
<span class='yourSearchTitle' macro='foundTiddler title'/></span>&nbsp;-&nbsp;
<span macro='foundTiddler field includeURL'/></span>&nbsp;-&nbsp;
<span class='yourSearchTags' macro='foundTiddler field tags 50'/></span>
<span macro="yourSearch if previewText"><div class='yourSearchText' macro='foundTiddler field text 250'/></div></span>
<!--}}}-->
/***
|''Name:''|YourSearchPlugin|
|''Version:''|2.1.5 (2010-02-16)|
|''Source:''|http://tiddlywiki.abego-software.de/#YourSearchPlugin|
|''Author:''|UdoBorkowski (ub [at] abego-software [dot] de)|
|''Licence:''|[[BSD open source license (abego Software)|http://www.abego-software.de/legal/apl-v10.html]]|
|''Copyright:''|&copy; 2005-2010 [[abego Software|http://www.abego-software.de]]|
|''~CoreVersion:''|2.1.0|
|''Community:''|[[del.icio.us|http://del.icio.us/post?url=http://tiddlywiki.abego-software.de/index.html%23YourSearchPlugin]]|
|''Browser:''|Firefox 1.0.4+; Firefox 1.5; ~InternetExplorer 6.0|
!About YourSearch
YourSearch gives you a bunch of new features to simplify and speed up your daily searches in TiddlyWiki. It seamlessly integrates into the standard TiddlyWiki search: just start typing into the 'search' field and explore!

For more information see [[Help|YourSearch Help]].
!Compatibility
This plugin requires TiddlyWiki 2.1. 
Check the [[archive|http://tiddlywiki.abego-software.de/archive]] for ~YourSearchPlugins supporting older versions of TiddlyWiki.
!Source Code
***/
/***
This plugin's source code is compressed (and hidden). Use this [[link|http://tiddlywiki.abego-software.de/archive/YourSearchPlugin/Plugin-YourSearch-src.2.1.5.js]] to get the readable source code.
***/
///%
if(!version.extensions.YourSearchPlugin){version.extensions.YourSearchPlugin={major:2,minor:1,revision:5,source:"http://tiddlywiki.abego-software.de/#YourSearchPlugin",licence:"[[BSD open source license (abego Software)|http://www.abego-software.de/legal/apl-v10.html]]",copyright:"Copyright (c) abego Software GmbH, 2005-2010 (www.abego-software.de)"};if(!window.abego){window.abego={};}if(!Array.forEach){Array.forEach=function(_1,_2,_3){for(var i=0,_4=_1.length;i<_4;i++){_2.call(_3,_1[i],i,_1);}};Array.prototype.forEach=function(_5,_6){for(var i=0,_7=this.length;i<_7;i++){_5.call(_6,this[i],i,this);}};}abego.toInt=function(s,_8){if(!s){return _8;}var n=parseInt(s);return (n==NaN)?_8:n;};abego.createEllipsis=function(_9){var e=createTiddlyElement(_9,"span");e.innerHTML="&hellip;";};abego.shallowCopy=function(_a){if(!_a){return _a;}var _b={};for(var n in _a){_b[n]=_a[n];}return _b;};abego.copyOptions=function(_c){return !_c?{}:abego.shallowCopy(_c);};abego.countStrings=function(_d,s){if(!s){return 0;}var _e=s.length;var n=0;var _f=0;while(1){var i=_d.indexOf(s,_f);if(i<0){return n;}n++;_f=i+_e;}return n;};abego.getBracedText=function(_10,_11,_12){if(!_11){_11=0;}var re=/\{([^\}]*)\}/gm;re.lastIndex=_11;var m=re.exec(_10);if(m){var s=m[1];var _13=abego.countStrings(s,"{");if(!_13){if(_12){_12.lastIndex=re.lastIndex;}return s;}var len=_10.length;for(var i=re.lastIndex;i<len&&_13;i++){var c=_10.charAt(i);if(c=="{"){_13++;}else{if(c=="}"){_13--;}}}if(!_13){if(_12){_12.lastIndex=i-1;}return _10.substring(m.index+1,i-1);}}};abego.select=function(_14,_15,_16,_17){if(!_17){_17=[];}_14.forEach(function(t){if(_15.call(_16,t)){_17.push(t);}});return _17;};abego.consumeEvent=function(e){if(e.stopPropagation){e.stopPropagation();}if(e.preventDefault){e.preventDefault();}e.cancelBubble=true;e.returnValue=true;};abego.TiddlerFilterTerm=function(_18,_19){if(!_19){_19={};}var _1a=_18;if(!_19.textIsRegExp){_1a=_18.escapeRegExp();if(_19.fullWordMatch){_1a="\\b"+_1a+"\\b";}}var _1b=new RegExp(_1a,"m"+(_19.caseSensitive?"":"i"));this.tester=new abego.MultiFieldRegExpTester(_1b,_19.fields,_19.withExtendedFields);};abego.TiddlerFilterTerm.prototype.test=function(_1c){return this.tester.test(_1c);};abego.parseNewTiddlerCommandLine=function(s){var m=/(.*?)\.(?:\s+|$)([^#]*)(#.*)?/.exec(s);if(!m){m=/([^#]*)()(#.*)?/.exec(s);}if(m){var r;if(m[3]){var s2=m[3].replace(/#/g,"");r=s2.parseParams("tag");}else{r=[[]];}var _1d=m[2]?m[2].trim():"";r.push({name:"text",value:_1d});r[0].text=[_1d];return {title:m[1].trim(),params:r};}else{return {title:s.trim(),params:[[]]};}};abego.parseTiddlerFilterTerm=function(_1e,_1f,_20){var re=/\s*(?:(?:\{([^\}]*)\})|(?:(=)|([#%!])|(?:(\w+)\s*\:(?!\/\/))|(?:(?:("(?:(?:\\")|[^"])+")|(?:\/((?:(?:\\\/)|[^\/])+)\/)|(\w+\:\/\/[^\s]+)|([^\s\)\-\"]+)))))/mg;var _21={"!":"title","%":"text","#":"tags"};var _22={};var _23;re.lastIndex=_1f;while(1){var i=re.lastIndex;var m=re.exec(_1e);if(!m||m.index!=i){throw "Word or String literal expected";}if(m[1]){var _24={};var _25=abego.getBracedText(_1e,0,_24);if(!_25){throw "Invalid {...} syntax";}var f=Function("tiddler","return ("+_25+");");return {func:f,lastIndex:_24.lastIndex,markRE:null};}if(m[2]){_23=true;}else{if(m[3]){_22[_21[m[3]]]=1;}else{if(m[4]){_22[m[4]]=1;}else{var _26=m[6];var _27=m[5]?window.eval(m[5]):m[6]?m[6]:m[7]?m[7]:m[8];var _20=abego.copyOptions(_20);_20.fullWordMatch=_23;_20.textIsRegExp=_26;var _28=[];for(var n in _22){_28.push(n);}if(_28.length==0){_20.fields=_20.defaultFields;}else{_20.fields=_28;_20.withExtendedFields=false;}var _29=new abego.TiddlerFilterTerm(_27,_20);var _2a=_26?_27:_27.escapeRegExp();if(_2a&&_23){_2a="\\b"+_2a+"\\b";}return {func:function(_2b){return _29.test(_2b);},lastIndex:re.lastIndex,markRE:_2a?"(?:"+_2a+")":null};}}}}};abego.BoolExp=function(s,_2c,_2d){this.s=s;var _2e=_2d&&_2d.defaultOperationIs_OR;var _2f=/\s*(?:(\-|not)|(\())/gi;var _30=/\s*\)/g;var _31=/\s*(?:(and|\&\&)|(or|\|\|))/gi;var _32=/\s*[^\)\s]/g;var _33=/\s*(\-|not)?(\s*\()?/gi;var _34;var _35=function(_36){_33.lastIndex=_36;var m=_33.exec(s);var _37;var _38;if(m&&m.index==_36){_36+=m[0].length;_37=m[1];if(m[2]){var e=_34(_36);_30.lastIndex=e.lastIndex;if(!_30.exec(s)){throw "Missing ')'";}_38={func:e.func,lastIndex:_30.lastIndex,markRE:e.markRE};}}if(!_38){_38=_2c(s,_36,_2d);}if(_37){_38.func=(function(f){return function(_39){return !f(_39);};})(_38.func);_38.markRE=null;}return _38;};_34=function(_3a){var _3b=_35(_3a);while(1){var l=_3b.lastIndex;_31.lastIndex=l;var m=_31.exec(s);var _3c;var _3d;if(m&&m.index==l){_3c=!m[1];_3d=_35(_31.lastIndex);}else{try{_3d=_35(l);}catch(e){return _3b;}_3c=_2e;}_3b.func=(function(_3e,_3f,_40){return _40?function(_41){return _3e(_41)||_3f(_41);}:function(_42){return _3e(_42)&&_3f(_42);};})(_3b.func,_3d.func,_3c);_3b.lastIndex=_3d.lastIndex;if(!_3b.markRE){_3b.markRE=_3d.markRE;}else{if(_3d.markRE){_3b.markRE=_3b.markRE+"|"+_3d.markRE;}}}};var _43=_34(0);this.evalFunc=_43.func;if(_43.markRE){this.markRegExp=new RegExp(_43.markRE,_2d.caseSensitive?"mg":"img");}};abego.BoolExp.prototype.exec=function(){return this.evalFunc.apply(this,arguments);};abego.BoolExp.prototype.getMarkRegExp=function(){return this.markRegExp;};abego.BoolExp.prototype.toString=function(){return this.s;};abego.MultiFieldRegExpTester=function(re,_44,_45){this.re=re;this.fields=_44?_44:["title","text","tags"];this.withExtendedFields=_45;};abego.MultiFieldRegExpTester.prototype.test=function(_46){var re=this.re;for(var i=0;i<this.fields.length;i++){var s=store.getValue(_46,this.fields[i]);if(typeof s=="string"&&re.test(s)){return this.fields[i];}}if(this.withExtendedFields){return store.forEachField(_46,function(_47,_48,_49){return typeof _49=="string"&&re.test(_49)?_48:null;},true);}return null;};abego.TiddlerQuery=function(_4a,_4b,_4c,_4d,_4e){if(_4c){this.regExp=new RegExp(_4a,_4b?"mg":"img");this.tester=new abego.MultiFieldRegExpTester(this.regExp,_4d,_4e);}else{this.expr=new abego.BoolExp(_4a,abego.parseTiddlerFilterTerm,{defaultFields:_4d,caseSensitive:_4b,withExtendedFields:_4e});}this.getQueryText=function(){return _4a;};this.getUseRegExp=function(){return _4c;};this.getCaseSensitive=function(){return _4b;};this.getDefaultFields=function(){return _4d;};this.getWithExtendedFields=function(){return _4e;};};abego.TiddlerQuery.prototype.test=function(_4f){if(!_4f){return false;}if(this.regExp){return this.tester.test(_4f);}return this.expr.exec(_4f);};abego.TiddlerQuery.prototype.filter=function(_50){return abego.select(_50,this.test,this);};abego.TiddlerQuery.prototype.getMarkRegExp=function(){if(this.regExp){return "".search(this.regExp)>=0?null:this.regExp;}return this.expr.getMarkRegExp();};abego.TiddlerQuery.prototype.toString=function(){return (this.regExp?this.regExp:this.expr).toString();};abego.PageWiseRenderer=function(){this.firstIndexOnPage=0;};merge(abego.PageWiseRenderer.prototype,{setItems:function(_51){this.items=_51;this.setFirstIndexOnPage(0);},getMaxPagesInNavigation:function(){return 10;},getItemsCount:function(_52){return this.items?this.items.length:0;},getCurrentPageIndex:function(){return Math.floor(this.firstIndexOnPage/this.getItemsPerPage());},getLastPageIndex:function(){return Math.floor((this.getItemsCount()-1)/this.getItemsPerPage());},setFirstIndexOnPage:function(_53){this.firstIndexOnPage=Math.min(Math.max(0,_53),this.getItemsCount()-1);},getFirstIndexOnPage:function(){this.firstIndexOnPage=Math.floor(this.firstIndexOnPage/this.getItemsPerPage())*this.getItemsPerPage();return this.firstIndexOnPage;},getLastIndexOnPage:function(){return Math.min(this.getFirstIndexOnPage()+this.getItemsPerPage()-1,this.getItemsCount()-1);},onPageChanged:function(_54,_55){},renderPage:function(_56){if(_56.beginRendering){_56.beginRendering(this);}try{if(this.getItemsCount()){var _57=this.getLastIndexOnPage();var _58=-1;for(var i=this.getFirstIndexOnPage();i<=_57;i++){_58++;_56.render(this,this.items[i],i,_58);}}}finally{if(_56.endRendering){_56.endRendering(this);}}},addPageNavigation:function(_59){if(!this.getItemsCount()){return;}var _5a=this;var _5b=function(e){if(!e){var e=window.event;}abego.consumeEvent(e);var _5c=abego.toInt(this.getAttribute("page"),0);var _5d=_5a.getCurrentPageIndex();if(_5c==_5d){return;}var _5e=_5c*_5a.getItemsPerPage();_5a.setFirstIndexOnPage(_5e);_5a.onPageChanged(_5c,_5d);};var _5f;var _60=this.getCurrentPageIndex();var _61=this.getLastPageIndex();if(_60>0){_5f=createTiddlyButton(_59,"Previous","Go to previous page (Shortcut: Alt-'<')",_5b,"prev");_5f.setAttribute("page",(_60-1).toString());_5f.setAttribute("accessKey","<");}for(var i=-this.getMaxPagesInNavigation();i<this.getMaxPagesInNavigation();i++){var _62=_60+i;if(_62<0){continue;}if(_62>_61){break;}var _63=(i+_60+1).toString();var _64=_62==_60?"currentPage":"otherPage";_5f=createTiddlyButton(_59,_63,"Go to page %0".format([_63]),_5b,_64);_5f.setAttribute("page",(_62).toString());}if(_60<_61){_5f=createTiddlyButton(_59,"Next","Go to next page (Shortcut: Alt-'>')",_5b,"next");_5f.setAttribute("page",(_60+1).toString());_5f.setAttribute("accessKey",">");}}});abego.LimitedTextRenderer=function(){var _65=40;var _66=4;var _67=function(_68,_69,_6a){var n=_68.length;if(n==0){_68.push({start:_69,end:_6a});return;}var i=0;for(;i<n;i++){var _6b=_68[i];if(_6b.start<=_6a&&_69<=_6b.end){var r;var _6c=i+1;for(;_6c<n;_6c++){r=_68[_6c];if(r.start>_6a||_69>_6b.end){break;}}var _6d=_69;var _6e=_6a;for(var j=i;j<_6c;j++){r=_68[j];_6d=Math.min(_6d,r.start);_6e=Math.max(_6e,r.end);}_68.splice(i,_6c-i,{start:_6d,end:_6e});return;}if(_6b.start>_6a){break;}}_68.splice(i,0,{start:_69,end:_6a});};var _6f=function(_70){var _71=0;for(var i=0;i<_70.length;i++){var _72=_70[i];_71+=_72.end-_72.start;}return _71;};var _73=function(c){return (c>="a"&&c<="z")||(c>="A"&&c<="Z")||c=="_";};var _74=function(s,_75){if(!_73(s[_75])){return null;}for(var i=_75-1;i>=0&&_73(s[i]);i--){}var _76=i+1;var n=s.length;for(i=_75+1;i<n&&_73(s[i]);i++){}return {start:_76,end:i};};var _77=function(s,_78,_79){var _7a;if(_79){_7a=_74(s,_78);}else{if(_78<=0){return _78;}_7a=_74(s,_78-1);}if(!_7a){return _78;}if(_79){if(_7a.start>=_78-_66){return _7a.start;}if(_7a.end<=_78+_66){return _7a.end;}}else{if(_7a.end<=_78+_66){return _7a.end;}if(_7a.start>=_78-_66){return _7a.start;}}return _78;};var _7b=function(s,_7c){var _7d=[];if(_7c){var _7e=0;var n=s.length;var _7f=0;do{_7c.lastIndex=_7e;var _80=_7c.exec(s);if(_80){if(_7e<_80.index){var t=s.substring(_7e,_80.index);_7d.push({text:t});}_7d.push({text:_80[0],isMatch:true});_7e=_80.index+_80[0].length;}else{_7d.push({text:s.substr(_7e)});break;}}while(true);}else{_7d.push({text:s});}return _7d;};var _81=function(_82){var _83=0;for(var i=0;i<_82.length;i++){if(_82[i].isMatch){_83++;}}return _83;};var _84=function(s,_85,_86,_87,_88){var _89=Math.max(Math.floor(_88/(_87+1)),_65);var _8a=Math.max(_89-(_86-_85),0);var _8b=Math.min(Math.floor(_86+_8a/3),s.length);var _8c=Math.max(_8b-_89,0);_8c=_77(s,_8c,true);_8b=_77(s,_8b,false);return {start:_8c,end:_8b};};var _8d=function(_8e,s,_8f){var _90=[];var _91=_81(_8e);var pos=0;for(var i=0;i<_8e.length;i++){var t=_8e[i];var _92=t.text;if(t.isMatch){var _93=_84(s,pos,pos+_92.length,_91,_8f);_67(_90,_93.start,_93.end);}pos+=_92.length;}return _90;};var _94=function(s,_95,_96){var _97=_96-_6f(_95);while(_97>0){if(_95.length==0){_67(_95,0,_77(s,_96,false));return;}else{var _98=_95[0];var _99;var _9a;if(_98.start==0){_99=_98.end;if(_95.length>1){_9a=_95[1].start;}else{_67(_95,_99,_77(s,_99+_97,false));return;}}else{_99=0;_9a=_98.start;}var _9b=Math.min(_9a,_99+_97);_67(_95,_99,_9b);_97-=(_9b-_99);}}};var _9c=function(_9d,s,_9e,_9f,_a0){if(_9f.length==0){return;}var _a1=function(_a2,s,_a3,_a4,_a5){var t;var _a6;var pos=0;var i=0;var _a7=0;for(;i<_a3.length;i++){t=_a3[i];_a6=t.text;if(_a4<pos+_a6.length){_a7=_a4-pos;break;}pos+=_a6.length;}var _a8=_a5-_a4;for(;i<_a3.length&&_a8>0;i++){t=_a3[i];_a6=t.text.substr(_a7);_a7=0;if(_a6.length>_a8){_a6=_a6.substr(0,_a8);}if(t.isMatch){createTiddlyElement(_a2,"span",null,"marked",_a6);}else{createTiddlyText(_a2,_a6);}_a8-=_a6.length;}if(_a5<s.length){abego.createEllipsis(_a2);}};if(_9f[0].start>0){abego.createEllipsis(_9d);}var _a9=_a0;for(var i=0;i<_9f.length&&_a9>0;i++){var _aa=_9f[i];var len=Math.min(_aa.end-_aa.start,_a9);_a1(_9d,s,_9e,_aa.start,_aa.start+len);_a9-=len;}};this.render=function(_ab,s,_ac,_ad){if(s.length<_ac){_ac=s.length;}var _ae=_7b(s,_ad);var _af=_8d(_ae,s,_ac);_94(s,_af,_ac);_9c(_ab,s,_ae,_af,_ac);};};(function(){function _b0(msg){alert(msg);throw msg;};if(version.major<2||(version.major==2&&version.minor<1)){_b0("YourSearchPlugin requires TiddlyWiki 2.1 or newer.\n\nCheck the archive for YourSearch plugins\nsupporting older versions of TiddlyWiki.\n\nArchive: http://tiddlywiki.abego-software.de/archive");}abego.YourSearch={};var _b1;var _b2;var _b3=function(_b4){_b1=_b4;};var _b5=function(){return _b1?_b1:[];};var _b6=function(){return _b1?_b1.length:0;};var _b7=4;var _b8=10;var _b9=2;var _ba=function(s,re){var m=s.match(re);return m?m.length:0;};var _bb=function(_bc,_bd){var _be=_bd.getMarkRegExp();if(!_be){return 1;}var _bf=_bc.title.match(_be);var _c0=_bf?_bf.length:0;var _c1=_ba(_bc.getTags(),_be);var _c2=_bf?_bf.join("").length:0;var _c3=_bc.title.length>0?_c2/_bc.title.length:0;var _c4=_c0*_b7+_c1*_b9+_c3*_b8+1;return _c4;};var _c5=function(_c6,_c7,_c8,_c9,_ca,_cb){_b2=null;var _cc=_c6.reverseLookup("tags",_cb,false);try{var _cd=[];if(config.options.chkSearchInTitle){_cd.push("title");}if(config.options.chkSearchInText){_cd.push("text");}if(config.options.chkSearchInTags){_cd.push("tags");}_b2=new abego.TiddlerQuery(_c7,_c8,_c9,_cd,config.options.chkSearchExtendedFields);}catch(e){return [];}var _ce=_b2.filter(_cc);var _cf=abego.YourSearch.getRankFunction();for(var i=0;i<_ce.length;i++){var _d0=_ce[i];var _d1=_cf(_d0,_b2);_d0.searchRank=_d1;}if(!_ca){_ca="title";}var _d2=function(a,b){var _d3=a.searchRank-b.searchRank;if(_d3==0){if(a[_ca]==b[_ca]){return (0);}else{return (a[_ca]<b[_ca])?-1:+1;}}else{return (_d3>0)?-1:+1;}};_ce.sort(_d2);return _ce;};var _d4=80;var _d5=50;var _d6=250;var _d7=50;var _d8=25;var _d9=10;var _da="yourSearchResult";var _db="yourSearchResultItems";var _dc;var _dd;var _de;var _df;var _e0;var _e1=function(){if(version.extensions.YourSearchPlugin.styleSheetInited){return;}version.extensions.YourSearchPlugin.styleSheetInited=true;setStylesheet(store.getTiddlerText("YourSearchStyleSheet"),"yourSearch");};var _e2=function(){return _dd!=null&&_dd.parentNode==document.body;};var _e3=function(){if(_e2()){document.body.removeChild(_dd);}};var _e4=function(e){_e3();var _e5=this.getAttribute("tiddlyLink");if(_e5){var _e6=this.getAttribute("withHilite");var _e7=highlightHack;if(_e6&&_e6=="true"&&_b2){highlightHack=_b2.getMarkRegExp();}story.displayTiddler(this,_e5);highlightHack=_e7;}return (false);};var _e8=function(){if(!_de){return;}var _e9=_de;var _ea=findPosX(_e9);var _eb=findPosY(_e9);var _ec=_e9.offsetHeight;var _ed=_ea;var _ee=_eb+_ec;var _ef=findWindowWidth();if(_ef<_dd.offsetWidth){_dd.style.width=(_ef-100)+"px";_ef=findWindowWidth();}var _f0=_dd.offsetWidth;if(_ed+_f0>_ef){_ed=_ef-_f0-30;}if(_ed<0){_ed=0;}_dd.style.left=_ed+"px";_dd.style.top=_ee+"px";_dd.style.display="block";};var _f1=function(){if(_dd){window.scrollTo(0,ensureVisible(_dd));}if(_de){window.scrollTo(0,ensureVisible(_de));}};var _f2=function(){_e8();_f1();};var _f3;var _f4;var _f5=new abego.PageWiseRenderer();var _f6=function(_f7){this.itemHtml=store.getTiddlerText("YourSearchItemTemplate");if(!this.itemHtml){_b0("YourSearchItemTemplate not found");}this.place=document.getElementById(_db);if(!this.place){this.place=createTiddlyElement(_f7,"div",_db);}};merge(_f6.prototype,{render:function(_f8,_f9,_fa,_fb){_f3=_fb;_f4=_f9;var _fc=createTiddlyElement(this.place,"div",null,"yourSearchItem");_fc.innerHTML=this.itemHtml;applyHtmlMacros(_fc,null);refreshElements(_fc,null);},endRendering:function(_fd){_f4=null;}});var _fe=function(){if(!_dd||!_de){return;}var _ff=store.getTiddlerText("YourSearchResultTemplate");if(!_ff){_ff="<b>Tiddler YourSearchResultTemplate not found</b>";}_dd.innerHTML=_ff;applyHtmlMacros(_dd,null);refreshElements(_dd,null);var _100=new _f6(_dd);_f5.renderPage(_100);_f2();};_f5.getItemsPerPage=function(){var n=(config.options.chkPreviewText)?abego.toInt(config.options.txtItemsPerPageWithPreview,_d9):abego.toInt(config.options.txtItemsPerPage,_d8);return (n>0)?n:1;};_f5.onPageChanged=function(){_fe();};var _101=function(){if(_de==null||!config.options.chkUseYourSearch){return;}if((_de.value==_dc)&&_dc&&!_e2()){if(_dd&&(_dd.parentNode!=document.body)){document.body.appendChild(_dd);_f2();}else{abego.YourSearch.onShowResult(true);}}};var _102=function(){_e3();_dd=null;_dc=null;};var _103=function(self,e){while(e!=null){if(self==e){return true;}e=e.parentNode;}return false;};var _104=function(e){if(e.target==_de){return;}if(e.target==_df){return;}if(_dd&&_103(_dd,e.target)){return;}_e3();};var _105=function(e){if(e.keyCode==27){_e3();}};addEvent(document,"click",_104);addEvent(document,"keyup",_105);var _106=function(text,_107,_108){_dc=text;_b3(_c5(store,text,_107,_108,"title","excludeSearch"));abego.YourSearch.onShowResult();};var _109=function(_10a,_10b,_10c,_10d,_10e,_10f){_e1();_dc="";var _110=null;var _111=function(txt){if(config.options.chkUseYourSearch){_106(txt.value,config.options.chkCaseSensitiveSearch,config.options.chkRegExpSearch);}else{story.search(txt.value,config.options.chkCaseSensitiveSearch,config.options.chkRegExpSearch);}_dc=txt.value;};var _112=function(e){_111(_de);return false;};var _113=function(e){if(!e){var e=window.event;}_de=this;switch(e.keyCode){case 13:if(e.ctrlKey&&_e0&&_e2()){_e0.onclick.apply(_e0,[e]);}else{_111(this);}break;case 27:if(_e2()){_e3();}else{this.value="";clearMessage();}break;}if(String.fromCharCode(e.keyCode)==this.accessKey||e.altKey){_101();}if(this.value.length<3&&_110){clearTimeout(_110);}if(this.value.length>2){if(this.value!=_dc){if(!config.options.chkUseYourSearch||config.options.chkSearchAsYouType){if(_110){clearTimeout(_110);}var txt=this;_110=setTimeout(function(){_111(txt);},500);}}else{if(_110){clearTimeout(_110);}}}if(this.value.length==0){_e3();}};var _114=function(e){this.select();clearMessage();_101();};var args=_10e.parseParams("list",null,true);var _115=getFlag(args,"buttonAtRight");var _116=getParam(args,"sizeTextbox",this.sizeTextbox);var btn;if(!_115){btn=createTiddlyButton(_10a,this.label,this.prompt,_112);}var txt=createTiddlyElement(null,"input",null,"txtOptionInput searchField",null);if(_10c[0]){txt.value=_10c[0];}txt.onkeyup=_113;txt.onfocus=_114;txt.setAttribute("size",_116);txt.setAttribute("accessKey",this.accessKey);txt.setAttribute("autocomplete","off");if(config.browser.isSafari){txt.setAttribute("type","search");txt.setAttribute("results","5");}else{txt.setAttribute("type","text");}if(_10a){_10a.appendChild(txt);}if(_115){btn=createTiddlyButton(_10a,this.label,this.prompt,_112);}_de=txt;_df=btn;};var _117=function(){_e3();var _118=_b5();var n=_118.length;if(n){var _119=[];for(var i=0;i<n;i++){_119.push(_118[i].title);}story.displayTiddlers(null,_119);}};var _11a=function(_11b,_11c,_11d,_11e){invokeMacro(_11b,"option",_11c,_11d,_11e);var elem=_11b.lastChild;var _11f=elem.onclick;elem.onclick=function(e){var _120=_11f.apply(this,arguments);_fe();return _120;};return elem;};var _121=function(s){var _122=["''","{{{","}}}","//","<<<","/***","***/"];var _123="";for(var i=0;i<_122.length;i++){if(i!=0){_123+="|";}_123+="("+_122[i].escapeRegExp()+")";}return s.replace(new RegExp(_123,"mg"),"").trim();};var _124=function(){var i=_f3;return (i>=0&&i<=9)?(i<9?(i+1):0):-1;};var _125=new abego.LimitedTextRenderer();var _126=function(_127,s,_128){_125.render(_127,s,_128,_b2.getMarkRegExp());};var _129=TiddlyWiki.prototype.saveTiddler;TiddlyWiki.prototype.saveTiddler=function(_12a,_12b,_12c,_12d,_12e,tags,_12f){_129.apply(this,arguments);_102();};var _130=TiddlyWiki.prototype.removeTiddler;TiddlyWiki.prototype.removeTiddler=function(_131){_130.apply(this,arguments);_102();};config.macros.yourSearch={label:"yourSearch",prompt:"Gives access to the current/last YourSearch result",handler:function(_132,_133,_134,_135,_136,_137){if(_134.length==0){return;}var name=_134[0];var func=config.macros.yourSearch.funcs[name];if(func){func(_132,_133,_134,_135,_136,_137);}},tests:{"true":function(){return true;},"false":function(){return false;},"found":function(){return _b6()>0;},"previewText":function(){return config.options.chkPreviewText;}},funcs:{itemRange:function(_138){if(_b6()){var _139=_f5.getLastIndexOnPage();var s="%0 - %1".format([_f5.getFirstIndexOnPage()+1,_139+1]);createTiddlyText(_138,s);}},count:function(_13a){createTiddlyText(_13a,_b6().toString());},query:function(_13b){if(_b2){createTiddlyText(_13b,_b2.toString());}},version:function(_13c){var t="YourSearch %0.%1.%2".format([version.extensions.YourSearchPlugin.major,version.extensions.YourSearchPlugin.minor,version.extensions.YourSearchPlugin.revision]);var e=createTiddlyElement(_13c,"a");e.setAttribute("href","http://tiddlywiki.abego-software.de/#YourSearchPlugin");e.innerHTML="<font color=\"black\" face=\"Arial, Helvetica, sans-serif\">"+t+"<font>";},copyright:function(_13d){var e=createTiddlyElement(_13d,"a");e.setAttribute("href","http://www.abego-software.de");e.innerHTML="<font color=\"black\" face=\"Arial, Helvetica, sans-serif\">&copy; 2005-2008 <b><font color=\"red\">abego</font></b> Software<font>";},newTiddlerButton:function(_13e){if(_b2){var r=abego.parseNewTiddlerCommandLine(_b2.getQueryText());var btn=config.macros.newTiddler.createNewTiddlerButton(_13e,r.title,r.params,"new tiddler","Create a new tiddler based on search text. (Shortcut: Ctrl-Enter; Separators: '.', '#')",null,"text");var _13f=btn.onclick;btn.onclick=function(){_e3();_13f.apply(this,arguments);};_e0=btn;}},linkButton:function(_140,_141,_142,_143,_144,_145){if(_142<2){return;}var _146=_142[1];var text=_142<3?_146:_142[2];var _147=_142<4?text:_142[3];var _148=_142<5?null:_142[4];var btn=createTiddlyButton(_140,text,_147,_e4,null,null,_148);btn.setAttribute("tiddlyLink",_146);},closeButton:function(_149,_14a,_14b,_14c,_14d,_14e){var _14f=createTiddlyButton(_149,"close","Close the Search Results (Shortcut: ESC)",_e3);},openAllButton:function(_150,_151,_152,_153,_154,_155){var n=_b6();if(n==0){return;}var _156=n==1?"open tiddler":"open all %0 tiddlers".format([n]);var _157=createTiddlyButton(_150,_156,"Open all found tiddlers (Shortcut: Alt-O)",_117);_157.setAttribute("accessKey","O");},naviBar:function(_158,_159,_15a,_15b,_15c,_15d){_f5.addPageNavigation(_158);},"if":function(_15e,_15f,_160,_161,_162,_163){if(_160.length<2){return;}var _164=_160[1];var _165=(_164=="not");if(_165){if(_160.length<3){return;}_164=_160[2];}var test=config.macros.yourSearch.tests[_164];var _166=false;try{if(test){_166=test(_15e,_15f,_160,_161,_162,_163)!=_165;}else{_166=(!eval(_164))==_165;}}catch(ex){}if(!_166){_15e.style.display="none";}},chkPreviewText:function(_167,_168,_169,_16a,_16b,_16c){var _16d=_169.slice(1).join(" ");var elem=_11a(_167,"chkPreviewText",_16a,_16c);elem.setAttribute("accessKey","P");elem.title="Show text preview of found tiddlers (Shortcut: Alt-P)";return elem;}}};config.macros.foundTiddler={label:"foundTiddler",prompt:"Provides information on the tiddler currently processed on the YourSearch result page",handler:function(_16e,_16f,_170,_171,_172,_173){var name=_170[0];var func=config.macros.foundTiddler.funcs[name];if(func){func(_16e,_16f,_170,_171,_172,_173);}},funcs:{title:function(_174,_175,_176,_177,_178,_179){if(!_f4){return;}var _17a=_124();var _17b=_17a>=0?"Open tiddler (Shortcut: Alt-%0)".format([_17a.toString()]):"Open tiddler";var btn=createTiddlyButton(_174,null,_17b,_e4,null);btn.setAttribute("tiddlyLink",_f4.title);btn.setAttribute("withHilite","true");_126(btn,_f4.title,_d4);if(_17a>=0){btn.setAttribute("accessKey",_17a.toString());}},tags:function(_17c,_17d,_17e,_17f,_180,_181){if(!_f4){return;}_126(_17c,_f4.getTags(),_d5);},text:function(_182,_183,_184,_185,_186,_187){if(!_f4){return;}_126(_182,_121(_f4.text),_d6);},field:function(_188,_189,_18a,_18b,_18c,_18d){if(!_f4){return;}var name=_18a[1];var len=_18a.length>2?abego.toInt(_18a[2],_d7):_d7;var v=store.getValue(_f4,name);if(v){_126(_188,_121(v),len);}},number:function(_18e,_18f,_190,_191,_192,_193){var _194=_124();if(_194>=0){var text="%0)".format([_194.toString()]);createTiddlyElement(_18e,"span",null,"shortcutNumber",text);}}}};var opts={chkUseYourSearch:true,chkPreviewText:true,chkSearchAsYouType:true,chkSearchInTitle:true,chkSearchInText:true,chkSearchInTags:true,chkSearchExtendedFields:true,txtItemsPerPage:_d8,txtItemsPerPageWithPreview:_d9};for(var n in opts){if(config.options[n]==undefined){config.options[n]=opts[n];}}config.shadowTiddlers.AdvancedOptions+="\n<<option chkUseYourSearch>> Use 'Your Search' //([[more options|YourSearch Options]]) ([[help|YourSearch Help]])// ";config.shadowTiddlers["YourSearch Help"]="!Field Search\nWith the Field Search you can restrict your search to certain fields of a tiddler, e.g"+" only search the tags or only the titles. The general form is //fieldname//'':''//textToSearch// (e."+"g. {{{title:intro}}}). In addition one-character shortcuts are also supported for the standard field"+"s {{{title}}}, {{{text}}} and {{{tags}}}:\n|!What you want|!What you type|!Example|\n|Search ''titles "+"only''|start word with ''!''|{{{!jonny}}} (shortcut for {{{title:jonny}}})|\n|Search ''contents/text "+"only''|start word with ''%''|{{{%football}}} (shortcut for {{{text:football}}})|\n|Search ''tags only"+"''|start word with ''#''|{{{#Plugin}}} (shortcut for {{{tags:Plugin}}})|\n\nUsing this feature you may"+" also search the extended fields (\"Metadata\") introduced with TiddlyWiki 2.1, e.g. use {{{priority:1"+"}}} to find all tiddlers with the priority field set to \"1\".\n\nYou may search a word in more than one"+" field. E.g. {{{!#Plugin}}} (or {{{title:tags:Plugin}}} in the \"long form\") finds tiddlers containin"+"g \"Plugin\" either in the title or in the tags (but does not look for \"Plugin\" in the text). \n\n!Boole"+"an Search\nThe Boolean Search is useful when searching for multiple words.\n|!What you want|!What you "+"type|!Example|\n|''All words'' must exist|List of words|{{{jonny jeremy}}} (or {{{jonny and jeremy}}}"+")|\n|''At least one word'' must exist|Separate words by ''or''|{{{jonny or jeremy}}}|\n|A word ''must "+"not exist''|Start word with ''-''|{{{-jonny}}} (or {{{not jonny}}})|\n\n''Note:'' When you specify two"+" words, separated with a space, YourSearch finds all tiddlers that contain both words, but not neces"+"sarily next to each other. If you want to find a sequence of word, e.g. '{{{John Brown}}}', you need"+" to put the words into quotes. I.e. you type: {{{\"john brown\"}}}.\n\nUsing parenthesis you may change "+"the default \"left to right\" evaluation of the boolean search. E.g. {{{not (jonny or jeremy)}}} finds"+" all tiddlers that contain neither \"jonny\" nor \"jeremy. In contrast to this {{{not jonny or jeremy}}"+"} (i.e. without parenthesis) finds all tiddlers that either don't contain \"jonny\" or that contain \"j"+"eremy\".\n\n!'Exact Word' Search\nBy default a search result all matches that 'contain' the searched tex"+"t. E.g. if you search for {{{Task}}} you will get all tiddlers containing 'Task', but also '~Complet"+"edTask', '~TaskForce' etc.\n\nIf you only want to get the tiddlers that contain 'exactly the word' you"+" need to prefix it with a '='. E.g. typing '=Task' will find the tiddlers that contain the word 'Tas"+"k', ignoring words that just contain 'Task' as a substring.\n\n!~CaseSensitiveSearch and ~RegExpSearch"+"\nThe standard search options ~CaseSensitiveSearch and ~RegExpSearch are fully supported by YourSearc"+"h. However when ''~RegExpSearch'' is on Filtered and Boolean Search are disabled.\n\nIn addition you m"+"ay do a \"regular expression\" search even with the ''~RegExpSearch'' set to false by directly enterin"+"g the regular expression into the search field, framed with {{{/.../}}}. \n\nExample: {{{/m[ae][iy]er/"+"}}} will find all tiddlers that contain either \"maier\", \"mayer\", \"meier\" or \"meyer\".\n\n!~JavaScript E"+"xpression Filtering\nIf you are familiar with JavaScript programming and know some TiddlyWiki interna"+"ls you may also use JavaScript expression for the search. Just enter a JavaScript boolean expression"+" into the search field, framed with {{{ { ... } }}}. In the code refer to the variable tiddler and e"+"valuate to {{{true}}} when the given tiddler should be included in the result. \n\nExample: {{{ { tidd"+"ler.modified > new Date(\"Jul 4, 2005\")} }}} returns all tiddler modified after July 4th, 2005.\n\n!Com"+"bined Search\nYou are free to combine the various search options. \n\n''Examples''\n|!What you type|!Res"+"ult|\n|{{{!jonny !jeremy -%football}}}|all tiddlers with both {{{jonny}}} and {{{jeremy}}} in its tit"+"les, but no {{{football}}} in content.|\n|{{{#=Task}}}|All tiddlers tagged with 'Task' (the exact wor"+"d). Tags named '~CompletedTask', '~TaskForce' etc. are not considered.|\n\n!Access Keys\nYou are encour"+"aged to use the access keys (also called \"shortcut\" keys) for the most frequently used operations. F"+"or quick reference these shortcuts are also mentioned in the tooltip for the various buttons etc.\n\n|"+"!Key|!Operation|\n|{{{Alt-F}}}|''The most important keystroke'': It moves the cursor to the search in"+"put field so you can directly start typing your query. Pressing {{{Alt-F}}} will also display the pr"+"evious search result. This way you can quickly display multiple tiddlers using \"Press {{{Alt-F}}}. S"+"elect tiddler.\" sequences.|\n|{{{ESC}}}|Closes the [[YourSearch Result]]. When the [[YourSearch Resul"+"t]] is already closed and the cursor is in the search input field the field's content is cleared so "+"you start a new query.|\n|{{{Alt-1}}}, {{{Alt-2}}},... |Pressing these keys opens the first, second e"+"tc. tiddler from the result list.|\n|{{{Alt-O}}}|Opens all found tiddlers.|\n|{{{Alt-P}}}|Toggles the "+"'Preview Text' mode.|\n|{{{Alt-'<'}}}, {{{Alt-'>'}}}|Displays the previous or next page in the [[Your"+"Search Result]].|\n|{{{Return}}}|When you have turned off the 'as you type' search mode pressing the "+"{{{Return}}} key actually starts the search (as does pressing the 'search' button).|\n\n//If some of t"+"hese shortcuts don't work for you check your browser if you have other extensions installed that alr"+"eady \"use\" these shortcuts.//";config.shadowTiddlers["YourSearch Options"]="|>|!YourSearch Options|\n|>|<<option chkUseYourSearch>> Use 'Your Search'|\n|!|<<option chkPreviewText"+">> Show Text Preview|\n|!|<<option chkSearchAsYouType>> 'Search As You Type' Mode (No RETURN required"+" to start search)|\n|!|Default Search Filter:<<option chkSearchInTitle>>Title ('!')     <<option chk"+"SearchInText>>Text ('%')     <<option chkSearchInTags>>Tags ('#')    <<option chkSearchExtendedFiel"+"ds>>Extended Fields<html><br><font size=\"-2\">The fields of a tiddlers that are searched when you don"+"'t explicitly specify a filter in the search text <br>(Explictly specify fields using one or more '!"+"', '%', '#' or 'fieldname:' prefix before the word/text to find).</font></html>|\n|!|Number of items "+"on search result page: <<option txtItemsPerPage>>|\n|!|Number of items on search result page with pre"+"view text: <<option txtItemsPerPageWithPreview>>|\n";config.shadowTiddlers["YourSearchStyleSheet"]="/***\n!~YourSearchResult Stylesheet\n***/\n/*{{{*/\n.yourSearchResult {\n\tposition: absolute;\n\twidth: 800"+"px;\n\n\tpadding: 0.2em;\n\tlist-style: none;\n\tmargin: 0;\n\n\tbackground: #ffd;\n\tborder: 1px solid DarkGra"+"y;\n}\n\n/*}}}*/\n/***\n!!Summary Section\n***/\n/*{{{*/\n.yourSearchResult .summary {\n\tborder-bottom-width:"+" thin;\n\tborder-bottom-style: solid;\n\tborder-bottom-color: #999999;\n\tpadding-bottom: 4px;\n}\n\n.yourSea"+"rchRange, .yourSearchCount, .yourSearchQuery   {\n\tfont-weight: bold;\n}\n\n.yourSearchResult .summary ."+"button {\n\tfont-size: 10px;\n\n\tpadding-left: 0.3em;\n\tpadding-right: 0.3em;\n}\n\n.yourSearchResult .summa"+"ry .chkBoxLabel {\n\tfont-size: 10px;\n\n\tpadding-right: 0.3em;\n}\n\n/*}}}*/\n/***\n!!Items Area\n***/\n/*{{{*"+"/\n.yourSearchResult .marked {\n\tbackground: none;\n\tfont-weight: bold;\n}\n\n.yourSearchItem {\n\tmargin-to"+"p: 2px;\n}\n\n.yourSearchNumber {\n\tcolor: #808080;\n}\n\n\n.yourSearchTags {\n\tcolor: #008000;\n}\n\n.yourSearc"+"hText {\n\tcolor: #808080;\n\tmargin-bottom: 6px;\n}\n\n/*}}}*/\n/***\n!!Footer\n***/\n/*{{{*/\n.yourSearchFoote"+"r {\n\tmargin-top: 8px;\n\tborder-top-width: thin;\n\tborder-top-style: solid;\n\tborder-top-color: #999999;"+"\n}\n\n.yourSearchFooter a:hover{\n\tbackground: none;\n\tcolor: none;\n}\n/*}}}*/\n/***\n!!Navigation Bar\n***/"+"\n/*{{{*/\n.yourSearchNaviBar a {\n\tfont-size: 16px;\n\tmargin-left: 4px;\n\tmargin-right: 4px;\n\tcolor: bla"+"ck;\n\ttext-decoration: underline;\n}\n\n.yourSearchNaviBar a:hover {\n\tbackground-color: none;\n}\n\n.yourSe"+"archNaviBar .prev {\n\tfont-weight: bold;\n\tcolor: blue;\n}\n\n.yourSearchNaviBar .currentPage {\n\tcolor: #"+"FF0000;\n\tfont-weight: bold;\n\ttext-decoration: none;\n}\n\n.yourSearchNaviBar .next {\n\tfont-weight: bold"+";\n\tcolor: blue;\n}\n/*}}}*/\n";config.shadowTiddlers["YourSearchResultTemplate"]="<!--\n{{{\n-->\n<span macro=\"yourSearch if found\">\n<!-- The Summary Header ============================"+"================ -->\n<table class=\"summary\" border=\"0\" width=\"100%\" cellspacing=\"0\" cellpadding=\"0\">"+"<tbody>\n  <tr>\n\t<td align=\"left\">\n\t\tYourSearch Result <span class=\"yourSearchRange\" macro=\"yourSearc"+"h itemRange\"></span>\n\t\t&nbsp;of&nbsp;<span class=\"yourSearchCount\" macro=\"yourSearch count\"></span>\n"+"\t\tfor&nbsp;<span class=\"yourSearchQuery\" macro=\"yourSearch query\"></span>\n\t</td>\n\t<td class=\"yourSea"+"rchButtons\" align=\"right\">\n\t\t<span macro=\"yourSearch chkPreviewText\"></span><span class=\"chkBoxLabel"+"\">preview text</span>\n\t\t<span macro=\"yourSearch newTiddlerButton\"></span>\n\t\t<span macro=\"yourSearch openAllButton\"></span>\n\t\t<span macro=\"yourSearch lin"+"kButton 'YourSearch Options' options 'Configure YourSearch'\"></span>\n\t\t<span macro=\"yourSearch linkB"+"utton 'YourSearch Help' help 'Get help how to use YourSearch'\"></span>\n\t\t<span macro=\"yourSearch clo"+"seButton\"></span>\n\t</td>\n  </tr>\n</tbody></table>\n\n<!-- The List of Found Tiddlers ================="+"=========================== -->\n<div id=\"yourSearchResultItems\" itemsPerPage=\"25\" itemsPerPageWithPr"+"eview=\"10\"></div>\n\n<!-- The Footer (with the Navigation) ==========================================="+"= -->\n<table class=\"yourSearchFooter\" border=\"0\" width=\"100%\" cellspacing=\"0\" cellpadding=\"0\"><tbody"+">\n  <tr>\n\t<td align=\"left\">\n\t\tResult page: <span class=\"yourSearchNaviBar\" macro=\"yourSearch naviBar"+"\"></span>\n\t</td>\n\t<td align=\"right\"><span macro=\"yourSearch version\"></span>, <span macro=\"yourSearc"+"h copyright\"></span>\n\t</td>\n  </tr>\n</tbody></table>\n<!-- end of the 'tiddlers found' case ========="+"================================== -->\n</span>\n\n\n<!-- The \"No tiddlers found\" case ================="+"========================== -->\n<span macro=\"yourSearch if not found\">\n<table class=\"summary\" border="+"\"0\" width=\"100%\" cellspacing=\"0\" cellpadding=\"0\"><tbody>\n  <tr>\n\t<td align=\"left\">\n\t\tYourSearch Resu"+"lt: No tiddlers found for <span class=\"yourSearchQuery\" macro=\"yourSearch query\"></span>.\n\t</td>\n\t<t"+"d class=\"yourSearchButtons\" align=\"right\">\n\t\t<span macro=\"yourSearch newTiddlerButton\"></span>\n\t\t<span macro=\"yourSearch linkButton 'YourSearch Options'"+" options 'Configure YourSearch'\"></span>\n\t\t<span macro=\"yourSearch linkButton 'YourSearch Help' help"+" 'Get help how to use YourSearch'\"></span>\n\t\t<span macro=\"yourSearch closeButton\"></span>\n\t</td>\n  <"+"/tr>\n</tbody></table>\n</span>\n\n\n<!--\n}}}\n-->\n";config.shadowTiddlers["YourSearchItemTemplate"]="<!--\n{{{\n-->\n<span class='yourSearchNumber' macro='foundTiddler number'></span>\n<span class='yourSea"+"rchTitle' macro='foundTiddler title'/></span>&nbsp;-&nbsp;\n<span class='yourSearchTags' macro='found"+"Tiddler field tags 50'/></span>\n<span macro=\"yourSearch if previewText\"><div class='yourSearchText' macro='fo"+"undTiddler field text 250'/></div></span>\n<!--\n}}}\n-->";config.shadowTiddlers["YourSearch"]="<<tiddler [[YourSearch Help]]>>";config.shadowTiddlers["YourSearch Result"]="The popup-like window displaying the result of a YourSearch query.";config.macros.search.handler=_109;var _195=function(){if(config.macros.search.handler!=_109){alert("Message from YourSearchPlugin:\n\n\nAnother plugin has disabled the 'Your Search' features.\n\n\nYou may "+"disable the other plugin or change the load order of \nthe plugins (by changing the names of the tidd"+"lers)\nto enable the 'Your Search' features.");}};setTimeout(_195,5000);abego.YourSearch.getStandardRankFunction=function(){return _bb;};abego.YourSearch.getRankFunction=function(){return abego.YourSearch.getStandardRankFunction();};abego.YourSearch.getCurrentTiddler=function(){return _f4;};abego.YourSearch.closeResult=function(){_e3();};abego.YourSearch.getFoundTiddlers=function(){return _b1;};abego.YourSearch.getQuery=function(){return _b2;};abego.YourSearch.onShowResult=function(_196){highlightHack=_b2?_b2.getMarkRegExp():null;if(!_196){_f5.setItems(_b5());}if(!_dd){_dd=createTiddlyElement(document.body,"div",_da,"yourSearchResult");}else{if(_dd.parentNode!=document.body){document.body.appendChild(_dd);}}_fe();highlightHack=null;};})();}
//%/
[img[eADok-Start|http://www.eadok.at/pics/img_004st.jpg]] 
!!Aktuell:
*''[[Version 1.33_h4 (2016-04-15)]] steht ab sofort (15.04.2016) zum [[Download|Downloads]] bereit''
*''Aktuelle Programmfunktionen:''
**[[vollautomatische BS-Übermittlung an den Landeshauptmann|Begleitscheinübermittlung an das Lebensministerium]]
**[[Erfassung von Daten für die Altfahrzeugemeldung, vollautomatische Meldung für Erstübernehmer, Anfallstellen und Verwerter|eAFZ-Verwaltung]]
**[[Erstellung von ADR-Transport-Dokumenten im Begleitscheinformular|Erstellung von ADR-Transport-Dokumenten im Begleitscheinformular]]
**[[Erstellung von "Grüne Liste" Dokumenten im Lieferschein|Erstellung von "Grüne Liste" Dokumenten im Lieferschein]]
*''[[Anleitung zum Hochladen der Jahresabfallbilanz im EDM-Portal (youtube, (c) Land Wien)|http://goo.gl/95BFH]]''
*''[[Broschüre Abfallbilanzierung im EDM des BMLFUW überarbeitet (Stand 2013-01)|http://www.lebensministerium.at/publikationen/umwelt/abfalltrennung_kompost/abfallbilanz_edm.html]]''
!!!Schulungen zu eADok und Bilanzverordnung
''[[Schulung zu BilanzVO, ÖWAV|http://www.oewav.at/page.aspx?target=65722]]''
*Die nächsten Schulungen des ÖWAV finden Anfang 2016 statt
''[[Schulung zu elektronischen Aufzeichnungen und Meldungen, VÖEB|http://www.voeb.at/index.php?id=6]]''
*Die nächsten Schulungen des VÖEB finden Anfang 2016 statt
[[Fragen zur AbfallbilanzV|http://goo.gl/GNXdJ]]
[[Aufzeichnungen für Baustellen|http://goo.gl/xWPgF]] 
!!!weitere Meldungen
*''[[Diese Dokumentation als pdf zum Download (2013-05)|http://www.oekobits.at/eADok/eadokfiles/eADok-Dokumentation.pdf]]''
**Derzeit wird an einer neuen Gesamtdokumentation gearbeitet. Diese soll im Sommer 2014 erscheinen.
*''[[Detaillierte Anleitung zu eADok V1.14 (aktualisiert: 24.8.2011, erstellt vom Land Steiermark, externer link)|http://goo.gl/edXG2]]''
*[[Anleitung für die Buchungsart "Streckengeschäft"]]
*[[Anleitung zur Erstellung und Upload einer Jahresabfallbilanz]]
*[[Mustervorlage für Problemstoffe|Mustervorlagen für Problemstoffe]] (2010-11)
**Anleitung zum [[Verwenden von Vorlagen]] (2009-10-15)
*So bleiben Sie auf dem Laufenden: [[Mailinglist zu eADok abonnieren|Mailinglist eADok]] oder ''[[RSS-Feed der Google- UserGroup abonnieren|http://groups.google.com/group/eADok/feed/rss_v2_0_msgs.xml]]''
*Anregungen und Fehler können mittels [[online-Formular|Anregungen und Fehler melden]] gemeldet werden
[[eADok auf oekobits.at|http://www.oekobits.at/eADok/doku.php]]

Ab Version 1.13 von eADok steht auch eine um Zusatzfunktionen erweiterte Version (PRO) zur Verfügung.
!!Wesentliche zusätzliche Inhalte der ~PRO-Version
*''Artikelverwaltung; Zuordnungen von''
**Abfallcodes
**Anlagenteile
**Steuerkonten
**Kosteninformation
*''Vorgangsbearbeitung & Wiegung''
**pro Vorgang können mehrere Abfallarten erfasst werden
**Anbindung an Brückenwaagen über Schnittstelle ~RS232 und TCP/IP
** Gewichtsermittlung mittels Wiegung und Tarawiegung,
*''Erfassung von Abfallarten als Artikel mit hinterlegten Steuerkonten und Kosteninformation zwecks Verrechnung''
**Wiegescheindruck
**Lieferschein/Begleitscheindruck
**Barrechnung
*''Fakturierungsmodul''
**Rechnungserfassung aus gespeicherten Vorgängen
**automatisches Splitting von Gutschrift- und Rechnungspositionen
**Rechnungs- und Gutschriftendruck
**Sammelrechnungen
*''Erfassung von Zahlungsein- und ausgängen''
**~Fibu-Export (BMD, ~BlueChip, etc.)
*''Auswertungen, Statistik] (zukünftiges Modul, derzeit in Planungsphase)''
**Artikelstatistik
**Rechnungsstatistik
**...
*einfache Benutzerverwaltung
*''Onlinesupport und Fernpräsentation über Teamviewer (kostenpflichtig)''
*''Import von Bewegungsdaten in eADok (in laufende Aufzeichnungen oder in Bilanzdaten):''
**aus einer definierten ~CSV-Schnittstelle
**aus einer definierten ~Firebird-Datenbank (über ODBC ansprechbar)
*''~Fremdbilanz-Manager''
**Aufzeichnungen von Hauptbuchungsarten (Eingang, Ausgang, Innerbetrieblich) von Partnerbetrieben (z.B. Abfallwirtschaftsverbände zeichnen für ihre Gemeinden auf) können bilanziert werden

Unter Angabe der Personen-GLN der Firma Oekobits ~GmbH (9008390819913) unter "~Tools-Grundeinstellungen" kann die ~PRO-Version vollständig getestet werden.
*weitere Informationen finden Sie unter: ''[[oekobits.at|http://oekobits.at]]''
Ab Version 1.30 ist es möglich, die gem. [[Altfahrzeugeverordnung, BGBl. II Nr. 407/2002 idgF|https://www.ris.bka.gv.at/GeltendeFassung.wxe?Abfrage=Bundesnormen&Gesetzesnummer=20002302]] erforderlichen Meldungen als Erstübernehmer, Anfallstelle oder Verwerter von Altfahrzeugen zu erstellen und im Wege des EDM direkt an das Lebensministerium zu übermitteln (WebService).

!!Aktivierung der Altfahrzeugefunktion
*Über den Menüpunkt "Tools - Einstellungen" das Einstellungsfenster aufrufen
*Im Register "eAFZ" den Punkt "Aufzeichnung und Meldung von Altfahrzeugen aktivieren:
[img[Aufzeichnung und Meldung von Altfahrzeugen aktivieren|http://666kb.com/i/caqh0gkwsc0mj1p5f.jpg]] 

* Um die Meldungen an das Ministerium zu ermöglichen, ist es notwendig, dass diese Funktion vom UBA freigeschaltet wurde. Dazu senden Sie mit dem Button "e-mail an EDM Helpdesk" ein Anforderungsmail an das UBA (wird im eigenen e-mail-Programm erstellt!)
!!Aufzeichnung von Altfahrzeugdaten
Wenn bei der Erstellung eines Übernahmebegleitscheines eine Abfallart für Altfahrzeuge (zb 35203) ausgewählt wurde oder generell bei der Erstellung eines ~Übergabe-BS/LS erscheint in der Rubrik "Abfallart & Menge" der Button "AFZ"
[img[AFZ|http://666kb.com/i/caqhc4bits53adnyr.jpg]] 

Durch Auswahl dieses Buttons wird das ~Altfahrzeug-Fenster geöffnet:
[img[ |http://666kb.com/i/caqhg0f0f8v7e5nkj.jpg]]

Durch Anklicken des Buttons [img[Plus|http://666kb.com/i/caqhi14qkiu6zxqqb.jpg]] können übernommene Fahrzeuge hinzugefügt werden. 
''Die im Formular angegeben Felder sind für die Jahres-Meldung an das Lebensministerium notwendig!''
[img[Erfassung AFZ|http://666kb.com/i/caqhmmx9vrimq2poz.jpg]] 

Bei der Übergabe von Abfallfraktionen aus der Altfahrzeugverwertung kann noch vor der Erfassung der Abfallart der Button "AFZ" ausgewählt werden.
Es erscheint wieder das Fenster "Altfahrzeuge":
[img[Übergabe AFZ-Fraktionen|http://666kb.com/i/caqht9vu2vfcvzngz.jpg]]
Es ist die betreffende Abfallart gem. ~AltfahrzeugeVO auszuwählen. Sollten bei der Übergabe auch gleichartige Abfälle aus einer anderen Tätigkeit übergeben werden (zB Altöl aus der ~KFZ-Wartung) wäre dies im Feld "%-Anteil" anzugeben:
[img[Anteil aus AFZ|http://666kb.com/i/caqhw0pl0vjda3ser.jpg]]

''Die jeweiligen Angaben werden zusätzlich zum Begleitschein / Lieferschein gespeichert!''
!!Erstellung eines Verwertungsnachweises

Durch Auswahl des Menüpinktes "Verwaltung - Altfahrzeuge" wird das Fenster "Altfahrzeuge" geöffnet.
[img[Fenster Altfahrzeuge|http://666kb.com/i/caqp74oq28w92cggc.jpg]] 

In diesem Fenster befindet sich eine Liste der bereits (mit BS/LS) übernommenen Altfahrzeuge.
Das Fahrzeug, für das der Vewertungsnachweis erstellt werden soll, ist auzuwählen und mit "rechter Maustaste - Verwertungsnachweis" kann ein weiteres Fenster "Altfahrzeuge - Verwertungsnachweis Dokument" geöffnet werden.
[img[Verwertungsnachweis - Fenster|http://666kb.com/i/caqplpyg4k4ogqz4c.jpg]] 

Nach Eingabe allfällig noch fehlender Daten kann der Vewertungsnachweis gedruckt (bzw. als pdf gespeichert) werden.
Der Verwertungsnachweis dient dem Übergeber des Fahrzeug als Nachweis gem. ~AltfahrzeugeVO

!!Erstellen der Jahresmeldung und Übermittlung an das Lebensministerium
Wie weiter oben beschrieben, ist das Fenster "Altfahrzeuge" zu öffnen.

Über den Menüpunkt "Verwaltung - EDM: Upload eAFZ-Jahresmeldung" wird ein neues Fenster geöffnet:
[img[EDM: Upload eAFZ-Jahresmeldung|http://666kb.com/i/caqpu35tuuvu10uoc.jpg]]

[img[eAFZ-Meldung|http://666kb.com/i/caqpv5q8u4hx4ii4s.jpg]]

Nach Auswahl des Berichtszeitraumes und der Rolle (Erstübernehmer - Anfallstelle - Verwerter) sowie Eintragung des EDM-Zugangsdaten kann die Jahresmeldung eingebracht werden.
Bitte beachten: Das EDM - WebService eAFZ muss zuerst durch das Umweltbundesamt freigegeben werden!




elektronisches Register für Anlagen und Stoffströme im [[EDM]]-Portal
![[eADok]] electronic waste documentation
is a free software application which was designed to manage waste recordings of producers of hazardous and non-hazardous waste, collectors of waste,
waste-treatment companies and communities. The main goal of the tool is to verify and secure registrations according to the requirements of the austrian electronic wastemanagement act and the regulations which are based on it.
The motivation for the development of this tool were the following

*No inexpensive sufficient tools in existence
*Fulfillment of requirements of the electronic waste-management act necessary
*Fulfilling the requirements of the waste documentation act was time and moneyintensive for companies
*Time-intensive controls by authorities necessary

With eADok it is possible to deal with these requirements in an easy and simple
manner. A lot of emphasis is laid on an user-friendly interface, high portability, flexibility,
low ressource requirements and full austrian law compliance.

!where to download the german version:
*''[[http://www.oekobits.at/eADok/eadokfiles|http://www.oekobits.at/eADok/eadokfiles]]''
Geben Sie den Text für 'excludeLists' ein
Die Möglichkeit zur Zusammenfassung mehrerer Abfallbilanzdateien im korrekten Format gem. ~UBA-Schemabeschreibung wurde mit Version 1.14 (2011-03) von eADok realisiert.
!!Folgende Punkte sind zu berücksichtigen
*Die Zusammenfassung kann nur für Bilanzen erfolgen, welche von der selben Person erstellt wurden
*Um Doppelzählungen bei innerbetrieblichen Buchungen zu vermeiden, werden diese in einer eigenen Übersicht bereitgestellt, um die jeweils in der Bilanz zu berücksichtigenden Buchungen auswählen zu können.
!!Anleitung
Im Menü wird der ~Teilbilanzen-Manager aufgerufen:
[img[Teilbilanzmanager aufrufen|http://eadok.at/pics/teilbilanz.jpg]]
Dort wird zuerst über den Menüpunkt "''Neuer Bilanzcontainer''" ein Bilanzcontainer für den entsprechenden Zeitraum angelegt
 
Im ~Teilbilanzen-Manager können mit dem Button [img[+|http://eadok.at/pics/plus.jpg]] ~Bilanz-Dateien (im entsprechenden ~XML-Format) aus einem Verzeichnis des Computers hinzugefügt werden:
[img[Teilbilanzen auswählen|http://eadok.at/pics/teilbil.jpg]]

Mit dem Button "''Teilbilanzen vorbereiten''" werden die Daten der einzelnen Bilanzen vorbereiter.
[img[Teilbilanzen vorbereiten|http://eadok.at/pics/teilzus.jpg]]
Es können sodann jene innerbetrieblichen Buchungen abgewählt werden, welche in der zusammengeführten Bilanz - aufgrund möglicher Doppelmeldungen - nicht aufscheinen sollen.

Mit dem Button "''Teilbilanzen zusammenführen''" wird aufgrund edr gewählten Dateien und der ausgewählten innerbetrieblichen Buchungen eine Gesamtbilanz erstellt, welche dann mit dem Button "''Export (~Abfall-Input-Output-Meldung''" ins Dateisystem exportiert werden kann.
[img[exportieren...|http://eadok.at/pics/exportTeil.jpg]]

Beschreibung fehlt noch &&
Die Liste der Personenkreise sind im EDM unter:
https://secure.umweltbundesamt.at/edm_portal/redaList.do?seqCode=e4k32i4j3g6thb&lsCode=fhthyn72w28qyc&entireLsq=true
veröffentlicht.
Geben Sie den Text für 'tiddlyspot' ein
| tiddlyspot password:|<<option pasUploadPassword>>|
| site management:|<<upload http://eadok.tiddlyspot.com/store.cgi index.html . .  eadok>>//(requires tiddlyspot password)//[[control panel|http://eadok.tiddlyspot.com/controlpanel]], [[download (go offline)|http://eadok.tiddlyspot.com/download]]|
| links:|[[tiddlyspot.com|http://tiddlyspot.com/]], [[FAQs|http://faq.tiddlyspot.com/]], [[announcements|http://announce.tiddlyspot.com/]], [[blog|http://tiddlyspot.com/blog/]], email [[support|mailto:support@tiddlyspot.com]] & [[feedback|mailto:feedback@tiddlyspot.com]], [[donate|http://tiddlyspot.com/?page=donate]]|

''upload geht nur mit Firefox III (portable)!''
Beim Aufruf der Begleitschein- und Lieferscheinverwaltung wird folgendes Fenster angezeigt (bei BS etwas abgewandelt)

[img[BS-LS-Verwaltung|http://www.eadok.at/pics/BSLS-verw.jpg]]

Es werden in diesem Fenster je nach Auswahl der betreffenden Register die Eingangs-, Ausgangs-, innerbetrieblichen oder sonstigen Begleitscheine oder Lieferscheine oder die Streckengeschäfte angezeigt.
Weiters ist es möglich, das Anzeigejahr auszuwählen.
Innerhalb der einzelnen Register können die BS/LS in Bearbeitung oder die abgelegten BS/LS angezeigt werden.
Durch Anklicken einer Spaltenüberschrift kann die Tabelle aufsteigend und absteigend sortiert werden.

[img[BS-LS-Sortierung|http://www.eadok.at/pics/sortierung.jpg]]

Durch Klick der rechten Maustaste in der Tabelle wird ein sog. Kontextmenü aufgerufen:

[img[Kontextmenu|http://www.eadok.at/pics/Kontextmenu.jpg]]

Die entsprechenden Aktionen können nach Auswahl der entprechenden BS/LS durchgeführt werdn (Ändern, Drucken, Analyse usw.)

+++!!![BS-LS-Filter und Analyse...|Anklicken zum Ausklappen...]>...
<<tiddler [[BS-LS-Filter und Analyse]]>>
===
Die Applikation ''[[eADok]] (elektronische ~Abfall-Dokumentation)'' wird von ''[[oekobits.at|http://oekobits.at]]'' in Kooperation mit dem Amt der Salzburger Landesregierung, Referat Abfallwirtschaft und Umweltrecht und dem Bundesministerium für Land- und Forstwirtschaft, Umwelt und Wasserwirtschaft entwickelt und dient als Aufzeichnungs-, Bilanzierungs- und Meldesystem für gefährliche und nicht gefährliche Abfälle entsprechend der österreichischen Abfallnachweisverordnung ([[ANVO]]), der [[Bilanzverordnung]] sowie der DeponieVO. Die Software wird als Freeware sowie als kostenpflichtige [[PRO-Version|eADok-PRO]] (siehe [[Lizenzbestimmungen]]) angeboten. 
*Systemvoraussetzungen:
**Windows (ab NT)
**.~NET-Famework ab V2.0
**Bildschirmauflösung min. 1024 * 768
**1 GB RAM
*verwendete Software:
**Datenbank: [[Firebird|http://www.firebirdsql.org/]] 2.1.4
**Oberfläche: ~VisualBasic.NET, ausführbare Datei (.exe)
*Features:
**zur Installation sind keine ~Admin-Rechte notwendig
***''eADok funktioniert als sog. "Portable Software" und kann auf externe Laufwerke kopiert werden.''
***kein Eintrag in der Registry
***keine Deinstallation notwendig: eADok-Verzeichnis löschen reicht aus
**kann auch als Netzwerklösung - inkl. entsprechender Zugriffsrechte - installiert werden: [[Anleitung zum Download|http://www.oekobits.at/eADok/eadokfiles/eADok-ClientServer_install_and_update.pdf]]
**Kundenverwaltung
***Import und laufender Abgleich (über ein Webservice) der Registrierungsdaten aus dem EDM ([[eRAS|https://secure.umweltbundesamt.at/edm_portal/home.do]])
***Anlage sonstiger Kunden (ohne ~EDM-Registrierung)
**Erfassung von Begleitscheinen und Lieferscheinen (gef. /nicht gef.)
***Eingang, Ausgang, Sonstige (zB Transporte)
***Import von Begleitscheinen / Lieferscheinen von Kunden (aufgrund des ~EBSM-XML Formates)
**vereinfachte Aufzeichnungen für Abfallersterzeuger
**Meldungen an die EDM-Register möglich
***Begleitscheinmeldungen über ein WebService direkt an den LH 
***Bilanzmeldung gem Deponie-VO und [[AVV]]
***Aufzeichnungen gem. [[Bilanzverordnung]]
***Bilanzmeldungen gem. [[Bilanzverordnung]]
***Jahresmeldung gem. Altfahrzeugeverordnung
**~ADR-Beförderungspapier im Begleitschein
**~Grüne-Liste-BS aus Lieferschein
**~XML-Export von Lieferscheinen und Begleitscheinen zum Datenaustausch
**Export von Kundenstammdaten (xls)
*Aktuelle Version: [[Version 1.33_h4 (2016-04-15)]]
!So bleiben Sie auf dem Laufenden:
*per eMail über neue Versionen benachrichtigt werden: [[Mailinglist eADok]]
*Informationen in der Google- UserGroup
*''[[RSS-Feed der Google- UserGroup abonieren|http://groups.google.com/group/eADok/feed/rss_v2_0_msgs.xml]]''
**[[weitere Infos zu RSS-feeds|RSSHilfe]]
*''[[eADok auf oekobits.at|http://www.oekobits.at]]''