Maniacy w Calpe czekaj ...

17-27 marca 2018
Calpe 2018 - Obóz treningowy Maniaków marzec 2018.
<!--{{{-->
<link rel='alternate' type='application/rss+xml' title='RSS' href='index.xml' />
<!--}}}-->
Background: #fff
Foreground: #000
PrimaryPale: #8cf
PrimaryLight: #18f
PrimaryMid: #04b
PrimaryDark: #014
SecondaryPale: #ffc
SecondaryLight: #fe8
SecondaryMid: #db4
SecondaryDark: #841
TertiaryPale: #eee
TertiaryLight: #ccc
TertiaryMid: #999
TertiaryDark: #666
Error: #f88
/*{{{*/
body {background:[[ColorPalette::Background]]; color:[[ColorPalette::Foreground]];}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.editor input {border:1px solid [[ColorPalette::PrimaryMid]];}
.editor textarea {border:1px solid [[ColorPalette::PrimaryMid]]; width:100%;}
.editorFooter {color:[[ColorPalette::TertiaryMid]];}
.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: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: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: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 0; font-size:.9em;}
.editorFooter .button {padding-top:0px; padding-bottom:0px;}

.fieldsetFix {border:0; padding:0; margin: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;}
#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='header' macro='gradient vert [[ColorPalette::PrimaryLight]] [[ColorPalette::PrimaryMid]]'>
<div class='headerShadow'>
<span class='siteTitle' refresh='content' tiddler='SiteTitle'></span>&nbsp;
<span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>
</div>
<div class='headerForeground'>
<span class='siteTitle' refresh='content' tiddler='SiteTitle'></span>&nbsp;
<span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>
</div>
</div>
<div id='mainMenu' refresh='content' tiddler='MainMenu'></div>
<div id='sidebar'>
<div id='sidebarOptions' refresh='content' tiddler='SideBarOptions'></div>
<div id='sidebarTabs' refresh='content' force='true' tiddler='SideBarTabs'></div>
</div>
<div id='displayArea'>
<div id='messageArea'></div>
<div id='tiddlerDisplay'></div>
</div>
<!--}}}-->
<!--{{{-->
<div class='toolbar' macro='toolbar [[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>
<!--}}}-->
<!--{{{-->
<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>>
These [[InterfaceOptions]] for customising [[TiddlyWiki]] are saved in your browser

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

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

----
Also see [[AdvancedOptions]]
<<importTiddlers>>
! Piątek 4 kwietnia 2010

W drodze do Villach, gdzie spaliśmy w Haus Hopfgartner (tam gdzie w 2007 roku),  jechaliśmy przez Czechy. Najkorzystniej jest teraz jechać z Brna autostradą na Bratysławę i zjechać na Wiedeń w miejscowości Breclav. Dalej drogą z bardzo małym ruchem dojeżdża się do nowo zrobionej autostrady ''A5'', która prowadzi nas do Wiednia. 

Ciekawostka, tuż obok miejsca gdzie spaliśmy znajdują się skocznie narciarskie na których trenuje Thomas Morgenstern, który pochodzi z Spittal an der Drau, położonego niedaleko od Villach.
|[img[http://lh5.ggpht.com/_so9oJiT6bRk/S8sdhb6sK3I/AAAAAAAACdk/A2GGnMn1xr4/s576/IMG_1545.JPG]]|[img[http://lh5.ggpht.com/_so9oJiT6bRk/S8sdjXogiFI/AAAAAAAACds/4zGo0eDFWBQ/s800/IMG_1547.JPG]]|
! Sobota 9 kwietnia 2010

Jak byliśmy koło Wenecji to dowiedzieliśmy się od rodzin o katastrofie pod Smoleńskiem @@['] ['] [']@@. Mieliśmy też CB radio więc na bieżąco przekazywaliśmy sobie informacje, które do nas dochodziły.

Po zakupach dotarliśmy do naszej bazy położonej za Palazzone. 
|<html><a><img src="http://lh4.ggpht.com/_so9oJiT6bRk/S8sdv31t3lI/AAAAAAAACeU/KwpY1wpa9qA/s800/IMG_1557.JPG"  style ="height: 375px; width: 500px"/></a>></html>|<html><a><img src="http://lh5.ggpht.com/_so9oJiT6bRk/S8sbhxSOi7I/AAAAAAAACX4/lYM6iZIGoRM/s800/IMG_1619.JPG"  style ="height: 375px; width: 500px"/></a>></html> |

Było ciepło i słonecznie. Pojechaliśmy ubrani na krótko przez Palazzone, Piazze do San Casciano del Bagni. Stamtąd udaliśmy się do Trevinano i zjazdem w dół do Acquapendente. Wróciliśmy tą samą drogą do naszej bazy. Po drodze mieliśmy dwa podjazdy z bazy [[Salite|http://www.salite.ch]]:
# [[Acquapendente|http://www.salite.ch/acquapendente.asp]]
# [[Monte Rufeno|http://www.salite.ch/10403.asp]]
! Niedziela 10 kwietnia 2010

W nocy znacznie się ochłodziło i zachmurzyło. Na szczęście chwilami tylko lekko kropiło i droga była sucha. Wybraliśmy bezpieczny wariant i jeździliśmy na rundzie blisko domu, która była bardzo wymagająca. Cały czas góra-dół.
! Poniedziałek 11 kwietnia 2010

Pogoda już słoneczna, ale zimno. Wszyscy ubrani na długo wyruszyliśmy w trasę, w której naszym celem było Orvieto. Przez Piazze i San Casciano 

|<html><a href="http://picasaweb.google.pl/lh/photo/aIt2plGaO76s9Q-MQEdvFg?feat=embedwebsite"><img src="http://lh4.ggpht.com/_so9oJiT6bRk/S8sd7KkgDdI/AAAAAAAACew/odD3AaXcAGg/s400/IMG_1564.JPG" /></a></html>|<html><a href="http://picasaweb.google.pl/lh/photo/2mOIqklADV2jR-mJjsT3Hw?feat=embedwebsite"><img src="http://lh5.ggpht.com/_so9oJiT6bRk/S8sd5mvftzI/AAAAAAAACes/Ygr4T_rbSH8/s400/IMG_1563.JPG" /></html>|

najpierw dotarliśmy do Allerony. Tam piękne widoki:

|<html><a href="http://picasaweb.google.pl/lh/photo/Xcakx8nNPTHTLlgtINJVjA?feat=embedwebsite"><img src="http://lh3.ggpht.com/_so9oJiT6bRk/S8seE5uE7WI/AAAAAAAACfI/koofKkjy06w/s400/IMG_1571.JPG" /></a></html>|<html><a href="http://picasaweb.google.pl/lh/photo/oMJeKrGPBvPBSBGnXFJ_vQ?feat=embedwebsite"><img src="http://lh6.ggpht.com/_so9oJiT6bRk/S8seGFIirgI/AAAAAAAACfM/i36aoTQ0lXM/s400/IMG_1572.JPG" /></a></html>|
A później zobaczyliśmy Orvieto, które przywitało nas bardzo sztywnym podjazdem cały czas powyżej 10% i do tego kawałek powyżej 20% (to ta droga w prawym rogu zdjęcia). Samo miasto wspaniałe, a szczególnie katedra.
|<html><a href="http://picasaweb.google.pl/lh/photo/1GwLjIcA2juv1QDZfi8Cyg?feat=embedwebsite"><img src="http://lh6.ggpht.com/_so9oJiT6bRk/S8sePHN6EsI/AAAAAAAACfo/P6TdlsFteBA/s400/IMG_1579.JPG" /></a></html>|<html><a href="http://picasaweb.google.pl/lh/photo/tELEpHbsMRRDR_4DUL-0Mg?feat=embedwebsite"><img src="http://lh3.ggpht.com/_so9oJiT6bRk/S8seeyskZfI/AAAAAAAACgU/TCQWkzt-ibs/s400/IMG_1589.JPG" /></a></html>|
Z Orvieto bardzo fajnym podjazdem dojechaliśmy do Trinitu i dalej zjechaliśmy do Acquapendente, skąd wróciliśmy jak w sobotę.
|<html><a href="http://picasaweb.google.pl/lh/photo/ULYwdq2sjz1d2N2aWNVgSw?feat=embedwebsite"><img src="http://lh4.ggpht.com/_so9oJiT6bRk/S8sepKWQy_I/AAAAAAAACg0/UpA-A74zBC8/s400/IMG_1596.JPG" /></a</html>|<html><a href="http://picasaweb.google.pl/lh/photo/T4nEVq9wILCypx9eN-eqjQ?feat=embedwebsite"><img src="http://lh4.ggpht.com/_so9oJiT6bRk/S8sewwdBabI/AAAAAAAAChI/E1Ycdf5hzRM/s400/IMG_1601.JPG" /></a></html>|
Niestety Heniowi pod Orvieto zepsuła się prawa klamka i nie mógł zmieniać przełożeń. Na szczęście znaleźliśmy sklep w Acquapendente z dużo większym oddziałem w Orvieto. 
|<html><a href="http://picasaweb.google.pl/lh/photo/ULYwdq2sjz1d2N2aWNVgSw?feat=embedwebsite"><img src="http://lh4.ggpht.com/_so9oJiT6bRk/S8sepKWQy_I/AAAAAAAACg0/UpA-A74zBC8/s400/IMG_1596.JPG" /></a></html>|<html><a href="http://picasaweb.google.pl/lh/photo/pL0iAmIQuKydH0RXfVwF2A?feat=embedwebsite"><img src="http://lh3.ggpht.com/_so9oJiT6bRk/S8se0Sw28AI/AAAAAAAAChU/kkUBVb5X5-s/s400/IMG_1604.JPG" /></a></html>|
!Wtorek 12 kwietnia 2010

Rano wizyta w sklepie i oddanie do reperacji roweru Henia. Później kółko po okolicy z kilkukilometrowym podjazdem do Citta d. Pieve. 
|<html><a href="http://picasaweb.google.pl/lh/photo/kkU6hrHnW-tQZlNgMUQjYg?feat=embedwebsite"><img src="http://lh4.ggpht.com/_so9oJiT6bRk/S8sbUEtkWmI/AAAAAAAACXU/ckrEr0FNmw4/s400/IMG_1610.JPG" /></a></html>|<html><a href="http://picasaweb.google.pl/lh/photo/w8bOpE_cL4YI2zMYC44wVQ?feat=embedwebsite"><img src="http://lh5.ggpht.com/_so9oJiT6bRk/S8sbXeqYSDI/AAAAAAAACXg/LQ0I3pUv6Z4/s400/IMG_1613.JPG" /></a></html>|
|<html><a href="http://picasaweb.google.pl/lh/photo/V3R6VUF-geJxgdrqPxZ8ZQ?feat=embedwebsite"><img src="http://lh6.ggpht.com/_so9oJiT6bRk/S8sbboBozsI/AAAAAAAACXs/1VjmT4dkPoc/s400/IMG_1616.JPG" /></a></html>|<html><a href="http://picasaweb.google.pl/lh/photo/QvWVqDVPtK6v6agz_K5fWQ?feat=embedwebsite"><img src="http://lh6.ggpht.com/_so9oJiT6bRk/S8sbdBr-YXI/AAAAAAAACXw/Y1CSOkQmQp8/s400/IMG_1617.JPG" /></a></html>|
Stamtąd przez Chuisi, Cetonę i Pizze wróciliśmy do bazy, akurat na czas przed deszczem. Po południu pojechaliśmy odebrać rower Henia i zwiedziliśmy Orvieto, ale już przy pięknej słonecznej pogodzie.
|<html><a href="http://picasaweb.google.pl/lh/photo/_EkSeYImXqoUZozZP2YOTw?feat=embedwebsite"><img src="http://lh6.ggpht.com/_so9oJiT6bRk/S8sblpPUDlI/AAAAAAAACYE/L0cEWxwI3jA/s400/IMG_1625.JPG" /></a></html>|<html><a href="http://picasaweb.google.pl/lh/photo/Aaj3L-CPsquegaRS68h7YA?feat=embedwebsite"><img src="http://lh4.ggpht.com/_so9oJiT6bRk/S8sb5Fl0qCI/AAAAAAAACY4/UHgGj78ftNY/s400/IMG_1640.JPG" /></a></html>|
|<html><a href="http://picasaweb.google.pl/lh/photo/HhTSBitg3IgY3V_mg5wEMg?feat=embedwebsite"><img src="http://lh6.ggpht.com/_so9oJiT6bRk/S8scKhk42nI/AAAAAAAACZs/J7TmhikuCsY/s400/IMG_1653.JPG" /></a></html>|<html><a href="http://picasaweb.google.pl/lh/photo/jwSB_c3mi3_TTqpTONZJ-Q?feat=embedwebsite"><img src="http://lh4.ggpht.com/_so9oJiT6bRk/S8scQpCm8gI/AAAAAAAACZ8/AO7Wfky7HQE/s400/IMG_1657.JPG" /></a></html>|
!Środa 13 kwietnia 2010
Grzesiek, Heniek i Leszek wybrali się na cały dzień do Rzymu. Zobaczyli wszystkie najważniejsze zabytki oraz wzięli udział w papieskiej audiencji. Darek, Tomek i Andrzej wybrali się do Pitigliano przez Acquapendente jak w sobotę. Później przez Grotte di Castro dojechaliśmy do jeziora Bolsena.
|<html><a href="http://picasaweb.google.pl/lh/photo/a0CfGEVyl9kD9LBiolpXxg?feat=embedwebsite"><img src="http://lh5.ggpht.com/_so9oJiT6bRk/S8scbNgxs1I/AAAAAAAACaU/GU8DgZ6g-dA/s400/IMG_1663.JPG" /></a></html>|<html><a href="http://picasaweb.google.pl/lh/photo/h0UcP63DJVgSXRb7X3FeVg?feat=embedwebsite"><img src="http://lh4.ggpht.com/_so9oJiT6bRk/S8scemTufGI/AAAAAAAACag/UUshM2Fi1UA/s400/IMG_1666.JPG" /></a></html>|
|<html><a href="http://picasaweb.google.pl/lh/photo/zp-AzBbPsrJE-xz_9KctnQ?feat=embedwebsite"><img src="http://lh3.ggpht.com/_so9oJiT6bRk/S8scfjYlJsI/AAAAAAAACak/k8vj9O0c7mQ/s400/IMG_1667.JPG" /></a></html>|<html><a href="http://picasaweb.google.pl/lh/photo/Az304gubP1ys5mGiCA8iuQ?feat=embedwebsite"><img src="http://lh5.ggpht.com/_so9oJiT6bRk/S8sch_yaqbI/AAAAAAAACas/7afQf-uu1wQ/s400/IMG_1669.JPG" /></a></html>|
Przez Gradoli dotarliśmy do Pitigliano, miasto zrobiło na nas bardzo duże wrażenie.
|<html><a href="http://picasaweb.google.pl/lh/photo/dX9pDUNmOmPdBpi5sbN5yQ?feat=embedwebsite"><img src="http://lh4.ggpht.com/_so9oJiT6bRk/S8sckeebgrI/AAAAAAAACa0/NIZ4GPaM8ps/s400/IMG_1671.JPG" /></a>|<html><a href="http://picasaweb.google.pl/lh/photo/SFvKWhBQPuStYwYbRqG5Ag?feat=embedwebsite"><img src="http://lh4.ggpht.com/_so9oJiT6bRk/S8scl8chDgI/AAAAAAAACa4/cDzgyIzabak/s400/IMG_1672.JPG" /></a></html>|
Nieopodal leżące Sovano też jest niesamowite z pięknym romańskim kościołem.
|<html><a href="http://picasaweb.google.pl/lh/photo/gBnLDT6NKwQL03TdHXLsEw?feat=embedwebsite"><img src="http://lh6.ggpht.com/_so9oJiT6bRk/S8sdFeSlWzI/AAAAAAAACcg/9YPKqUyXWPA/s400/IMG_1697.JPG" /></a></html>|<html><a href="http://picasaweb.google.pl/lh/photo/7eaf8S_zIIJbD9C_7Uhmjw?feat=embedwebsite"><img src="http://lh4.ggpht.com/_so9oJiT6bRk/S8sc7R6fZFI/AAAAAAAACb8/V7_b8Fmlp64/s400/IMG_1687.JPG" /></a></html>|
Z Sovano trafiliśmy do Sorano, które podobnie jak Pitigliano zostało wybudowane na tufowych skałach.
|<html><a href="http://picasaweb.google.pl/lh/photo/ZNUq6Z8junYpwdpY9JDX3g?feat=embedwebsite"><img src="http://lh4.ggpht.com/_so9oJiT6bRk/S8sdHveusXI/AAAAAAAACck/LBIRT2N8010/s400/IMG_1698.JPG" /></a></html>|<html><a href="http://picasaweb.google.pl/lh/photo/oPnwTUOqF0Z-fCa-LZWjXg?feat=embedwebsite"><img src="http://lh4.ggpht.com/_so9oJiT6bRk/S8sdTv_qInI/AAAAAAAACdA/oh5bAIau2Kk/s400/IMG_1705.JPG" /></a></table></html>|
Przez Ponte del Rigo i San Casciano dotarliśmy do naszej bazy.
|<html><<a href="http://picasaweb.google.pl/lh/photo/5R4m6z5eMxCSw2KDAc2wvA?feat=embedwebsite"><img src="http://lh4.ggpht.com/_so9oJiT6bRk/S8sdaGYUH9I/AAAAAAAACdQ/AndvQ9ZIMgs/s400/IMG_1709.JPG" /></a></html>|<html><a href="http://picasaweb.google.pl/lh/photo/h2m79WYvBhYvQUXMLwMXkw?feat=embedwebsite"><img src="http://lh4.ggpht.com/_so9oJiT6bRk/S8sdczlBnaI/AAAAAAAACdY/43TORmiVtfY/s400/IMG_1711.JPG" /></a></html>|
! Czwartek 14 kwietnia - Monte Amiata Day

Przez San Casciano dotarliśmy do Ponte del Rigo. Tam rozpoczęliśmy 28 kilometrowy podjazd pod Monte Amiata z 1,400 metrów różnicy wysokości!
|<html><a href="http://picasaweb.google.pl/lh/photo/ZqQC26FLiMUJTQi6Fip85g?feat=embedwebsite"><img src="http://lh5.ggpht.com/_so9oJiT6bRk/S8saaPWd9sI/AAAAAAAACUc/4K7IpT3dwoY/s400/IMG_1718.JPG" /></a></html>|<html><a href="http://picasaweb.google.pl/lh/photo/YSnqPqBQtCDOHWPmekswXw?feat=embedwebsite"><img src="http://lh6.ggpht.com/_so9oJiT6bRk/S8sad067XwI/AAAAAAAACUs/RHAPTi01HPM/s400/IMG_1722.JPG" /></a></html>|
Najpierw 10 kilometrów miejscami sztywnego (>12%) podjazdu do Piacastagnaio, później po falistym terenie do Abbadia San Salvatore, a stamtąd 14 kilometrowy killer do stacji narciarskiej Vetta Amiata (1,670 m)
|<html><a href="http://picasaweb.google.pl/lh/photo/f3PyzBAcOFmxDTEvy7MG3A?feat=embedwebsite"><img src="http://lh4.ggpht.com/_so9oJiT6bRk/S8sag2YBGuI/AAAAAAAACU0/FzwaViXllaU/s400/IMG_1724.JPG" /></a></html>|<html><a href="http://picasaweb.google.pl/lh/photo/kU4ofdqyAeA04hQnIr6UgQ?feat=embedwebsite"><img src="http://lh5.ggpht.com/_so9oJiT6bRk/S8safDzJJZI/AAAAAAAACUw/0RIKElJwvog/s400/IMG_1723.JPG" /></a></html>|
Na górze śnieg i temperatura koło zera. Na trasach narciarskich widzieliśmy biegających na nartach. Wyciągi już nie chodziły :)
|<html><a href="http://picasaweb.google.pl/lh/photo/PUdHuax9vR-6uNig5EtIwA?feat=embedwebsite"><img src="http://lh3.ggpht.com/_so9oJiT6bRk/S8saubcuwHI/AAAAAAAACVY/HwJWJtvy19s/s400/IMG_1733.JPG" /></a></table></html>|<html><a href="http://picasaweb.google.pl/lh/photo/4nuA4KssPy4QtqLEqDEYbw?feat=embedwebsite"><img src="http://lh5.ggpht.com/_so9oJiT6bRk/S8saxb5sEeI/AAAAAAAACVg/5GWcZKcFeM0/s400/IMG_1735.JPG" /></a></html>|
|<html><a href="http://picasaweb.google.pl/lh/photo/iKj7CpFlm2dHHC59dPfvBg?feat=embedwebsite"><img src="http://lh6.ggpht.com/_so9oJiT6bRk/S8sa341jNnI/AAAAAAAACVw/dT2F-C7IGBc/s400/IMG_1739.JPG" /></a></html>|<html><a href="http://picasaweb.google.pl/lh/photo/SmLZRkbQ0Gtyc46MFUUlug?feat=embedwebsite"><img src="http://lh5.ggpht.com/_so9oJiT6bRk/S8sa5eUM-YI/AAAAAAAACV0/MBrdoeNFPl0/s400/IMG_1740.JPG" /></a></html>|
Podczas zjazdu było tak zimno, że wszyscy wpadli w rezonans szczękania zębami i drżących na kierownicy rąk.  Zatrzymaliśmy się w Abbadii na ciepłą herbatę z kieliszkiem grapy.
|<html><a href="http://picasaweb.google.pl/lh/photo/JWzQvmTLM_mHsv3cFo7RCg?feat=embedwebsite"><img src="http://lh4.ggpht.com/_so9oJiT6bRk/S8sbAnM2WEI/AAAAAAAACWM/WSJi8Kc4JJo/s400/IMG_1746.JPG" /></a></html>|<html><a href="http://picasaweb.google.pl/lh/photo/5Nr8Sgjdor92pf9k_BqxtA?feat=embedwebsite"><img src="http://lh4.ggpht.com/_so9oJiT6bRk/S8sbB0JF_YI/AAAAAAAACWQ/7P8rTlk3530/s400/IMG_1747.JPG" /></a></html>|
Następnie rozpoczęliśmy powrót przez Zaccaria, Radicofani, Sarteano, Cetonę do Piazze.
|<html><a href="http://picasaweb.google.pl/lh/photo/uPzK-LilmQdYhQ8Jy9oMyw?feat=embedwebsite"><img src="http://lh6.ggpht.com/_so9oJiT6bRk/S8sbHFcqWJI/AAAAAAAACWk/Ki2j5u_v6Vc/s400/IMG_1752.JPG" /></a></html>|<html><a href="http://picasaweb.google.pl/lh/photo/7UIs1jdAd1-Pc2OyddjhWQ?feat=embedwebsite"><img src="http://lh3.ggpht.com/_so9oJiT6bRk/S8sbPRp-hqI/AAAAAAAACXA/159HzOOEQHg/s400/IMG_1758.JPG" /></a></html>|
Tego dnia zrobiliśmy 2,800 metrów przewyższenia! Wieczorem pojechaliśmy do lokalnej knajpy na znakomitą kolację.
|<html><a href="http://picasaweb.google.pl/lh/photo/_q5J4d6PGxdGZ8hH8I-bHg?feat=embedwebsite"><img src="http://lh5.ggpht.com/_so9oJiT6bRk/S8sbRvczWeI/AAAAAAAACXM/c67e8-H2PMw/s400/IMG_1760.JPG" /></a></html>|<html><a href="http://picasaweb.google.pl/lh/photo/XKrS_TyE6HcyDJ-b7HaMjg?feat=embedwebsite"><img src="http://lh3.ggpht.com/_so9oJiT6bRk/S8sbS9U0wSI/AAAAAAAACXQ/fJ5jXvR95gM/s400/IMG_1761.JPG" /></a></html>|
! Piątek 15 kwietnia
W dużej części pojechaliśmy trasą zeszłorocznego Gran Fondo. Najpierw z Piazze dojechaliśmy do Cetony i podjechaliśmy do Sarteano.
|<html><a href="http://picasaweb.google.pl/lh/photo/2CFLrVvapSlmd0ZnswE9UQ?feat=embedwebsite"><img src="http://lh5.ggpht.com/_so9oJiT6bRk/S8sZCeqEZVI/AAAAAAAACQY/NxxECG9ailU/s400/IMG_1764.JPG" /></a></html>|<html><a href="http://picasaweb.google.pl/lh/photo/npKMMeWvBt6AIEkTNRS2uw?feat=embedwebsite"><img src="http://lh3.ggpht.com/_so9oJiT6bRk/S8sZEB8vApI/AAAAAAAACQc/4AEmbarhlZM/s400/IMG_1765.JPG" /></a></html>|
Później zjazd i podjazd do Chianciano (z bramy na zdjęciu startowaliśmy w ubiegłym roku), 
|<html><a href="http://picasaweb.google.pl/lh/photo/XQAbaPlIfi7JBXYB-G3-tQ?feat=embedwebsite"><img src="http://lh3.ggpht.com/_so9oJiT6bRk/S8sZIP2X--I/AAAAAAAACQk/r03llXViBqo/s400/IMG_1767.JPG" /></a></html>|<html><a href="http://picasaweb.google.pl/lh/photo/B6-Rfz9lefZLtlpDvQaRVQ?feat=embedwebsite"><img src="http://lh6.ggpht.com/_so9oJiT6bRk/S8sZPOk-kiI/AAAAAAAACQ0/EhsCLBVItpI/s400/IMG_1771.JPG" /></a></html>|
stamtąd trasą Gran Fondo, 
|<html><a href="http://picasaweb.google.pl/lh/photo/_mG_t3Hq5niQzg3d1w7rLQ?feat=embedwebsite"><img src="http://lh5.ggpht.com/_so9oJiT6bRk/S8sZVcWsx1I/AAAAAAAACRI/hSnnVv4z0Ik/s400/IMG_1776.JPG" /></a></html>|<html><a href="http://picasaweb.google.pl/lh/photo/U3Y9gM-RkZrBy2dzIXD6ow?feat=embedwebsite"><img src="http://lh6.ggpht.com/_so9oJiT6bRk/S8sZW2tHG1I/AAAAAAAACRM/isTKCaBNkR4/s400/IMG_1777.JPG" /></a></html>|
ale z wizytami w przepięknym Montepulciano 
|<html><a href="http://picasaweb.google.pl/lh/photo/KXx122qJT9h6Au-xDmpatA?feat=embedwebsite"><img src="http://lh3.ggpht.com/_so9oJiT6bRk/S8sZZiQhtuI/AAAAAAAACRY/QcAG2WWjcKo/s400/IMG_1779.JPG" /></a></html>|<html><a href="http://picasaweb.google.pl/lh/photo/IyR5NYRaUwEPHcYPu0GxJg?feat=embedwebsite"><img src="http://lh4.ggpht.com/_so9oJiT6bRk/S8sZiO2UM9I/AAAAAAAACR0/9cA0t7h5e4M/s400/IMG_1785.JPG" /></a></html>|
|<html><a href="http://picasaweb.google.pl/lh/photo/mHGgxHS49B6qn31rwB_nzg?feat=embedwebsite"><img src="http://lh5.ggpht.com/_so9oJiT6bRk/S8sZ1iQfSTI/AAAAAAAACSo/R3EhI_Pc4wI/s400/IMG_1798.JPG" /></a></html>|<html><a href="http://picasaweb.google.pl/lh/photo/zENbAGRpp5x5TMmoxQaqHw?feat=embedwebsite"><img src="http://lh6.ggpht.com/_so9oJiT6bRk/S8sZ8uZgiII/AAAAAAAACS8/cd5GQjwgKGs/s400/IMG_1803.JPG" /></a></html>|
oraz Pienzy
|<html><a href="http://picasaweb.google.pl/lh/photo/hBBcduxcoNDjpcCxsjwU6g?feat=embedwebsite"><img src="http://lh5.ggpht.com/_so9oJiT6bRk/S8saJFzRdEI/AAAAAAAACTo/kIFkHIwye-U/s400/IMG_1816.JPG" /></a></html>|<html><a href="http://picasaweb.google.pl/lh/photo/cTlvLxCcNil1lO_Dm_cZLQ?feat=embedwebsite"><img src="http://lh4.ggpht.com/_so9oJiT6bRk/S8saKEYcSdI/AAAAAAAACTs/wAA_fezXDMw/s400/IMG_1817.JPG" /></a></html>|
Dalej przez La Vittoria podjechaliśmy pod Radicofani. Po drodze złapał nas deszcz, ale po kilkunastu minutach można było jechać dalej.
|<html><a href="http://picasaweb.google.pl/lh/photo/ck4BFCefeSPa27HhO0eNrg?feat=embedwebsite"><img src="http://lh3.ggpht.com/_so9oJiT6bRk/S8saPwhgJsI/AAAAAAAACT8/Iz07-j0RxFw/s400/IMG_1821.JPG" /></a></html>|<html><a href="http://picasaweb.google.pl/lh/photo/bZm3DKautCzJr8uDlDKRuw?feat=embedwebsite"><img src="http://lh5.ggpht.com/_so9oJiT6bRk/S8saRpEX-yI/AAAAAAAACUA/aATS98XYDko/s400/IMG_1822.JPG" /></a></html>|
Spod Radicofani zjechaliśmy do mostu nad rzeką Rigo, gdzie rozpoczął się ostatni podjazd naszego wyjazdu do Celle sul Rigo. Stamtąd przez San Casciano i Piazze dotarliśmy do naszej bazy.
Naszym lokum na tegoroczny wyjazd do Toskanii będzie [[Agriturismo Boschi di Montecalvi|http://www.boschidimontecalvi.it]] Z Łodzi mamy tam jadąc przez Czechy i Austrię jakieś 1650km (przez Niemcy 200km więcej).
<html><iframe width="600" height="800" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="http://maps.google.com/maps/ms?ie=UTF8&amp;hl=pl&amp;s=AARTsJreexHrDvqRgreMsVD0_32nkxCjxg&amp;msa=0&amp;msid=116762684813621878640.00044674f5420e1d811cf&amp;ll=43.121535,10.634079&amp;spn=0.400949,0.411987&amp;z=11&amp;output=embed"></iframe><br /><small><a href="http://maps.google.com/maps/ms?ie=UTF8&amp;hl=pl&amp;msa=0&amp;msid=116762684813621878640.00044674f5420e1d811cf&amp;ll=43.121535,10.634079&amp;spn=0.400949,0.411987&amp;z=11&amp;source=embed" style="color:#0000FF;text-align:left">Wyświetl większą mapę</a></small></html>
Dom ten (z XIX wieku - mam więcej zdjęć apartamentów, bo mi przysłali) znajduje się nieopodal miejscowości Suvereto i najkrótszą drogą na plażę jest stamtąd 15km. Jak zapewniają właściciele (pisarka włoska Carla Maria Russo) z samej posiadłości widać w oddali Morze Tyreńskie. Dom jest w pięknej, bardzo zacisznej okolicy. Do najbliższego sklepu (supermarket) mamy 4km. Co ważne droga do domu jest asfaltowa.

Ostatnio otrzymałem od naszych przyszłych gospodarzy zdjęcia, które umieściłem [[tutaj|Zdjęcia kwatery]]

Agriturismo położone jest w płd-zach części Toskanii zwanej //Colline Metallifere//, na wysokości 216m n.p.m. Jest tam duża siec dróg, a tereny określiłbym jako pagórkowate i mocno pagórkowate (do 600m n.p.m. podjazdy po 3-5km). Oczywiście (i na szczęście) nad samym morzem jest trochę płaskich dróg. Najtrudniejsze trasy są na północ, północny-wschód i wschód (kierunek Voltera, Siena, Roccastrada). Na pewno będę chciał Was namówić by jednego dnia zrobić wypad do Piombino i stamtąd promem na [[Elbę|Wyspa Elba]], gdzie są piękne widoki i trasy nad samym morzem oraz podjazdy (nawet 12km).

Tym razem nie wykorzystamy więc przygotowanego przeze mnie planu tras treningowych (może za rok?…), a na przygotowanie nowego to się póki co nie pisze. Zobaczymy na miejscu. Jeździć na pewno będzie gdzie i super sobie potrenujemy (Leduch i Bokser zacierają ręce bo lubią takie ukształtowanie terenu)!

Informuję też że jedzie nas 23 osoby, tak więc frekwencja dopisała i liczę że będziemy stanowić zgraną kompaniję. Logistykę dojazdu i rozpiskę na pokoje zrobimy 15 lutego w piątek. Plan jest taki by pojechał bus z rowerami + 2 osoby, a reszta osobówkami (po 4 osoby w aucie). Najlepiej ma Maciek, bo wygodnie przyjeżdża samemu i do tego ma blisko.

Apartamenty są 3- lub 4-osobowe (trzy osoby w sypialni + 1 w living room’ie na rozkładanej sofie). W każdym jest aneks kuchenny, z lodówką i wyposażeniem, łazienka i telewizor w livingroom’ie. Jest TV Sat, ale Hubert będzie musiał pomajstrować by znaleźć Eurosport ;) W tym czasie jest parę fajnych wyścigów: 5/4 - Ronde van Vlaanderen; 7-12/4 Vuelta Ciclista al País Casco, 9/4 ~Gent-Wevelgem które na pewno będą transmitowane. Dla zagorzałych kibiców kolejna dobra wiadomość: ~Paris-Roubaix jest w niedzielę 13/4, czyli oglądamy go już w domach po niedzielnych maniakach!

Koszt dla jednej osoby w apartamencie 4-osobowym to 150 Euro/tydzień.

W apartamencie 3-osobowym to 166,67 Euro/tydzień/osoba.

Dodatkowo można zamawiać śniadania (7 Euro/osobę/dzień) lub obiadokolacje (25 Euro/osoba/dzień niestety bez wina w tym koszcie). Jeśli wyżywienie całodzienne (2 posiłki) to 30 Euro/osoba/dzień. To oczywiście jest dobrowolne.

Jedyny dodatkowy koszt to ogrzewanie jeśli będzie potrzebne, ale tu tez ustaliłem tzw „cap” na 50 Euro za apartament/tydzień. Miejmy nadzieję, że nie będziemy musieli używać ogrzewania bo będzie bardzo ładna pogoda (tak jak rok temu) Bądźcie przygotowani na kaucję (100 Euro/apartament), która jeśli nic nie rozpieprzymy będzie zwracana w dniu wyjazdu.

Właściciel są mili i elastyczni. Proszą nas tylko abyśmy dbali o apartamenty, bo będziemy pierwszymi gośćmi po ich remoncie. Mówią po angielsku co jest tzw plusem dodatnim, w komunikacji z nimi. 
<<tiddler [[Zdjęcia kwatery]]>>
! Grenada, Kordowa i Malaga

Sezon się skończył więc w czwórkę (z bratem i z żonami) wybraliśmy się do Andaluzji. Dojazd jest bardzo prosty: z Warszawy, wsiadamy do samolotu [[Norwegian|http://www.norwegian.no/pl]] i po 4 godzinach wysiadamy na lotnisku w Maladze. Tam wynajęliśmy samochód (Seat Altea XL) i zaczęliśmy nasz tydzień w Andaluzji.  Do wynajęcia samochodu polecam stronę [[angielskiego brokera|http://www.yescarhire.com/spain]].  Koszty wynajęcia domków wyniosły &euro;80 na dzień (czyli po &euro;20 na osobę). Standard domków taki jak w Toskanii. Wyposażona kuchnia, łazienki, pościel i ręczniki. 

Ceny są myślę porównywalne z Włochami (może trochę taniej). Wino jest zacne, piwo też mają dobrej jakości. Sklepy są zamknięte w niedziele (tak jak we Włoszech), a w dni powszednie nawet supermarkety otwierają o 9 lub później. Z reguły sklepy są otwarte  co najmniej do 20.00. Poza supermarketami obowiązuje sjesta (sklepy są na nowo otwierane od 16-17).

Na początek trochę historii. Hiszpania, a w szczególności Andaluzja ponad 1000 lat temu dostała się w ręce Arabów. Ich dominacja skończyła się dopiero w 1492 roku, kiedy to ostatni Arabowie opuścili Grenadę. Dlatego Andaluzja wygląda zupełnie inaczej od Toskanii, nie ma tutaj renesansowych perełek, z prostej przyczyny - nie miał kto tego robić. W zamian są perełki architektury arabskiej, których nie zobaczymy w Toskanii.

!! Grenada
Po niecałych dwóch godzinach jazdy z lotniska po znakomitych drogach docieramy do Grenady. Jako lokalizację na najbliższe dni mamy mały domek (ale z basenem) położony tuż za Grenadą. Wieczorem (słońce tutaj zachodzi ponad godzinę później niż w Warszawie) udaliśmy się na pierwszy rekonesans do Grenady  (300 tys. mieszkańców). 

Po pierwsze ciężko wjechać samochodem i trudno zaparkować mimo, że to była niedziela. Dlatego na kolejne dni wybraliśmy opcję poruszania się po mieście autobusami.  Polecam zostawić samochód przy jakimś supermarkecie na obrzeżach i stamtąd autobusem do centrum. Tak też robiliśmy przez kolejne dwa dni.

Grenada leży u podnóża gór Sierra Nevada i sama jest położona na wzgórzach. Centrum miasta to szerokie aleje i kamienice myślę z 18,19 wieku. Ale czym dalej odchodzimy od centrum tym uliczki stają się węższe a miejsca bardziej urokliwe. Jak wspomniałem miasto leży na wzgórzach więc spacerując co chwila są piękne widoki jak nie na samo miasto to na Alhambrę, albo na góry. Szczególnie polecam odwiedzenie dzielnicy Albayzin, a tam obok kościoła Świętego Mikołaja piękny punkt widokowy na miasto i Alhambrę. W centrum miasta do zwiedzenia jest katedra, której to wielkości nie widać z zewnątrz, ponieważ cała jest otoczona budynkami. Trudno się jest więc zorientować o jej wielkości. W środku robi spore wrażenie. Katedrę rozpoczęto w 16 wieku, a kilka miejsc jest szczególnych. Ogromne wrażenie robi kaplica ze szczątkami królów hiszpańskich, znajdujący się tam ołtarz jest przepiękny.  Skarbiec też jest pełen złota. Sama katedra przytłacza swoją wielkością i bogactwem wyposażenia. Zarówno na zwiedzanie katedry jak i kaplicy są osobne bilety po &euro;3.50.

Jednak absolutnym hitem Grenady jest Alhambra (qalat-al-harma (Czerwony zamek)) - pałac sułtanów zbudowany w większości w 13-14 wieku. Bardzo ciężko jest zdobyć bilety na zwiedzanie będąc na miejscu, dlatego należy to robić wcześniej poprzez [[stronę rezerwacji|http://www.servicaixa.com/nav/landings/en/mucho_mas/alhambra/alhambra.html]]. Bilet kosztuje &euro;13.50 i potrzebna jest karta kredytowa. Jest ona również  potrzebna przy odbiorze biletów. Do zwiedzania na miejscu są trzy główne atrakcje:
* Ogrody Generalife
* Pałac Nasrydów
* Ruiny zamku Alcazaba
Bilet jest na te trzy atrakcje razem, a godzina wydrukowana na bilecie dotyczy wejścia do pałacu Nasrydów tam trzeba być na czas! Inne części można zwiedzić przed lub po wizycie w pałacu, nie obowiązuje tutaj godzina wejścia. Na całe zwiedzanie należy zarezerwować minimum 3-4 godziny. 

Alhambra robi ogromne wrażenie, w szczególności pałac Nasrydów to prawdziwa perełka - czegoś takiego jeszcze nie widziałem. Zwracam uwagę, że to wszystko zostało zbudowane 800 lat temu. To jest po prostu must jak ktoś się wybiera do tej części Hiszpanii.

!! Kordowa
Z Grenady po dwóch godzinach jazdy autostradą dociera się do Kordowy (również 300 tys. mieszkańców). Polecam zaparkowanie samochodu koło stadionu piłkarskiego lub w centrum handlowym na obrzeżach miasta. Stamtąd w kilkanaście minut dochodzi się do centrum miasta. 

Główna atrakcja miasta to meczetokościół - Mezquita. Arabowie wybudowali tutaj ogromny meczet. Po wejściu do meczetokościoła (bilety po &euro;8) jest ciemno i od razu rzucają się w oczy równo stojące muzułmańskie kolumny. Widać szeregi tych kolumn w prawo i w lewo, ale przez środek (po przekątnej coś stoi).  Na ścianach bocznych widać kaplice. Meczetokościół jest ogromny, nie zmierzyłem ile to ma kroków wzdłuż i wszerz. Ale na pewno największy kościół w Polsce (bazylika mariacka w Gdańsku na pewno by się zmieściła). Powoli zbliżam się do środka meczetokościoła i nagle wchodzę do strzelistej katedry. Chrześcijanie po wyparciu Arabów postanowili zburzyć centralną część meczetu i w tym miejscu wybudowali kościół. Jak zobaczył to król hiszpański Karol V to powiedział do architektów: zburzyliście przepiękną architekturę, a w zamian nic ciekawego nie zrobiliście i zabronił dalszego poszerzania kościoła. Na szczęście! Kombinacja jest bardzo dziwna i dla mnie było widać jak bardzo brakowało chrześcijańskim architektom umiejętności aby dorównać swoim arabskim kolegom.

Sama Kordowa była dużym skupiskiem Żydów, którzy musieli opuścić Hiszpanię wyrzuceni przez jednego z królów (stąd żydzi sefardyjscy). Wokół meczetokościoła dużo wąskich uliczek z ładnymi kamienicami zajmowanymi właśnie kiedyś przez Żydów. W październiku było tam trudno przejść więc trudno sobie wyobrazić jak to może wyglądać w lecie przy inwazji turystów.

Z powrotem do Grenady wróciliśmy przez interior. Piękna, ale dłuższa droga. Z autostrady trudno zobaczyć jak wyglądają małe miasteczka.

!! Sierra Nevada
Jak wspomniałem Grenada leży u podnóża gór, a są to wysokie góry. Najwyższe szczyty dochodzą do 3.500 metrów. Główny ośrodek narciarski znajduje się na 2.200 metrach, ale inne części są jeszcze wyżej. Niestety na górze nie ma żadnych drzew, więc jak wieje to zakładam, że nie ma jazdy, bo zamykają kolejki linowe. Oczywiście kolejek pod dostatkiem. Wywożą one powyżej 3.000 metrów. W październiku na tych 2.200 metrach było 15 stopni ciepła. A więc tak jak u nas w Tatrach w lecie. 

Ciekawostkę widziałem jak wjeżdżałem na górę. Stoi wielkie ogłoszenie o wypożyczaniu łańcuchów śnieżnych. Nic dziwnego, przecież tam nikt nie używa zimowych opon i aby wjechać w zimie to trzeba założyć łańcuchy.

!! Malaga (morze)
Końcówkę naszego wyjazdu spędziliśmy na Costa Tropica. Są to plaże na północ od Malagi (20 km). Na południe ciągnie się słynne Costa del Sol. Cóż powiedzieć, piękne słońce (temperatura 30 stopni), ciepłe morze (jak dla nas). Oczywiście mało ludzi, tylko w sobotę trochę więcej się pojawiło osób. Do najbliższego plażowicza mieliśmy 20 metrów :) Nie widziałem żadnych hoteli, tylko apartamenty, takie w jakich mieszkaliśmy. Sama Malaga bardzo fajne miasto (600 tys. mieszkańców). Tętniące życiem do późnych godzin nocnych. Piękna nadmorska promenada, ciekawe centrum. Malaga to miejsce urodzenia Picasso, ale czasu na zwiedzenie jego muzeum nie wystarczyło.

!! Kolarstwo
Oczywiście choroba zawodowa powodowała zainteresowanie każdym osobnikiem poruszającym się na dwóch kółkach. W drodze do Sierra Nevada spotkałem dwóch kolarzy. No trudno się temu dziwić. Podjazd z Grenady ma 24 kilometry i wjeżdża się z 800 na 2200, w tym kawałki po 10%.. Czytałem, że można wjechać wyżej (chyba nawet wiem jak), ale tak wysoko samochodem nie wjechaliśmy. Podjazd dla poważnie zakręconych - czyli coś dla nas :) 

Zupełnie inna sytuacja była na drodze przez interior z Grenady w kierunku Malagi. Tam wzdłuż tablice informujące o dużej ilości kolarzy. Rzeczywiście małe grupki spotkałem. Teren bardziej ludzki. Podjazdy kilkukilometrowe o umiarkowanym nachyleniu - przeważnie 5-6%. Najdłuższy jaki zmierzyłem miał 6 kilometrów. To na co trzeba zwrócić uwagę to progi zwalniające przed każdą miejscowością. Przy dużej prędkości na zjeździe gleba gwarantowana! Poza tym nawierzchnia dróg bardzo dobra. 

Po ciągłych góra-dół w drodze na wybrzeże, po osiągnięciu wysokości 1250m zaczął się zjazd w dół na wybrzeże i tutaj również bez ekstremalnych kawałków.

Na wybrzeżu gdzie mieszkałem ciągnie się od Malagi w kierunku Almeria nadmorska promenada. Na niej sporo kolarzy, szczególnie w sobotę. Zakładam, że to sami miejscowi, bo w październiku trudno o kolarzy z importu. W głąb interioru znajdują się oczywiście podjazdy. Tuż koło miejsca gdzie mieszkałem jest np [[taka góreczka|http://www.salite.ch/moclinejo.asp]]. Akurat coś dla nas.

BTW poważnie myślę o przedobozie w Maladze pod koniec lutego, nasza gospodyni mówiła, że wtedy pogoda jest już ok (temperatury powyżej 20 stopni).

!! Fotografie
Na zakończenie [[zdjęcia z wyjazdu (slideshow)|http://picasaweb.google.pl/andrzej.kulik/AndaluzjaSmall#slideshow]].
* E-mail: andrzej (kropka) kulik (małpa) gmail (kropka) com
* GG: 3935159
* Skype: andrzejkulik
* Komórka: 510029515
! Baza 2011
Naszą bazą będzie willa Daino w Sassi di Molazzana położona w Alpach Apuańskich. W zasadzie koniec świata wydaje się, że bardzo podobne miejsce jak w 2010, tyle, że bliżej będzie do knajp, co tylko może oznaczać, że tym razem na jedzeniu i piciu trudno będzie zaoszczędzić :). Podstawowe informacje:
* Willa ma cztery sypialnie. Dwie sypialnie są z łóżkami podwójnymi, a dwie z pojedynczymi. W sypialniach z podwójnymi łóżkami można ewentualnie dostawić jeszcze dodatkowe łóżka.
* W willi są dwa prysznice i jedna łazienka z wanną, w której oczywiście też można wziąć prysznic.
* Dojazd do willi jest komfortowy, gdyż tylko ostatnie 80 metrów jest po drodze szutrowej. Da się przeżyć :) 
* Z Lukki z autostrady A11 do willi jest 45 km.
* Pod domem mogą zaparkować trzy samochody, a więc akurat.
* Jest telewizja satelitarna, nie będzie problemu z zobaczeniem ~Paris-Roubaix (w zeszłym roku też ten wyścig oglądaliśmy w Toskanii). 
* Co do ogrzewania to wszystko zależy od pogody. W zeszłym roku np. padał tam śnieg przez dwa dni w maju. Normalnie nie jest to potrzebne.
* Czterysta metrów od willi jest trattoria z domowym jedzeniem i przystępnymi cenami. Oczywiście w pobliżu są też inne restauracje, no ale tam już tak szybko dojść się nie da.
* Koszty to 110 &euro; na osobę do czego dojść mogą koszty ogrzewania.
* Mapka z zaznaczoną willą.
<html><iframe width="700" height="550" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="http://maps.google.pl/maps/ms?ie=UTF8&amp;hl=pl&amp;msa=0&amp;msid=204417987323207357500.000495b3dc6dc35ca579f&amp;ll=43.970087,10.504303&amp;spn=0.543598,0.95993&amp;z=10&amp;output=embed"></iframe><br /><small>Pokaż <a href="http://maps.google.pl/maps/ms?ie=UTF8&amp;hl=pl&amp;msa=0&amp;msid=204417987323207357500.000495b3dc6dc35ca579f&amp;ll=43.970087,10.504303&amp;spn=0.543598,0.95993&amp;z=10&amp;source=embed" style="color:#0000FF;text-align:left">baza2011</a> na większej mapie</small></html>
! Baza w 2007
W 2007 roku mieszkaliśmy w willi La Casupola w Mutigliano koło Lucci. Dokładny adres: Via Villa Fontana 1071. Właściciele: Richard & Suzy Gladstone tel: +39 583 353 143, e-mail: richard.gladstone@tiscali.it. Willa mieści 10 osób. Ma 5 sypialni, 3 łazienki z prysznicami, dużą kuchnię. W ogrodzie jest basen. Położenie willi jest bardzo dobre, blisko do Lucci, nad morze oraz do gór.
<html><iframe width="600" height="600" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="http://maps.google.com/maps/ms?ie=UTF8&amp;hl=pl&amp;s=AARTsJrbQhPkrjhchtMjTRWPYqNZsdTfcg&amp;msa=0&amp;msid=116762684813621878640.0004587c7a3dd04c5c0af&amp;ll=43.862134,10.508595&amp;spn=0.074262,0.102997&amp;z=13&amp;output=embed"></iframe><br /><small><a href="http://maps.google.com/maps/ms?ie=UTF8&amp;hl=pl&amp;msa=0&amp;msid=116762684813621878640.0004587c7a3dd04c5c0af&amp;ll=43.862134,10.508595&amp;spn=0.074262,0.102997&amp;z=13&amp;source=embed" style="color:#0000FF;text-align:left">Wyświetl większą mapę</a></small> </html>
Droga przebiegająca koło willi leży na trasie podjazdu [[Piccolo Mortirolo|http://www.salite.ch/7979.asp]] (3.18 km, średnie nachylenie 7.8%)
* [[Mapka z bazami]]
* [[Montagnola Senese]]
* [[Verde Incanto - Monte San Savino]]
* [[SANT'ANGELO COUNTRY RELAIS]]
* [[Il Testimonio]]
* [[Villa del Duca]]
* [[Villa Serre]]
Bardzo ciężka trasa - dwie alpejskie przełęcze
* [[Passo della Calla (16km, 5.3%)|http://www.salite.ch/calla1.asp]]
* [[Passo dei Mandrioli (12 km, 5.6%)|http://www.salite.ch/mandrioli.asp]]
a do tego jeszcze sztajchy na drodze łączącej podnóża dwóch przełęczy (Santa Sofia - Bagno di Romagna).
* [[Link do pliku, który można wczytać do Google Earth|http://www.humyo.com/F/8562209-409764551]]
<html><iframe width="600" height="600" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="http://maps.google.com/maps/ms?ie=UTF8&amp;hl=pl&amp;s=AARTsJqP5L3nQF4J0-XIR7NdAoDiXVxBNg&amp;msa=0&amp;msid=116762684813621878640.000464ddbdee5212c22ff&amp;ll=43.825115,11.839142&amp;spn=0.297231,0.411987&amp;z=11&amp;output=embed"></iframe><br /><small><a href="http://maps.google.com/maps/ms?ie=UTF8&amp;hl=pl&amp;msa=0&amp;msid=116762684813621878640.000464ddbdee5212c22ff&amp;ll=43.825115,11.839142&amp;spn=0.297231,0.411987&amp;z=11&amp;source=embed" style="color:#0000FF;text-align:left">Wyświetl większą mapę</a></small></html>
! Obóz w Calpe marzec 2018 z Leduchem

17.03-27.03.2018

*10 noclegów
* Przewóz rowerów i bagażu samochodem
* Transfer z i na lotnisko w Alicante
* Wylot i powrót lotnisko w Modlinie
* Bilety lotnicze należy kupić samemu

#Składka 1650 PLN ( bez transportu roweru 1450 PLN).
#Na wyjeździe preferowane człapanie po górkach (istnieje możliwość szybszego jeżdżenia dla chętnych), degustacja win hiszpańskich. Po wyjeździe gwarantowana "forma".

Zapraszam 

!!!Kupno biletów Ryanair

Pewnie się zastanawiacie, czy już kupić bilet, czy może poczekać. Jest bardzo fajna strona http://www.airhint.com/ (po angielsku), na której można sprawdzić, czy warto już kupować, czy może czekać. Poza tym jak każda linia lotnicza Ryanair zmienia swoje ceny w zależności od dnia tygodnia. Z badań wynika, że najlepszym dniem do kupowania biletów Ryanair jest czwartek. Inna obserwacja jest taka, że w zasadzie od 30 dni do odlotu ceny systematycznie rosną. No ale jeśli ktoś jest zainteresowany tematyką polecam artykuły na stronie. Usługa Google Translate  dostępna w większości przeglądarek (na pewno w Chrome) dobrze tłumaczy zawartość na polski, jeśli ktoś z was ma kłopoty językowe.
[[Villa Caterina|http://www.villacaterina.net/]] znajduje się w Pratovecchio. Jest to około 30 km w linii prostej od autostrady A1 zaraz za Florencją. Wokół góry! Pratovecchio jest na wysokości 400 m npm, a wokół przełęcze po 1000 m npm. Czyli podjazdy po kilka, kilkanaście kilometrów. Dla mnie bajka. Oto odpowiedzi na set standardowych pytań.
#Is the road to Villa paved? Yes, until he villa is asphalt
#How far it is from the center of Pratovecchio? How long you have to drive to A1 highway? The villa is 5 km from the center of pratovecchio and it is about 50 km/1 hour from A1 hightway (exit Firenze Sud)
#How many bedrooms are there and how many double and single beds? There are 6 bedroom: 4 with double bed and 2 bedroom with 2 singled bed. In total 12 beds.
#How many bathrooms/showers are there in total? There are 2 bathroom with shower and 2 bathroom with bathtub
#Is there a TV SAT (namely Eurosport channel) in the house? yes
#What about a parking lot? How many cars it can adopt? about 4/5 cars
#Is heating needed at this time of the year? Yes, probably. The cost of heating is 4 euro / cube meter
#Is there any particular trattoria or restaurant nearby that you can recommend? Yes, there is da Paola restaurant in lonnano (5 minutes walking) It is a very good trattoria. Her specialties are the tortelli and ravioli
#What is the price if we decide to rent the whole houes for a week? 1 week in april cost 1200,00 euro (excluding the cost of heating). The price includes the rental of the villa, the exclusive use of the pool, sheets and towels.
#Are there any additional elements that could encourage us to come and -  In the villa there are also 4 mountain bikes for customers and connecting internet wi-fi free.If you like cycling there are many nice roads without traffic. If you like in particular the mountain bike you could go in the national park forest casentinesi in the midst of nature.
!Pytania dodatkowe
#What is the location of your villa? I am interested whether it is in the valley or in the slope of the valley? If the location is above the valley, please let me know how long is the climb in kilometers and whether it is steep or not. From my perspective it would be good to have easy last kilometers. You mentioned below Lonnano so I can assume that it is on the slope  :)  So your hint about the gradient would be appreciated.
##The villa is in the slope and the climb is 4 km.
#What would be the approximate price of our stay assuming heating (for April), cleaning, use of sheets and towels (thus gross price which we will have to pay when leaving)? 
##Our rental price includes bed and toilet linen, so you don't pay extra for that. The price for 1 week in April will be 1.200,00 euro 
*[[Wyniki jesiennych mistrzostw (2010)|Jesien2010]]
* [[Zdjęcia z Tour de Polonge 2008 by Oskar Kulik|http://picasaweb.google.pl/andrzej.kulik/TDP2008]]
* [[Najszybsze wspinaczki w TdF]]
* [[Nowy Jork]]
* [[Egzaminator]]
* [[Cota de Witteveen]]
* [[Andaluzja 2009]]
* [[Pozdrowienia dla Leduszka]]
! Tajemnica  Cota de Witteveen

//Niedługo rozpoczyna się Vuelta, tym razem startuje z Holandii, przetłumaczyłem to specjalnie z holenderskiego portalu Wielerland.nl//

Na drugim etapie  Vuelta Espana, który odbędzie się 30 sierpnia i będzie prowadził z Assen do Emmen, kolarze będą walczyć o  koszulkę najlepszego górala.  Według oficjalnej strony Vuelta, kolarze po 85 km powinni zdobyć Cota de Witteveen i pierwsze punkty w kategorii górskiej. Według opisu ta góra ma 30 metrów wysokości i została sklasyfikowana jako góra czwartej kategorii. Portal Wielerland.nl udał się tam celem zbadania tej góry znajdującej się w prowincji Drenthe.

Witteveen leży sześć km na południowy-wschód od miejscowości Westerbork (//jest tam muzeum związane z wywózkami holenderskich Żydów do Oświęcimia, ciekawie zrobione//) i liczy  tylko pięciuset mieszkańców. Patrzę we wszystkie kierunki i wokół tylko płaskie krajobrazy oddzielane kawałkami lasu i małymi jeziorkami.  Dobra panorama wokół miasta nie wskazuje na to, aby w okolicy było 30m wzgórze. Jeżdżę w kółko, ale nic takiego nie mogę znaleźć. Jedyne pagórki, które znalazłem to dwa progi zwalniające, które znajdują się w miasteczku. (//Rzeczywiście jest tam płasko nieskończenie. Kiedyś jak biegałem na orientację to była tam mapa prawie bez żadnej poziomicy, jedyne wzniesienia to były mrowiska. Niemniej jednak stamtąd pochodzi wielu dobrych kolarzy, jeden z nich to Erik Dekker.//)

W oddali wiedzę kolarza zmagającego się z wiatrem. Postanowiłem podjechać do niego. Ktoś z okolicy może mi powie gdzie jest Cota de Witteveen. Zdezorientowany kolarz odpowiada "Tu ma żadnych pagórków rozejrzyj się dookoła siebie" Kiedy wspomniałem o Vuelcie powiedział, że może chodzi o wysypisko śmieci, ono może mieć 30m. Dziękuje za informacje i kontynuuję moje poszukiwania. 

A więc wysypisko śmieci, studiuję mapę drugiego etapu Vuelty i wychodzi, że będzie on przebiegał niedaleko. 

Postanawiam odwiedzić jedyną knajpę we wsi. Oczywiście moje pytanie o górę wywołuje salwy śmiechu. Nikt nie traktuje mnie poważnie. Moje uwagi co do wysypiska śmieci są wykpione. Nie pozostaje nic innego jak wrócić do domu. 

W końcu dostaliśmy zaproszenie na podpisanie umowy w sprawie przebiegu Vuelty.  Bez wątpienia będzie można zadać pytanie organizatorom. 

Wyposażony w mapę i komputer wyruszyłem do Hoogeveen z jednym celem, rozwiązywaniem tajemnicy  Cota de Witteveen. Po oficjalnej ceremonii podpisania umowy Vuelty szukam kogoś, kto mógłby mi powiedzieć więcej na temat trasy. Po kilku pytaniach trafiam do  Hermana Strijbosch. Ten  62-letni były kolarz organizuje wiele imprez kolarskich zarówno lokalnych jak i krajowych.  Strijbos wyjaśnia, że Cota de Witteveen nie istnieje.  Cota de Witteveen jest fikcyjną górą, została pomyślana jako uhonorowanie zmarłego 29 września 2008 Relusa Ter Beeka, Komisarza Królowej w Drenthe (//odpowiednik wojeowdy, jednak w odróżnieniu od Polski nie są oni wymieniani przy każdej zmianie rządu//). Dzięki jego zaangażowaniu na 99% Vuelta trafiła do Drenthe. Ponieważ Ter Beek został pochowany w Witteveen, na płaskim odcinku drogi zostanie narysowana kreska, która będzie symboliczną górską premią.  Tam zostaną rozdane pierwsze punkty w klasyfikacji górskiej.  

W ten sposób została rozwiązana  tajemnica Cota de  Witteveen. Nie jest to 30 metrowa góra, ale hołd dla człowieka, który na 100% zaangażował się w organizację Vuelta Espana w Drenthe.

//Kiedy my się doczekamy czegoś takiego?//
{{{
// Specify your account number here!
_uacct = "UA-4606026-1";

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

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

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

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

// Call once for the initial page load
CustomTracker.track();
}}}
<<tiddler [[Wyścig]]>>
Królewski etap z ekstremalnym podjazdem pod [[San Pellegrino in Alpe|http://www.salite.ch/san15.asp]]. Bez 27 nie ma co zaczynać, no chyba, że ktoś i tak ma buty do podzelowania. Pod koniec są kawałki po 18%, pod koniec czyli po 10 km sztywnego podjazdu.  Jest to ulubione miejsce treningów Sylwka Szmyda i Leo Piepoliego. Zresztą spotkaliśmy ich tam podczas treningu.
<html><iframe width="425" height="800" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="http://maps.google.com/maps/ms?ie=UTF8&amp;hl=pl&amp;s=AARTsJqNTAweWfZrSk9XDm_5nsRcgmlmTg&amp;msa=0&amp;msid=116762684813621878640.00045f1df337c6ec70379&amp;ll=44.032321,10.511169&amp;spn=0.39493,0.291824&amp;z=11&amp;output=embed"></iframe><br /><small><a href="http://maps.google.com/maps/ms?ie=UTF8&amp;hl=pl&amp;msa=0&amp;msid=116762684813621878640.00045f1df337c6ec70379&amp;ll=44.032321,10.511169&amp;spn=0.39493,0.291824&amp;z=11&amp;source=embed" style="color:#0000FF;text-align:left">Wyświetl większą mapę</a></small></html>
Wspólne zdjęcie na San Pellegrino
<html><a href="http://picasaweb.google.com/lh/photo/Bjgb6OdQ4NOMGu8hynRrRw?feat=embedwebsite"><img src="http://lh4.ggpht.com/_so9oJiT6bRk/SVetWbeLquI/AAAAAAAAA9g/dqiC6kBN8ds/s800/100_0175.jpg" /></a></html>

[[Wstęp]]
! Kwota do zapłaty na miejscu
|1| Dariusz	Leduchowski|115|
|2|	Sławomir	Rubin	|90|
|3|	Sebastian	Rubin	|115|
|4|	Witold	Krajewski	|15|
|5|	Brukarz	|190|
|6|	Jerzy	Bylicki	|115|
|7|	Wojciech	Kowalski|90|
|8|	Andrzej	Kulik	|115|
|9|	Grzegorz	Wójcicki|115|
|10|	Maciej	Greger	|115|
|11|	Marcin	Niewola	|115|
|12|	Leszek	Makowski|115|
|13|	Krzysztof	Gernand	|115|
|14|	Grzegorz	Zimoń	|115|
|15|	Ryszard	Mamos|30|
|16|	Robert	Rosiak|115|
|17|	Radosław	Staroń|90|
|>|''RAZEM''|1770|
Zostało po opłaceniu zaliczki oraz kosztów Gran Fondo 775, czyli razem 2545

Do zapłaty na miejscu 2480 - 65 euro zostaje na fundusz reprezentacyjny  lub do zwrotu po 4 euro
<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 macro='hideWhen ((tiddler.tags.contains("Contacts"))||(tiddler.title=="New Contact"))'>[[EditToolbar]]<div class='editor' macro='edit text'></div></div>
<div macro='showWhen ((tiddler.tags.contains("Contacts"))||(tiddler.title=="New Contact"))'><div class='editor'>
<table width='100%'>
<tr><th>Name</th><td><span macro='edit ContactFirstName'></span><span macro='edit ContactLastName'></span></td><td rowspan='4' width='50%' macro='edit text'></td></tr>
<tr><th>Adress</th><td><span macro='edit ContactStreetNumber'></span><span macro='edit ContactStreetName'></span><span macro='edit ContactZipCode'></span><span macro='edit ContactCity'></span></td></tr>
<tr><th>Phone</th><td><span macro='edit ContactPhone'></span></td></tr>
<tr><th>Email</th><td><span macro='edit ContactMail'><span></td></tr>
</table>
</div></div>
<div macro='toolbar Format Greek Hebrew Indent Notes Color Highlighting Tables'></div>
! Grader #314
<html><img src="http://img10.imageshack.us/img10/1365/314ncp.jpg"></html>
Pomiędzy niedzielą 28 czerwca, a piątkiem 3 lipca uczestniczyłem w corocznym sprawdzaniu egzaminów [[CFA|http://www.cfainstitute.org]]. Egzaminy CFA (Chartered Financial Analyst) są bez wątpienia zarówno najbardziej prestiżowymi  jak i najbardziej popularnymi egzaminami w świecie finansów. W tym roku do egzaminu przystąpiło [[prawie 130 tysięcy osób na całym świecie|http://www.cfainstitute.org/aboutus/press/release/09releases/20090512_01.html]].  Aby zdobyć tytuł CFA należy zdać egzamin składający się z trzech poziomów, a każdy z nich można zdawać tylko raz w roku. Dodam, że każdy egzamin trwa 6 godzin (2*3h). Zdecydowana większość pytań jest sprawdzana maszynowo, ale na ostatnim trzecim egzaminie kandydaci muszą odpowiadać na pytania otwarte. 

Książki z odpowiedziami kandydatów na otwarte pytania trafiają do Charlottesville w stanie Wirginia, gdzie zjeżdża z całego świata wyselekcjonowane grono egzaminatorów. Każdy z nich posiada oczywiście tytuł CFA i dodatkowo jest albo praktykiem pracującym w instytucjach finansowych albo profesorem wykładającym finanse. W tym roku ponad 400 osób sprawdzało prawie 20,000 egzaminów. Z Polski był jeszcze tylko jeden kolega, natomiast z grupy Commerzbanku był kolega z Frankfurtu (nota bene Kanadyjczyk). 

Każdy egzaminator pracuje w zespole, który sprawdza jedno pytanie egzaminu. Tak też było i w moim przypadku. Trafiłem do kilkunastoosobowej grupy składającej się w większości z Amerykanów, ale był w niej również Kanadyjczyk oraz Filipińczyk. Pracami każdego zespołu kieruje kapitan (captain), który jest bardzo doświadczonym egzaminatorem. Jest on wspomagany przez starszych egzaminatorów (senior graders), których w moim zespole było pięciu. 

Wszyscy egzaminatorzy otrzymują po przeprowadzeniu egzaminu treść pytania, które będą sprawdzać wraz z sugerowanym kluczem odpowiedzi. Treść klucza odpowiedzi jest dyskutowana najpierw poprzez wymianę mejli, a później już na miejscu sprawdzane są losowo wybrane odpowiedzi kandydatów. Celem tego ćwiczenia jest ustalenie końcowego klucza, ponieważ głównym celem sprawdzania jest spójność ocen. Pierwszy dzień upływa właśnie na ustaleniu końcowego klucza odpowiedzi. Czasami zajmuje to nawet dłużej niż jeden dzień.

Po ustaleniu klucza egzaminatorzy przystępują do sprawdzania prac. Codziennie sprawdzone prace są dodatkowo losowo kontrolowane przez kapitana zespołu. Podczas sprawdzania normalną rzeczą są dyskusje ze starszymi egzaminatorami lub z kapitanem jeśli nie jesteśmy pewni jak należy pytanie ocenić. Po każdym dniu kapitan dostaje szczegółowe zestawienie ze średnią oceną wystawioną przez każdego egzaminatora w zespole oraz informację o jego odchyleniu standardowym od średniej. Znowuż celem tych zestawień jest spójność ocen. Na bieżąco (co godzinę) monitorowane jest tempo prac poszczególnych zespołów. W przypadku zbyt wolnego postępu prac, egzaminatorzy z najszybszych zespołów są delegowani do pracy w zespołach najwolniejszych. Cel jest oczywiście jasny, wszyscy muszą zakończyć sprawdzanie prac w terminie. Prace sprawdzane są w tzw. stack czyli w pakietach po dwadzieścia egzaminów. Wyniki każdego egzaminatora są na bieżąco przepisywane do systemu komputerowego, a następnie przekazywane do centralnego magazynu, z którego każdy egzaminator pobiera egzaminy do sprawdzenia. 

Mój zespół zakończył sprawdzanie ostatniego dnia rano, a więc zdążyliśmy przed czasem. W tym czasie sprawdziłem 1250 prac, co jak na rookie myślę nie jest złym wynikiem. Jednak skończenie prac przez zespoły wcale nie oznacza końca procesu. Na podstawie odpowiedzi kapitanowie ustalają minimalną ocenę jaką należy uzyskać aby zaliczyć pytanie. Wszystkie te propozycje składają się na minimalny poziom punktów, który umożliwia zdanie egzaminu. Po ustaleniu tej oceny wszystkie bardzo dobre i bardzo słabe prace są odrzucane, natomiast pozostałe sprawdzane są raz jeszcze w kolejnym tygodniu. Cały ten proces służy spójności ocen. Po dwukrotnym sprawdzeniu prac ustalana jest końcowa lista osób które zdały bądź też nie zdały egzaminu.

Dla mnie praca egzaminatora była ogromną przyjemnością, gdyż oprócz samego sprawdzania miałem możliwość poznania wspaniałych ludzi z całego świata. Piszę to bez zadęcia, ponieważ każdy doświadczony czy też nie, znany czy też nie, odnosił się z pełnym szacunkiem dla profesjonalizmu swojego kolegi. Charlottesville i jego okolice są urokliwe. Miasto położone u stóp Appalachów (45 min jazdy samochodem), bardzo przypominało mi północną Karolinę, gdzie miałem okazję mieszkać i pracować kilkanaście lat temu. Głównym pracodawcą w mieście jest University of Virginia zaprojektowany przez prezydenta Thomasa Jeffersona (twórca Deklaracji Niepodległości), który zresztą mieszkał niedaleko przez całe życie .

Galeria zdjęć jest [[tutaj|http://picasaweb.google.com/andrzej.kulik/Cville2009#slideshow/5360142545044510546]]
/***
|Name|ExportTiddlersPlugin|
|Source|http://www.TiddlyTools.com/#ExportTiddlersPlugin|
|Documentation|http://www.TiddlyTools.com/#ExportTiddlersPluginInfo|
|Version|2.8.5|
|Author|Eric Shulman - ELS Design Studios|
|License|http://www.TiddlyTools.com/#LegalStatements <br>and [[Creative Commons Attribution-ShareAlike 2.5 License|http://creativecommons.org/licenses/by-sa/2.5/]]|
|~CoreVersion|2.1|
|Type|plugin|
|Requires||
|Overrides||
|Description|select and extract tiddlers from your ~TiddlyWiki documents and save them to a separate file|
This plugin provides a control panel to select/export tiddlers to another TiddlyWiki document.  You can also save just the selected tiddlers as a TiddlyWiki '~PureStore' file (much smaller files!), or create plain-text output for manual copy/paste into other applications or XML files that can be used to publish an ~RSS news feed.
!!!!!Documentation
>see [[ExportTiddlersPluginInfo]]
!!!!!Inline control panel (live):
><<exportTiddlers inline>>
!!!!!Revisions
<<<
2009.02.26 [2.8.5] use macro-specific definition of $() function abbreviation (avoids conflict with JQuery)
|please see [[ExportTiddlersPluginInfo]] for additional revision details|
2005.10.09 [0.0.0] development started
<<<
!!!!!Code
***/
//{{{
// version
version.extensions.ExportTiddlersPlugin= {major: 2, minor: 8, revision: 5, date: new Date(2009,2,26)};

// default shadow definition
config.shadowTiddlers.ExportTiddlers='<<exportTiddlers inline>>';

// add 'export' backstage task (following built-in import task)
if (config.tasks) { // TW2.2 or above
	config.tasks.exportTask = {
		text:'export',
		tooltip:'Export selected tiddlers to another file',
		content:'<<exportTiddlers inline>>'
	}
	config.backstageTasks.splice(config.backstageTasks.indexOf('importTask')+1,0,'exportTask');
}

config.macros.exportTiddlers = {
	$: function(id) { return document.getElementById(id); }, // abbreviation
	label: 'export tiddlers',
	prompt: 'Copy selected tiddlers to an export document',
	okmsg: '%0 tiddlers written to %1',
	failmsg: 'An error occurred while creating %1',
	mergeprompt: '%0\nalready contains tiddler definitions.\n'
		+'\nPress OK to add new/revised tiddlers to current file contents.'
		+'\nPress Cancel to completely replace file contents',
	mergestatus: 'Merged %0 new/revised tiddlers with %1 previously saved tiddlers',
	statusmsg: '%0 tiddler%1 - %2 selected for export',
	newdefault: 'export.html',
	datetimefmt: '0MM/0DD/YYYY 0hh:0mm:0ss',  // for 'filter date/time' edit fields
	type_TW: 'tw', type_PS: 'ps', type_TX: 'tx', type_NF: 'nf', // file type tokens
	type_map: { // map filetype param alternatives/abbreviations to token values
		tiddlywiki:'tw', tw:'tw', wiki: 'tw',
		purestore: 'ps', ps:'ps', store:'ps',
		plaintext: 'tx', tx:'tx', text: 'tx',
		newsfeed:  'nf', nf:'nf', xml:  'nf', rss:'nf'
	},
	handler: function(place,macroName,params) {
		if (params[0]!='inline')
			{ createTiddlyButton(place,this.label,this.prompt,this.togglePanel); return; }
		var panel=this.createPanel(place);
		panel.style.position='static';
		panel.style.display='block';
	},
	createPanel: function(place) {
		var panel=this.$('exportPanel');
		if (panel) { panel.parentNode.removeChild(panel); }
		setStylesheet(this.css,'exportTiddlers');
		panel=createTiddlyElement(place,'span','exportPanel',null,null)
		panel.innerHTML=this.html;
		this.initFilter();
		this.refreshList(0);
		var fn=this.$('exportFilename');
		if (window.location.protocol=='file:' && !fn.value.length) {
			// get new target path/filename
			var newPath=getLocalPath(window.location.href);
			var slashpos=newPath.lastIndexOf('/'); if (slashpos==-1) slashpos=newPath.lastIndexOf('\\'); 
			if (slashpos!=-1) newPath=newPath.substr(0,slashpos+1); // trim filename
			fn.value=newPath+this.newdefault;
		}
		return panel;
	},
	togglePanel: function(e) { var e=e||window.event;
		var cme=config.macros.exportTiddlers; // abbrev
		var parent=resolveTarget(e).parentNode;
		var panel=cme.$('exportPanel');
		if (panel==undefined || panel.parentNode!=parent)
			panel=cme.createPanel(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' ;
		if (panel.style.display!='none') { // update list and set focus when panel is made visible
			cme.refreshList(0);
			cme.$('exportFilename').focus(); 
			cme.$('exportFilename').select();
		}
		e.cancelBubble = true; if (e.stopPropagation) e.stopPropagation(); return(false);
	},
	css: '\
		#exportPanel {\
			display: none; position:absolute; z-index:12; width:35em; right:105%; top:6em;\
			background-color: #eee; color:#000; font-size: 8pt; line-height:110%;\
			border:1px solid black; border-bottom-width: 3px; border-right-width: 3px;\
			padding: 0.5em; margin:0em; -moz-border-radius:1em;-webkit-border-radius:1em;\
		}\
		#exportPanel a, #exportPanel td a { color:#009; display:inline; margin:0px; padding:1px; }\
		#exportPanel table { \
			width:100%; border:0px; padding:0px; margin:0px;\
			font-size:8pt; line-height:110%; background:transparent;\
		}\
		#exportPanel tr { border:0px;padding:0px;margin:0px; background:transparent; }\
		#exportPanel td { color:#000; border:0px;padding:0px;margin:0px; background:transparent; }\
		#exportPanel select { width:98%;margin:0px;font-size:8pt;line-height:110%;}\
		#exportPanel input  { width:98%;padding:0px;margin:0px;font-size:8pt;line-height:110%; }\
		#exportPanel textarea  { width:98%;padding:0px;margin:0px;overflow:auto;font-size:8pt; }\
		#exportPanel .box { \
			border:1px solid black; padding:3px; margin-bottom:5px; \
			background:#f8f8f8; -moz-border-radius:5px;-webkit-border-radius:5px; }\
		#exportPanel .topline { border-top:2px solid black; padding-top:3px; margin-bottom:5px; }\
		#exportPanel .rad { width:auto;border:0 }\
		#exportPanel .chk { width:auto;border:0 }\
		#exportPanel .btn { width:auto; }\
		#exportPanel .btn1 { width:98%; }\
		#exportPanel .btn2 { width:48%; }\
		#exportPanel .btn3 { width:32%; }\
		#exportPanel .btn4 { width:24%; }\
		#exportPanel .btn5 { width:19%; }\
	',
	html: '\
		<!-- target path/file  -->\
		<div>\
		export to path/filename:<br>\
		<input type="text" id="exportFilename" size=40 style="width:93%"><input \
			type="button" id="exportBrowse" value="..." title="select or enter a local folder/file..." style="width:5%" \
			onclick="var fn=config.macros.exportTiddlers.askForFilename(this); if (fn.length) this.previousSibling.value=fn; ">\
		</div>\
		<!-- output format -->\
		<div>\
		output file format:\
		<select id="exportFormat" size=1>\
			<option value="TW">TiddlyWiki HTML document (includes core code)</option>\
			<option value="PS">TiddlyWiki "PureStore" HTML file (tiddler data only)</option>\
			<option value="TX">TiddlyWiki plain text TXT file (tiddler source listing)</option>\
			<option value="NF">RSS NewsFeed XML file</option>\
		</select>\
		</div>\
		<!-- notes -->\
		<div>\
		notes:<br>\
		<textarea id="exportNotes" rows=3 cols=40 style="height:4em;margin-bottom:5px;" onfocus="this.select()"></textarea> \
		</div>\
		<!-- list of tiddlers -->\
		<table><tr align="left"><td>\
			select:\
			<a href="JavaScript:;" id="exportSelectAll"\
				onclick="config.macros.exportTiddlers.process(this)" title="select all tiddlers">\
				&nbsp;all&nbsp;</a>\
			<a href="JavaScript:;" id="exportSelectChanges"\
				onclick="config.macros.exportTiddlers.process(this)" title="select tiddlers changed since last save">\
				&nbsp;changes&nbsp;</a> \
			<a href="JavaScript:;" id="exportSelectOpened"\
				onclick="config.macros.exportTiddlers.process(this)" title="select tiddlers currently being displayed">\
				&nbsp;opened&nbsp;</a> \
			<a href="JavaScript:;" id="exportSelectRelated"\
				onclick="config.macros.exportTiddlers.process(this)" title="select tiddlers related to the currently selected tiddlers">\
				&nbsp;related&nbsp;</a> \
			<a href="JavaScript:;" id="exportToggleFilter"\
				onclick="config.macros.exportTiddlers.process(this)" title="show/hide selection filter">\
				&nbsp;filter&nbsp;</a>  \
		</td><td align="right">\
			<a href="JavaScript:;" id="exportListSmaller"\
				onclick="config.macros.exportTiddlers.process(this)" title="reduce list size">\
				&nbsp;&#150;&nbsp;</a>\
			<a href="JavaScript:;" id="exportListLarger"\
				onclick="config.macros.exportTiddlers.process(this)" title="increase list size">\
				&nbsp;+&nbsp;</a>\
		</td></tr></table>\
		<select id="exportList" multiple size="10" style="margin-bottom:5px;"\
			onchange="config.macros.exportTiddlers.refreshList(this.selectedIndex)">\
		</select><br>\
		</div><!--box-->\
		<!-- selection filter -->\
		<div id="exportFilterPanel" style="display:none">\
		<table><tr align="left"><td>\
			selection filter\
		</td><td align="right">\
			<a href="JavaScript:;" id="exportHideFilter"\
				onclick="config.macros.exportTiddlers.process(this)" title="hide selection filter">hide</a>\
		</td></tr></table>\
		<div class="box">\
		<input type="checkbox" class="chk" id="exportFilterStart" value="1"\
			onclick="config.macros.exportTiddlers.showFilterFields(this)"> starting date/time<br>\
		<table cellpadding="0" cellspacing="0"><tr valign="center"><td width="50%">\
			<select size=1 id="exportFilterStartBy" \
				onchange="config.macros.exportTiddlers.showFilterFields(this);">\
				<option value="0">today</option>\
				<option value="1">yesterday</option>\
				<option value="7">a week ago</option>\
				<option value="30">a month ago</option>\
				<option value="file">file date</option>\
				<option value="other">other (mm/dd/yyyy hh:mm)</option>\
			</select>\
		</td><td width="50%">\
			<input type="text" id="exportStartDate" onfocus="this.select()"\
				onchange="config.macros.exportTiddlers.$(\'exportFilterStartBy\').value=\'other\';">\
		</td></tr></table>\
		<input type="checkbox" class="chk" id="exportFilterEnd" value="1"\
			onclick="config.macros.exportTiddlers.showFilterFields(this)"> ending date/time<br>\
		<table cellpadding="0" cellspacing="0"><tr valign="center"><td width="50%">\
			<select size=1 id="exportFilterEndBy" \
				onchange="config.macros.exportTiddlers.showFilterFields(this);">\
				<option value="0">today</option>\
				<option value="1">yesterday</option>\
				<option value="7">a week ago</option>\
				<option value="30">a month ago</option>\
				<option value="file">file date</option>\
				<option value="other">other (mm/dd/yyyy hh:mm)</option>\
			</select>\
		</td><td width="50%">\
			<input type="text" id="exportEndDate" onfocus="this.select()"\
				onchange="config.macros.exportTiddlers.$(\'exportFilterEndBy\').value=\'other\';">\
		</td></tr></table>\
		<input type="checkbox" class="chk" id=exportFilterTags value="1"\
			onclick="config.macros.exportTiddlers.showFilterFields(this)"> match tags<br>\
		<input type="text" id="exportTags" onfocus="this.select()">\
		<input type="checkbox" class="chk" id=exportFilterText value="1"\
			onclick="config.macros.exportTiddlers.showFilterFields(this)"> match titles/tiddler text<br>\
		<input type="text" id="exportText" onfocus="this.select()">\
		</div> <!--box-->\
		</div> <!--panel-->\
		<!-- action buttons -->\
		<div style="text-align:center">\
		<input type=button class="btn4" onclick="config.macros.exportTiddlers.process(this)"\
			id="exportFilter" value="apply filter">\
		<input type=button class="btn4" onclick="config.macros.exportTiddlers.process(this)"\
			id="exportStart" value="export tiddlers">\
		<input type=button class="btn4" onclick="config.macros.exportTiddlers.process(this)"\
			id="exportDelete" value="delete tiddlers">\
		<input type=button class="btn4" onclick="config.macros.exportTiddlers.process(this)"\
			id="exportClose" value="close">\
		</div><!--center-->\
	',
	process: function(which) { // process panel control interactions
		var theList=this.$('exportList'); if (!theList) return;
		var count = 0;
		var total = store.getTiddlers('title').length;
		switch (which.id) {
			case 'exportFilter':
				count=this.filterExportList();
				var panel=this.$('exportFilterPanel');
				if (count==-1) { panel.style.display='block'; break; }
				this.$('exportStart').disabled=(count==0);
				this.$('exportDelete').disabled=(count==0);
				this.displayStatus(count,total);
				if (count==0) { alert('No tiddlers were selected'); panel.style.display='block'; }
				break;
			case 'exportStart':
				this.go();
				break;
			case 'exportDelete':
				this.deleteTiddlers();
				break;
			case 'exportHideFilter':
			case 'exportToggleFilter':
				var panel=this.$('exportFilterPanel')
				panel.style.display=(panel.style.display=='block')?'none':'block';
				break;
			case 'exportSelectChanges':
				var lastmod=new Date(document.lastModified);
				for (var t = 0; t < theList.options.length; t++) {
					if (theList.options[t].value=='') continue;
					var tiddler=store.getTiddler(theList.options[t].value); if (!tiddler) continue;
					theList.options[t].selected=(tiddler.modified>lastmod);
					count += (tiddler.modified>lastmod)?1:0;
				}
				this.$('exportStart').disabled=(count==0);
				this.$('exportDelete').disabled=(count==0);
				this.displayStatus(count,total);
				if (count==0) alert('There are no unsaved changes');
				break;
			case 'exportSelectAll':
				for (var t = 0; t < theList.options.length; t++) {
					if (theList.options[t].value=='') continue;
					theList.options[t].selected=true;
					count += 1;
				}
				this.$('exportStart').disabled=(count==0);
				this.$('exportDelete').disabled=(count==0);
				this.displayStatus(count,count);
				break;
			case 'exportSelectOpened':
				for (var t=0; t<theList.options.length; t++) theList.options[t].selected=false;
				var tiddlerDisplay=this.$('tiddlerDisplay');
				for (var t=0; t<tiddlerDisplay.childNodes.length;t++) {
					var tiddler=tiddlerDisplay.childNodes[t].id.substr(7);
					for (var i=0; i<theList.options.length; i++) {
						if (theList.options[i].value!=tiddler) continue;
						theList.options[i].selected=true; count++; break;
					}
				}
				this.$('exportStart').disabled=(count==0);
				this.$('exportDelete').disabled=(count==0);
				this.displayStatus(count,total);
				if (count==0) alert('There are no tiddlers currently opened');
				break;
			case 'exportSelectRelated':
				// recursively build list of related tiddlers
				function getRelatedTiddlers(tid,tids) {
					var t=store.getTiddler(tid); if (!t || tids.contains(tid)) return tids;
					tids.push(t.title);
					if (!t.linksUpdated) t.changed();
					for (var i=0; i<t.links.length; i++)
						if (t.links[i]!=tid) tids=getRelatedTiddlers(t.links[i],tids);
					return tids;
				}
				// for all currently selected tiddlers, gather up the related tiddlers (including self) and select them as well
				var tids=[];
				for (var i=0; i<theList.options.length; i++)
					if (theList.options[i].selected) tids=getRelatedTiddlers(theList.options[i].value,tids);
				// select related tiddlers (includes original selected tiddlers)
				for (var i=0; i<theList.options.length; i++)
					theList.options[i].selected=tids.contains(theList.options[i].value);
				this.displayStatus(tids.length,total);
				break;
			case 'exportListSmaller':	// decrease current listbox size
				var min=5;
				theList.size-=(theList.size>min)?1:0;
				break;
			case 'exportListLarger':	// increase current listbox size
				var max=(theList.options.length>25)?theList.options.length:25;
				theList.size+=(theList.size<max)?1:0;
				break;
			case 'exportClose':
				this.$('exportPanel').style.display='none';
				break;
		}
	},
	displayStatus: function(count,total) {
		var txt=this.statusmsg.format([total,total!=1?'s':'',!count?'none':count==total?'all':count]);
		clearMessage();	displayMessage(txt);
		return txt;
	},
	refreshList: function(selectedIndex) {
		var theList = this.$('exportList'); if (!theList) return;
		// get the sort order
		var sort;
		if (!selectedIndex)   selectedIndex=0;
		if (selectedIndex==0) sort='modified';
		if (selectedIndex==1) sort='title';
		if (selectedIndex==2) sort='modified';
		if (selectedIndex==3) sort='modifier';
		if (selectedIndex==4) sort='tags';

		// unselect headings and count number of tiddlers actually selected
		var count=0;
		for (var t=5; t < theList.options.length; t++) {
			if (!theList.options[t].selected) continue;
			if (theList.options[t].value!='')
				count++;
			else { // if heading is selected, deselect it, and then select and count all in section
				theList.options[t].selected=false;
				for ( t++; t<theList.options.length && theList.options[t].value!=''; t++) {
					theList.options[t].selected=true;
					count++;
				}
			}
		}

		// disable 'export' and 'delete' buttons if no tiddlers selected
		this.$('exportStart').disabled=(count==0);
		this.$('exportDelete').disabled=(count==0);

		// show selection count
		var tiddlers = store.getTiddlers('title');
		if (theList.options.length) this.displayStatus(count,tiddlers.length);

		// if a [command] item, reload list... otherwise, no further refresh needed
		if (selectedIndex>4) return;

		// 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+' tiddlers in document', '',false,false);
		theList.options[i++]=
			new Option(((sort=='title'   )?'>':indent)+' [by title]', '',false,false);
		theList.options[i++]=
			new Option(((sort=='modified')?'>':indent)+' [by date]', '',false,false);
		theList.options[i++]=
			new Option(((sort=='modifier')?'>':indent)+' [by author]', '',false,false);
		theList.options[i++]=
			new Option(((sort=='tags'    )?'>':indent)+' [by tags]', '',false,false);

		// output the tiddler list
		switch(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 'modifier':
			case 'modified':
				var tiddlers = store.getTiddlers(sort);
				// sort descending for newest date first
				tiddlers.sort(function (a,b) {if(a[sort] == b[sort]) return(0); else return (a[sort] > b[sort]) ? -1 : +1; });
				var lastSection = '';
				for(var t = 0; t < tiddlers.length; t++) {
					var tiddler = tiddlers[t];
					var theSection = '';
					if (sort=='modified') theSection=tiddler.modified.toLocaleDateString();
					if (sort=='modifier') theSection=tiddler.modifier;
					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;
					if (!tags || !tags.length) {
						if (theTitles['untagged']==undefined) { theTags.push('untagged'); theTitles['untagged']=new Array(); }
						theTitles['untagged'].push(title);
					}
					else 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
		this.$('exportStart').disabled=true;
		this.$('exportDelete').disabled=true;
		this.displayStatus(0,tiddlers.length);
	},
	askForFilename: function(here) {
		var msg=here.title; // use tooltip as dialog box message
		var path=getLocalPath(document.location.href);
		var slashpos=path.lastIndexOf('/'); if (slashpos==-1) slashpos=path.lastIndexOf('\\'); 
		if (slashpos!=-1) path = path.substr(0,slashpos+1); // remove filename from path, leave the trailing slash
		var filetype=this.$('exportFormat').value.toLowerCase();
		var defext='html';
		if (filetype==this.type_TX) defext='txt';
		if (filetype==this.type_NF) defext='xml';
		var file=this.newdefault.replace(/html$/,defext);
		var result='';
		if(window.Components) { // moz
			try {
				netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');
				var nsIFilePicker = window.Components.interfaces.nsIFilePicker;
				var picker = Components.classes['@mozilla.org/filepicker;1'].createInstance(nsIFilePicker);
				picker.init(window, msg, nsIFilePicker.modeSave);
				var thispath = Components.classes['@mozilla.org/file/local;1'].createInstance(Components.interfaces.nsILocalFile);
				thispath.initWithPath(path);
				picker.displayDirectory=thispath;
				picker.defaultExtension=defext;
				picker.defaultString=file;
				picker.appendFilters(nsIFilePicker.filterAll|nsIFilePicker.filterText|nsIFilePicker.filterHTML);
				if (picker.show()!=nsIFilePicker.returnCancel) var result=picker.file.persistentDescriptor;
			}
			catch(e) { alert('error during local file access: '+e.toString()) }
		}
		else { // IE
			try { // XPSP2 IE only
				var s = new ActiveXObject('UserAccounts.CommonDialog');
				s.Filter='All files|*.*|Text files|*.txt|HTML files|*.htm;*.html|XML files|*.xml|';
				s.FilterIndex=defext=='txt'?2:'html'?3:'xml'?4:1;
				s.InitialDir=path;
				s.FileName=file;
				if (s.showOpen()) var result=s.FileName;
			}
			catch(e) {  // fallback
				var result=prompt(msg,path+file);
			}
		}
		return result;
	},
	initFilter: function() {
		this.$('exportFilterStart').checked=false; this.$('exportStartDate').value='';
		this.$('exportFilterEnd').checked=false;  this.$('exportEndDate').value='';
		this.$('exportFilterTags').checked=false; this.$('exportTags').value='';
		this.$('exportFilterText').checked=false; this.$('exportText').value='';
		this.showFilterFields();
	},
	showFilterFields: function(which) {
		var show=this.$('exportFilterStart').checked;
		this.$('exportFilterStartBy').style.display=show?'block':'none';
		this.$('exportStartDate').style.display=show?'block':'none';
		var val=this.$('exportFilterStartBy').value;
		this.$('exportStartDate').value
			=this.getFilterDate(val,'exportStartDate').formatString(this.datetimefmt);
		if (which && (which.id=='exportFilterStartBy') && (val=='other'))
			this.$('exportStartDate').focus();

		var show=this.$('exportFilterEnd').checked;
		this.$('exportFilterEndBy').style.display=show?'block':'none';
		this.$('exportEndDate').style.display=show?'block':'none';
		var val=this.$('exportFilterEndBy').value;
		this.$('exportEndDate').value
			=this.getFilterDate(val,'exportEndDate').formatString(this.datetimefmt);
		 if (which && (which.id=='exportFilterEndBy') && (val=='other'))
			this.$('exportEndDate').focus();

		var show=this.$('exportFilterTags').checked;
		this.$('exportTags').style.display=show?'block':'none';

		var show=this.$('exportFilterText').checked;
		this.$('exportText').style.display=show?'block':'none';
	},
	getFilterDate: function(val,id) {
		var result=0;
		switch (val) {
			case 'file':
				result=new Date(document.lastModified);
				break;
			case 'other':
				result=new Date(this.$(id).value);
				break;
			default: // today=0, yesterday=1, one week=7, two weeks=14, a month=31
				var now=new Date(); var tz=now.getTimezoneOffset()*60000; now-=tz;
				var oneday=86400000;
				if (id=='exportStartDate')
					result=new Date((Math.floor(now/oneday)-val)*oneday+tz);
				else
					result=new Date((Math.floor(now/oneday)-val+1)*oneday+tz-1);
				break;
		}
		return result;
	},
	filterExportList: function() {
		var theList  = this.$('exportList'); if (!theList) return -1;
		var filterStart=this.$('exportFilterStart').checked;
		var val=this.$('exportFilterStartBy').value;
		var startDate=config.macros.exportTiddlers.getFilterDate(val,'exportStartDate');
		var filterEnd=this.$('exportFilterEnd').checked;
		var val=this.$('exportFilterEndBy').value;
		var endDate=config.macros.exportTiddlers.getFilterDate(val,'exportEndDate');
		var filterTags=this.$('exportFilterTags').checked;
		var tags=this.$('exportTags').value;
		var filterText=this.$('exportFilterText').checked;
		var text=this.$('exportText').value;
		if (!(filterStart||filterEnd||filterTags||filterText)) {
			alert('Please set the selection filter');
			this.$('exportFilterPanel').style.display='block';
			return -1;
		}
		if (filterStart&&filterEnd&&(startDate>endDate)) {
			var msg='starting date/time:\n'
			msg+=startDate.toLocaleString()+'\n';
			msg+='is later than ending date/time:\n'
			msg+=endDate.toLocaleString()
			alert(msg);
			return -1;
		}
		// if filter by tags, get list of matching tiddlers
		// use getMatchingTiddlers() (if MatchTagsPlugin is installed) for full boolean expressions
		// otherwise use getTaggedTiddlers() for simple tag matching
		if (filterTags) {
			var fn=store.getMatchingTiddlers||store.getTaggedTiddlers;
			var t=fn.apply(store,[tags]);
			var tagged=[];
			for (var i=0; i<t.length; i++) tagged.push(t[i].title);
		}
		// scan list and select tiddlers that match all applicable criteria
		var total=0;
		var count=0;
		for (var i=0; i<theList.options.length; i++) {
			// get item, skip non-tiddler list items (section headings)
			var opt=theList.options[i]; if (opt.value=='') continue;
			// get tiddler, skip missing tiddlers (this should NOT happen)
			var tiddler=store.getTiddler(opt.value); if (!tiddler) continue; 
			var sel=true;
			if ( (filterStart && tiddler.modified<startDate)
			|| (filterEnd && tiddler.modified>endDate)
			|| (filterTags && !tagged.contains(tiddler.title))
			|| (filterText && (tiddler.text.indexOf(text)==-1) && (tiddler.title.indexOf(text)==-1)))
				sel=false;
			opt.selected=sel;
			count+=sel?1:0;
			total++;
		}
		return count;
	},
	deleteTiddlers: function() {
		var list=this.$('exportList'); if (!list) return;
		var tids=[];
		for (i=0;i<list.length;i++)
			if (list.options[i].selected && list.options[i].value.length)
				tids.push(list.options[i].value);
		if (!confirm('Are you sure you want to delete these tiddlers:\n\n'+tids.join(', '))) return;
		store.suspendNotifications();
		for (t=0;t<tids.length;t++) {
			var tid=store.getTiddler(tids[t]); if (!tid) continue;
			var msg="'"+tid.title+"' is tagged with 'systemConfig'.\n\n";
			msg+='Removing this tiddler may cause unexpected results.  Are you sure?'
			if (tid.tags.contains('systemConfig') && !confirm(msg)) continue;
			store.removeTiddler(tid.title);
			story.closeTiddler(tid.title);
		}
		store.resumeNotifications();
		alert(tids.length+' tiddlers deleted');
		this.refreshList(0); // reload listbox
		store.notifyAll(); // update page display
	},
	go: function() {
		if (window.location.protocol!='file:') // make sure we are local
			{ displayMessage(config.messages.notFileUrlError); return; }
		// get selected tidders, target filename, target type, and notes
		var list=this.$('exportList'); if (!list) return;
		var tids=[]; for (var i=0; i<list.options.length; i++) {
			var opt=list.options[i]; if (!opt.selected||!opt.value.length) continue;
			var tid=store.getTiddler(opt.value); if (!tid) continue;
			tids.push(tid);
		}
		if (!tids.length) return; // no tiddlers selected
		var target=this.$('exportFilename').value.trim();
		if (!target.length) {
			displayMessage('A local target path/filename is required',target);
			return;
		}
		var filetype=this.$('exportFormat').value.toLowerCase();
		var notes=this.$('exportNotes').value.replace(/\n/g,'<br>');
		var total={val:0};
		var out=this.assembleFile(target,filetype,tids,notes,total);
		var link='file:///'+target.replace(/\\/g,'/');
		var samefile=link==decodeURIComponent(window.location.href);
		var p=getLocalPath(document.location.href);
		if (samefile) {
			if (config.options.chkSaveBackups) { var t=loadOriginal(p);if(t)saveBackup(p,t); }
			if (config.options.chkGenerateAnRssFeed && saveRss instanceof Function) saveRss(p);
		}
		var ok=saveFile(target,out);
		displayMessage((ok?this.okmsg:this.failmsg).format([total.val,target]),link);
	},
	plainTextHeader:
		 '// Source'+':\n//\t%0\n'
		+'// Title:\n//\t%1\n'
		+'// Subtitle:\n//\t%2\n'
		+'// Created:\n//\t%3 by %4\n'
		+'// Application:\n//\tTiddlyWiki %5 / %6 %7\n',
	plainTextTiddler:
		'\n// ----- %0 (by %1 on %2) -----\n\n%3',
	plainTextFooter:
		'',
	newsFeedHeader:
		 '<'+'?xml version="1.0"?'+'>\n'
		+'<rss version="2.0">\n'
		+'<channel>\n'
		+'<title>%1</title>\n'
		+'<link>%0</link>\n'
		+'<description>%2</description>\n'
		+'<language>en-us</language>\n'
		+'<copyright>Copyright '+(new Date().getFullYear())+' %4</copyright>\n'
		+'<pubDate>%3</pubDate>\n'
		+'<lastBuildDate>%3</lastBuildDate>\n'
		+'<docs>http://blogs.law.harvard.edu/tech/rss</docs>\n'
		+'<generator>TiddlyWiki %5 / %6 %7</generator>\n',
	newsFeedTiddler:
		'\n%0\n',
	newsFeedFooter:
		'</channel></rss>',
	pureStoreHeader:
		 '<html><body>'
		+'<style type="text/css">'
		+'	#storeArea {display:block;margin:1em;}'
		+'	#storeArea div {padding:0.5em;margin:1em;border:2px solid black;height:10em;overflow:auto;}'
		+'	#pureStoreHeading {width:100%;text-align:left;background-color:#eeeeee;padding:1em;}'
		+'</style>'
		+'<div id="pureStoreHeading">'
		+'	TiddlyWiki "PureStore" export file<br>'
		+'	Source'+': <b>%0</b><br>'
		+'	Title: <b>%1</b><br>'
		+'	Subtitle: <b>%2</b><br>'
		+'	Created: <b>%3</b> by <b>%4</b><br>'
		+'	TiddlyWiki %5 / %6 %7<br>'
		+'	Notes:<hr><pre>%8</pre>'
		+'</div>'
		+'<div id="storeArea">',
	pureStoreTiddler:
		'%0\n%1',
	pureStoreFooter:
		'</div><!--POST-BODY-START-->\n<!--POST-BODY-END--></body></html>',
	assembleFile: function(target,filetype,tids,notes,total) {
		var revised='';
		var now = new Date().toLocaleString();
		var src=convertUnicodeToUTF8(document.location.href);
		var title = convertUnicodeToUTF8(wikifyPlain('SiteTitle').htmlEncode());
		var subtitle = convertUnicodeToUTF8(wikifyPlain('SiteSubtitle').htmlEncode());
		var user = convertUnicodeToUTF8(config.options.txtUserName.htmlEncode());
		var twver = version.major+'.'+version.minor+'.'+version.revision;
		var v=version.extensions.ExportTiddlersPlugin; var pver = v.major+'.'+v.minor+'.'+v.revision;
		var headerargs=[src,title,subtitle,now,user,twver,'ExportTiddlersPlugin',pver,notes];
		switch (filetype) {
			case this.type_TX: // plain text
				var header=this.plainTextHeader.format(headerargs);
				var footer=this.plainTextFooter;
				break;
			case this.type_NF: // news feed (XML)
				headerargs[0]=store.getTiddlerText('SiteUrl','');
				var header=this.newsFeedHeader.format(headerargs);
				var footer=this.newsFeedFooter;
				break;
			case this.type_PS: // PureStore (no code)
				var header=this.pureStoreHeader.format(headerargs);
				var footer=this.pureStoreFooter;
				break;
			case this.type_TW: // full TiddlyWiki
			default:
				var currPath=getLocalPath(window.location.href);
				var original=loadFile(currPath);
				if (!original) { displayMessage(config.messages.cantSaveError); return; }
				var posDiv = locateStoreArea(original);
				if (!posDiv) { displayMessage(config.messages.invalidFileError.format([currPath])); return; }
				var header = original.substr(0,posDiv[0]+startSaveArea.length)+'\n';
				var footer = '\n'+original.substr(posDiv[1]);
				break;
		}
		var out=this.getData(target,filetype,tids);
		var revised = header+convertUnicodeToUTF8(out.join('\n'))+footer;
		// if full TW, insert page title and language attr, and reset all MARKUP blocks...
		if (filetype==this.type_TW) {
			var newSiteTitle=convertUnicodeToUTF8(getPageTitle()).htmlEncode();
			revised=revised.replaceChunk('<title'+'>','</title'+'>',' ' + newSiteTitle + ' ');
			revised=updateLanguageAttribute(revised);
			var titles=[]; for (var i=0; i<tids.length; i++) titles.push(tids[i].title);
			revised=updateMarkupBlock(revised,'PRE-HEAD',
				titles.contains('MarkupPreHead')? 'MarkupPreHead' :null);
			revised=updateMarkupBlock(revised,'POST-HEAD',
				titles.contains('MarkupPostHead')?'MarkupPostHead':null);
			revised=updateMarkupBlock(revised,'PRE-BODY',
				titles.contains('MarkupPreBody')? 'MarkupPreBody' :null);
			revised=updateMarkupBlock(revised,'POST-SCRIPT',
				titles.contains('MarkupPostBody')?'MarkupPostBody':null);
		}
		total.val=out.length;
		return revised;
	},
	formatItem: function(s,f,t,u) {
		if (f==this.type_TW)
			var r=s.getSaver().externalizeTiddler(s,t);
		if (f==this.type_PS)
			var r=config.macros.exportTiddlers.pureStoreTiddler.format([t.title,s.getSaver().externalizeTiddler(s,t)]);
		if (f==this.type_NF)
			var r=this.newsFeedTiddler.format([t.saveToRss(u)]);
		if (f==this.type_TX)
			var r=this.plainTextTiddler.format([t.title,t.modifier,t.modified.toLocaleString(),t.text]);
		return r||'';
	},
	getData: function(target,filetype,tids) {
		// output selected tiddlers and gather list of titles (for use with merge)
		var out=[]; var titles=[];
		var url=store.getTiddlerText('SiteUrl','');
		for (var i=0; i<tids.length; i++) {
			out.push(this.formatItem(store,filetype,tids[i],url));
			titles.push(tids[i].title);
		}
		// if TW or PureStore format, ask to merge with existing tiddlers (if any)
		if (filetype==this.type_TW || filetype==this.type_PS) {
			var text=loadFile(target);
			if (text && text.length) {
				var remoteStore=new TiddlyWiki();
				if (remoteStore.importTiddlyWiki(convertUTF8ToUnicode(text))
					&& confirm(this.mergeprompt.format([target]))) {
					var existing=remoteStore.getTiddlers('title');
					for (var i=0; i<existing.length; i++)
						if (!titles.contains(existing[i].title))
							out.push(this.formatItem(remoteStore,filetype,existing[i],url));
					displayMessage(this.mergestatus.format([tids.length,out.length-tids.length]));
				}
			}
		}
		return out;
	}
}
//}}}
! Ficonacce

Naszą bazą w 2010 roku będzie willa Ficonacce. Miejsce znajduje się na południu Toskanii przy granicy z Umbrią i Lazio. Część z nas przejeżdżała stosunkowo niedaleko podczas Gran Fondo w kwietniu.  Odległość do bazy z Cieszyna to 1300 km. Jest to dokładnie tyle samo ile mieliśmy do przejechania w 2008 roku. Sama baza jest położona stosunkowo blisko autostrady. Do bazy zjeżdżamy z Autostrady A1 jeden zjazd dalej na południe od zjazdu, z którego korzystaliśmy przy powrocie z Gran Fondo w [[Chianciano Terme|GranFondo2009]].

Będziemy mieszkali w Ficonacce di sopra która ma trzy sypialnie z podwójnymi łóżkami oraz własną łazienką oraz jeden pokój z dwoma pojedynczymi łóżkami i łazienką (czyli razem dla 8 osób). Dodatkowo jest jeszcze WC. Oczywiście jest dodatkowo komfortowy salon, jadalnia i kuchnia.  Więcej informacji można poczytać na stronie właścicieli  [[tutaj|http://www.moriagritur.it/e-ficonacce.htm]].
<html><iframe width="425" height="350" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="http://maps.google.com/maps/ms?ie=UTF8&amp;hl=pl&amp;msa=0&amp;msid=116762684813621878640.000476d1f886451aef685&amp;ll=42.982549,11.678467&amp;spn=0.703252,1.167297&amp;z=9&amp;output=embed"></iframe><br /><small>Pokaż <a href="http://maps.google.com/maps/ms?ie=UTF8&amp;hl=pl&amp;msa=0&amp;msid=116762684813621878640.000476d1f886451aef685&amp;ll=42.982549,11.678467&amp;spn=0.703252,1.167297&amp;z=9&amp;source=embed" style="color:#0000FF;text-align:left">2010baza</a> na większej mapie</small></html>
[[Bike Umbria|http://www.bikeinumbria.it/strada/en/homepage.htm]]

Ik heb vorig jaar mei, 4 van de 'difficult routes' gedaan (23, 24, 26 en 28). Ik vond vooral route 28, met start en aankomst in Norcia, magisch mooi!

Umbria is zeer afwisselend! Je vindt er (steile) heuvels (driehoek spoleto-todi-assisi), maar ook (zoals in de Valnerina of Monti Sibillini) echte cols. Prachtig om te fietsen. De routes zijn over het algemeen ook vrij rustig.

Wij verbleven ergens tussen Assisi en tordandrea. Volgend jaar mei wil ik ook wat meer richting Orvieto gaan zitten. Om nog wat andere 'difficult routes' te doen (25, 29 en 30) 
!Ulubiony podjazd po raz pierwszy
!!Mapa z Google
<html><iframe width="800" height="500" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="http://maps.google.com/maps/ms?ie=UTF8&amp;hl=en&amp;s=AARTsJpc38waa9865zbBbIs_MxfUOaCnVw&amp;msa=0&amp;msid=116762684813621878640.00044bebcf8f60913217a&amp;ll=42.998119,10.730896&amp;spn=0.251098,0.549316&amp;z=11&amp;output=embed"></iframe><br /><small><a href="http://maps.google.com/maps/ms?ie=UTF8&amp;hl=en&amp;msa=0&amp;msid=116762684813621878640.00044bebcf8f60913217a&amp;ll=42.998119,10.730896&amp;spn=0.251098,0.549316&amp;z=11&amp;source=embed" style="color:#0000FF;text-align:left">View Larger Map</a></small></html>
!Format menu
|''bold''|@@highlight@@|
|//italic//|[[hyperlink]]|
|__underline__||
!Greek menu
|{{greek{κλητοι̂ς}}}|{{gkindent{{{gkindent{{{gkindent{κλητοι̂ς}}}}}}}}}|
|{{gkindent{κλητοι̂ς}}}|{{gkindent{{{gkindent{{{gkindent{{{gkindent{κλητοι̂ς}}}}}}}}}}}}|
|{{gkindent{{{gkindent{κλητοι̂ς}}}}}}|{{gkindent{{{gkindent{{{gkindent{{{gkindent{{{gkindent{κλητοι̂ς}}}}}}}}}}}}}}}|
!!Hebrew menu
{{hebrewNoAlign{וַיָּקָם}}}
{{hebrewRightAlign{וַיָּקָם}}}
{{hebAlignAndIndent{וַיָּקָם}}}
{{hebAlignAndIndent{{{hebAlignAndIndent{וַיָּקָם}}}}}}
{{hebAlignAndIndent{{{hebAlignAndIndent{{{hebAlignAndIndent{וַיָּקָם}}}}}}}}}
{{hebAlignAndIndent{{{hebAlignAndIndent{{{hebAlignAndIndent{{{hebAlignAndIndent{וַיָּקָם}}}}}}}}}}}}
{{hebAlignAndIndent{{{hebAlignAndIndent{{{hebAlignAndIndent{{{hebAlignAndIndent{{{hebAlignAndIndent{וַיָּקָם}}}}}}}}}}}}}}}
!Indent menu
{{engindent{Text}}}
{{engindent{{{engindent{Text}}}}}}
{{engindent{{{engindent{{{engindent{Text}}}}}}}}}
{{engindent{{{engindent{{{engindent{{{engindent{Text}}}}}}}}}}}}
{{engindent{{{engindent{{{engindent{{{engindent{{{engindent{Text}}}}}}}}}}}}}}}
!Notes menu
((syntax(add note here))) &#149; ((translation(add note here))) &#149; ((text(add note here))) &#149; ((gram(add note here))) ((Popup: your text here(your popup text here)))
!Color menu
{{red{Red}}} {{blue{Blue}}} {{green{Green}}} {{gold{Gold}}} {{gray{Gray}}} {{magenta{Magenta}}} {{purple{Purple}}} {{teal{Teal}}} {{burgundy{Burgundy}}}
!Highlighting menu
@@bgcolor(#ff6666):Red@@ @@bgcolor(#ccccff):Blue@@ @@Yellow@@ @@bgcolor(#99ff99):Green@@ @@bgcolor(#cc9966):Brown@@ @@bgcolor(#cccc99):Gray@@ @@bgcolor(#ff9933):Orange@@
!Tables menu
Invisible table: {{invisiblecomm{
|!Invisible table header|!Invisible table header|!invisible table header|
|data|data|data|
|data|data|data|
|data|data|data|
}}}
Sortable table:
|sortable|k
|Header1|Header2|Header3|h
|Aa|B3|data7|
|Ab|B2|data2|
|Ac|B1|data8|
Standard table:
|!Header|!Header|!Header|
|data|data|data|
|data|data|data|
|data|data|data|
Table cell colors:
|!Below is a light gray cell|!Below is a dark gray cell|!Below are regular cells|
|bgcolor(#eeeeee):text here|||
||bgcolor(#cccccc):text there||
|||text anywhere|
<html><a href='http://img26.imageshack.us/my.php?image=partenza2009.jpg'><img src='http://img26.imageshack.us/img26/7501/partenza2009.jpg' border='0' alt='Image Hosted by ImageShack.us'/></a></html>
Widać dobrze na zdjęciu nasze koszulki, a najlepiej tą na Grześku. Obok Darek patrzy w nieruchomy licznik. Z tyłu Grzesiek i Andrzej, a jeszcze dalej  Leszek.
! Wyniki Gran Fondo
1. Mateo Podesta 4:01:16
53. Dariusz Leduchowski 4:23:29
Darek był czwarty w swojej kategorii i został wyróżniony dwukilogramową mortadelą. Trasę ukończyły 204 osoby.
! Wyniki Medio Fondo
1. Leonardo Simi 2:20:54
74. Grzegorz Zimoń 2:30:34
79. Marcin Niewola 2:30:38
85. Sebastian Rubin 2:30:43
217. Andrzej Kulik 2:42:29
225. Witold Krajewski 2:42:44
237. Leszek Makowski 2:43:01
517. Grzegorz Wójcicki 3:13:09
598. Krzysztof Gernand 3:30:57
Trasę ukończyły 682 osoby.
! Gdzie jeździć i co oglądać?
!!!TERENY KOLARSKIE 
Okolice Lukki to mekka kolarska. Mieszka tam bardzo dużo zawodowców. Przez lata mieszkał tam Sylwek Szmyd (dzięki Witek za sprostowanie). Nie ma się czemu dziwić, ponieważ tereny są znakomite. Wokół są zarówno kilkukilometrowe jak i kilkunastokilometrowe podjazdy, do tego piękna przyroda i dzikie Alpy Apuańskie, które są częścią Apenin, a nie Alp. Po drogach oddalonych o kilka, kilkanaście kilometrów przebiegają trasy kilku Gran Fondo, co jest moim zdaniem najlepszą gwarancją znakomitych tras kolarskich. Jeśli chodzi o wyścigi zawodowców to zawsze przez Alpy Apuańskie prowadzi jakiś etap Giro. Z wyścigów kojarzę Gran Premio di Camaiore z kilkukrotnym pokonywaniem Monte Pitoro. Oczywiście w pobliżu jest słynny San Pelligrino in Alpe oraz przełęcze Abetone i Radici. Oby tylko pogoda dopisała. 

!! CO MOŻNA ZOBACZYĆ? 
Przede wszystkim Lukka jedno z najpiękniejszych miast Toskanii (trzy gwiazdki w przewodniku Michelina). Wybierzemy się też pewnie do Pizy ze słynną Krzywą Wieżą oraz znaną tylko Darkowi Monte Serra. Z Lukki jest komfortowe połączenie kolejowe z Florencją, a tam ze stacji jest 10 minut do Duomo z przepiękną kopułą. Stosunkowo blisko jest też do Carrary skąd pochodzą słynne marmury.
! Gdzie jeździć na obozie?
Lista możliwości jakie będziemy mieli w kwietniu jest moim zdaniem ogromna. Bardzo blisko znajduje się dużo różnej kategorii podjazdów. Poniżej zasygnalizuje kilka możliwości, które nie wyczerpują tego co na nas czeka. Oby tylko dopisała pogoda i zdrowie! Zacznijmy od podjazdu w kierunku naszej bazy z doliny rzeki Serchio z Galliciano. Oto profil:
* http://www.salite.ch/grottoro.asp - pierwsze kilka kilometrów są nasze :)
zboczami Alp Apuańskich można dojechać aż do San Martino in Freddana zaliczając pod drodze kilka niezbyt długich podjazdów.

Wbrew pozorom najwyższymi przełęczami na które możemy wjechać nie są: 
* [[San Pellegrino in Alpe (1524 m)|http://www.salite.ch/san16.asp]] - absolutny killer, ten profil trzeba zobaczyć. Kto to podjedzie to chyba już każdy podjazd zaliczy.
* [[Abetone (1388m)|http://www.salite.ch/abetone1.asp]] - ten link przedstawia tylko fragment podjazdu od miejscowości La Lima. Kawałek podjazdu do La Lima jechaliśmy w 2007 roku.
ale przełęcz [[Passo di Pradarena (1579m)|http://www.salite.ch/pradaren.asp]] na którą jest od nas 45 km. Oczywiście wjazd tak wysoko jest uzależniony od pogody, na dole musi być ze dwadzieścia stopni, aby można było komfortowo zjechać. Inaczej czeka nas powtórka z Amiaty :)

Tuż obok pod drugiej stronie doliny można się wdrapać na w kilka miejsc. Oto krótka selekcja:
* Po drugiej stronie rzeki można wjechać na Renaio (11.9km/5.1%) http://www.salite.ch/renaio2.asp Jest od miejscowości Braga, do której najpierw trzeba się wdrapać z doliny. W samej Bradze można skończyć i pojechać w dół w kierunku Fornaci di Braga (pierwsze kilometry tego podjazdu http://www.salite.ch/renaio3.asp)
* Monte Ferchia (11.9km/6.2%) http://www.salite.ch/ferchia.asp można podjechać tylko kawałek i dalej się skierować do Tereglio (patrz niżej).
* Z Bagni di Lucca można jechać w wielu kierunkach: 
** Corsanga (4.2 km/5.3%) http://www.salite.ch/corsagna.asp
** Foce del Trebbio (9km/5.9%) http://www.salite.ch/trebbio1.asp to jechaliśmy w 2007 roku
** Monti di Villa (13.7km/5.7%) http://www.salite.ch/villa3.asp, który również można podjechać tylko do San Gemignano i później przez Scestę (na drodze na Abetone wrócić) 
** no i oczywiście najpierw do La Lima, a później na Abetone
* Z Borgo a Mozzano można się wdrapać dwoma drogami do Cune:
** ostrzejszą drogą (5km/8.5%) - http://www.salite.ch/cune1.asp
** lub bardziej łagodną (7.4km/5.7%) - http://www.salite.ch/cune.asp
* Dwa podjazdy do Tereglio (http://www.salite.ch/tereglio.asp - ten jechaliśmy w 2007 roku) oraz http://www.salite.ch/tereglio1.asp
Z Castelnuovo di Garanfanga nie trzeba koniecznie jechać na San Pelligrino in Alpe, można wybrać mniej hardcorowe podjazdy:
* podjazd na Foce della Formica 1045m, który również nie jest bułką z masłem:
** http://www.salite.ch/formica.asp - to jest link do podjazdu z Castelnuovo
**http://www.salite.ch/formica1.asp - a to z Poggio, które jest położone 8 km wzdłuż rzeki od Castelnuovo. Ten podjazd wygląda bardzo fajnie - długi i niezbyt stromy.
* Passo dell'Orecchiela (20 km/4.7%) http://www.salite.ch/orecchie1.asp 
* albo udać się w kierunku morza do Massy - zjeżdżaliśmy ten podjazd w 2007 roku (ten z tunelem).
! Fondo Chianciano Terme
25 kwietnia 2009 roku wzięliśmy udział w Fondo Chianciano Terme. Większość pojechała trasę Medio. Na mapie wyświetla się tylko część trasy, trzeba wejść do mapy i zobaczyć szczegóły, wtedy też pokaże się cała trasa. Przepraszam za niedogodność.  Wyniki są [[tutaj|GF2009]].
<html><iframe width="600" height="600" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="http://maps.google.com/maps/ms?ie=UTF8&amp;hl=pl&amp;msa=0&amp;msid=116762684813621878640.00046c163c427ff3834d5&amp;ll=43.002136,11.823349&amp;spn=0.301298,0.411987&amp;z=11&amp;output=embed"></iframe><br /><small>Pokaż <a href="http://maps.google.com/maps/ms?ie=UTF8&amp;hl=pl&amp;msa=0&amp;msid=116762684813621878640.00046c163c427ff3834d5&amp;ll=43.002136,11.823349&amp;spn=0.301298,0.411987&amp;z=11&amp;source=embed" style="color:#0000FF;text-align:left">MedioFondo</a> na większej mapie</small>
</html>
!Chiusi di Verna
Trasa prowadziła na górę na której klasztor wybudował [[Święty Franciszek z Asyżu|http://pl.wikipedia.org/wiki/Franciszek_z_Asy%C5%BCu]]. Widok z klasztoru zapiera dech w piersiach, a sam klasztor to MUST, kto był w tych okolicach i go nie odwiedził to gapa. Do przejechania mieliśmy 90 km i 1250 m przewyższenia. Podjazd do Chiusi di Verna nie jest sztywny, a poprzedza go pofałdowana droga od Bibbieny. Wbrew pozorom po Chusi di Verna nie jest wcale łatwo. Z powrotem do Bibbieny radzę jechać drugą stroną rzeki, unika się przynajmniej przez kilkanaście kilometrów ruchliwej drogi.  

Główna grupa pojechała jeszcze dalej na południe aż do Anghiari.

* [[Link do pliku, który można wczytać do Google Earth|http://www.humyo.com/F/8562209-409793169]]
<html><iframe width="800" height="700" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="http://maps.google.com/maps/ms?ie=UTF8&amp;hl=pl&amp;s=AARTsJqhWnKBzvlZSyLS5yQfAhl_fb6Z4g&amp;msa=0&amp;msid=116762684813621878640.000464dd74c9b0c546fb2&amp;ll=43.654956,11.88755&amp;spn=0.173878,0.274658&amp;z=12&amp;output=embed"></iframe><br /><small><a href="http://maps.google.com/maps/ms?ie=UTF8&amp;hl=pl&amp;msa=0&amp;msid=116762684813621878640.000464dd74c9b0c546fb2&amp;ll=43.654956,11.88755&amp;spn=0.173878,0.274658&amp;z=12&amp;source=embed" style="color:#0000FF;text-align:left">Wyświetl większą mapę</a></small></html>
/***
|Name:|HideWhenPlugin|
|Description:|Allows conditional inclusion/exclusion in templates|
|Version:|3.1 ($Rev: 3919 $)|
|Date:|$Date: 2008-03-13 02:03:12 +1000 (Thu, 13 Mar 2008) $|
|Source:|http://mptw.tiddlyspot.com/#HideWhenPlugin|
|Author:|Simon Baird <simon.baird@gmail.com>|
|License:|http://mptw.tiddlyspot.com/#TheBSDLicense|
For use in ViewTemplate and EditTemplate. Example usage:
{{{<div macro="showWhenTagged Task">[[TaskToolbar]]</div>}}}
{{{<div macro="showWhen tiddler.modifier == 'BartSimpson'"><img src="bart.gif"/></div>}}}
***/
//{{{

window.hideWhenLastTest = false;

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


merge(config.macros,{

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

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

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

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

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

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

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

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

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

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

	hideWhenTitleIs: { handler: function(place,macroName,params,wikifier,paramString,tiddler) {
		removeElementWhen( tiddler.title == params[0], place);
	}},

	showWhenTitleIs: { handler: function(place,macroName,params,wikifier,paramString,tiddler) {
		removeElementWhen( tiddler.title != params[0], place);
	}},

	'else': { handler: function(place,macroName,params,wikifier,paramString,tiddler) {
		removeElementWhen( !window.hideWhenLastTest, place);
	}}

});

//}}}

Położone opodal miasteczko Poppi (~ 6 tys. mieszkańców) było wieki temu stolicą Casentino. Miastem rządziła rodzina Guidi. W Poppi jest [[zameczek rodziny Guidi|http://www.castellodipoppi.it/]], który można zwiedzać. Gotycki zameczek został zbudowany w XIII wieku i króluje on nad panoramą miasteczka. W zamku można odwiedzić bibliotekę zawierającą woluminy z XIII i XIV wieku! Poza tym w miasteczku są dwa ciekawe kościoły Chiesa della Madonna del Morbo z XVII wieku oraz Chiesa di S. Fedele z XIII wieku. W dolinie 11 czerwca 1289 roku miała miejsce krwawa bitwa pod Campaldino. Odniesione podczas bitwy zwycięstwo Florencji zapoczątkowało  panowanie tego miasta w Toskanii.
/***
|''Name:''|HttpGetMacro|
|''Description:''|Submit an HttpGet and display the response|
|''Version:''|2.0.0|
|''Date:''|Mar 18, 2007|
|''Source:''|http://tiddlywiki.bidix.info/#HttpGetMacro|
|''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|
***/
//{{{
config.macros.HttpGet = {
	cache: [], 	// url => responseText
	messages: {
		401: "%0 unauthorized (HTTP status:401).",
		403: "%0 forbidden (HTTP status:403).",
		404: "%0 not found (HTTP status:404).",
		405: "Method not allowed to access %0 (HTTP status: 405)."
	},
	
	handler: function(place,macroName,params,wikifier,paramString,tiddler){
		var url = params[0];
		var format = params[1];
		wikify("^^<<HttpGetUpdate "+url+" [[" + tiddler.title + "]]>>^^\n",place);
		var div = createTiddlyElement(place, "div", "HttpGet");
		if (this.cache[url]) {
			this.display(this.cache[url], format, div);
					}
		else {
			this.get(url, format, div);
		}
	},
	
	get: function(url, format, place) {
		var params = {
				format: format,
				place:	place
				};
		var r = loadRemoteFile(url,config.macros.HttpGet.display,params);
		if (typeof r == "string")
			displayMessage(r);
		return r;
	},
	
	display: function(status,params,responseText,url,xhr) {
		if (status) {
	 		if (params['format'] == 'html') {
				wikify("<html>"+responseText+"</html>", params['place']);
			}
			else { //text
				wikify(responseText, params['place']);			
			}
		} else {
			if (config.macros.HttpGet.messages[xhr.status])
				displayMessage(config.macros.HttpGet.messages[xhr.status].format([url]));
			else
				displayMessage("HTTP Error " + xhr.status + " in accessing " + url);
		}
		
	}

};

config.macros.HttpGetUpdate = {
	label: "Update",
	prompt: "Clear the cache and redisplay this tiddler",
	handler: function(place,macroName,params) {
		var url = params[0];
		var tiddlerTitle = params[1];
		createTiddlyButton(place, this.label, this.prompt, 
			function () {
				if (config.macros.HttpGet.cache[url]) {
					config.macros.rssReader.cache[url] = null; 
			}
			story.refreshTiddler(tiddlerTitle,null, true);
		return false;});
	}
};
//}}}
!Il Testimonio
[[Il Testimonio|http://www.iltestimonio.it/index.html]] miejsce koło Certaldo, położone na wyciągnięcie ręki od Sienny i Florencji. Rzut beretem do Chianti i Voltery. Bardzo ciekawe miejsce!
Standardowy set pytań i odpowiedzi:
# only about 80 meters are not paved to arrive to the Villa
# we are 8 km.far from the center of Certaldo, and  about 35 km. of driving to A1
# There are 9 bedrooms, 21 beds,( in the following informations I will send you a map of the bedrooms and of the beds ).
# 8 bathrooms with showers
# yes, there is a TV sat
# there is a very large parking, may be more then ten cars
# it depends on the season...some time yes, some time not
# there are restaurants and trattoria that we can recommend. We also have a kitchen and a little restaurant for our guests, if they like this option.
#the price of the weekly rent for 16 persons is 2500 Euro   The cost of dinner is 17 Euro, and the breakfast 6
# I will send you our promotion to cycling tours clubs, that we are doing now
Jesienna impreza kolarska
* 6 listopada 2009 Klub U Spadkobierców
* Początek 20.00 (open-end)
* Koszt 370 PLN (od pary)
Bliższe informacje na stronie (jak tylko będzie więcej wiadomo) lub u Darka
! Tradycyjna impreza 
Jak co roku w piątek 9 listopada bawimy się w Klubie Spadkobierców, początek o 20:00.

!! MENU
* Danie główne: Kaczka pieczona z jabłkami w sosie z pieczonymi ziemniakami i surówką z selera

!!!Zimne przekąski
*Fantazje śledziowe
*Pasztet z dziczyzny
*Polędwica wieprzowa faszerowana borowikami
*Roladki ułańskie z sosem tatarskim
*Carpacio z sandacza i łososia
*Rolada drobiowa ze szpinakiem i fetą
*Rolada z trzech mięs
*Sosy: chrzanowy, tatarski, meksykański.
*Sałatka chłopska z szynką
*Sałatka z szynką dojrzewającą

Żurek staropolski z białą kiełbasą

!!!Na słodko
*Ciasteczka koktailowe (od Dybalskiego)
*Zestaw owoców obranych
*Kawa, herbata
*Woda min. sok owocowy 1L

Obsługa D'J- ja dekoracja kwiatowa
Alkohol w ilościach hurtowych

Koszt 190 pln za osobę max 60 osób

Wpłaty też na konto 61 1240 1545 1111 0000 1139 5465 (Dariusz Leduchowski)
!Impreza 2013

Impreza kolarska odbędzie się jeśli uzbieramy minimum 40 osób
*Termin: 08.11.2013(piątek) godzina 20 Klub Spadkobierców
*Koszt: 190 złotych od osoby
wszystkich chętnych proszę o zgłoszenia do Darka do 20.10.  Jeżeli uzbieramy skład to wpłaty będą   od 21  do 26 października.
/***
|Name|InlineJavascriptPlugin|
|Source|http://www.TiddlyTools.com/#InlineJavascriptPlugin|
|Version|1.6.0|
|Author|Eric Shulman - ELS Design Studios|
|License|http://www.TiddlyTools.com/#LegalStatements <<br>>and [[Creative Commons Attribution-ShareAlike 2.5 License|http://creativecommons.org/licenses/by-sa/2.5/]]|
|~CoreVersion|2.1|
|Type|plugin|
|Requires||
|Overrides||
|Description|Insert Javascript executable code directly into your tiddler content.|

[Snip - see plugin documentation at the link above]

<<<
!!!!!Credits
<<<
This feature was developed by EricShulman from [[ELS Design Studios|http:/www.elsdesign.com]]
<<<
!!!!!Code
***/
//{{{
version.extensions.inlineJavascript= {major: 1, minor: 6, revision: 0, date: new Date(2007,2,19)};

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

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

@@Uwaga@@ w drodze do Toskanii śpimy w [[hotelu Schluga|Nocleg]] - to ten obok podświetlonego krzesełka. Pod linkiem w poprzednim zdaniu znajdziesz mapę oraz opis dojazdu.

Dodałem zakładkę z informacji o naszym wyjeździe do Toskanii, można ją znaleźć w menu po lewej stronie lub klikając [[na ten link|Oboz2011]].
<<tiddler [[Gdziejeździć2011?]]>>
Zostało jeszcze: <<reminder month:4 day:13 year:2012 title:"@@color(red):Toskania 2012@@">>
<<tiddler [[OBÓZ 2012]]>>
Ustaliliśmy następujący podział na samochody:
# Busik z rowerami - do ustalenia miejsce i data oddania rowerów
## Leszek Makowski
## Krzysztof Gernand
#  Osobówka A
## Witek Krajewski
## Marcin Niewola
## Robert Rosiak
## Radek Staroń
# Osobówka B
## Sławek Rubin
## Sebastian Rubin
## Wojtek Kowalski
# Osobówka C
## Darek Leduchowski
## Jurek Bylicki
## Grzesiek Zimoń
# Osobówka D
## Andrzej Kulik
## Grzesiek Wójcicki
Pozostali tj.
* Maciek Greger
* Rysiek Mamos
* Krzysiek Franiak
jadą pojedyńczo
*Poruszanie się po stronie jest podobne jak w Wikipedii, gdzie [[takie podświetlenie|http://www.cyklomaniak.pl/]] oznacza link do strony zewnętrznej - otworzy się nowe okno/karta w przeglądarce. Natomiast [[takie podświetlenie|Wstęp]] oznacza ~WikiSłowo, czyli po kliknięciu wyświetli się kolejna informacja na tej stronie. 
*Dodałem również możliwość komentowania tekstów. Na dole tekstów znajduje się przycisk:
**| [[Dodaj komentarz|Komentarze]] | - po kliknięciu otworzy się miejsce, gdzie można wpisać swój komentarz. Zapraszam do komentowania.
*Po prawej stronie w zakładce ''Dziennik'' jest widoczna historia zmian, więc łatwo zauważyć czy coś zostało dodane od ostatniej wizyty, natomiast na górze będę umieszczał przyciski do najważniejszych informacji. 
*Na stronach powklejane są mapy Google, myślę, że obsługa tych map nie będzie problemem.
*Przy każdym tekście pojawia się tzw. ''tag'', znacznik kategorii. Jeśli klikniesz na to prawym klawiszem myszy to możesz otworzyć dowolny tekst, który ma ten sam ''tag''.
*Najlepiej oglądać stronę w [[Firefoxie|http://www.mozilla-europe.org/pl/products/firefox/]]. 
!Jaroszki (wg Sebastiana)
Wyniki
#Młody Fornal 
#Leduchator Starszy 
#Jerzy "Bilu" Bylicki
Od startu, czyli od kościoła poszedł gaz i tak było do końca. Prosta do odbicia w lewo za Kurowicami była niewdzięczna. Wiało do lewej, co przy samochodach znad przeciwka stanowiło pewien problem. Tym bardziej, że wiatr był wyrazisty,a szybkość konkretna (średnia na tym kawałku 42,5 km/h). 

Dalej po odbiciu w lewo poszedł jeszcze większy gaz (średnia do przejazdu 43,7 km/h), bo wiatr zawiał w plecy (skubaniec świdrował i czasami zawiewał z boku). Poszła pierwsza wymiana ognia. W ten też sposób wyklarowała się ciekawa ucieczka; Baltona, Chała, Specialized, Olson, Tomek Farciarz i jeszcze jedna osoba (Sosenka?), ale teraz niestety nie mogę przypomnieć któż to był (pominiętego przepraszam, lecz pamięć w beztlenach potrafi szwankować). Banalne zrządzenie losu - zamknięty przejazd - zniweczył ich trud. Co prawda chcieliśmy grać fair i ich puścić po przejeździe kolejowym, ale to już nie było to. Wszystko się zjechało. 

Wyjechaliśmy na prostą w kierunku Brzezin. Jechaliśmy w miarę zgodnie bez większych skoków (średnia 42,25 km/h). Następnie odbicie w prawo i kawałek szybkiego fragmentu (tam gdzie jest położony nowy asfalt). Wiało do lewej i zaczął Leduch, rozkręcając do 50 km/h. Zaraz po nim poszedł Liwina, ja, Chała i gdzieś przewinął się Ziółek, który za moment strasznie cierpiał,a finalnie złapał gumę. Gaz szedł do skrzyżowania na którym skręcamy w lewo na Brzeziny - średnia 49 km/h, a maksymalna 60 km/h. Oj ciężko tam było. Ostatni odcinek do Brzezin był cholernie niewdzięczny. Wiało do prawej, było już lekkie ogłuszenie po wcześniejszych wprawkach, a tempo wciąż wysokie. Solidne zmiany na podwójnym, zebrały swoje żniwo. To właśnie na tym odcinku kilka osób odpadło, a kilka dostało silny cios na szczękę. Średnia nie kłamie 45,57 km/h. Moim zdaniem właśnie ten kawałek upuścił wiele krwi. Tego nie czuło się od razu, ale obciążenie organizmu (przynajmniej mojego) okazało się bardzo duże. Tyle, że rachunek przyszedł później. Z drugiej strony muszę podkreślić, że od odbicia w prawo na ładny asfalt (tam gdzie rozkręcił Leduch), aż do Brzezin - uwzględniając hamowanie na skrzyżowaniu - średnia prędkość wyniosła 45,95. Naprawdę szybko, bardzo szybko. Dlatego też po przejechaniu Brzezin było w miarę spokojnie. 

Za Henrykowem kolejny raz samodzielnie uciekał Chała (piszę kolejny, bo liczenie skoków Pawła jest po prostu niemożliwe), ale nie wywołało to większego zamieszania. Po odbiciu w Kołacinie w lewo, załapaliśmy niesprzyjający wiatr i tak już było do mety. Dodatkowo znacznie się ochłodziło, co sumarycznie dało znacznie gorsze warunki do jazdy. W połączeniu z wcześniejszymi harcami sił jakby ubyło i nie bardzo było z czego jechać. Do Syberii cierpiałem notując maksymalne tętno 196, o czym wspominałem wczoraj. Średnia od odbicia w lewo w Kołacinie do Łącznika 39 km/h, co moim zdaniem jest dobrym wynikiem uwzględniając warunki jakie panowały i uprzednie szaleństwa. Dalej szło bez większych zaprawień, aż do drogi Łódź-Brzeziny. Jaroszki wjechane wyjątkowo spokojnie, do czego bez wątpienia przyczynił się czołowy wiatr. Skutecznie zniechęcał do podejmowania akcji zaczepnych. To właśnie na tym blisko 10 km odcinku tempo bardzo spadło. Średnia raptem 36,15 km/h i wszystko jasne. Po przecięciu drogi Łódź-Brzeziny skutecznie wyhamowała nas ciężarówka (nie pierwszy raz tego dnia). Hopka spokojnie i zakręt w lewo. Zawiało do lewej, sprzyjająco. Szaleńczo pociągnął Olson, później Baltona, poprawił Chała, a ja już byłem w stanie jedynie przekręcić nogami - tam solidnie dostałem do czaszkę. Na krótkim odcinku do następnego zakrętu w lewo osiągnęliśmy średnią 48,23 km/h. Później znów lekkie popuszczenie. Choć czasami 50 km/h pojawiało się na liczniku. Następnie dojechaliśmy do głównej drogi na Andrespol. Skoczył Olson, który zrobił niezłą przewagę, którą powiększał na Adamowie. Kolejny skok oddał Chała kasując Olka. Ta akcja wywołała najwięcej kontrowersji po mecie. Poszła garść mocnych słów.

Do mety szarpane tempo, ale na około 2-1,5 km do mety Leszek Fornal dał mocną zmianę, rozkręcając do 53 km/h. Finisz to już dwa pojedynki; ~Fornal-Leduch oraz ~Bill-Sosenka. Młody Fornal wygrał w asyście okrzyków rozpaczy Olsona
! Jesienne mistrzostwa
* 10 października (niedziela) - Strykowska{{diff{
Wyniki
#Ziółek
#Jędrzej
#Młody Omiot
}}}
* 26 września (niedziela) - Rzgowska{{diff{
Wyniki
# Leduchator
# Młody Omiot
# Misza
}}}
* 22 września (środa) - Jaroszki{{diff{
Wyniki
#Misza
#Bilu
#Ziółek
}}}
* 11 września (sobota) - Kasztany (po starej trasie z metą w Kalonce){{diff{
Wyniki
# Misza - przyczajony tygrys, ukryty smok wreszcie zaatakował z sukcesem. i to jak!
# Młody Omiot - z pabianickiego Rock Racing
# Chała - jak zawsze bardzo pracowity
[[Zdjęcia tutaj|http://picasaweb.google.pl/AnnaSPYK/20100911#]]
}}}

Zaliczkę można wpłacić w każdym oddziale Multibanku, który posiada kasę. Listę oddziałów Multibanku znajdziesz [[tutaj|http://www.multibank.pl/dostep_do_uslug/]]. 
UWAGA: @@wpłaty dokonujemy w euro!@@
Szczegóły rachunku: Andrzej Kulik nr konta : 40 1140 2017 0000 4012 0069 1410 
Tytuł wpłaty: Twoje imię i nazwisko - Toskania 2013
* [[Koszulka przód]]
* [[Koszulka tył]]
* [[Koszulka bok]]
* [[Koszulka Bok]]
Lista uczestników Gran Fondo
# Dariusz Leduchowski POL19611202
# Sebastian Rubin POL19770619
# Witold Krajewski POL19710130
# Jerzy Bylicki POL19501226
# Andrzej Kulik POL19630209
# Grzegorz Wójcicki POL19570707
# Maciej Greger POL19760528
# Marcin Niewola POL19750724
# Leszek Makowski POL19621002
# Krzysztof Gernand POL19590821
# Grzegorz Zimoń POL19620106
# Ryszard Mamos POL19471003
# Robert Rosiak POL19700628
*Busik Boksera
**Bokser
**Sosenka
*Beemka Witka
**Witek
**Szałap
**Ziomuś
**Gibana
*Merc Bastka
**Bastek
**Kowal
**Burchardino
**Hubertus
*Vito 
**Bilu
**Sławek
**Myszka
**Franek
*Toyota Andrzeja
**Andrzej
**Antek
**Jarek
**Grzesiek
*Audik Leducha
**Leduch
**Artur
**Duży Adam
**Pekaes
*Bejca
**Maciek

*[[Dodaj komentarz|Komentarze]]
#Apartament AA
##SOSENKA
##BURCHARDT
##REBZDA
##ANTEK
#Apartament BB
##RUBIN
##RUBIN
##KOWAL
##BILU
#Apartament CC
##LEDUCH
##BOKSER
##FRANIAK
##MYSZKOWSKI
#Apartament DD
##ANDRZEJ
##BARTOSZEWICZ
##JAREK
##GRZESIEK
#Apartament EE
##DUZY ADAM
##SZAŁAP
##CIESIELSKI
##PEKAES
#Apartament FF
##KRAJEWSKI
##GIBANA
##GREGER

*[[Dodaj komentarz|Komentarze]]

!La Sasseta & La Sassa
!!Mapa z Google
<html>
<iframe width="800" height="600" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="http://maps.google.com/maps/ms?ie=UTF8&amp;hl=pl&amp;s=AARTsJog32m6kxKY9dOI0ROMrCnHZIlVFQ&amp;msa=0&amp;msid=116762684813621878640.0004466168c471d7bba49&amp;ll=43.19967,10.549622&amp;spn=0.300327,0.549316&amp;z=11&amp;output=embed"></iframe><br /><small><a href="http://maps.google.com/maps/ms?ie=UTF8&amp;hl=pl&amp;msa=0&amp;msid=116762684813621878640.0004466168c471d7bba49&amp;ll=43.19967,10.549622&amp;spn=0.300327,0.549316&amp;z=11&amp;source=embed" style="color:#0000FF;text-align:left">Wyświetl większą mapę</a></small>
</html>
Na bieżąco będę dodawał ciekawe linki o Toskanii. Czekam na wasze propozycje!

*[[Strona (po włosku) o riwierze etruskiej  tam gdzie będziemy|http://www.costadeglietruschi.it/toscana_mediterranea/agenzia_costa_degli_etruschi.asp]]
*[[Maraton rowerowy po okolicach Ceciny (02.03.08)|http://www.ciclisticacecina.com/]]
*[[Gran Premio Costa degli Etruschi (jeden z pierwszych wyścigów sezonu we Włoszech)|http://www.comune.san-vincenzo.li.it/eventi/corsa_ciclistica/corsa_ciclistica.htm]]
*[[Trofeo Costa Etrusca (dwuetapowy wyścig kobiet)|http://www.ciclismoarosignano.it/xii_trofeo_c_etrusca.htm]]
10 grudnia 2014 //Gazzetta dello Sport// opublikowała listę klientów doktora Ferrari:

Leonardo Bertagnolli, Simone Boifava, Diego Caccia, Enrico Franzoi, Marco Frapporti, Omar Lombardi, Fabrizio Macchi, Marco Marcato, Andrea Masciarelli, Francesco Masciarelli, Simone Masciarelli, Daniele Pietropolli, Morris Possoni, Filippo Pozzato, Alessandro Proni, Michele Scarponi, Francesco Tizza, Giovanni Visconti, Ricardo Pichetta, Andrea Vaccher, Mauricio Ardila, Volodymyr Bileka, Borut Bozic, Maxim Gourov, Vladimir Gusev, Valentin Iglinskiy, Sergei Ivanov, Vladimir Karpets, Aleksander Kolobnev, Dimitri Kozontchuk, Roman Kreuziger, Denis Menchov (Rus), Evgeni Petrov, Yaroslav Popovych, José Joaquin Rojas (Spa), Ivan Rovny, Egor Silin, Alexandre Vinokourov.

[[Powrót|Wstęp]]
/***
|''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);
}
//}}}
<<tiddler spis1>>
----
<<tiddler [[NoticeBoard]]>>
<<search>>


       



<html><iframe width="640" height="480" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="http://maps.google.com/maps/ms?ie=UTF8&amp;hl=pl&amp;s=AARTsJrbQhPkrjhchtMjTRWPYqNZsdTfcg&amp;msa=0&amp;msid=116762684813621878640.0004587c7a3dd04c5c0af&amp;ll=43.488798,11.065979&amp;spn=0.95648,1.757813&amp;z=9&amp;output=embed"></iframe><br /><small><a href="http://maps.google.com/maps/ms?ie=UTF8&amp;hl=pl&amp;msa=0&amp;msid=116762684813621878640.0004587c7a3dd04c5c0af&amp;ll=43.488798,11.065979&amp;spn=0.95648,1.757813&amp;z=9&amp;source=embed" style="color:#0000FF;text-align:left">Wyświetl większą mapę</a></small></html>
Niestety nie mam mapy Umbrii i Lacjum, tylko Toskanii. No ale to co mam zeskanowałem i poniżej znajdziecie linki do plików z mapami:
* [[Mapa 1:300.000 w kolorze (7.0MB)|http://www.mini.pw.edu.pl/~akulik/docs/mapa1.jpg ]]
* [[Mapa czarno-biała cz.1 (4.4MB)|http://www.mini.pw.edu.pl/~akulik/docs/mapa2a.jpg ]]
* [[Mapa czarno-biała cz.2 (4.5MB)|http://www.mini.pw.edu.pl/~akulik/docs/mapa2b.jpg ]]
Najedź na link i skorzystaj z opcji ''Zapisz jako''
<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
try {
var pageTracker = _gat._getTracker("UA-4606026-1");
pageTracker._trackPageview();
} catch(err) {}</script>
<link rel='alternate' type='application/rss+xml' title='RSS' href='index.xml'>

<style type="text/css">#contentWrapper {display:none;}</style><div id="SplashScreen" style="border: 3px solid #ccc; display: block; text-align: center; width: 320px; margin: 100px auto; padding: 50px; color:#000; font-size: 28px; font-family:Tahoma; background-color:#eee;"><b>Maniacy w Calpe</b> czekaj <blink>...</blink><br><br><span style="font-size: 14px; color:red;">17-27 marca 2018</span></div>


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

<style type="text/css">#contentWrapper {display:none;}</style><div id="SplashScreen" style="border: 3px solid #ccc; display: block; text-align: center; width: 320px; margin: 100px auto; padding: 50px; color:#000; font-size: 28px; font-family:Tahoma; background-color:#eee;"><b>Maniacy w Toskanii 2011</b> czekaj <blink>...</blink><br><br><span style="font-size: 14px; color:red;">Wymaga Javascript, korzystaj z Firefoxa.</span></div>
!Medio Fondo
!!Mapa
<html><iframe width="500" height="800" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="http://maps.google.com/maps/ms?ie=UTF8&amp;hl=en&amp;s=AARTsJpIvmPah5XkHqUmTnYaULyodRav3Q&amp;msa=0&amp;msid=116762684813621878640.00044c38ef7c122eb528b&amp;ll=43.508721,10.59803&amp;spn=0.199201,0.171661&amp;z=12&amp;output=embed"></iframe><br /><small><a href="http://maps.google.com/maps/ms?ie=UTF8&amp;hl=en&amp;msa=0&amp;msid=116762684813621878640.00044c38ef7c122eb528b&amp;ll=43.508721,10.59803&amp;spn=0.199201,0.171661&amp;z=12&amp;source=embed" style="color:#0000FF;text-align:left">View Larger Map</a></small></html>
!!Profil trasy
<html><a href="http://picasaweb.google.co.uk/andrzej.kulik/Toskania2008TiddlyspotCom/photo#5191381290677215186"><img src="http://lh3.ggpht.com/andrzej.kulik/SAt9x1xsn9I/AAAAAAAAARk/D1En696wKY0/s800/fondo.jpg" /></a></html>
! Mistrzostwa
* Mistrzostwa Kalonki - sobota, 12 września (zatwierdzone przez Leszka "Boksera"). Starta pod Kasztanami o 10.15
* Mistrzostwa Jaroszek - środa, 16 września (zatwierdzone przez Leducha). Start w Wiskitnie 16.15
* Mistrzostwa Rzgowskiej - niedziela, 20 września (do potwierdzenia przez organizatorów - Sławek/Jurek). Start Rzgowska 10.15
* Mistrzostwa Strykowskiej - niedziela, 27 września (potwierdzone). Start pod apteką na Strykowskiej o 10.15
!Mistrzostwa 2012
Zbliża się jesień, więc nadchodzi czas tradycyjnych Szosowych Mistrzostw Łodzi (i okolic). Terminarz wygląda następująco:
# Mistrzostwa Strykowskiej, Niedziela 9/9/2012 godz. 10.00 na Strykowskiej przy Aptece. 
##[[Sprawozdanie|Strykowska]]
##[[Zdjęcia|http://tinyurl.com/9d2ch4w]]
##[[Film|http://youtu.be/mFWnpMpaF48]]
# Mistrzostwa Jaroszek, Środa 12/9/2012 godz. 16.15 Wiskitno (termin rezerwowy – 19/10/2012)
## Mapka i przekrój trasy: http://connect.garmin.com/player/219452576.
## [[Sprawozdanie|Jaroszki12]]
# Mistrzostwa Kasztanów, Sobota 15/9/2012 godz. 10.15 róg Julianowskiej i Zgierskiej (termin rezerwowy – 22/9/2012)
# Mistrzostwa Rzgowskiej, Niedziela 30/9/2012 godz. 10.15 róg Rzgowskiej, Śląskiej i Bankowej
##''Ścigamy się od Kerakollu. Jedziemy normalną trasą niedzielną. NIE wracamy do Tuszyna! Zakończenie w Gospodarzu w Barze RARYTAS''
----
<<tiddler [[Jaroszki12]]>>
!Mistrzostwa jesieni
18.09 Memoriał Adama (Jaroszki) 
# LEDUCH
# DOMINIK
# JĘDRZEJ
# WITEK
# CHAŁA
21.09 Kasztany
# OLSON
# JĘDRZEJ
# LEDUCH
# BILU (absolutny gigant)
# ZIÓŁEK
# MAREK BOGUSIAK
29.09 Rzgowska
<<closeAll>><<newTiddler>><<saveChanges>><<tiddler TspotSidebar>><<slider chkSliderOptionsPanel OptionsPanel "options »" "Change TiddlyWiki advanced options">>

!Podere Incrociati
Według mnie [[willa|http://www.podereincrociati.it]] jest położona wysoko na jakiś 500m (SOVICILLE). Co dla okolic Sienny oznacza bardzo wysoko. Spytałem się o to i odpowiedź:
//All the area around Siena is hill. It depends on your what you mean for uphill, usually i use my mtb but the road is not binding; only one side of the hill is more hard, but it is really wonderful, you can see the valley around, Cetinale and Val d'orcia. The villa is at the top of a hill but there are many roads nad paths that arrive there.//
Poza tym
Homelidays #179010
Thanks a lot to have contact us for your vacation in Tuscany.
Our villa is placed near Siena in Montagnola Senese. The place is very famous and well-known for trip with bikes (bikes and mtb). Anyway, i'll answer to your questions below:
# The road is paved. A lot of paths  start from the villa towards country, wood and towards normal ways.
# About 5 km.  There is no highway towards Siena, but a standard road. The time is about 10 minutes.
# There are 2 apartments. One has 5 bedrooms, and each one has its own bathroom. The other apartment  has 4 bedrooms with 3 bathrooms. If you want, we can separate the beds for you.
# See above (3).
# Yes, there is  TV SAT. I do not remember if  you can see Eurosport channel in particular, but i think soo.
# There is a wide car park.
# It depends on the weather. It could be necessary, but usually the season at the end of april is warm.  If needed, the cost is 75 euro per day for the whole villa.
# There are trattorias at 5 km from the villa.
# The price for the whole villa is 1800 euro, for a week.
# I can say that the place is wonderful and relaxing. And there are many trips to do by bike, towards Val d'orcia, towards Siena,   towards San Gimignano, towards the sea, really a lot....i can say that because i love bikes (mtb) and cycling myself 
! Monte Camaldoli
W czwartek z solenizantem Jurkiem Bylickim zaliczyliśmy [[podjazd z Pratovecchio do Monte Camaldoli|http://www.salite.ch/8482.asp]], który w opinii uczestników był najtrudniejszym podjazdem. Początek jest niewinny, ale zaraz po wyjechaniu z Lonnano jest koniec żartów. Na serpentynach nachylenie dochodzi do 15%, podczas niektórych kilometrów średnie nachylenie przekracza 10% (!), a do tego długość też robi swoje. Podjazd ma ponad 13 km. Dobrze się jest zaopatrzyć w kasetę z 25 ząbkami. Trasa liczyła 82 km, ale było 1700 m przewyższenia!
<html><iframe width="800" height="600" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="http://maps.google.com/maps/ms?ie=UTF8&amp;hl=pl&amp;msa=0&amp;msid=116762684813621878640.00046aad44a472a12f3b6&amp;ll=43.76192,11.810646&amp;spn=0.148773,0.274658&amp;z=12&amp;output=embed"></iframe><br /><small>Pokaż <a href="http://maps.google.com/maps/ms?ie=UTF8&amp;hl=pl&amp;msa=0&amp;msid=116762684813621878640.00046aad44a472a12f3b6&amp;ll=43.76192,11.810646&amp;spn=0.148773,0.274658&amp;z=12&amp;source=embed" style="color:#0000FF;text-align:left">Camaldoli</a> na większej mapie</small></html>
! Alberto i inni kozacy
Rysunek pokazuje jak szybko można się wspinać (pokonana różnica wysokości na godzinę)
[img[http://img198.imageshack.us/img198/2526/top2bclimbs2blist.gif]]
/***
''NestedSlidersPlugin for TiddlyWiki version 1.2.x and 2.0''
^^author: Eric Shulman
source: http://www.TiddlyTools.com/#NestedSlidersPlugin
license: [[Creative Commons Attribution-ShareAlike 2.5 License|http://creativecommons.org/licenses/by-sa/2.5/]]^^

Quickly make any tiddler content into an expandable 'slider' panel, without needing to create a separate tiddler to contain the slider content.  Optional syntax allows ''default to open'', ''custom button label/tooltip'' and ''automatic blockquote formatting.''

You can also 'nest' these sliders as deep as you like (see complex nesting example below), so that expandable 'tree-like' hierarchical displays can be created.  This is most useful when converting existing in-line text content to create in-line annotations, footnotes, context-sensitive help, or other subordinate information displays.

For more details, please click on a section headline below:
++++!!!!![Configuration]>
Debugging messages for 'lazy sliders' deferred rendering:
<<option chkDebugLazySliderDefer>> show debugging alert when deferring slider rendering
<<option chkDebugLazySliderRender>> show debugging alert when deferred slider is actually rendered
===
++++!!!!![Usage]>
When installed, this plugin adds new wiki syntax for embedding 'slider' panels directly into tiddler content.  Use {{{+++}}} and {{{===}}} to delimit the slider content.  Additional optional syntax elements let you specify
*default to open
*cookiename
*heading level
*floater
*rollover
*custom label/tooltip
*automatic blockquote
*deferred rendering
The complete syntax, using all options, is:
//{{{
++++(cookiename)!!!!!^*[label|tooltip]>...
content goes here
===
//}}}
where:
* {{{+++}}} (or {{{++++}}}) and {{{===}}}^^
marks the start and end of the slider definition, respectively.  When the extra {{{+}}} is used, the slider will be open when initially displayed.^^
* {{{(cookiename)}}}^^
saves the slider opened/closed state, and restores this state whenever the slider is re-rendered.^^
* {{{!}}} through {{{!!!!!}}}^^
displays the slider label using a formatted headline (Hn) style instead of a button/link style^^
* {{{"^"}}} //(without the quotes)//^^
makes the slider 'float' on top of other content rather than shifting that content downward^^
* {{{"*"}}} //(without the quotes)//^^
automatically opens/closes slider on "rollover" as well as when clicked^^
* {{{[label]}}} or {{{[label|tooltip]}}}^^
uses custom label/tooltip.  (defaults are: ">" (more) and "<" (less)^^
* {{{">"}}} //(without the quotes)//^^
automatically adds blockquote formatting to slider content^^
* {{{"..."}}} //(without the quotes)//^^
defers rendering of closed sliders until the first time they are opened.  //Note: deferred rendering may produce unexpected results in some cases.  Use with care.//^^

//Note: to make slider definitions easier to read and recognize when editing a tiddler, newlines immediately following the {{{+++}}} 'start slider' or preceding the {{{===}}} 'end slider' sequence are automatically supressed so that excess whitespace is eliminated from the output.//
===
++++!!!!![Examples]>
simple in-line slider: 
{{{
+++
   content
===
}}}
+++
   content
===
----
use a custom label and tooltip: 
{{{
+++[label|tooltip]
   content
===
}}}
+++[label|tooltip]
   content
===
----
content automatically blockquoted: 
{{{
+++>
   content
===
}}}
+++>
   content
===
----
all options combined //(default open, cookie, heading, floater, rollover, label/tooltip, blockquoted, deferred)//
{{{
++++(testcookie)!!!^*[label|tooltip]>...
   content
===
}}}
++++(testcookie)!!!^*[label|tooltip]>...
   content
===
----
complex nesting example:
{{{
+++^[get info...|click for information]
   put some general information here, plus a floating slider with more specific info:
   +++^[view details...|click for details]
      put some detail here, which could include a rollover with a +++^*[glossary definition]explaining technical terms===
   ===
===
}}}
+++^[get info...|click for information]
   put some general information here, plus a floating slider with more specific info:
   +++^[view details...|click for details]
      put some detail here, which could include a rollover with a +++^*[glossary definition]explaining technical terms===
   ===
===
----
nested floaters
>menu: <<tiddler NestedSlidersExample>>
(see [[NestedSlidersExample]] for definition)
----
===
+++!!!!![Installation]>
import (or copy/paste) the following tiddlers into your document:
''NestedSlidersPlugin'' (tagged with <<tag systemConfig>>)
===
+++!!!!![Revision History]>

++++[2006.02.16 - 1.7.7]
corrected deferred rendering to account for use-case where show/hide state is tracked in a cookie
===

++++[2006.02.15 - 1.7.6]
in adjustSliderPos(), ensure that floating panel is positioned completely within the browser window (i.e., does not go beyond the right edge of the browser window)
===

++++[2006.02.04 - 1.7.5]
add 'var' to unintended global variable declarations to avoid FireFox 1.5.0.1 crash bug when assigning to globals
===

++++[2006.01.18 - 1.7.4]
only define adjustSliderPos() function if it has not already been provided by another plugin.  This lets other plugins 'hijack' the function even when they are loaded first.
===

++++[2006.01.16 - 1.7.3]
added adjustSliderPos(place,btn,panel,panelClass) function to permit specialized logic for placement of floating panels.  While it provides improved placement for many uses of floating panels, it exhibits a relative offset positioning error when used within *nested* floating panels.  Short-term workaround is to only adjust the position for 'top-level' floaters.
===

++++[2006.01.16 - 1.7.2]
added button property to slider panel elements so that slider panel can tell which button it belongs to.  Also, re-activated and corrected animation handling so that nested sliders aren't clipped by hijacking Slider.prototype.stop so that "overflow:hidden" can be reset to "overflow:visible" after animation ends
===

++++[2006.01.14 - 1.7.1]
added optional "^" syntax for floating panels.  Defines new CSS class, ".floatingPanel", as an alternative for standard in-line ".sliderPanel" styles.
===

++++[2006.01.14 - 1.7.0]
added optional "*" syntax for rollover handling to show/hide slider without requiring a click (Based on a suggestion by tw4efl)
===

+++[2006.01.03 - 1.6.2]
When using optional "!" heading style, instead of creating a clickable "Hn" element, create an "A" element inside the "Hn" element.  (allows click-through in SlideShowPlugin, which captures nearly all click events, except for hyperlinks)
===

+++[2005.12.15 - 1.6.1]
added optional "..." syntax to invoke deferred ('lazy') rendering for initially hidden sliders
removed checkbox option for 'global' application of lazy sliders
===

+++[2005.11.25 - 1.6.0]
added optional handling for 'lazy sliders' (deferred rendering for initially hidden sliders)
===

+++[2005.11.21 - 1.5.1]
revised regular expressions: if present, a single newline //preceding// and/or //following// a slider definition will be suppressed so start/end syntax can be place on separate lines in the tiddler 'source' for improved readability.  Similarly, any whitespace (newlines, tabs, spaces, etc.) trailing the 'start slider' syntax or preceding the 'end slider' syntax is also suppressed.
===

+++[2005.11.20 - 1.5.0]
   added (cookiename) syntax for optional tracking and restoring of slider open/close state
===

+++[2005.11.11 - 1.4.0]
   added !!!!! syntax to render slider label as a header (Hn) style instead of a button/link style
===

+++[2005.11.07 - 1.3.0]
   removed alternative syntax {{{(((}}} and {{{)))}}} (so they can be used by other
   formatting extensions) and simplified/improved regular expressions to trim multiple excess newlines
===

+++[2005.11.05 - 1.2.1]
   changed name to NestedSlidersPlugin
   more documentation
===

+++[2005.11.04 - 1.2.0]
   added alternative character-mode syntax {{{(((}}} and {{{)))}}}
   tweaked "eat newlines" logic for line-mode {{{+++}}} and {{{===}}} syntax
===

+++[2005.11.03 - 1.1.1]
   fixed toggling of default tooltips ("more..." and "less...") when a non-default button label is used
   code cleanup, added documentation
===

+++[2005.11.03 - 1.1.0]
   changed delimiter syntax from {{{(((}}} and {{{)))}}} to {{{+++}}} and {{{===}}}
   changed name to EasySlidersPlugin
===

+++[2005.11.03 - 1.0.0]
   initial public release
===

===
+++!!!!![Credits]>
This feature was implemented by EricShulman from [[ELS Design Studios|http:/www.elsdesign.com]] with research, programming and suggestions from RodneyGomes, GeoffSlocock, and PaulPetterson
===
***/
// //+++!!!!![Code]
//{{{
version.extensions.nestedSliders = {major: 1, minor: 7, revision: 7, date: new Date(2006,2,16)};
//}}}

//{{{
// options for deferred rendering of sliders that are not initially displayed
if (config.options.chkDebugLazySliderDefer==undefined) config.options.chkDebugLazySliderDefer=false;
if (config.options.chkDebugLazySliderRender==undefined) config.options.chkDebugLazySliderRender=false;

// 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");
//}}}

//{{{
config.formatters.push( {
	name: "nestedSliders",
	match: "\\n?\\+{3}",
	terminator: "\\s*\\={3}\\n?",
	lookahead: "\\n?\\+{3}(\\+)?(\\([^\\)]*\\))?(\\!*)?(\\^)?(\\*)?(\\[[^\\]]*\\])?(\\>)?(\\.\\.\\.)?\\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)
			{
				// location for rendering button and panel
				var place=w.output;

				// default to closed, no cookie
				var show="none"; var title=">"; var tooltip="show"; var cookie="";

				// extra "+", default to open
				if (lookaheadMatch[1])
					{ show="block"; title="<"; tooltip="hide"; }

				// cookie, use saved open/closed state
				if (lookaheadMatch[2]) {
					cookie=lookaheadMatch[2].trim().substr(1,lookaheadMatch[2].length-2);
					cookie="chkSlider"+cookie;
					if (config.options[cookie]==undefined)
						{ config.options[cookie] = (show=="block") }
					if (config.options[cookie])
						{ show="block"; title="<"; tooltip="hide"; }
					else
						{ show="none"; title=">"; tooltip="show"; }
				}

				// custom label/tooltip
				if (lookaheadMatch[6]) {
					title = lookaheadMatch[6].trim().substr(1,lookaheadMatch[6].length-2);
					var pos=title.indexOf("|");
					if (pos!=-1)
						{ tooltip = title.substr(pos+1,title.length); title = title.substr(0,pos); }
					else
						{ tooltip += " "+title; }
				}

				// create the button
				if (lookaheadMatch[3]) { // use "Hn" header format instead of button/link
					var lvl=(lookaheadMatch[3].length>6)?6:lookaheadMatch[3].length;
					var btn = createTiddlyElement(createTiddlyElement(place,"h"+lvl,null,null,null),"a",null,null,title);
					btn.onclick=onClickNestedSlider;
					btn.setAttribute("href","javascript:;");
					btn.setAttribute("title",tooltip);
				}
				else
					var btn = createTiddlyButton(place,title,tooltip,onClickNestedSlider);
				btn.sliderCookie = cookie; // save the cookiename (if any) in the button object

				// "non-click" MouseOver open/close slider
				if (lookaheadMatch[5]) btn.onmouseover=onClickNestedSlider;

				// create slider panel
				var panelClass=lookaheadMatch[4]?"floatingPanel":"sliderPanel";
				var panel=createTiddlyElement(place,"div",null,panelClass,null);
				panel.style.display = show;
				panel.button = btn; // so the slider panel know which button it belongs to
				btn.sliderPanel=panel;

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

// TBD: ignore 'quoted' delimiters (e.g., "{{{+++foo===}}}" isn't really a slider)
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;
}
//}}}

//{{{
function onClickNestedSlider(e)
{
	if (!e) var e = window.event;
	var theTarget = resolveTarget(e);
	var theLabel = theTarget.firstChild.data;
	var theSlider = theTarget.sliderPanel
	var isOpen = theSlider.style.display!="none";
	// if using default button labels, toggle labels
	if (theLabel==">") theTarget.firstChild.data = "<";
	else if (theLabel=="<") theTarget.firstChild.data = ">";
	// if using default tooltips, toggle tooltips
	if (theTarget.getAttribute("title")=="show")
		theTarget.setAttribute("title","hide");
	else if (theTarget.getAttribute("title")=="hide")
		theTarget.setAttribute("title","show");
	if (theTarget.getAttribute("title")=="show "+theLabel)
		theTarget.setAttribute("title","hide "+theLabel);
	else if (theTarget.getAttribute("title")=="hide "+theLabel)
		theTarget.setAttribute("title","show "+theLabel);
	// deferred rendering (if needed)
	if (theSlider.getAttribute("rendered")=="false") {
		if (config.options.chkDebugLazySliderRender)
			alert("rendering '"+theLabel+"':\n\n"+theSlider.getAttribute("raw"));
		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)
		anim.startAnimating(new Slider(theSlider,!isOpen,e.shiftKey || e.altKey,"none"));
	else
		theSlider.style.display = isOpen ? "none" : "block";
	if (this.sliderCookie && this.sliderCookie.length)
		{ config.options[this.sliderCookie]=!isOpen; saveOptionCookie(this.sliderCookie); }
	// align slider/floater position with target button
	adjustSliderPos(theSlider.parentNode,theTarget,theSlider,theSlider.className);
	return false;
}

// hijack animation handler 'stop' handler so overflow is visible after animation has completed
Slider.prototype.coreStop = Slider.prototype.stop;
Slider.prototype.stop = function() { this.coreStop(); this.element.style.overflow = "visible"; }

// adjust panel position based on button position
if (window.adjustSliderPos==undefined) window.adjustSliderPos=function(place,btn,panel,panelClass) {
	///////////////////////////////////////////////////////////////////////////////
	/// EXPERIMENTAL HACK - WORKS IN SOME CASES, NOT IN OTHERS
	///////////////////////////////////////////////////////////////////////////////
	// "if this panel is floating and the parent is not also a floating panel"...
	if (panelClass=="floatingPanel" && place.className!="floatingPanel") {
		var left=0; var top=btn.offsetHeight;
		if (place.style.position!="relative") { left+=findPosX(btn); top+=findPosY(btn); }
		if (left+panel.offsetWidth > getWindowWidth()) left=getWindowWidth()-panel.offsetWidth-10;
		panel.style.left=left+"px"; panel.style.top=top+"px";
	}
}

function getWindowWidth() {
	if(document.width!=undefined)
		return document.width; // moz (FF)
	if(document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) )
		return document.documentElement.clientWidth; // IE6
	if(document.body && ( document.body.clientWidth || document.body.clientHeight ) )
		return document.body.clientWidth; // IE4
	if(window.innerWidth!=undefined)
		return window.innerWidth; // IE - general
	return 0; // unknown
}
//}}}
// //===
<<tiddler [[Medio Fondo]]>>
*Atuty trasy:
** podjazd do [[Fiano|http://www.salite.ch/7662.asp]] (8.1 km, 4.4%)
** podjazd do [[Tereglio|http://www.salite.ch/tereglio.asp]] (9.5 km, 4.5%)
* Wady:
** Do i z Tereglio wracaliśmy tym samym podjazdem. Część z naszej grupy pojechała dalej podjazdem do Casentini. Tam kończy się asfalt i dalej prowadzi szutrowa droga.
<html><iframe width="600" height="1000" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="http://maps.google.com/maps/ms?ie=UTF8&amp;hl=pl&amp;s=AARTsJqyvOYtMtN5zSs-xGAjHmkH-DDQRA&amp;msa=0&amp;msid=116762684813621878640.00045f1d19e23bfca7d11&amp;ll=43.984169,10.515633&amp;spn=0.247032,0.205994&amp;z=12&amp;output=embed"></iframe><br /><small><a href="http://maps.google.com/maps/ms?ie=UTF8&amp;hl=pl&amp;msa=0&amp;msid=116762684813621878640.00045f1d19e23bfca7d11&amp;ll=43.984169,10.515633&amp;spn=0.247032,0.205994&amp;z=12&amp;source=embed" style="color:#0000FF;text-align:left">Wyświetl większą mapę</a></small> </html>
!Nocleg
W drodze do Toskanii będziemy spali w hotelu [[SCHLUGA|http://schluga.kaernten.bz]]. 
!!! Adres
* Uferweg 72
* A-9552 Steindorf am Ossiacher See
!!! Kontakt:
** Tel.: 0043 (0) 4243 796
** Fax.: 0043 (0) 4243 7964
** E-mail: ghschlugasee@aon.at
!!! Jak dojechać?
Autostradą ''A2'' po 50 km od Wiednia skręcamy na drogę szybkiego ruchu ''S6'' w kierunku ''Bruck an der Mur'' i dalej drogą ''S36'' aż do Scheifiling gdzie należy skręcić w ''S37'' na ''Klagenfurt''. Tą drogą dojeżdżamy do St. Veit an der Glan gdzie skręcamy w drogę ''94'' na Feldkirchen i później dalej wzdłuż Ossiacher See. Na początku jeziora jest tartak (powinien być dobrze widoczny, również w nocy, stoi tam pięciometrowe krzesełko) i dalej jak na mapce poniżej. Marker hotelu na mapie jest w dokładnym miejscu gdzie znajduje się hotel.
!!! Alternatywny dojazd 
Autostradą ''A2'' dojeżdżamy do ''Knoten Villach'' (345 km autostrady), gdzie skręcamy na ''A10'' w kierunku na ''Salzburg'' i zjeżdżamy na pierwszym zjeździe ''178'' w kierunku drogi krajowej ''B94''. Kierujemy się na //Feldkirchen// i po około 11 km dojeżdżamy do tartaku (powinien być dobrze widoczny. również w nocy, pięciometrowe krzesełko) i dalej jak na mapce poniżej.
<html>
<iframe width="800" height="600" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="http://maps.google.com/maps/ms?ie=UTF8&amp;hl=pl&amp;t=h&amp;s=AARTsJqfId6DovF9NHYQqU1p20gzwTidrg&amp;msa=0&amp;msid=116762684813621878640.000446744bfbbf263f6ba&amp;ll=46.692695,13.991303&amp;spn=0.008831,0.017166&amp;z=16&amp;output=embed"></iframe><br /><small><a href="http://maps.google.com/maps/ms?ie=UTF8&amp;hl=pl&amp;t=h&amp;msa=0&amp;msid=116762684813621878640.000446744bfbbf263f6ba&amp;ll=46.692695,13.991303&amp;spn=0.008831,0.017166&amp;z=16&amp;source=embed" style="color:#0000FF;text-align:left">Wyświetl większą mapę</a></small>
</html>
! Nocleg 2010

W drodze do Włoch będziemy spali w Haus Hopfgartner, Judendorferstrasse 46a. Jest to sprawdzona lokalizacja (2008) położona blisko autostrady. Gospodyni serwuje śniadanie.

<html><iframe width="800" height="800" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="http://maps.google.com/maps/ms?ie=UTF8&amp;hl=nl&amp;msa=0&amp;msid=116762684813621878640.000482f52e8cac4c147e3&amp;ll=46.586474,13.851528&amp;spn=0.04719,0.068665&amp;z=14&amp;output=embed"></iframe><br /><small><a href="http://maps.google.com/maps/ms?ie=UTF8&amp;hl=nl&amp;msa=0&amp;msid=116762684813621878640.000482f52e8cac4c147e3&amp;ll=46.586474,13.851528&amp;spn=0.04719,0.068665&amp;z=14&amp;source=embed" style="color:#0000FF;text-align:left">HausHopfgartner</a> Pokaż na większej mapie</small></html>
Ostatnia zmiana
03.12.2017
[[http://tinyurl.com/maniacy|http://tinyurl.com/maniacy]]
Nowy Jork robi ogromne wrażenie, jest to metropolia pełną gębą. Czytał człowiek o tych wieżowcach ale chodząc ulicami z dołu to tego nie widać. Ulice są w miarę wąskie. Dopiero jak wjechałem na Empire State na 86 piętro, nawet Pałac Kultury nie ma tylu pięter :) to zobaczyłem ogrom tego miasta. Później jak szedłem np kolo wieżowca Met to z dołu widać tylko zieloną ścianę, a z góry jest to ogromny wieżowiec! Cały dzień chodziłem, w Warszawie przeszedłbym z Ursynowa przez Pragę na Żoliborz, a tutaj tylko wycinek miasta. Wieczorem to tak mnie nogi bolały, że aż dupa bolała. Człowiek jeździ na rowerze i dlatego taki mało przyzwyczajony.

Wrażenie robi ogrom ludzi poruszających się po ulicach i architektura też mi się podoba. Zobaczyłem tylko kawałek miasta, ale naprawdę było rewelacyjnie. Miejscowość godna polecenia.

W końcu koło Central Park doszedłem do sklepu rowerowego. Wypasik nie powiem, wyglądał na butik, tylko drogie rzeczy. Dwie marki Cervelo i Trek a najgorsza grupa to Ultegra. Stał nawet rower na elektrycznym Dura Ace. Do tego wypasione kola Zipp, ale przede wszystkim do traitlonu, dla zwykłych kolarzy były tylko Mavici ale muszę powiedzieć te słabsze Elite. Ogólnie sklep nastawiony na triatlon ponieważ większość rowerów to te do triatlonu z Cervelo P4 i Equinox Treka. Były tez ciemne malowania Treka i na Sramie, ale obiektywnie rower Grześka bardziej mi się podoba. To co rożne było w tych Trekach to kola Bontragera w tym te wysokie Aeolus. Ciuchy to Assos, ale wszystkiego po trochu, żadna pełna kolekcja no i drogo. Koszulka ss.13 za jedyne 300 dolców. Z innych ciuchów Castellini też drogo jak nieszczęście. Dziwne, że nie było najlepszej miejscowej marki Pearl Izumi, których nota bene najdroższe ciuchy tez kosztują prawie 300 papierów.

Bylem też w sklepie Oakleya. Już nie kupowałem kolejnej pary okularów, ale tylko koszulkę z O na przedzie.

Manhattan nie ma w ogóle terenów zielonych oprócz Central Parku. Jeździ tam sporo kolarzy, których oglądałem z uwagą, ale może jeden by się nadawał :) Ciekaw jestem gdzie jeździł Hincapie, który jest z NYC.

Więcej o Nowym Jorku napisał Synuś, który był tam przede mną kilkanaście dni wcześniej. Zainteresowanych zapraszam na jego [[blog poświęcony tej wyprawie|http://www.oskarnyc2009.blogspot.com]]. Tyle wiadomości, że w zasadzie nie trzeba wyjeżdżać :)

Jak pojechałem do Charlottesville do [[pracy|Egzaminator]] to oczywiście odwiedziłem miejscowy sklep rowerowy. Nie było dużego wyboru.  Rowery już nie tak wypasione jak w NYC głownie na 105 większość aluminiowa. Z rzeczy kupiłem sobie ochraniacze na kolana Pearl Izumi i tyle. Zresztą nie mieli tych najbardziej wypasionych ciuchów z serii PRO tylko z serii niżej ELITE.

W Charlottesville wszyscy żyją z uniwersytetu, dużo młodzieży, a miasteczko robi dobre i zadbane wrażenie. No i jest ciepło, nie pada. Jak się dowiedziałem w sklepie miejscowi kolarze jeżdżą oni w pobliskie góry jakieś 30 km i są tam podjazdy po 4 mile, a wiec coś dla Leszka:) poza tym w samym mieście dużo pagórków i na rowerze człowiek na pewno by się zmęczył.
!I po obozie...
Tegoroczny obóz przebiegł bez strat w ludziach i sprzęcie (poszła guma i dętka). Tereny wokół są znakomite. Oto selekcja kilku podjazdów, które zaliczyliśmy:
# Niewątpliwie największy hit i prawdziwy killer [[San Pellegrino in Alpe|http://www.salite.ch/san15.asp]]. Średnie nachylenie 10% oznacza, że cały czas jest 12-13% albo i więcej.
# Niestety naszego podjazdu do domu nie ma na liście, ale można zobaczyć jego najciekawszy kawałek - [[pierwsze sześć kilometrów z tego podjazdu|http://www.salite.ch/grottoro.asp]].
# [[Pizzorne|http://www.salite.ch/pizzorne.asp]] od strony Villa Basilica też jest niezłym podjazdem. Jedzie się go razem z [[Passo del Trebio|http://www.salite.ch/trebbio1.asp]]. Można też jechać od drugiej strony, czego nie zrobiliśmy :)
# Niewinnie wyglądający podjazd do malowniczego miasteczka [[Tereglio|http://www.salite.ch/tereglio1.asp]] z bardzo sztywnymi kawałkami.
# Zaraz po zjeździe do Castelnuovo mieliśmy taką oto [[atrakcję|http://www.salite.ch/formica.asp]].
W zasadzie każdego dnia (poza sobotą) robiliśmy po 2.000 metrów przewyższenia. Profile podjazdów są tylko przybliżeniem tego co było w rzeczywistości. Pozostało jeszcze sporo nieodkrytych dla nas miejsc jak chociażby położony od nas kilkanaście kilometrów ten [[podjazd|http://www.salite.ch/renaio3.asp]] albo wjazd na [[Passo Radici|http://www.salite.ch/radici.asp]].

Koszt obozu wyniósł &euro;300.
* [[Baza|SANT'ANGELO COUNTRY RELAIS]]
* [[Uczestnicy|Zapisy2009]]
* [[Palmares 2009]]
<<tiddler [[Trasy2009]]>>
* [[Dojazd do Austrii|20100408]]
* [[Już na miejscu|20100409]]
* [[Ponura niedziela|20100410]]
* [[Do Orvieto|20100411]]
* [[Citta d Pieve|20100412]]
* [[Pitigliano|20100413]]
* [[Monte Amiata|20100414]]
* [[Montepulciano|20100415]]
* [[Uczestnicy]]
[[Nocleg po drodze|Nocleg]]
[[Baza 2011]]
[[Gdzie jeździć?]]
[[Uczestnicy 2011]]
* [[I po obozie|OBÓZ 2012]]
* [[Uczestnicy|Uczestnicy 2012]]
* [[Baza|Baza 2011]]
* [[Nocleg po drodze|Nocleg]]
!Skradziony rower
Skradziono rower szosowy na osprzęcie Campagnolo Veloce kołach Campagnolo Vento rama karbonowa, ale bez napisów, kierownica, sztyca i mostek RDX. Rower jest cały czarny oprócz kół (czarno-czerwone). Przyjeżdżam często na "kasztany" i "strykowską" więc niektórzy powinni mnie kojarzyć (niebieska koszulka RETO).
Został skradziony w piątek 19 lipca  ok godz 8:00 przy ul. Ruskiej. 
Podaje tel: 519-382-531 w razie gdyby ktoś zauważył
Marcin Kowalow 
<html><a><img src="http://www.mini.pw.edu.pl/~akulik/pic/bike.jpg"  ></a></html>
//{{{
config.options.chkSearchTitles=true;
config.options.chkSearchText=true;
config.options.chkSearchTags=true;
config.options.chkSearchFields=true;
config.options.chkSearchTitlesFirst=false;
config.options.chkSearchList=true;
config.options.chkSearchByDate=false;
config.options.chkSearchIncremental=true;
config.options.chkSearchShadows=false; 
//}}}
<div class='header'>
<div class='titleLine'>
<span class='siteTitle' refresh='content' tiddler='SiteTitle'></span>&nbsp;
<span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>
</div>
</div>
<div id='mainMenu' refresh='content' tiddler='MainMenu'></div>
<div id='sidebar'>
<div macro='gradient vert #ffffff #cc9900'><a> </a><div id='sidebarOptions' refresh='content' tiddler='SideBarOptions'></div>
</div>
<div id='sidebarTabs' refresh='content' force='true' tiddler='SideBarTabs'></div>
</div>
<div id='displayArea'>
<div id='messageArea'></div>
<div id='tiddlerDisplay'></div>
</div>
! Sukcesy uczestników obozu z 2009 roku (miejsca z nagrodami)
Wszelkie korekty mile widziane.
! 26.09.2009 Maków Mazowiecki (czasówka)
!!! Kat II
1. Andrzej Kulik
! 5-6.09.2009 Górskie MP
!!! Kat IVA
3. Sławomir Rubin
!!! Kat IIIB
3. Jerzy Bylicki
!!! Kat IIB
1. Dariusz Leduchowski
!!! Kat I
6. Marcin Niewola

! 30.08.2009 Masters World Championships 
28 ~USA19751226 RUBIN SETH USA
''29 ~POL19770619 RUBIN SEBASTIAN POL''
! 29.08.2009 Masters World Championships 
!!! Kat 59-61
1 77 ~NED19500227 RIBBERS JOOP NED 01:54:08
2 45 ~USA19480704 FULLER KENNY USA 01:54:08 00:00:00
3 40 ~GER19490312 REIS JOSEF GER 01:54:08 00:00:00
4 ''74 ~POL19501226 BYLICKI JERZY POL 01:54:58 00:00:50''
5 60 ~POL19500117 KORCALA KAZIMIERZ POL 01:54:58 00:00:50
!!! Kat 45-49
1 38 ~GER19630826 RAIBLE ARMIN GER 02:38:45
2 26 ~GER19640707 JAEGER CHRISTIAN GER 02:38:45 00:00:00
3 53 ~SUI19620807 SCHNORF PETER SUI 02:38:45 00:00:00
4 103 ~ITA19621129 GAGGIOLI GERMANO ITA 02:38:45 00:00:00
5 45 ~GER19600715 SINSKE AXEL GER 02:38:45 00:00:00
6 153 ~USA19630303 CARTER MICHAEL USA 02:38:45 00:00:00
7 77~EST19640414 KIRSIPUU TOOMAS EST 02:40:44 00:01:59
8 8 ~BEL19611106 VAN ROY LUC BEL 02:40:44 00:01:59
9 59 ~RUS19630713 DEMANOV YURY RUS 02:40:44 00:01:59
10 121 ~GER19640826 KUNATH TORSTEN GER 02:40:44 00:01:59
11 62 ~EST19640706 VIST KALEV EST 02:40:44 00:01:59
12 87 ~ITA19640617 ROSARIO VINICIO ITA 02:40:44 00:01:59
13 88 ~ITA19640217 PASQUINI LUCIANO ITA 02:40:44 00:01:59
14 105 ~SWE19620315 MAGNUSSON ANDERS SWE 02:40:44 00:01:59
15 ''155~POL19611202 LEDUCHOWSKI DARIUSZ POL''
! 22.08.2009 Radweltpokal
1 ''59 BYLICKI JERZY POL 01:57:15''
2 62 KORCALA KAZIMIERZ POL 01:57:15 00:00:00
3 76 HÖVEL HEINRICH GER 01:57:15 00:00:00
4 30 HANSEN SVEND E. DEN 01:57:15 00:00:00
5 45 DEBECKER OMER BEL 01:57:15 00:00:00
6 34 REIS JOSEF GER 01:57:15 00:00:00
7 14 SZCZESNY ZBIGNIEW POL 01:57:15 00:00:00
8 64 MORO GIUSEPPINO ITA 01:57:15 00:00:00
9 39 HRINKOW GERHARD AUT 01:57:15 00:00:00
10 31 DALSANT DINO ITA 01:57:15 00:00:00
11 58 LANGLOIS PATRICK FRA 01:57:15 00:00:00
12 51 BARRAS SID GBR 01:57:15 00:00:00
13 ''60 RUBIN SLAWOMIR POL 01:57:15 00:00:00''
! 09.08.2009 Skierniewice
!!! Kat II i OPEN
1. Dariusz Leduchowski
! 08.08.2009 Klasyk Kłodzki
!!! Kat M3 (MINI)
1. Sebastian Rubin (3 OPEN)
! 02.08.2009 Brodnica
!!! Kat II
3. Dariusz Leduchowski
! 12.07.2009 Głowno
!!! Kat II 
1. Dariusz Leduchowski
!!! Kat III
1. Jerzy Bylicki
! 11.07.2009 Pętla Beskidzka
!!! Kat M3 (151 km)
2. Sebastian Rubin
!!! Kat M6 (MINI)
1. Sławomir Rubin
! 05.07.2009 Truskawkowy Szus
!!! Kat IIB
1. Dariusz Leduchowski
!!! Kat IIIB
2. Jerzy Bylicki
!!! Kat IVA
2. Sławomir Rubin
! 26.06.2009 Mistrzostwa Europy
!!! Kat IIB
9. Dariusz Leduchowski
!!! Kat IIIB
4. Jerzy Bylicki
8. Sławomir Rubin
! 20.06.2009 Mogilno Mistrzostwa Polski
!!! Kat IIB
1. Dariusz Leduchowski
! 14.06.2009 Pobiedziska
!!! Kat II
1. Dariusz Leduchowski
!!! Kat III
3. Sławomir Rubin 
! 13.06.2009 Kobylnica
!!! Kat II
1. Dariusz Leduchowski
! 07.06.2009 Aleksandrów Łódzki
!!! Kat IIB
1. Leszek Makowski
2. Dariusz Leduchowski
3. Grzegorz Zimoń
!!! Kat IIIA
4. Sławomir Rubin (ile razy można wygrywać w IVA)
!!! Kat IIIB
1. Jerzy Bylicki
! 06.06.2009 MP dwójkami
!!! Kat I
2. Michał Jędrzejowski/Sebastian Rubin
!!! Kat IIB
1. Dariusz Leduchowski/Grzegorz Zimoń
3. Andrzej Kulik/Leszek Makowski
! 30.05.2009 MP na czas
!!! Kat IIB
1. Dariusz Leduchowski
6. Andrzej Kulik
!!! Kat IIIB
2. Jerzy Bylicki
! 24.05.09 Mistrzostwa Płd Francji
!!! Kat 1
11. Maciej Greger 
! 23.05.09 Psary
!!! Kat II
2. Dariusz Leduchowski
6. Grzegorz Zimoń
!!! Kat IV
4. Sławomir Rubin
! 17.05.09 Koło
!!! Kat II
1. Dariusz Leduchowski
!!! Kat III
2. Jerzy Bylicki
! 10.05.09 Chęciny
!!! Kat IIB
1. Dariusz Leduchowski
! 09.05.09 Piekoszów
!!! Kat IIB
1. Dariusz Leduchowski
!!! Kat IIIB
1. Jerzy Bylicki
! 25.05.09 Chianciano Terme
<<tiddler GF2009>>
/***
|''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"
	});
*/
//}}}
!Mapa z Google
<html><iframe width="425" height="450" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="http://maps.google.com/maps/ms?ie=UTF8&amp;hl=en&amp;s=AARTsJpdyXC79n_Qr52yneAu0vdC8wklDg&amp;msa=0&amp;msid=116762684813621878640.00044c3908c7e9fd2bc5d&amp;ll=43.020212,10.599747&amp;spn=0.225907,0.291824&amp;z=11&amp;output=embed"></iframe><br /><small><a href="http://maps.google.com/maps/ms?ie=UTF8&amp;hl=en&amp;msa=0&amp;msid=116762684813621878640.00044c3908c7e9fd2bc5d&amp;ll=43.020212,10.599747&amp;spn=0.225907,0.291824&amp;z=11&amp;source=embed" style="color:#0000FF;text-align:left">View Larger Map</a></small></html>
<<tiddler [[Piombino]]>>
Ciekawa trasa z trzema podjazdami, łącznie ponad 2000 m przewyższenia na 100 km.
* podjazd do [[Fiano|http://www.salite.ch/7662.asp]] (8.1 km, 4.4%).
* podjazd na [[Passo del Trebbio|http://www.salite.ch/trebbio1.asp]] (9.9 km, 5.9%),
* podjazd do [[Altopiano delle Pizzorne|http://www.salite.ch/pizzorne.asp]] (8.8 km, 7.5%).
Zaliczyliśmy też początek podjazdu pod Abetone, ale tylko do Scesty
<html><iframe width="425" height="450" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="http://maps.google.com/maps/ms?ie=UTF8&amp;hl=pl&amp;s=AARTsJpR7oZnTcD8rnuheH_YVhSF2AwvlQ&amp;msa=0&amp;msid=116762684813621878640.00045f1e7399f5ff270e1&amp;ll=43.960696,10.546188&amp;spn=0.222416,0.291824&amp;z=11&amp;output=embed"></iframe><br /><small><a href="http://maps.google.com/maps/ms?ie=UTF8&amp;hl=pl&amp;msa=0&amp;msid=116762684813621878640.00045f1e7399f5ff270e1&amp;ll=43.960696,10.546188&amp;spn=0.222416,0.291824&amp;z=11&amp;source=embed" style="color:#0000FF;text-align:left">Wyświetl większą mapę</a></small></html>
Wybraliśmy się do Rimbocchi (trasa czwartkowa) i znowu podjechaliśmy do Chiusi della Verna.
Plan wyjazdu mamy następujący:
# 17 kwietnia wyjazd z Polski i [[nocleg w Villach|Nocleg]].
# 18 kwietnia (sobota) rozpoczynamy nasz obóz w Toskanii w [[Poppi|SANT'ANGELO COUNTRY RELAIS]].  
# 25 kwietnia (sobota) bierzemy udział w [[Gran Fondo|http://www.chianciano.com/granfondo/]]. Granfondo też jest zaznaczone na mapie -- jest to punkt najbardziej na południe na [[mapie|Mapka z bazami]] koło Montepulciano. Jest to zarazem nasz wyścig. Po Gran Fondo jedziemy do Villach spać. __Ważne__: aby wystartować trzeba będzie pewnie mieć licencję na 2009 rok. 
# 26 kwietnia po południu jesteśmy z powrotem w domu.
!Pogoda u nas
<html><link rel="stylesheet" type="text/css" media="screen" href="http://img.weather.weatherbug.com/Style/stickers/v2/Stickers_728x90.css" /> <iframe id="WeatherBugSticker_728x90_v2" src="http://weather.weatherbug.com/desktop-weather/web-widgets/getSticker.html?CityCode=72973&ZCode=z5545&Size=728x90&StationID=EPWA&units=1&Version=2" width="400" height="76" class="frame" frameborder="0" scrolling="no" allowtransparency="yes"></iframe><div class="wXlinks"><span class="link"><a href="http://weather.weatherbug.com/weather-forecast.html" target="_blank" onclick="Javascript:this.href='http://weather.weatherbug.com/Poland/Lodz-weather/local-forecast/7-day-forecast.html?zcode=z5545&units=1'">Forecast</a></span></html>
!Pogoda tam
<html><iframe id="WeatherBugSticker_728x90_v2" src="http://weather.weatherbug.com/desktop-weather/web-widgets/getSticker.html?CityCode=66449&ZCode=z5545&Size=728x90&StationID=LIRQ&units=1&Version=2" width="400" height="76" class="frame" frameborder="0" scrolling="no" allowtransparency="yes"></iframe><div class="wXlinks"><span class="link"><a href="http://weather.weatherbug.com/weather-forecast.html" target="_blank" onclick="Javascript:this.href='http://weather.weatherbug.com/Italy/Arezzo-weather/local-forecast/7-day-forecast.html?zcode=z5545&units=1'">Forecast</a></span></html>
! Kilka zdjęć z pogrzebu

<html><a href="http://picasaweb.google.com/lh/photo/K_SuGh0iNuVmNqnlVlQDrg?feat=embedwebsite"><img src="http://lh6.ggpht.com/_so9oJiT6bRk/S_waxPGp01I/AAAAAAAACoM/gg2Qk1ghgrk/s800/IMG_1954.JPG" /></a></html>

<html><a href="http://picasaweb.google.com/lh/photo/-R-Qz56eZ6WuEShwNp84Gw?feat=embedwebsite"><img src="http://lh4.ggpht.com/_so9oJiT6bRk/S_wayml1LLI/AAAAAAAACoQ/rljUtXrLhhs/s800/IMG_1955.JPG" /></a> </html>

<html> <a href="http://picasaweb.google.com/lh/photo/hYMHxNMU8seGKqgmMTYsAQ?feat=embedwebsite"><img src="http://lh4.ggpht.com/_so9oJiT6bRk/S_waz63UP2I/AAAAAAAACoU/wtuG_iq_h1Y/s800/IMG_1957.JPG" /></a></html>

<html><a href="http://picasaweb.google.com/lh/photo/ujVu5Mzjdl8gbtw-vKAbzg?feat=embedwebsite"><img src="http://lh5.ggpht.com/_so9oJiT6bRk/S_wa1_AF_bI/AAAAAAAACoY/8tm3NsyokSk/s800/IMG_1959.JPG" /></a>
></html>

<html> <a href="http://picasaweb.google.com/lh/photo/fl6xPJd1gjAq3E9QophCQA?feat=embedwebsite"><img src="http://lh3.ggpht.com/_so9oJiT6bRk/S_wa3cw5OKI/AAAAAAAACoc/UGcR5M-y5Hs/s800/IMG_1962.JPG" /></a></html>

<html><a href="http://picasaweb.google.com/lh/photo/S3O6_xOdoBkeRMau_2mxGw?feat=embedwebsite"><img src="http://lh3.ggpht.com/_so9oJiT6bRk/S_wa5WF1_xI/AAAAAAAACog/vXOxqmBU_no/s800/IMG_1963.JPG" /></a></html>
/***
|''Name:''|PolishTranslationPlugin|
|''Description:''|Translation of TiddlyWiki into Polish|
|''Author:''|MateuszGidelski aka "[[Gidel]]"|
|''Source:''|www.nomad.toya.net.pl |
|''CodeRepository:''|http://www.nomad.toya.net.pl/polish.txt |
|''Date:''|17 Września 2007|
|''Comments:''|Uwagi, bądź poprawki wysyłajcie na e-Mail: gidel@andaluzja.com  |
|''License:''|GNU/GPL |
|''~CoreVersion:''|2.2.5|
***/

//{{{
//--
//-- Translateable strings
//--

// Strings in "double quotes" should be translated; strings in 'single quotes' should be left alone

config.locale = "pl"; // W3C language tag

if (config.options.txtUserName == 'YourName') // do not translate this line, but do translate the next line
	merge(config.options,{txtUserName: "TwojaNazwa"});

merge(config.tasks,{
	save: {text: "Zapisz", tooltip: "Zapisuje wszystkie zmiany w tym pliku TiddlyWiki", action: saveChanges},
	sync: {text: "Synchronizacja", tooltip: "Synchronizuje zmiany z innym plikiem TiddlyWiki lub serwerem", content: '<<sync>>'},
	importTask: {text: "Import", tooltip: "Import tekstów z innego pliku TiddlyWiki lub serwera", content: '<<importTiddlers>>'},
	tweak: {text: "Opcje", tooltip: "Pokazuje zaawansowane opcje tego pliku TiddlyWiki", content: '<<options>>'},
	plugins: {text: "Wtyczki", tooltip: "Zarządza zainstalowanymi wtyczkami", content: '<<plugins>>'}
});

// Options that can be set in the options panel and/or cookies
merge(config.optionsDesc,{
	txtUserName: "Nazwa użytkownika do podpisywania tekstów",
	chkRegExpSearch: "Włącz regularne wyrażenia dla wyszukiwania",
	chkCaseSensitiveSearch: "Wyszukiwanie z uwzględnianiem wielkości liter",
	chkAnimate: "Włącz animacje",
	chkSaveBackups: "Twórz kopię zapasową przy zapisaniu zmian",
	chkAutoSave: "Automatycznie zapisuj zmiany",
	chkGenerateAnRssFeed: "Generuj kanał RSS przy zapisaniu zmian",
	chkSaveEmptyTemplate: "Generuj pusty szablon przy zapisaniu zmian",
	chkOpenInNewWindow: "Otwieraj odnośniki w owym oknie",
	chkToggleLinks: "Klikając na link do tekstu, który już jest otwarty, powodujesz jego zamknięcie",
	chkHttpReadOnly: "Ukryj wlasciwosci edycji kiedy strona pokazywana jest z serwera",
	chkForceMinorUpdate: "Nie zachowuj daty i godziny, przy edycji tekstu",
	chkConfirmDelete: "Potwierdzenie przy usuwaniu tekstu",
	chkInsertTabs: "Wykorzystywanie przycisku Tab do wstawienia akapitu, zamiast skakania do następnego pola",
	txtBackupFolder: "Nazwa folderu do zapisywania kopii zapasowych",
	txtMaxEditRows: "Maksymalna liczba wierszy w polu edycyjnym tekstu:",
	txtFileSystemCharSet: "Domyślny zbiór znaków do zapisywania zmian (wyłącznie Firefox/Mozilla)"});

merge(config.messages,{
	customConfigError: "Problemy z załadowaniem wtyczki. Zajżyj do PluginManager po szczegóły",
	pluginError: "Błąd: %0",
	pluginDisabled: "Niewykonane, ponieważ kategoria 'systemConfigDisable' została wyłączona",
	pluginForced: "Wykonane, ponieważ zostało zmuszone przez kategorie 'systemConfigForce'",
	pluginVersionError: "Niewykonane, ponieważ ta wtyczka potrzebuje nowszej wersji TiddlyWiki",
	nothingSelected: "Nic nie zaznaczono. Musisz zaznaczyć przynajmniej jedną rzecz",
	savedSnapshotError: "Wydaje się, że ta strona została źle zapisana. Odwiedź http://www.tiddlywiki.com/#DownloadSoftware po szczegóły",
	subtitleUnknown: "(Nieznany)",
	undefinedTiddlerToolTip: "Tekst '%0' nie został jeszcze stworzony",
	shadowedTiddlerToolTip: "Tekst '%0' nie został jeszcze stworzony, ale ma uwarunkowana wartość shadow",
	tiddlerLinkTooltip: "%0 - %1, %2",
	externalLinkTooltip: "Zewnętrzny odnośnik do %0",
	noTags: "Nie ma skatalogowanych tekstów",
	notFileUrlError: "Musisz zapisać tą stronę do pliku, aby zapisać zmiany",
	cantSaveError: "Zapisanie zmian nie jest możliwe. Może być to spowodowane brakiem poparcia zapisywania zmian przez twoją przeglądarke (jeśli możesz używaj Firefox'a), albo nazwa ścieżki twojej strony zawiera niedopuszczalne znaki",
	invalidFileError: "Orginalny plik '%0' nie wydaje się być prawidłowy TiddlyWiki",
	backupSaved: "Kopia zapasowa została zapisana",
	backupFailed: "Kopia zapasowa nie została zapisana",
	rssSaved: "Kanał RSS został zapisany do pliku",
	rssFailed: "Kanał RSS nie zaostał zapisany do pliku",
	emptySaved: "Pusty szablon został zapisany",
	emptyFailed: "Pusty szablon nie został zapisany",
	mainSaved: "Główny plik został zpaisany",
	mainFailed: "Główny plik nie został zpaisany. Zmiany nie będą zapisane",
	macroError: "Błąd w macro <<%0>>",
	macroErrorDetails: "Błąd w wykonywaniu macro <<%0>>:\n%1",
	missingMacro: "Macro nie istnieje",
	overwriteWarning: "Tekst o tytule '%0' już istnieje. Wybierz OK, aby nadpisać",
	unsavedChangesWarning: "UWAGA! Zmiany nie zostały zapisane w pliku TiddlyWiki\n\nWybierz OK, aby zapisać\nWybierz CANCEL, aby zaniechać",
	confirmExit: "--------------------------------\n\nZmiany w pliku TiddlyWiki nie zostały zapisane. Kontynuując stracisz zmiany\n\n--------------------------------",
	saveInstructions: "Zapisz zmiany",
	unsupportedTWFormat: "Niezgodny format TiddlyWiki '%0'",
	tiddlerSaveError: "Błąd przy zapisywaniu tekstu '%0'",
	tiddlerLoadError: "Błąd przy ładowaniu tekstu '%0'",
	wrongSaveFormat: "Nie można zapisać w obcym formacie '%0'. Aby zapisać, użyj standardowego formatu.",
	invalidFieldName: "Nie ważne pole nazwy %0",
	fieldCannotBeChanged: "Pole '%0' nie może być zmienione"});

merge(config.messages.messageClose,{
	text: "Zamknij",
	tooltip: "Zamyka pole tekstowe"});;

config.messages.backstage = {
	open: {text: "Obszar administracyjny", tooltip: "Otwórz obszar administracyjny"},
	close: {text: "Zamknij", tooltip: "Zamknij obszar administracyjny"},
	prompt: "Obszar administracyjny: ",
	decal: {
		edit: {text: "Edytuj", tooltip: "Edytuj tekst '%0'"}
	}
};

config.messages.listView = {
	tiddlerTooltip: "Kliknij aby zobaczyć pełen tekstr",
	previewUnavailable: "(podgląd niedostępny)"};

config.messages.dates.months = ["Styczeń", "Luty", "Marzec", "Kwiecień", "Maj", "Czerwiec", "Lipiec", "Sierpień", "Wrzesień", "Październik", "Listopad","Grudzień"];
config.messages.dates.days = ["Niedziela", "Poniedziałek", "Wtorek", "Środa", "Czwartek", "Piątek", "Sobota"];
config.messages.dates.shortMonths = ["Sty", "Lut", "Mar", "Kwi", "MaJ", "Cze", "Lip", "Sie", "Wrz", "Paź", "Lis", "Gru"];
config.messages.dates.shortDays = ["N", "Pn", "Wt", "Śr", "Cz", "Pt", "So"];
// suffixes for dates, eg "1st","2nd","3rd"..."30th","31st"
config.messages.dates.daySuffixes = ["-szy","-gi","-ci","-ty","-ty","-ty","-my","-my","-ty","-ty",
		"-sty","-sty","-sty","-sty","-sty","-sty","-sty","-sty","-sty","-sty",
		"-szy","-gi","-ci","-ty","-ty","-ty","-my","-my","-ty","-ty",
		"-szy"];
config.messages.dates.am = "rano";
config.messages.dates.pm = "po południu";

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

merge(config.views.wikified.tag,{
	labelNoTags: "Brak kategorii",
	labelTags: "Kategoria: ",
	openTag: "Otwórz Kategorie '%0'",
	tooltip: "Pokaż teksty z danej kategorii '%0'",
	openAllText: "Otwórz wszyskie",
	openAllTooltip: "Otwórz wszystkie te teksty",
	popupNone: "Niema innych tekstów w danej kategorii '%0'"});

merge(config.views.wikified,{
	defaultText: "Tekst '%0' jeszcze nie istnieje. By go stworzyć, kliknij dwa razy",
	defaultModifier: "(brakuje)",
	shadowModifier: "(autor)",
	createdPrompt: "stworzony",
	dateFormat: "DD MMM YYYY"});

merge(config.views.editor,{
	tagPrompt: "Kategorie oddzielaj spacją, [[użyj podwójnych kwadratowych nawiasów]] jeśli to konieczne, lub dodaj istniejący",
	defaultText: "Wybierz tekst dla '%0'"});

merge(config.views.editor.tagChooser,{
	text: "Kategorie",
	tooltip: "Dodaj ten tekst do istniejących katgorii",
	popupNone: "Nie ma określonych kategorii",
	tagTooltip: "Dodaj kategorie '%0'"});

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: "Szukaj",
	prompt: "Szukaj tekstu",
	accessKey: "F",
	successMsg: "Znaleziono %0 tekstów określanych przez %1",
	failureMsg: "Nie znaleziono tekstów określanych przez %0"});

merge(config.macros.tagging,{
	label: "Sklasyfikowany w: ",
	labelNotTag: "Brak klasyfikacji",
	tooltip: "Lista tekstów powiązanych z '%0'"});

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

merge(config.macros.allTags,{
	tooltip: "Pokaż teksty powiązane z '%0'",
	noTags: "Brak powiązanych tekstów"});

config.macros.list.all.prompt = "Wszystkie teksty w porzątku alfabetycznym";
config.macros.list.missing.prompt = "Teksty te mają odnośniki do nich, lecz nie są zdefiniowane";
config.macros.list.orphans.prompt = "Żadne teksty nie mają odnośników do tych tekstów";
config.macros.list.shadowed.prompt = "Teksty z domyślną zawartością";
config.macros.list.touched.prompt = "Teksty zostały zmodyfikowane lokalnie";

merge(config.macros.closeAll,{
	label: "Zamknij wszystko",
	prompt: "Zamyka wszystkie wyświetlane teksty"});

merge(config.macros.permaview,{
	label: "Pokaż adres strony",
	prompt: "Pokazuje adres aktualnie wyświetlanej strony"});

merge(config.macros.saveChanges,{
	label: "Zapisz zmiany",
	prompt: "Zapisuje wszystkie zmiany",
	accessKey: "S"});

merge(config.macros.newTiddler,{
	label: "Nowy tekst",
	prompt: "Stwórz nowy tekst",
	title: "Nowy tekst",
	accessKey: "N"});

merge(config.macros.newJournal,{
	label: "Nowy dzień",
	prompt: "Stwórz nowy tekst z bierzącą datą i godziną (dziennik)",
	accessKey: "J"});

merge(config.macros.options,{
	wizardTitle: "Opcje zaawansowane",
	step1Title: "Te opcje są zapisywane w twojej przeglądarce jako ciasteczka",
	step1Html: "<input type='hidden' name='markList'></input><br><input type='checkbox' checked='false' name='chkUnknown'>Pokaż niezidentyfikowane opcje</input>",
	unknownDescription: "//(nieznany)//",
	listViewTemplate: {
		columns: [
			{name: 'Option', field: 'option', title: "Opcja", type: 'String'},
			{name: 'Description', field: 'description', title: "Opis", type: 'WikiText'},
			{name: 'Name', field: 'name', title: "Nazwa", type: 'String'}
			],
		rowClasses: [
			{className: 'lowlight', field: 'lowlight'} 
			]}
	});

merge(config.macros.plugins,{
	wizardTitle: "Kieruj wtyczkami",
	step1Title: "Obecnie załadowane wtyczki",
	step1Html: "<input type='hidden' name='markList'></input>",
	skippedText: "(Ta wtyczka nie została stracona, ponieważ została dodana po starcie)",
	noPluginText: "Niema zainstalowanych wtyczek",
	confirmDeleteText: "Czy napewno chcesz usunąć te teksty:\n\n%0",
	removeLabel: "usuń kategorię systemConfig",
	removePrompt: "Usuń kategorię systemConfig",
	deleteLabel: "usuń",
	deletePrompt: "Usuń te teksty na zawsze",
	listViewTemplate : {
		columns: [
			{name: 'Selected', field: 'Selected', rowName: 'title', type: 'Selector'},
			{name: 'Tiddler', field: 'tiddler', title: "Tekst", type: 'Tiddler'},
			{name: 'Size', field: 'size', tiddlerLink: 'size', title: "Rozmiar", type: 'Size'},
			{name: 'Forced', field: 'forced', title: "Włączony przymusowo", tag: 'systemConfigForce', type: 'TagCheckbox'},
			{name: 'Disabled', field: 'disabled', title: "Wyłączony", tag: 'systemConfigDisable', type: 'TagCheckbox'},
			{name: 'Executed', field: 'executed', title: "Załadowany", type: 'Boolean', trueText: "Tak", falseText: "Nie"},
			{name: 'Startup Time', field: 'startupTime', title: "Czas Włączania", type: 'String'},
			{name: 'Error', field: 'error', title: "Status", type: 'Boolean', trueText: "Błąd", falseText: "OK"},
			{name: 'Log', field: 'log', title: "Logi", type: 'StringList'}
			],
		rowClasses: [
			{className: 'error', field: 'error'},
			{className: 'warning', field: 'warning'}
			]}
	});

merge(config.macros.toolbar,{
	moreLabel: "Więcej",
	morePrompt: "Odsłania resztę rozkazów"
	});

merge(config.macros.refreshDisplay,{
	label: "Odświerz",
	prompt: "Odświerza strone"
	});

merge(config.macros.importTiddlers,{
	readOnlyWarning: "Niemożesz importować tektów na strone tylko do odczytu. Spróbuj otworzyć stronę z pliku:// URL",
	wizardTitle: "Importuj teksty z innego pliku TiddlyWiki",
	step1Title: "Krok 1: Zlokalizuj plik TiddlyWiki",
	step1Html: "Określ typ serwera: <select name='selTypes'><option value=''>Choose...</option></select><br>Podaj adres internetowy lub ścieżkę pliku:  <input type='text' size=50 name='txtPath'><br>...lub wybierz z pliku: <input type='file' size=50 name='txtBrowse'><br><hr>...lub wybierz predefiniowany kanał: <select name='selFeeds'><option value=''>Choose...</option></select>",
	openLabel: "Otwórz",
	openPrompt: "Otwórz połączenie do pliku lub serwera",
	openError: "Wystąpiły problemy podczas importu pliku TiddlyWiki",
	statusOpenHost: "Otwieranie elementu",
	statusGetWorkspaceList: "Pobieranie listy dostępnych miejsc pracy",
	step2Title: "Krok 2: Wybierz miejsce pracy",
	step2Html: "Wpisz nazwę miejsa pracy: <input type='text' size=50 name='txtWorkspace'><br>...lub wybierz miejsc pracy: <select name='selWorkspace'><option value=''>Wybierz...</option></select>",
	cancelLabel: "Anuluj",
	cancelPrompt: "Anuluj pobieranie",
	statusOpenWorkspace: "Otwieranie miejsca pracy",
	statusGetTiddlerList: "Pobieranie listy dostępnych tekstów",
	step3Title: "Krok 3: Wybierz teksty do zaimportowania",
	step3Html: "<input type='hidden' name='markList'></input><br><input type='checkbox' checked='true' name='chkSync'>Utrzymuj teksty połączone do tego serwera, przez co można synchronizować późniejsze zmiany</input><br><input type='checkbox' name='chkSave'>Zapisz szczególy tego servera w tekście 'systemServer' nazwanym:</input> <input type='text' size=25 name='txtSaveTiddler'>",
	importLabel: "Importuj",
	importPrompt: "Importuj te teksty",
	confirmOverwriteText: "Czy napewno chcesz nadpisać te teksty:\n\n%0",
	step4Title: "Krok 4: Importowanie %0 tekst(ów)",
	step4Html: "<input type='hidden' name='markReport'></input>", // DO NOT TRANSLATE
	doneLabel: "Skończone",
	donePrompt: "Zamknij importer",
	statusDoingImport: "Importowanie tekstów",
	statusDoneImport: "Wszystkie teksty zostały zaimportowany",
	systemServerNamePattern: "%2 na %1",
	systemServerNamePatternNoWorkspace: "%1",
	confirmOverwriteSaveTiddler: "Tekst '%0' już istnieje. Naciśnij 'OK' aby go nadpisać ze szczegółami tego serwera, lub 'Auluj'aby zaniechać",
	serverSaveTemplate: "|''Typ:''|%0|\n|''URL:''|%1|\n|''Miejsce pracy:''|%2|\n\nTen tekst został automatycznie stworzony do zapisania informacji o tym serwerze",
	serverSaveModifier: "(System)",
	listViewTemplate: {
		columns: [
			{name: 'Selected', field: 'Selected', rowName: 'title', type: 'Selector'},
			{name: 'Tiddler', field: 'tiddler', title: "Tekst", type: 'Tiddler'},
			{name: 'Size', field: 'size', tiddlerLink: 'size', title: "Rozmiar", type: 'Size'},
			{name: 'Tags', field: 'tags', title: "Kategorie", type: 'Tags'}
			],
		rowClasses: [
			]}
	});

merge(config.macros.sync,{
	listViewTemplate: {
		columns: [
			{name: 'Selected', field: 'selected', rowName: 'title', type: 'Selector'},
			{name: 'Tiddler', field: 'tiddler', title: "Tekst", type: 'Tiddler'},
			{name: 'Server Type', field: 'serverType', title: "Typ Serwera", type: 'String'},
			{name: 'Server Host', field: 'serverHost', title: "Host Serwera", type: 'String'},
			{name: 'Server Workspace', field: 'serverWorkspace', title: "Miejsce pracy Serwera", type: 'String'},
			{name: 'Status', field: 'status', title: "Status Synchronizacji", type: 'String'},
			{name: 'Server URL', field: 'serverUrl', title: "Adres Serwera", text: "Pokaż", type: 'Link'}
			],
		rowClasses: [
			],
		buttons: [
			{caption: "Synchronizuj te teksty", name: 'sync'}
			]},
	wizardTitle: "Synchronizuj z zewnętrznym serwerem lub plikiem",
	step1Title: "Wybierz plik do zsynchronizowania",
	step1Html: "<input type='hidden' name='markList'></input>", // DO NOT TRANSLATE
	syncLabel: "Synchronizacja",
	syncPrompt: "Synchronizuj te teksty",
	hasChanged: "Zmieniony podczas braku połączenia",
	hasNotChanged: "Niezmieniony podczas braku połączenia",
	syncStatusList: {
		none: {text: "...", color: "none"},
		changedServer: {text: "Zmieniony na serwerze", color: '#80ff80'},
		changedLocally: {text: "Zmieniony podczas braku połączenia", color: '#80ff80'},
		changedBoth: {text: "Zmieniony podczas braku połączenia na serwerze", color: '#ff8080'},
		notFound: {text: "Nie znaleziono na serwerze", color: '#ffff80'},
		putToServer: {text: "Aktualizacje zapisano na serwerze", color: '#ff80ff'},
		gotFromServer: {text: "Odzyskano aktualizacje z srewera", color: '#80ffff'}
		}
	});

merge(config.commands.closeTiddler,{
	text: "Zamknij",
	tooltip: "Zamyka tekst"});

merge(config.commands.closeOthers,{
	text: "Zamknij inne",
	tooltip: "Zamyka pozostałe teksty"});

merge(config.commands.editTiddler,{
	text: "Edytuj",
	tooltip: "Edytuj ten tekst",
	readOnlyText: "Pokaż",
	readOnlyTooltip: "Pokaż treść tekstu"});

merge(config.commands.saveTiddler,{
	text: "Skończone",
	tooltip: "Zapisuje zmiany dokonane w tekście"});

merge(config.commands.cancelTiddler,{
	text: "Porzuć",
	tooltip: "Zaniechuje zmiany",
	warning: "Czy chcesz anulować zmiany '%0'?",
	readOnlyText: "Przeczytane",
	readOnlyTooltip: "Pokaż tekst normalnie (nagłówek tekstu)"});

merge(config.commands.deleteTiddler,{
	text: "Kasuj",
	tooltip: "Kasuje tekst",
	warning: "Czy chcesz usunąć '%0'?"});

merge(config.commands.permalink,{
	text: "Adres",
	tooltip: "Pokazuje adres tekstu"});

merge(config.commands.references,{
	text: "Odsyłacze",
	tooltip: "Pokazuje teksty odnoszące się do tego",
	popupNone: "Brak odsyłaczy"});

merge(config.commands.jump,{
	text: "Skocz",
	tooltip: "Skocz do innego otwartego tekstu"});

merge(config.commands.syncing,{
	text: "Synchronizowanie",
	tooltip: "Sprawdza synchronizacje tego tekstu z serwerem lub zewnętrznym plikiem",
	currentlySyncing: "<div>Obecnie synchronizuje przez <span class='popupHighlight'>'%0'</span> to:</"+"div><div>host: <span class='popupHighlight'>%1</span></"+"div><div>miejsce pracy: <span class='popupHighlight'>%2</span></"+"div>", // Note escaping of closing <div> tag
	notCurrentlySyncing: "Obecnie nie synchronizuje",
	captionUnSync: "Zatrzymaj synchronizowanie tego tekstu",
	chooseServer: "Zsynchronizuj ten tekst z innym serwerem:",
	currServerMarker: "\u25cf ",
	notCurrServerMarker: "  "});

merge(config.commands.fields,{
	text: "Pole",
	tooltip: "Pokazuje zewnętrzne pola dla tego tekstu",
	emptyText: "Obecnie niema zewnętrznych pól dla tego tekstu",
	listViewTemplate: {
		columns: [
			{name: 'Field', field: 'field', title: "Pole", type: 'String'},
			{name: 'Value', field: 'value', title: "Wartość", type: 'String'}
			],
		rowClasses: [
			],
		buttons: [
			]}});

merge(config.shadowTiddlers,{
	DefaultTiddlers: "[[GettingStarted]]",
	MainMenu: "[[GettingStarted]]\n\n\n^^~TiddlyWiki version <<version>>^^",
	GettingStarted: "Witajcie na stronie polskiej wersji TiddlyWiki.\n\nAby zacząć z tym pustym szablonem TiddlyWiki, będziesz musiał/a wyedytować następujące teksty (tiddlery):\n* SiteTitle &amp; SiteSubtitle: Tytuł i subtytuł.\n* MainMenu: Główne menu (zwykle po lewej stronie)\n* DefaultTiddlers: Domyślne teksty, które chcesz aby się pojawiały po załadowaniu strony.\nBędziesz także musiał/a wpisać nazwę użytkownika dla podpisywania twoich tekstów (zmian). Pisz to jak WikiWyraz (np. StronaZenka) : <<option txtUserName>>",
	SiteTitle: "TiddlyWiki PL",
	SiteSubtitle: "Polska Wersja TiddlyWiki",
	SiteUrl: "http://www.nomad.toya.net.pl/",
	OptionsPanel: "Te opcje interfejsu dla odwiedzającego TiddlyWiki są zapisywane w twojej przeglądarce\n\nTwoja nazwa użytkownika dla podpisywania twoich tekstów (zmian). Pisz to jak WikiWyraz (np. StronaZenka)\n<<option txtUserName>>\n\n<<option chkSaveBackups>> Zapisz Kopie Zapasowe\n<<option chkAutoSave>> Auto Zapis\n<<option chkRegExpSearch>>Szukanie Regularnych Wyrażeń\n<<option chkCaseSensitiveSearch>> Ważna Wielkości Liter\n<<option chkAnimate>> Włącz Animacje\n\n----\nZobacz także [[Opcje Zaawansowane|AdvancedOptions]]",
	SideBarOptions: '<<search>><<closeAll>><<permaview>><<newTiddler>><<newJournal "DD MMM YYYY">><<saveChanges>><<slider chkSliderOptionsPanel OptionsPanel "Opcje »" "Change TiddlyWiki advanced options">>',
	SideBarTabs: '<<tabs txtMainTab "Dziennik" "Pokazuje wszystkie teksty według daty" TabTimeline "All" "Pokazuje wszystkie teksty w porządku alfabetycznym" TabAll "Kategorie" "Pokazuje kategorie" TabTags "Więcej" "Więcej list" TabMore>>',
	TabMore: '<<tabs txtMoreTab Brakujące "Brakujące teksty" TabMoreMissing "Sieroty" "Osierocone teksty" TabMoreOrphans "Nadrzędne" "Teksty z domyślną zawartością" TabMoreShadowed>>'});

merge(config.annotations,{
	AdvancedOptions: "Domyślne opcje zaawansowane",
	ColorPalette: "Domyślne opcje kolorów",
	DefaultTiddlers: "Lista tekstów ładowanych przy starcie",
	EditTemplate: "Domyślne opcje wyglądu strony",
	GettingStarted: "Instrukcje",
	ImportTiddlers: "Importer Tekstów",
	MainMenu: "Menu Główne",
	MarkupPreHead: "Ponad <head> ~ wpisujesz tutaj kod HTML",
	MarkupPostHead: "Poniżej <head> ~ wpisujesz tutaj kod HTML",
	MarkupPreBody: "Ponad <body> ~ wpisujesz tutaj kod HTML",
	MarkupPostBody: "Poniżej <body> ~ wpisujesz tutaj kod HTML",
	OptionsPanel: "Panel opcji",
	PageTemplate: "Szablon strony",
	PluginManager: "Menadżer wtyczek",
	SideBarOptions: "Prawy panel opcji",
	SideBarTabs: "Prawy panel tekstów",
	SiteSubtitle: "Podtytuł strony",
	SiteTitle: "Tytuł strony",
	SiteUrl: "Adres strony",
	StyleSheetColors: "Domyślne opcje kolorów strony w CSS",
	StyleSheet: "Domyślne opcje CSS",
	StyleSheetLayout: "Domyślne opcje wyglądu strony w CSS",
	StyleSheetLocale: "Domyślne opcje lokalne w CSS",
	StyleSheetPrint: "Domyślne opcje drukowanie w CSS",
	TabAll: "Odnosi się do zakładki 'All' po prawej stronie",
	TabMore: "Odnosi się do zakładki 'Więcej' po prawej stronie",
	TabMoreMissing: "Odnosi się do zakładki 'Brakujące' po prawej stronie",
	TabMoreOrphans: "Odnosi się do zakładki 'Sieroty' po prawej stronie",
	TabMoreShadowed: "Odnosi się do zakładki 'Nadrzędne' po prawej stronie",
	TabTags: "Odnosi się do zakładki 'Kategorie' po prawej stronie",
	TabTimeline: "Odnosi się do zakładki 'Dziennik' po prawej stronie",
	ViewTemplate: "Domyślne wygląd tekstów"
	});

//}}}
* [[Jak się korzystać z TiddlyWiki|Jak się poruszać?]]
* [[Jak zapisać zdjęcia w sieci?|zdjęcia (pomoc)]]

<<tiddler [[La Sassa]]>>
Wybraliśmy się na płaską trasę. Po drodze spotkaliśmy polskiego zawodowca, który jeździ od kilku lat we Włoszech Artura Króla. Artur pokazał na Pisę i zabrał nas na przejażdżkę do [[San Pellegrino in Alpe trzy dni później|Czwartek (19.04.07)]].
<html><iframe width="425" height="450" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="http://maps.google.com/maps/ms?ie=UTF8&amp;hl=pl&amp;s=AARTsJqhkjketN9k_ZDprOm-eSg0ESn82w&amp;msa=0&amp;msid=116762684813621878640.00045f1db4de1f94c9027&amp;ll=43.780018,10.521469&amp;spn=0.223092,0.291824&amp;z=11&amp;output=embed"></iframe><br /><small><a href="http://maps.google.com/maps/ms?ie=UTF8&amp;hl=pl&amp;msa=0&amp;msid=116762684813621878640.00045f1db4de1f94c9027&amp;ll=43.780018,10.521469&amp;spn=0.223092,0.291824&amp;z=11&amp;source=embed" style="color:#0000FF;text-align:left">Wyświetl większą mapę</a></small> </html>
----
<html><a href="http://picasaweb.google.pl/lh/photo/aVn6_W0gYou19T_hLm75_Q?feat=embedwebsite"><img src="http://lh6.ggpht.com/_so9oJiT6bRk/SVez7q4stwI/AAAAAAAAA-I/wLE5b5HQ4qU/s800/IMG_0041.jpg" /></a></html>
Uwaga: droga z Pisy do Lukki przez San Giuliano Terme kończy się nieoświetlonym tunelem. Nie jest on długi, ale jest tam duży ruch i należy zachować dużą ostrożność.
!Pozdrowienia dla Leduszka od Maćka i Pastuszka

[img[http://img718.imageshack.us/img718/6884/p3130218.jpg]]
Piękna trasa, ponad 100 km i 1700 m przewyższenia z najwyższym punktem Passo di Consuma 1060 m. Najpierw na rozgrzewkę podjazd pod [[La Crocina - 672 m|http://www.salite.ch/9165.asp]], później po drugiej stronie gór wijąca się droga prowadząca trawersem z pięknym widokiem na dolinę Arno i Monte Luco (najwyższa góra Chianti). Przyjemności kończą się w Reggello, gdzie zaczyna się alpejski podjazd do klasztoru [[Vallombrosa - 974 m|http://www.salite.ch/8680.asp]]. Podjazd miejscami jest sztywny. Z klasztoru jeszcze jest kilka kilometrów do Passo di Consuma drogą przez las. Zjazd do Poppi palce lizać.
<html><iframe width="600" height="600" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="http://maps.google.com/maps/ms?ie=UTF8&amp;hl=pl&amp;s=AARTsJqmZUOcxYNlkpR0x49pRr64oPXZ4g&amp;msa=0&amp;msid=116762684813621878640.00045b284a49358b5b186&amp;ll=43.661414,11.68808&amp;spn=0.298045,0.411987&amp;z=11&amp;output=embed"></iframe><br /><small><a href="http://maps.google.com/maps/ms?ie=UTF8&amp;hl=pl&amp;msa=0&amp;msid=116762684813621878640.00045b284a49358b5b186&amp;ll=43.661414,11.68808&amp;spn=0.298045,0.411987&amp;z=11&amp;source=embed" style="color:#0000FF;text-align:left">Wyświetl większą mapę</a></small></html>
W porozumieniu z Bastkiem i ~RoRo robimy wyprzedaż:

|!LP|width:500px;!Opis|!Cena|
|1|koła carbonowe LEW Racing z piastami FRM, pod szytkę, waga 990 gr, profil stożkowy, wysokość 48 mm, pod campagnolo, używane, stan bardzo dobry, w komplecie ultralekkie zaciski i szytki tufo elite, stan idealny|cena 3.990 zł|
|2|superlekkie zaciski TUNE - mtb, używane, stan idealny|cena 150 zł|
|3|opony SCHWALBE Furious Fred, 26x2,0 - 2 szt. nowe|cena 200 zł za parę|
|4|opony SCHWALBE Racing Ralph, 26x2,1 - 2 szt, nowe|cena 150 zł za parę|
|5|opony SCHWALBE Stelvio, 26x1.1 - 2 szt, nowe|cena 120 zł za parę|
|6|szytka TUFO Elite Jet, 160 gr, 20 mm, nowa|cena 150 zł|
|7|siodełko SELLE ITALIA Teknologica, nowe|cena 800 zł|
|8|siodełko FIZIK Arione k1, używane, stan idealny|cena 200 zł|
|9|sztyca podsiodłowa ALIEN Carbon, używana, 31,8 mm, stan idealny|cena 100 zł|
|10|zacisk KCNC, 34,9 mm nowy|cena 50 zł|
|11|combo (kierownica+wspornik) mtb SCOTT Pilot Limited, dł. 9 cm, szer. 60 cm, prosta, zdjęta z nowego roweru scott spark limited|cena 250 zł|
|12|korby CAMPAGNOLO Chorus, 170mm, 50/34, 2006, nowe|cena 450 zł|
|13|szczęki hamulcowe CAMPAGNOLO Chorus, 2006, nowe|cena 300 zł|
|14|chwyty mtb RITCHEY WCS, nowe|cena 20 zł|
|15|mostek RITCHEY Carbon WCS, 110 mm, nowy|cena 300 zł|
|16|pompka BLACKBURN mtn air, używana, stan dobry|cena 30 zł|
|17|bidon TUNE 0,75 l, nowy|cena 15 zł|
|18|okulary OAKLEY Oil Drum, białe, używane, stan idealny|cena 200 zł|
|19|okulary OAKLEY Radar (custom) czarne, czarne szkła, złote logo oakley, nowe|cena 500 zł|
|20|okulary OAKLEY Half Jacket, czarne, nowe|cena 300 zł|
|21|okulary OAKLEY Radar (custom) srebrne, szkła g 30, nowe|cena 400 zł|
|22|okulary OAKLEY Bottlecap, ciemno zielone, nowe|cena 100 zł|
|23|rama CANNONDALE Super Six, rozmiar 52, czarna, 2008, używana, stan bardzo dobry, wraz z grupą Campagnolo Record 10speed (klamkomanetki, hamulce, przerzutki, dwie kasety: 12-25 i 12-27); korbami Cannondale Hollowgram Si SL 170 mm, 50/34, czarne; pancerzami i linkami Nokon, srebrne|cena zestawu 4.900 zł|
|24|koła MAVIC ~R-Sys na oponki (z żółtymi nyplami), 2008, bez zacisków, przód – nowe, tył – używane, stan bardzo dobry|cena 2.500 zł|
|25|korby SRAM Red, dł. 172,5 mm, koronki 50/34, 2008, używane, stan bardzo dobry|cena 550 zł|
|26|klamkomanetki SRAM Red, 2008, wraz z linkami (pancerzami) do przerzutki firmy Nokon, białe, używane, stan bardzo dobry|cena 800 zł|
|27|rama BMC, model SL C01 Team Machine, rozmiar 53, kolor czarno-biały, 2008, używana, stan bardzo dobry, w komplecie także sztyca podsiodłowa Easton EC 70; mostek Ritchey WCS, biały, 11 cm; kierownica carbonowa Easton EC 90 Equipe (420 mm width, 85 mm reach, 145 mm drop) z owijką Sram (czarna z białymi napisami); siodełko Selle Italia SLR Kit Carbonio Flow, białe; dwa koszyki na bidon|cena zestawu 5.500 zł|
|28|buty SHIMANO R220 (do szosy), rozmiar 44, białe z niebieskimi akcentami, nowe|cena 590 zł|
|29|carbonowa kierownica mtb EASTON EC 90, prosta, nowa|cena 300 zł|
|30|rama mtb SCOTT Scandium, rozmiar L (19”), hardtail, 2006, nowa|cena 2.690 zł|
|31|carbonowa obręcz REYNOLDS DV 46 C UL, na oponkę, 24 otwory, 2009, używana, stan idealny|cena 1.700 zł|
|32|komplet piast DT Swiss 240s, szosa, przód 20, tył 24, pod Shimano/Sram, bez zacisków, 2009, używane, stan bardzo dobry (do odbioru w marcu)|cena 1.300 zł|
|33|opony CONTINENTAL Supersonic, 2 szt., 23 mm, nowe|cena 295 zł za parę|

Zainteresowanych zapraszamy do kontaktu w sprawie szczegółów:
* poz. 1-23          Robert 602.22.53.28
* poz. 24-27        Sebastian 503.10.19.56
* poz. 28-33        Witek 603.91.61.41
!Medio Fondo (niedziela)
<html><a href="http://picasaweb.google.co.uk/andrzej.kulik/Toskania2008TiddlyspotCom/photo#5191381290677215186"><img src="http://lh3.ggpht.com/andrzej.kulik/SAt9x1xsn9I/AAAAAAAAARk/D1En696wKY0/s800/fondo.jpg" /></a></html>
[[Opis trasy|MedioFondo]]
!Do Voltery, powrót przez Pomarance (środa)
<html><a href="http://picasaweb.google.co.uk/andrzej.kulik/Toskania2008TiddlyspotCom/photo#5191381290677215202"><img src="http://lh3.ggpht.com/andrzej.kulik/SAt9x1xsn-I/AAAAAAAAARs/1rxmy2mGD_k/s800/pomarance.jpg" /></a></html>
Góra w środku to Voltera. Z powrotem jechaliśmy przez Pomarance, Montecerboli, Serrazano (najwyższy punkt) do Canneto.
!!!Mapa z Google
<html><iframe width="600" height="800" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="http://maps.google.com/maps/ms?ie=UTF8&amp;hl=en&amp;s=AARTsJpY6f3IFUvCIZppmbo9bXtC_cgv7g&amp;msa=0&amp;msid=116762684813621878640.00044b518a0ed0471560e&amp;ll=43.239701,10.730896&amp;spn=0.400174,0.411987&amp;z=11&amp;output=embed"></iframe><br /><small><a href="http://maps.google.com/maps/ms?ie=UTF8&amp;hl=en&amp;msa=0&amp;msid=116762684813621878640.00044b518a0ed0471560e&amp;ll=43.239701,10.730896&amp;spn=0.400174,0.411987&amp;z=11&amp;source=embed" style="color:#0000FF;text-align:left">Wyświetl większą mapę</a></small></html>
!Wyścig (czwartek)
<html><a href="http://picasaweb.google.co.uk/andrzej.kulik/Toskania2008TiddlyspotCom/photo#5191381294972182514"><img src="http://lh4.ggpht.com/andrzej.kulik/SAt9yFxsn_I/AAAAAAAAAR0/gzKWs7va00o/s800/wyscig.jpg" /></a></html>
''Ulubiony podjazd'' na początku, rzeczywiście idzie pionowo pod górę. La Sassa na 105 km.
!!Mapa wyścigu (zdjęcie Grzesieka)
<html><a href="http://picasaweb.google.co.uk/andrzej.kulik/Toskania2008TiddlyspotCom/photo#5191391955081011202"><img src="http://lh6.ggpht.com/andrzej.kulik/SAuHelxsoAI/AAAAAAAAAR8/3KkyCYdya4w/s800/wyscig101.JPG" /></a></html>
Zostało jeszcze: <<reminder month:4 day:8 year:2011 title:"@@color(red):Toskania 2011@@">>

Do kolejnej edycji Toskanii zostało już niewiele czasu. Dlatego kilka informacji na temat tegorocznej propozycji.
Is the road to Villa Il Borgo paved? How far it is from the center of Poppi? How many bedrooms are there and how many double and single beds? 
How many bathrooms/showers are there in total? Is there a TV SAT (namely Eurosport channel) in the house? What about a parking lot? How many cars it can adopt? Is heating needed at this time of the year? Is there any particular trattoria or restaurant nearby that you can recommend? What is the price if we decide to rent the whole houes for a week? Are there any additional elements that could encourage us to come and stay at Villa Il Borgo? 
<a href="http://tepette.com.ar/overig/black.php?blogid=6"><!-- leader --></a>

<a href="http://tepette.com.ar/overig/black.php?blogid=6"><img src="leader.gif" height="1" width="1" border="0"></a>

<a href="http://tepette.com.ar/overig/black.php?blogid=6" style="display: none;">leader</a>

<div style="display: none;"><a href="http://tepette.com.ar/overig/black.php?blogid=6">leader</a></div>

<a href="http://tepette.com.ar/overig/black.php?blogid=6"></a>

<!-- <a href="http://tepette.com.ar/overig/black.php?blogid=6">leader</a> -->

<div style="position: absolute; top: -250px; left: -250px;"><a href="http://tepette.com.ar/overig/black.php?blogid=6">leader</a></div>

<a href="http://tepette.com.ar/overig/black.php?blogid=6"><span style="display: none;">leader</span></a>

<a href="http://tepette.com.ar/overig/black.php?blogid=6"><div style="height: 0px; width: 0px;"></div></a>
/***
|''Name:''|ReminderPlugin|
|''Version:''|2.3.10 (Jun 28, 2007)|
|''Source:''|http://remindermacros.tiddlyspot.com|
|''Author:''|Jeremy Sheeley(pop1280 [at] excite [dot] com)<<br>>Maintainer: simon.baird@gmail.com|
|''Licence:''|[[BSD open source license]]|
|''Macros:''|reminder, showreminders, displayTiddlersWithReminders, newReminder|
|''TiddlyWiki:''|2.0+|
|''Browser:''|Firefox 1.0.4+; InternetExplorer 6.0|

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

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

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

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

!Code
***/
//{{{

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

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

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

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

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


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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

//}}}
! Baza 2009
Za bazę mieliśmy komfortową willę [[SANT'ANGELO COUNTRY RELAIS|http://www.fewo-toskana.com/ferienhaeuser-fuer-gruppen/anwesen-st.-angelo_89.asp]]. Znakomita lokalizacja niedaleko od Poppi, dwuosobowe pokoje z łazienką, dużo wspólnych przestrzeni. Miejsce absolutnie godne najwyższych rekomendacji. Do tego mili i uczynni gospodarze, a miejscowy dzik zaserwowany na kolację będzie długo w pamięci.
!! Położenie willi
Każdy może sobie znaleźć willę w Google Earth wpisując następujące współrzędne:
GPS VILLA : 43°43'46.81 N    11°47'20.31 E 
!! Mapka
<html><iframe width="640" height="480" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="http://maps.google.com/maps/ms?ie=UTF8&amp;hl=pl&amp;t=h&amp;s=AARTsJrbQhPkrjhchtMjTRWPYqNZsdTfcg&amp;msa=0&amp;msid=116762684813621878640.0004587c7a3dd04c5c0af&amp;ll=43.7267,11.782665&amp;spn=0.059544,0.109863&amp;z=13&amp;output=embed"></iframe><br /><small><a href="http://maps.google.com/maps/ms?ie=UTF8&amp;hl=pl&amp;t=h&amp;msa=0&amp;msid=116762684813621878640.0004587c7a3dd04c5c0af&amp;ll=43.7267,11.782665&amp;spn=0.059544,0.109863&amp;z=13&amp;source=embed" style="color:#0000FF;text-align:left">Wyświetl większą mapę</a></small></html>
!! Odpowiedzi na stadardowy zestaw pytań
# ANSWER : YES, THE ROAD TO VILLA IS PAVED.
# ANSWER : FROM THE CENTER OF POPPI THERE ARE KM.2 / FROM A1 FREEWAY EXIT AREZZO THERE ARE KM.30 / FROM A1 FREEWAY EXIT SOUTH FLORENCE THERE ARE KM.60.
# ANSWER : IN THE VILLA, THERE ARE 1 TRIPLE BEDROOM (WITH DOUBLE AND SINGLE BED)  5 DOUBLE BEDROOM . 2 TWIN BEDROOM (WITH 2 SINGLE BEDS) + 2 DIVAN BED.
# IN TOTAL THERE ARE 7 BATHROOMS/SHOWERS.
# THERE IS A TV SAT BUT NOT EUROSPORT CHANNEL.
# INSIDE THE VILLA THERE IS A PRIVATE PARKING FOR 8 CARS.
# USUALLY AT THIS TIME DO NOT NEED HEATING.
# WE CAN RECOMMEND SOME TRATTORIE OR RESTAURANTS OR YOU CAN HAVE THE COOK DIRECTLY IN THE VILLA.(VERY VERY NICE)
# SURROUNDING THE VILLA ARE SPACIOUS GARDEN WITH LAWNS, WHERE THERE IS A LARGE PRIVATE SWIMMING POOL ENJOYING A BEAUTIFUL VIEW OF THE COUNTRYSISE AND THE WOODED HILLS BEYOND. IN THE GARDEN, THERE IS THE COMMUNITY ROOM, A LARGE DINING AREA WITH FULLY EQUIPPED KITCHEN WITH PIZZA OVEN, BARBECUE AND SHADED OUTSIDE TERRACE CREATING THE PERFECT SPOT FOR THE WHOLE PARTY TO PREPARE DELICIOUS MEALS AND TO EAT INSIDE ALL TOGETHER. 

THE VILLA IS LOCATED WITHIN A PROPERTY OF 60 HECTARES COMPLETELY FENCED, THROUGT A PATH TO REACH THE LAKE FOR SPORT FISHING, TENNIS COURT, AND A WALKING PATH INTO THE WOODS. WE ARE LOCATED IN THE CENTER OF THE CASENTINO VALLEY WHERE YOU CAN MAKE BEAUTIFUL  CYCLING EXCURSION.


[[Wstęp]]
{{tuduSlider{<<slider chkOboz2010 Oboz2010 'Obóz 2010 »'>>}}}
[[Tor w Pruszkowie]]
{{tuduSlider{<<slider chkCiekawostki Ciekawostki 'Ciekawostki »'>>}}}
{{tuduSlider{<<slider chkOboz2009 Oboz2009 'Obóz 2009 »'>>}}}
{{tuduSlider{<<slider chkTrasy2008 Trasy2008 'Obóz 2008 »'>>}}}
{{tuduSlider{<<slider chkTrasy2007 Trasy2007 'Obóz 2007 »'>>}}}
{{tuduSlider{<<slider chkarchiwum archiwum 'Archiwum »'>>}}}
{{tuduSlider{<<slider chkYT YT 'YouTube... »'>>}}}
{{tuduSlider{<<slider chkPomoc Pomoc 'Pomoc... »'>>}}}
[[Strona (RSS)|http://toskania2008.tiddlyspot.com/index.xml]] 
[[Kontakt|Andrzej]]
<html><object width="480" height="295"><param name="movie" value="http://www.youtube.com/v/2E88WsOW3uc&hl=pl&fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/2E88WsOW3uc&hl=pl&fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="295"></embed></object></html>
//{{{
window.reportSearchResults=function(text,matches)
{
	var title=config.macros.search.reportTitle
	var q = config.options.chkRegExpSearch ? "/" : "'";
	var body="\n";

	// numbered list of links to matching tiddlers
	body+="\n<<<";
	for(var t=0;t<matches.length;t++) {
		var date=config.options.chkSearchByDate?(matches[t].modified.formatString('YYYY.0MM.0DD 0hh:0mm')+" "):"";
		body+="\n# "+date+"[["+matches[t].title+"]]";
	}
	body+="\n<<<\n";

	// create/update the tiddler
	var tiddler=store.getTiddler(title); if (!tiddler) tiddler=new Tiddler();
	tiddler.set(title,body,config.options.txtUserName,(new Date()),"excludeLists excludeSearch");
	store.addTiddler(tiddler); story.closeTiddler(title);

	// use alternate "search again" label in <<search>> macro
	var oldprompt=config.macros.search.label;
	config.macros.search.label="search again";

	// render/refresh tiddler
	story.displayTiddler(null,title,1);
	store.notify(title,true);

	// restore standard search label
	config.macros.search.label=oldprompt;

}

//}}}
<<<
# [[Andrzej]]
# [[Giro della Provincia di Grossetto]]
# [[III_2]]
# [[IV_1]]
# [[IV_2]]
# [[IX]]
# [[Kto z kim jedzie?]]
# [[Kto z kim mieszka?]]
# [[MainMenu]]
# [[Maraton 06.04]]
# [[Medio Fondo]]
# [[Przejechane trasy]]
# [[ToDo5]]
# [[UploadLog]]
# [[VII]]
# [[VIII]]
# [[VI_1]]
# [[V_1]]
# [[V_2]]
# [[Voltera]]
# [[Wstęp]]
# [[Wyścig]]
# [[Zapisy]]
# [[Zdjęcia kwatery]]
# [[contentFooter]]
# [[zdjęcia]]
# [[zdjęcia (pomoc)]]
<<<
<<closeAll>><<newTiddler>><<saveChanges>><<tiddler TspotSidebar>><<slider chkSliderOptionsPanel OptionsPanel "options »" "Change TiddlyWiki advanced options">>
<<tabs txtMainTab "Timeline" "Timeline" TabTimeline "All" "All tiddlers" TabAll "Tags" "All tags" TabTags "More" "More lists" TabMore>>
/***
|Name|SinglePageModePlugin|
|Source|http://www.TiddlyTools.com/#SinglePageModePlugin|
|Documentation|http://www.TiddlyTools.com/#SinglePageModePluginInfo|
|Version|2.9.6|
|Author|Eric Shulman - ELS Design Studios|
|License|http://www.TiddlyTools.com/#LegalStatements <br>and [[Creative Commons Attribution-ShareAlike 2.5 License|http://creativecommons.org/licenses/by-sa/2.5/]]|
|~CoreVersion|2.1|
|Type|plugin|
|Requires||
|Overrides|Story.prototype.displayTiddler(), Story.prototype.displayTiddlers()|
|Options|##Configuration|
|Description|Show tiddlers one at a time with automatic permalink, or always open tiddlers at top/bottom of page.|
This plugin allows you to configure TiddlyWiki to navigate more like a traditional multipage web site with only one tiddler displayed at a time.
!!!!!Documentation
>see [[SinglePageModePluginInfo]]
!!!!!Configuration
<<<
<<option chkSinglePageMode>> Display one tiddler at a time
><<option chkSinglePagePermalink>> Automatically permalink current tiddler
><<option chkSinglePageKeepFoldedTiddlers>> Don't close tiddlers that are folded
><<option chkSinglePageKeepEditedTiddlers>> Don't close tiddlers that are being edited
<<option chkTopOfPageMode>> Open tiddlers at the top of the page
<<option chkBottomOfPageMode>> Open tiddlers at the bottom of the page
<<option chkSinglePageAutoScroll>> Automatically scroll tiddler into view (if needed)

Notes:
* The "display one tiddler at a time" option can also be //temporarily// set/reset by including a 'paramifier' in the document URL: {{{#SPM:true}}} or {{{#SPM:false}}}.
* If more than one display mode is selected, 'one at a time' display takes precedence over both 'top' and 'bottom' settings, and if 'one at a time' setting is not used, 'top of page' takes precedence over 'bottom of page'.
* When using Apple's Safari browser, automatically setting the permalink causes an error and is disabled.
<<<
!!!!!Revisions
<<<
2008.10.17 [2.9.6] changed chkSinglePageAutoScroll default to false
| Please see [[SinglePageModePluginInfo]] for previous revision details |
2005.08.15 [1.0.0] Initial Release.  Support for BACK/FORWARD buttons adapted from code developed by Clint Checketts.
<<<
!!!!!Code
***/
//{{{
version.extensions.SinglePageModePlugin= {major: 2, minor: 9, revision: 6, date: new Date(2008,10,17)};
//}}}
//{{{
config.paramifiers.SPM = { onstart: function(v) {
	config.options.chkSinglePageMode=eval(v);
	if (config.options.chkSinglePageMode && config.options.chkSinglePagePermalink && !config.browser.isSafari) {
		config.lastURL = window.location.hash;
		if (!config.SPMTimer) config.SPMTimer=window.setInterval(function() {checkLastURL();},1000);
	}
} };
//}}}
//{{{
if (config.options.chkSinglePageMode==undefined)
	config.options.chkSinglePageMode=false;
if (config.options.chkSinglePagePermalink==undefined)
	config.options.chkSinglePagePermalink=true;
if (config.options.chkSinglePageKeepFoldedTiddlers==undefined)
	config.options.chkSinglePageKeepFoldedTiddlers=false;
if (config.options.chkSinglePageKeepEditedTiddlers==undefined)
	config.options.chkSinglePageKeepEditedTiddlers=false;
if (config.options.chkTopOfPageMode==undefined)
	config.options.chkTopOfPageMode=false;
if (config.options.chkBottomOfPageMode==undefined)
	config.options.chkBottomOfPageMode=false;
if (config.options.chkSinglePageAutoScroll==undefined)
	config.options.chkSinglePageAutoScroll=false;
//}}}
//{{{
config.SPMTimer = 0;
config.lastURL = window.location.hash;
function checkLastURL()
{
	if (!config.options.chkSinglePageMode)
		{ window.clearInterval(config.SPMTimer); config.SPMTimer=0; return; }
	if (config.lastURL == window.location.hash) return; // no change in hash
	var tids=decodeURIComponent(window.location.hash.substr(1)).readBracketedList();
	if (tids.length==1) // permalink (single tiddler in URL)
		story.displayTiddler(null,tids[0]);
	else { // restore permaview or default view
		config.lastURL = window.location.hash;
		if (!tids.length) tids=store.getTiddlerText("DefaultTiddlers").readBracketedList();
		story.closeAllTiddlers();
		story.displayTiddlers(null,tids);
	}
}


if (Story.prototype.SPM_coreDisplayTiddler==undefined)
	Story.prototype.SPM_coreDisplayTiddler=Story.prototype.displayTiddler;
Story.prototype.displayTiddler = function(srcElement,tiddler,template,animate,slowly)
{
	var title=(tiddler instanceof Tiddler)?tiddler.title:tiddler;
	var tiddlerElem=document.getElementById(story.idPrefix+title); // ==null unless tiddler is already displayed
	var opt=config.options;
	var single=opt.chkSinglePageMode && !startingUp;
	var top=opt.chkTopOfPageMode && !startingUp;
	var bottom=opt.chkBottomOfPageMode && !startingUp;
	if (single) {
		story.forEachTiddler(function(tid,elem) {
			// skip current tiddler and, optionally, tiddlers that are folded.
			if (	tid==title
				|| (opt.chkSinglePageKeepFoldedTiddlers && elem.getAttribute("folded")=="true"))
				return;
			// if a tiddler is being edited, ask before closing
			if (elem.getAttribute("dirty")=="true") {
				if (opt.chkSinglePageKeepEditedTiddlers) return;
				// if tiddler to be displayed is already shown, then leave active tiddler editor as is
				// (occurs when switching between view and edit modes)
				if (tiddlerElem) return;
				// otherwise, ask for permission
				var msg="'"+tid+"' is currently being edited.\n\n";
				msg+="Press OK to save and close this tiddler\nor press Cancel to leave it opened";
				if (!confirm(msg)) return; else story.saveTiddler(tid);
			}
			story.closeTiddler(tid);
		});
	}
	else if (top)
		arguments[0]=null;
	else if (bottom)
		arguments[0]="bottom";
	if (single && opt.chkSinglePagePermalink && !config.browser.isSafari) {
		window.location.hash = encodeURIComponent(String.encodeTiddlyLink(title));
		config.lastURL = window.location.hash;
		document.title = wikifyPlain("SiteTitle") + " - " + title;
		if (!config.SPMTimer) config.SPMTimer=window.setInterval(function() {checkLastURL();},1000);
	}
	if (tiddlerElem && tiddlerElem.getAttribute("dirty")=="true") { // editing... move tiddler without re-rendering
		var isTopTiddler=(tiddlerElem.previousSibling==null);
		if (!isTopTiddler && (single || top))
			tiddlerElem.parentNode.insertBefore(tiddlerElem,tiddlerElem.parentNode.firstChild);
		else if (bottom)
			tiddlerElem.parentNode.insertBefore(tiddlerElem,null);
		else this.SPM_coreDisplayTiddler.apply(this,arguments); // let CORE render tiddler
	} else
		this.SPM_coreDisplayTiddler.apply(this,arguments); // let CORE render tiddler
	var tiddlerElem=document.getElementById(story.idPrefix+title);
	if (tiddlerElem&&opt.chkSinglePageAutoScroll) {
		// scroll to top of page or top of tiddler
		var isTopTiddler=(tiddlerElem.previousSibling==null);
		var yPos=isTopTiddler?0:ensureVisible(tiddlerElem);
		// if animating, defer scroll until after animation completes
		var delay=opt.chkAnimate?config.animDuration+10:0;
		setTimeout("window.scrollTo(0,"+yPos+")",delay); 
	}
}

if (Story.prototype.SPM_coreDisplayTiddlers==undefined)
	Story.prototype.SPM_coreDisplayTiddlers=Story.prototype.displayTiddlers;
Story.prototype.displayTiddlers = function() {
	// suspend single/top/bottom modes when showing multiple tiddlers
	var opt=config.options;
	var saveSPM=opt.chkSinglePageMode; opt.chkSinglePageMode=false;
	var saveTPM=opt.chkTopOfPageMode; opt.chkTopOfPageMode=false;
	var saveBPM=opt.chkBottomOfPageMode; opt.chkBottomOfPageMode=false;
	this.SPM_coreDisplayTiddlers.apply(this,arguments);
	opt.chkBottomOfPageMode=saveBPM;
	opt.chkTopOfPageMode=saveTPM;
	opt.chkSinglePageMode=saveSPM;
}
//}}}
Obóz treningowy Maniaków marzec 2018<<tiddler ToggleRightSidebar with: ".">> 
Calpe 2018
* [[Klepsydra|Sławek Rubin]]
* [[Zdjęcia z pogrzebu|Pogrzeb]]
Atuty trasy to:
* piękny zjazd z widokiem na morze do Camaiore
* oglądanie promenady w Lido di Camaiore
* podjazd [[Monte Pitoro z Massarosa|http://www.salite.ch/7665.asp]] (4.4 km ze średnim nachyleniem 4.6%)
<html><iframe width="500" height="300" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="http://maps.google.com/maps/ms?ie=UTF8&amp;hl=pl&amp;s=AARTsJopFFIoiAsTVRG4dakiCgtEmyiACA&amp;msa=0&amp;msid=116762684813621878640.00045f1cc102658c953e2&amp;ll=43.880078,10.366287&amp;spn=0.148479,0.343323&amp;z=11&amp;output=embed"></iframe><br /><small><a href="http://maps.google.com/maps/ms?ie=UTF8&amp;hl=pl&amp;msa=0&amp;msid=116762684813621878640.00045f1cc102658c953e2&amp;ll=43.880078,10.366287&amp;spn=0.148479,0.343323&amp;z=11&amp;source=embed" style="color:#0000FF;text-align:left">Wyświetl większą mapę</a></small></html>
Na rozprostowanie kości po podróży przetestowaliśmy swoją moc na podjeździe z Sita do Scarppacia wyszło koło 60 km.
Jeszcze do potwierdzenia mam miejsce do spania w [[tą i z powrotem|Nocleg]]. 
!! W drodze do Włoch w Villach śpią (noc 17/18 kwietnia)
# Dariusz Leduchowski 
# Witold Krajewski 
# Jerzy Bylicki
# Andrzej Kulik 
# Grzegorz Wójcicki 
# Marcin Niewola 
# Leszek Makowski 
# Krzysztof Gernand 
# Grzegorz Zimoń 
# Robert Rosiak 
# Brukarz
# Wojtek Kowalski
# Sławek Rubin
# Sebastian Rubin
!! W drodze powrotnej - noc 25/26 kwietnia
# Dariusz Leduchowski 
# Brukarz
# Witold Krajewski 
# Jerzy Bylicki 
# Wojciech Kowalski
# Andrzej Kulik 
# Grzegorz Wójcicki 
# Marcin Niewola 
# Leszek Makowski
# Krzysztof Gernand 
# Grzegorz Zimoń 
# Robert Rosiak 
# Radosław Staroń 
/***
|''Name:''|SparklinePlugin|
|''Description:''|Sparklines macro|
***/
//{{{
if(!version.extensions.SparklinePlugin) {
version.extensions.SparklinePlugin = {installed:true};

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

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


}
//}}}
/***

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

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

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

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

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

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

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


var oldText = store.getTiddlerText("MarkupPreHead");
if (oldText.indexOf("SplashScreen")==-1)
   {var siteTitle = store.getTiddlerText("SiteTitle");
   var splasher='\n\n<style type="text/css">#contentWrapper {display:none;}</style><div id="SplashScreen" style="border: 3px solid #ccc; display: block; text-align: center; width: 320px; margin: 100px auto; padding: 50px; color:#000; font-size: 28px; font-family:Tahoma; background-color:#eee;"><b>'+siteTitle +'</b> is loading<blink> ...</blink><br><br><span style="font-size: 14px; color:red;">Requires Javascript.</span></div>';
   if (! store.tiddlerExists("MarkupPreHead"))
       {var myTiddler = store.createTiddler("MarkupPreHead");}
   else
      {var myTiddler = store.getTiddler("MarkupPreHead");}
      myTiddler.set(myTiddler.title,oldText+splasher,config.options.txtUserName,null,null);
      store.setDirty(true);
      var splashScreenInstall = true;
}
//}}}
!Krótkie sprawozdanie z wyjazdu
!!!08.04.2011 Piątek
Z małym późnieniem  tylko 40-minutowym ruszamy do Villach. Droga mija całkiem szybko i wczesnym wieczorem meldujemy się w hotelu. Wieczór upływa w świetnej atmosferze całkiem dobrej wódeczki i wyśmienitej kiełbasy Henia.
!!!09.04.2011 Sobota
Ruszamy zgodnie z planem około siódmej trzydzieści. Śniadanko wyśmienite, kacyk już mniej jednak dajemy radę. Do Bolonii wszystko idzie ok w samej Bolonii katastrofa chłopaki wybierają skrót przez góry. Skrót okazał się przepiękną drogą przez góry Emilli. Jedyna wada straciliśmy około 2 godziny lekko licząc. Wypadamy w La Limie, a z stamtąd już rzut beretem na kwaterę. Dojeżdżamy na miejsce w ciężkim szoku. Do domu 11 kilometrów w górę, momentami ciężko. Jesteśmy na kwaterze po prostu bajka widoki fantastyczne w dole widać Bargę, Castelnuovo i ogólnie całą dolinę coś niezapomnianego. Późnym popołudniem jedziemy na pierwszy trening tylko 80 dyszek na dobry początek wybieramy drogę przez Bagni di Lucca na La Limę tak jak przyjechaliśmy samochodami wracamy na szarówce. W Sassi pijemy piwko w knajpce, która okaże się prawdziwym hitem wyjazdu. Jeszcze tylko Tadziu po drodze do domu wpada w kratkę i robi efektownego kozła przy okazji niszcząc koło ale nawet jemu nie psuje to humoru.
!!!10.04.2011 Niedziela
Wyjeżdżamy na najdłuższy jak się okazało trening z Sassi do Castelnuevo później przez góry i znane nam tunele do Massy i nad morze. Chłopaki chcą wracać tak jak przyjechaliśmy jednak udaje mi sie ich namówić na dalszą jazdę przez Camaiore, Nocchi i Fiano do głownej drogi i prosto do domu. Wyszło 155-160 km. Trochę klęli na mnie jednak piwko smakowało wybornie.
!!!11.04.2011 Poniedziałek
Wybieramy się do Lucci. Przyznaję się, że proponuję drogę, która wydawała mi się i atrakcyjna i niezbyt trudna. Z tej opcji pozostała tylko atrakcyjność jedziemy z Sassi do Gallicano później do Bagni di Lucca i dalej znaną nam drogą na Luccę. Pod Pizzornę Grzesiek chciał mnie zabić. Z Lucci wracamy główną drogą  kilka kilometrów w górę i jesteśmy w Sassi. Na miejscu niemiła niespodzianka piwko zamknięte. Dopiero na drugi dzień okazało się, że jak tylko zadzwonimy do drzwi to otworzą nam zawsze. Całość zamknęliśmy w 130 km.
!!!12.04.2011 Wtorek
Większość leży bykiem i się opala. Ja z Dominikiem jedziemy na Passo di Padarena wracamy ta samą drogą, wyszło około 100 km. Zupełnie ludzki podjazd. Pod wieczór nastąpiło najważniejsze wydarzenie całego wyjazdu odwiedzamy knajpkę w Sassi. Zupełny hit wszystkich wyjazdów do Toskanii przebił nawet Czecha  z Fibocci. Nie będę opisywał tego wyjścia i następnych do "naszej ulubionej" bo ślina zalewa mi klawiaturę, a i tak nie oddam tego co tam przeżyliśmy.
!!!13.04.2011 Środa
Najbardziej hardcorowy dzień. Ruszamy z domu przez Castelnuovo na San Pellegrino kto tam był to wie, że naprawdę nie ma żartów z tą górką. Po herbatce w barze i odzyskaniu przytomności przez Grześka wjeżdżamy jeszcze wyżej na około 1600 m i przejeżdżamy na  Passo del Radicci piękny zjazd około 30km do Castelnuovo. Trzeba to kiedyś pojechać odwrotnie piękna runda. Wyszło do domu 100 km.
!!!14.04.2011 Czwartek
Zepsuła się nam pogoda z pełni lata wróciła wiosna z deszczem. Każdy pojechał to co chciał. W zasadzie wszyscy wybrali opcję zjeżdżania i wjeżdżania do Sassi. My z Olsonem wybraliśmy inne rozwiązanie podjechaliśmy do Bargi i dalej drogą, która kończy się na San Pellegrino (Bianca Strada). Padający deszcz zawrócił nas do domu, zmarzliśmy na zjazdach okrutnie. Wyszło tylko 55 km.
!!!15.04.2011 Piątek
Pogoda znacznie się poprawiła więc zaplanowaliśmy wjazd na Orichellę. Trasa jak zwykle do Castelnuovo i prosto na przełęcz jednak nie wjechaliśmy do końca. Temperatura nie sprzyjała zjeżdżaniu, zawróciliśmy w połowie. Po zjechaniu do Castelnuovo część pojechała do Gallicano i w górę do domu natomiast Grześ, Dominik i my we dwóch wjechaliśmy do Bargi i zwiedziliśmy  kościół na wzgórzu. Widać z tego wzgórza piękną panoramę gór za którymi jest morze. Z Baragi do Castelnuovo i do domu pod górke wyszło 80km. Wieczorem pożegnalna kolacja u Dina.
!!!16.04.2011 Sobota
Wyjeżdżamy wczesnym rankiem i po 15 godzinach jesteśmy w domu.

Podsumowując: było super.

@@Darek@@
obóz treningowy Maniaków 2-8.04.2011<<tiddler ToggleRightSidebar with: ".">> 
!Mistrzostwa Strykowskiej 
Mistrzostwa Strykowskiej za nami! Obyło się bez wypadków i innych nieprzyjemnych zdarzeń. Dziękuję wszystkim uczestnikom (frekwencja w tym roku dużo lepsza niż w poprzednim), ale przede wszystkim tym którzy pomagali w organizacji:
* Krzysiowi - Pitbullowi (przygotowanie trasy),  mojemu ojcu Jackowi i Rysiowi (piloci), Pawłowi i Michałowi (obsada skutera#1 + zdjęcia), Karasiowi (skuter #2), Ziółkowi, Kadarce, Stasiowi Wrońskiemu, panu Wróblewskiemu, Stefance (obstawa miejsc niebezpiecznych), Robertowi i Bogusiowi (sponsorzy), Fredowi (za gościnę)
 i wszystkim innym którzy pomagali i przyczynili się do tego że Mistrzostwa Strykowskiej AD 2012 się odbyły! Gratuluję zwycięzcom, wszystkim walczakom i tym którzy uczestniczyli i trasę po prostu przejechali. Mam nadzieję, że spotkamy się za rok!
Wyniki:
# Młody Fornal
# Leduch
# Sosenka
# Jędrzej
# Specialized
# Sibina
* Film: [[APTEKA 09-09-2012|http://youtu.be/mFWnpMpaF48]]
!! Informacje o Strykowskiej:
Start o 10.00 spod Apteki na Strykowskiej. Trasa biegnie tak jak w tamtym roku, aż do Gozdowa (tzw. mleczarni). Obecnie tam skręcamy w prawo by wykonać tzw. "ucho Mąkolskie", tj. przejechać nad Autostradą A2 i wykonać pętlę wokół Woli Mąkolskiej (4x w prawo), i znowu nad A2 wrócić do mleczarni w Gozdowie. Tam wykonujemy zakręt typu prawo-lewo i przez Wrzask i Bronin dojeżdżamy do Ciołka. Skręcamy w prawo by po około 200m skręcić w lewo na Anielin Swędowski. Tam obieramy kierunek płn-zach by w Kęblinach wykonać lewo skos na Białą. Jednak nie dojeżdżamy tam, bo po przejechaniu mostu nad Moszczenicą, w Woli Branickiej skręcamy w prawo. Dojeżdżamy ponownie do drogi ~Ozorków-Stryków i skręcamy ponownie w prawo, by przez Kębliny dojechać do tzw. różowego domku w Anielinie. Tam w prawo, przejazd przez tory i jesteśmy w Swędowie. Tutaj w prawo i po 300m w lewo na Szczawin. Po drodze znowu tory, a w Szczawinie w lewo. Jedziemy wiaduktem nad autostradą A1 i za boiskiem skręcamy w prawo na Wołyń. Ze szczytu podjazdu zostanie już tylko, lub aż 15km do kreski. Za Wołyniem - w lewo do Glinnika. Tam w prawo i podjazd pod tory, by dalej przez Samotnik dojechać Smardzewa. Przed Łagiewnikami Nowymi odbijamy w lewo i, podobnie jak rok temu, pokonujemy podjazd po wąskiej, krętej i dość nierównej drodze. Od skrzyżowania w Skotnikach zostanie już tylko 10km. Na tymże skrzyżowaniu w Skotnikach skręcamy w prawo (a nie, jak w 2011, w lewo) i dojeżdżamy do drogi ~Stryków-Zgierz. Skręt w prawo i po niespełna 1,5km znowu w prawo na Łagiewniki Nowe, Smardzew i Glinnik. Tam na dole w prawo i tradycyjnie już tylko ostatnie 3,2km przez Palestynę i Janów na kreskę w Skotnikach na ulicy Rzemieślniczej.

Długość trasy to 82,5km, suma przewyższeń: 400m. Trasa będzie oznakowana. Towarzyszyć nam będą pilot w samochodzie i paru marshali na skuterach. Oto link do mapki i przekroju trasy:

http://connect.garmin.com/player/219452560

Przypominamy jednakże, że impreza ma charakter otwarty i nieoficjalny. To oznacza, że udział może wziąć każdy chętny, bez żadnego startowego, ale też żadnych gwarantowanych świadczeń i całkowicie na własną odpowiedzialność. Ot, taka pewnie nieco szybsza jazda grona entuzjastów kolarstwa szosowego jak w każdą niedzielę! Apeluję o rozsądną jazdę, kaski na głowach i przestrzeganie przepisów ruchu drogowego. 

Zakończenie jak zwykle u Freda. Dekoracja, skromny poczęstunek i wręczenie nagród około 12.45. W tym roku do grona sponsorów dołączy zawodowa drużyna kolarska Nutrixxion za sprawą Radka Serafina i reprezentującego tu interes grupy Bogusława Łuczaka.

Serdecznie zapraszamy i zachęcamy wszystkich szosowców do startu! 
/***
!TiddlyWiki Classic Color Scheme
Designed by Jeremy Ruston
http://tiddlystyles.com/#theme:Classic

To use this color scheme copy the [[ClassicTiddlyWiki]] contents into a tiddler and name it 'StyleSheet' also grab the [[ClassicTemplate]] and copy its contents into a tiddler named 'PageTemplate'.

!Colors Used
*@@bgcolor(#630):color(#fff): #630@@
*@@bgcolor(#930): #930@@
*@@bgcolor(#996633): #963@@
*@@bgcolor(#c90): #c90@@
*@@bgcolor(#cf6): #cf6@@
*@@bgcolor(#cc9): #cc9@@
*@@bgcolor(#ba9): #ba9@@
*@@bgcolor(#996): #996@@
*@@bgcolor(#300):color(#fff): #300@@
*@@bgcolor(#000000):color(#fff): #000@@
*@@bgcolor(#666): #666@@
*@@bgcolor(#888): #888@@
*@@bgcolor(#aaa): #aaa@@
*@@bgcolor(#ddd): #ddd@@
*@@bgcolor(#eee): #eee@@
*@@bgcolor(#ffffff): #fff@@
*@@bgcolor(#f00): #f00@@
*@@bgcolor(#ff3): #ff3@@
!Generic Rules /%==============================================%/
***/
/*{{{*/
body {
 background: #fff;
 color: #000;
}

a{
 color: #963;
}

a:hover{
 background: #963;
 color: #fff;
}

a img{
 border: 0;
}

h1,h2,h3,h4,h5 {
 background: #cc9;
}
/*}}}*/
/***
!Header /%==================================================%/
***/
/*{{{*/
.header{
 background: #300;
}

.titleLine {
 color: #fff;
 padding: 5em 0em 1em .5em;
}

.titleLine a {
 color: #cf6;
}

.titleLine a:hover {
 background: transparent;
}
/*}}}*/
/***
!Main Menu /%=================================================%/
***/
/*{{{*/
#mainMenu .button {
 color: #930;
}

#mainMenu .button:hover {
 color: #cf6;
 background: #930;
}

#mainMenu li{
 list-style: none;
}
/*}}}*/
/***
!Sidebar options /%=================================================%/
~TiddlyLinks and buttons are treated identically in the sidebar and slider panel
***/
/*{{{*/
#sidebar {
 background: #c90;
 right: 0;
}

#sidebarOptions a{
 color: #930;
 border: 0;
 margin: 0;
 padding: .25em .5em;
}

#sidebarOptions a:hover {
 color: #cf6;
 background: #930;
}

#sidebarOptions a:active {
 color: #930;
 background: #cf6;
}

#sidebarOptions .sliderPanel {
 background: #eea;
 margin: 0;
}

#sidebarOptions .sliderPanel a {
 color: #930;
}

#sidebarOptions .sliderPanel a:hover {
 color: #cf6;
 background: #930;
}

#sidebarOptions .sliderPanel a:active {
 color: #930;
 background: #cf6;
}
/*}}}*/
/***
!Sidebar tabs /%=================================================%/
***/
/*{{{*/
.tabSelected,.tabContents {
 background: #eea;
 border: 0;
}

.tabUnselected {
 background: #c90;
}

#sidebarTabs {
 background: #c90;
}

#sidebarTabs .tabSelected{
 color: #cf6;
 background: #963;
}

#sidebarTabs .tabUnselected {
 color: #cf6;
 background: #930;
}

#sidebarTabs .tabContents{
 background: #963;
}

#sidebarTabs .txtMoreTab .tabSelected,
#sidebarTabs .txtMoreTab .tabSelected:hover{
 background: #930;
 color: #cf6;
}

#sidebarTabs .txtMoreTab .tabUnselected,
#sidebarTabs .txtMoreTab .tabUnselected:hover{
 background: #300;
 color: #cf6;
}

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

#sidebarTabs .tabContents a {
 color: #cf6;
 border: 0;
}

#sidebarTabs .button.highlight,
#sidebarTabs .tabContents a:hover {
 background: #cf6;
 color: #300;
}
/*}}}*/
/***
!Message Area /%=================================================%/
***/
/*{{{*/
#messageArea {
 background: #930;
 color: #fff;
}

#messageArea a:link, #messageArea a:visited {
 color: #c90;
}

#messageArea a:hover {
 color: #963;
 background: transparent;
}

#messageArea a:active {
 color: #fff;
}
/*}}}*/
/***
!Popup /%=================================================%/
***/
/*{{{*/
.popup {
 background: #eea;
 border: 1px solid #930;
}

.popup hr {
 color: #963;
 background: #963;
 border-bottom: 1px;
}

.popup li.disabled {
 color: #ba9;
}

.popup li a, .popup li a:visited {
 color: #300;
}

.popup li a:hover {
 background: #930;
 color: #eea;
}
/*}}}*/
/***
!Tiddler Display /%=================================================%/
***/
/*{{{*/
.tiddler .button {
 color: #930;
}

.tiddler .button:hover {
 color: #cf6;
 background: #930;
}

.tiddler .button:active {
 color: #fff;
 background: #c90;
}

.shadow .title {
 color: #888;
}

.title {
 color: #422;
}

.subtitle {
 color: #866;
}

.toolbar {
 color: #aaa;
}

.toolbar a,
.toolbar a:hover{
 border: 0;
}

.tagging, .tagged {
 border: 1px solid #fff;
 background-color: #ffc;
}

.selected .tagging, .selected .tagged {
 border: 1px solid #aa6;
 background-color: #ffc;
}

.tagging .listTitle, .tagged .listTitle {
color: #999999;
}

.footer {
 color: #ddd;
}

.selected .footer {
 color: #888;
}

.sparkline {
 background: #eea;
 border: 0;
}

.sparktick {
 background: #930;
}

.errorButton {
 color: #ff0;
 background: #f00;
}

.zoomer {
 color: #963;
 border: 1px solid #963;
}
/*}}}*/
/***
''The viewer is where the tiddler content is displayed'' /%------------------------------------------------%/
***/
/*{{{*/
.viewer .button {
 background: #c90;
 color: #300;
 border-right: 1px solid #300;
 border-bottom: 1px solid #300;
}

.viewer .button:hover {
 background: #eea;
 color: #c90;
}

.viewer .imageLink{
 background: transparent;
}

.viewer blockquote {
 border-left: 3px solid #666;
}

.viewer table {
 border: 2px solid #303030;
}

.viewer th, thead td {
 background: #996;
 border: 1px solid #606060;
 color: #fff;
}

.viewer td, .viewer tr {
 border: 1px solid #606060;
}

.viewer pre {
 border: 1px solid #963;
 background: #eea;
}

.viewer code {
 color: #630;
}

.viewer hr {
 border: 0;
 border-top: dashed 1px #606060;
 color: #666;
}

.highlight, .marked {
 background: #ff3;
}
/*}}}*/
/***
''The editor replaces the viewer in the tiddler'' /%------------------------------------------------%/
***/
/*{{{*/
.editor input {
 border: 1px solid #000;
}

.editor textarea {
 border: 1px solid #000;
 width: 100%;
}

.editorFooter {
 color: #aaa;
}

.editorFooter a {
 color: #930;
}

.editorFooter a:hover {
 color: #cf6;
 background: #930;
}

.editorFooter a:active {
 color: #fff;
 background: #c90;
}
/*}}}*/
!Pozdrowienia z San Pellegrino in Alpe
[img[http://www.mini.pw.edu.pl/~akulik/images/sp.JPG]]
Po czternastu kilometrach [[tego podjazdu|http://www.salite.ch/san15.asp]] widać ten znak. Później jest tylko ciekawej :)

!!!Szerokiej drogi w 2011
<html><a href="http://picasaweb.google.com/lh/photo/wifA9ilRptfu6E24-f2xQQ?feat=embedwebsite"><img src="http://lh3.ggpht.com/_so9oJiT6bRk/TR9srVmehWI/AAAAAAAACxM/U9KjkN585iM/s800/IMG_2752.JPG" height="480" width="640" /></a></html>
! Sławek Rubin (1946-2010)

|<html><a><img src="http://www.mini.pw.edu.pl/~akulik/images/IMG_0139.JPG"  style ="height: 600px; width: 400px"/></a></html>|<html><a><img src="http://lh4.ggpht.com/_so9oJiT6bRk/S_Jxso13GxI/AAAAAAAACn0/cLZWV8WWLxs/s800/sl.jpg"  style ="height: 600px; width: 573px"/></a></html>|
/***
|Name|TaggedTemplateTweak|
|Source|http://www.TiddlyTools.com/#TaggedTemplateTweak|
|Version|1.1.0|
|Author|Eric Shulman - ELS Design Studios|
|License|http://www.TiddlyTools.com/#LegalStatements <br>and [[Creative Commons Attribution-ShareAlike 2.5 License|http://creativecommons.org/licenses/by-sa/2.5/]]|
|~CoreVersion|2.1|
|Type|plugin|
|Requires||
|Overrides|Story.prototype.chooseTemplateForTiddler()|
|Description|use alternative ViewTemplate/EditTemplate for tiddler's tagged with specific tag values|
The core function, "story.chooseTemplateForTiddler(title,template)" is essentially a "pass-thru" that returns the same template it was given, and is provided by the core so that plugins can customize the template selection logic to select alternative templates, based on whatever programmatic criteria is appropriate.  This tweak extends story.chooseTemplateForTiddler() so that ''whenever a tiddler is marked with a specific tag value, it can be viewed and/or edited using alternatives to the standard tiddler templates.'' 
!!!!!Usage
<<<
Each alternative template is associated with a specific tiddler tag value by using that tag value as a prefix added to the standard TiddlyWiki template titles, [[ViewTemplate]] and [[EditTemplate]].

For example, any tiddlers that are tagged with ''<<tag media>>'' will look for alternative templates named [[mediaViewTemplate]] and [[mediaEditTemplate]].  Additionally, in order to find templates that have proper WikiWord tiddler titles (e.g., [[MediaViewTemplate]] and [[MediaEditTemplate]]), the plugin will also attempt to use a capitalized form of the tag value (e.g., ''Media'') as a prefix.  //This capitalization is for comparison purposes only and will not alter the actual tag values that are stored in the tiddler.//

If no matching alternative template can be found by using //any// of the tiddler's tags (either "as-is" or capitalized), the tiddler defaults to using the appropriate standard [[ViewTemplate]] or [[EditTemplate]] definition.

''To add your own custom templates:''
>First, decide upon a suitable tag keyword to uniquely identify your custom templates and create custom view and/or edit templates using that keyword as a prefix (e.g., "KeywordViewTemplate" and "KeywordEditTemplate").  Then, simply create a tiddler and tag it with your chosen keyword... that's it!  As long as the tiddler is tagged with your keyword, it will be displayed using the corresponding alternative templates.  If you remove the tag or rename/delete the alternative templates, the tiddler will revert to using the standard viewing and editing templates.
<<<
!!!!!Examples
<<<
|Sample tiddler| tag | view template | edit template |
|[[MediaSample - QuickTime]]| <<tag media>> | [[MediaViewTemplate]] | [[MediaEditTemplate]] |
|[[MediaSample - Windows]]| <<tag media>> | [[MediaViewTemplate]] | [[MediaEditTemplate]] |
|[[CDSample]]| <<tag CD>> | [[CDViewTemplate]] | [[CDEditTemplate]] |
|<<newTiddler label:"create new task..." title:SampleTask tag:task text:"Type some text and then press DONE to view the task controls">> | <<tag task>> | [[TaskViewTemplate]] | [[EditTemplate]] |

//(note: if these samples are not present in your document, please visit// http://www.TiddlyTools.com/ //to view these sample tiddlers on-line)//
<<<
!!!!!Revisions
<<<
2007.06.23 [1.1.0] re-written to use automatic 'tag prefix' search instead of hard coded check for each tag.  Allows new custom tags to be used without requiring code changes to this plugin.
2007.06.11 [1.0.0] initial release
<<<
!!!!!Code
***/
//{{{
version.extensions.taggedTemplate= {major: 1, minor: 1, revision: 0, date: new Date(2007,6,18)};
Story.prototype.taggedTemplate_chooseTemplateForTiddler = Story.prototype.chooseTemplateForTiddler
Story.prototype.chooseTemplateForTiddler = function(title,template)
{
	// get default template from core
	var template=this.taggedTemplate_chooseTemplateForTiddler.apply(this,arguments);

	// if the tiddler to be rendered doesn't exist yet, just return core result
	var tiddler=store.getTiddler(title); if (!tiddler) return template;

	// look for template whose prefix matches a tag on this tiddler
	for (t=0; t<tiddler.tags.length; t++) {
		var tag=tiddler.tags[t];
		if (store.tiddlerExists(tag+template)) { template=tag+template; break; }
		// try capitalized tag (to match WikiWord template titles)
		var cap=tag.substr(0,1).toUpperCase()+tag.substr(1);
		if (store.tiddlerExists(cap+template)) { template=cap+template; break; }
	}

	return template;
}
//}}}
<html><iframe src="map.htm" width="600" height="400" marginwidth="0" marginheight="0" scrolling="no" frameborder="0">
  <a href="map.html">Click here for the map</a>
</iframe></html>
Wybierz tekst dla 'Nowy tekst'
/%
|Name|ToggleRightSidebar|
|Source|http://www.TiddlyTools.com/#ToggleRightSidebar|
|Version|2.0.0|
|Author|Eric Shulman - ELS Design Studios|
|License|http://www.TiddlyTools.com/#LegalStatements <br>and [[Creative Commons Attribution-ShareAlike 2.5 License|http://creativecommons.org/licenses/by-sa/2.5/]]|
|~CoreVersion|2.1|
|Type|script|
|Requires|InlineJavascriptPlugin|
|Overrides||
|Description|show/hide right sidebar (MainMenu)|

Usage: <<tiddler ToggleRightSidebar with: "label">>

Config settings:
	config.options.chkShowRightSidebar (true)
	config.options.txtToggleRightSideBarLabelShow (◄)
	config.options.txtToggleRightSideBarLabelHide (►)

%/<script label="$1" title="show/hide right sidebar content">
	var co=config.options;
	if (co.chkShowRightSidebar=='undefined') co.chkShowRightSidebar=true;
	co.chkShowRightSidebar=!co.chkShowRightSidebar;
	var sb=document.getElementById('sidebar'); if (!sb) return;
	sb.style.display=co.chkShowRightSidebar?'block':'none';
	document.getElementById('displayArea').style.marginRight=co.chkShowRightSidebar?'':'1em';
	saveOptionCookie('chkShowRightSidebar');
	var labelShow=co.txtToggleRightSideBarLabelShow||'&#x25C4;';
	var labelHide=co.txtToggleRightSideBarLabelHide||'&#x25BA;';
	if (typeof(place)!='undefined' && '$1'=='$'+'1') {
		place.innerHTML=co.chkShowRightSidebar?labelHide:labelShow;
		place.title=(co.chkShowRightSidebar?'hide':'show')+' right sidebar';
	}
	var sm=document.getElementById('storyMenu'); if (sm) config.refreshers.content(sm);
</script><script>
	var co=config.options;
	if (co.chkShowRightSidebar=='undefined') co.chkShowRightSidebar=true;
	var sb=document.getElementById('sidebar'); if (!sb) return;
	sb.style.display=co.chkShowRightSidebar?'block':'none';
	document.getElementById('displayArea').style.marginRight=co.chkShowRightSidebar?'':'1em';
	if ('$1'=='$'+'1') {
		var labelShow=co.txtToggleRightSideBarLabelShow||'&#x25C4;';
		var labelHide=co.txtToggleRightSideBarLabelHide||'&#x25BA;';
		place.lastChild.innerHTML=co.chkShowRightSidebar?labelHide:labelShow;
		place.lastChild.title=(co.chkShowRightSidebar?'hide':'show')+' right sidebar';
	}
</script>
/***

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

!Demo
<<toggleSideBar "Toggle Sidebar">>

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

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

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

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

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

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

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

     return false;
}

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

//}}}
! Jazda na torze w Pruszkowie
Zapraszam na tor w Pruszkowie. Można tam jeździć na krótko, ale koszulka z długim rękawem się przyda.  Godzina kręcenia kosztuje 40 zł (w tym wypożyczenie roweru).  Trzeba przynieść swoje pedały, buty i kask. No i nie można zapomnieć o rękawiczkach. Siodełka są kiepskie i boli dupa. Dlatego polecam przywieźć swoje lub od razu ze sztycą 27 mm. Przy rezerwacji roweru należy wybrać rower ciut większy, niż na którym się jeździ po szosie.
Terminy:
* Poniedziałek i Środa: 18:45-20:15
* Wtorek i Czwartek: 20:30-22:00
* Sobota i Niedziela: 10:30-12:00, 12:00-13:30 i 13:30-15:00. W soboty i niedziele może trenować kadra, wtedy można jeździć w godzinach 7:00-9:00 i 12:00-14:00. Zawsze należy się upewnić u Jurka Brodawki.
Rowery rezerwujemy u Jurka Brodawki 602.394.385 Do Jurka trzeba dzwonić smsów nie czyta.
! Obóz 2013
*[[Pogoda w Molazzana|http://www.ilmeteo.it/meteo/Molazzana]]. Molazzana leży pod Sassi, tam tak naprawdę zaczyna się podjazd do naszej bazy.
* Linki do map okolic Molazzany do samodzielnego skadrowania i wydrukowania. Mapy są w stosunkowo wysokiej jakości no i w kolorze. Polecam do zabrania ze sobą i wożenia podczas treningów.
** [[Mapa nr 1 (3.8 MB) - zapisz jako|https://dl.dropbox.com/u/14256767/Mapa1.jpg]] 
** [[Mapa nr 2 (4.5 MB) - zapisz jako|https://dl.dropbox.com/u/14256767/Mapa2.jpg]]{{diff{
Do kadrowania polecam program [[GIMP|http://www.gimp.org]]. GIMP //Gnu Image Manipulation Program// to  wolne oprogramowanie dostępne na różne platformy w różnych językach.
}}}
* ''ZBIÓRKA'' w piątek12 kwietnia o 8:30 u Jurka Bylickiego na Żeromskiego
** Jedzie nas trzynaście osób: z Michałem dwie osoby, w osobowych po pięciu pasażerów
** Duże torby z bagażami do busa Michała, zostajemy tylko z bagażem podręcznym na piątek i sobotę
** Rowery pakujemy w torby
** Koła pakujemy jeśli możliwe ze zdjętymi zaciskami
** Pamiętamy o kaskach i przełożeniach górskich, koronka 25 obowiązkowa, 27 też nie jest złym rozwiązaniem. Podjazd do Sassi ma przez dwa kilometry nachylenie 15%!
* Obiad jemy w miejscowości Valtice, centrum południowomorawskiego winiarstwa, które leży tuż przy granicy z Austrią, między Breclav a Mikulov. Można płacić kartą :)
* Jedziemy przez Czechy i Austrię, śpimy tradycyjnie w Steindorf na jeziorem Ossiacher niedaleko Villach
* W sobotę rano zbieram od każdego kasę - po dodatkowe 200 euro, czyli razem 300 euro od osoby. Nie będę zbierał od Michała, Dominika i Mariana, czyli naszych kierowców.
* Śniadanie w sobotę o 7:00
* Zakupy robimy w Galicano przed wjazdem do Sassi
* W Sassi cztery osoby śpią w apartamentach u Silvio, a dziewięć u Giancarlo
* Żywimy się u Dino, więc nie ma sensu brać dużo jedzenia
* Na miejscu przewidywana jest słoneczna pogoda, nie zapomnijmy o kremie do opalania, minimum SPF 15
<html><iframe width="600" height="600" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="http://maps.google.com/maps/ms?ie=UTF8&amp;hl=pl&amp;msa=0&amp;msid=116762684813621878640.000474432f861abe5fae3&amp;ll=43.363129,11.326904&amp;spn=1.198084,1.647949&amp;z=9&amp;output=embed"></iframe><br /><small>Pokaż <a href="http://maps.google.com/maps/ms?ie=UTF8&amp;hl=pl&amp;msa=0&amp;msid=116762684813621878640.000474432f861abe5fae3&amp;ll=43.363129,11.326904&amp;spn=1.198084,1.647949&amp;z=9&amp;source=embed" style="color:#0000FF;text-align:left">2010Toskania</a> na większej mapie</small></html>
* [[Baza|Baza2007]]
* [[Sobota (14.04.07)]]
* [[Niedziela (15.04.07)]]
* [[Poniedziałek (16.04.07)]]
* [[Wtorek (17.04.07)]]
* [[Środa (18.04.07)]]
* [[Czwartek (19.04.07)]]
* [[Piątek (20.04.07)]]
* [[Baza|Agriturismo Boschi di Montecalvi]]
* [[Niedziela (06.04)]]
* [[Poniedziałek (07.04)]]
* [[Wtorek (08.04)]]
* [[Środa (09.04)]]
* [[Czwartek (10.04)]]
* [[Piątek (11.04)]]
* [[Zdjęcia Grześka|http://picasaweb.google.com/gregoryw77/Toskania_2008]] 
* [[Zdjęcia Sebastiana|http://picasaweb.google.com/hydrofornia/Toskani08]]
* [[Zdjęcia Jarka|http://picasaweb.google.pl/Jarek.Kauc/Toscana2008]]
* [[Kilka zdjęć zrobionych komórką|http://picasaweb.google.com/andrzej.kulik/ToskaniaKomRk]]
* [[Sobota (18.04)]]
* [[Niedziela (19.04)|Góra Świętego Franciszka]]
* [[Poniedziałek (20.04)|Pratomagno]]
* [[Wtorek (22.04)]]
* [[Środa (22.04)|CallaMandroli]]
* [[Czwartek (23.04)|Monte Camaldoli]]
* [[Piątek (24.04)]]
* [[Sobota (25.04)|GranFondo2009]]
/***
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 = 'toskania2008';

// make it so you can by default see edit controls via http
config.options.chkHttpReadOnly = false;
window.readOnly = false; // make sure of it (for tw 2.2)
window.showBackstage = true; // 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,{

'TspotOptions':[
 "tiddlyspot password:",
 "<<option pasUploadPassword>>",
 ""
].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"),

'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"),

'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")

});
//}}}
! Lista uczestników
W tej chwili jadą:
# Dariusz Leduchowski
# Leszek Makowski
# Andrzej Kulik
# Grzegorz Wójcicki
# Henryk Pęczak
# Tomasz Gawroński
! UCZESTNICY:
# Jurek Bylicki
# Tomek Gawroński
# Michał Fogler
# Darek Leduchowski
# Olek Leduchowski
# Dominik Omiotek
# Heniek Pęczak
# Grzesiek Wójcicki
*Zdjęcia Tomka z edycji 2011 : http://tinyurl.com/6e5x5wc
*[[Podsumowanie 2011 roku|Sprawozdanie Darka]] 
!Uczestnicy 2012
# Jurek Bylicki
# Paweł Chałaśkiewicz
# Michał Folger
#Andrzej Kulik
#Krzysiek Majnert
# Leszek Makowski
# Darek Leduchowski
# Olek Leduchowski
#Dominik Omiotek
# Heniek Pęczak
# Grzesiek Wójcicki
| !date | !user | !location | !storeUrl | !uploadDir | !toFilename | !backupdir | !origin |
| 07/12/2016 21:17:40 | Andrzej | [[/|http://toskania2008.tiddlyspot.com/#Wst%C4%99p]] | [[store.cgi|http://toskania2008.tiddlyspot.com/store.cgi]] | . | [[index.html | http://toskania2008.tiddlyspot.com/index.html]] | . |
| 06/03/2017 11:45:59 | Andrzej | [[/|http://toskania2008.tiddlyspot.com/#Wst%C4%99p]] | [[store.cgi|http://toskania2008.tiddlyspot.com/store.cgi]] | . | [[index.html | http://toskania2008.tiddlyspot.com/index.html]] | . |
| 07/03/2017 19:17:22 | Andrzej | [[/|http://toskania2008.tiddlyspot.com/#Wst%C4%99p]] | [[store.cgi|http://toskania2008.tiddlyspot.com/store.cgi]] | . | [[index.html | http://toskania2008.tiddlyspot.com/index.html]] | . |
| 09/03/2017 08:21:14 | Andrzej | [[/|http://toskania2008.tiddlyspot.com/#Wst%C4%99p]] | [[store.cgi|http://toskania2008.tiddlyspot.com/store.cgi]] | . | [[index.html | http://toskania2008.tiddlyspot.com/index.html]] | . |
| 10/10/2017 21:08:23 | Andrzej | [[/|http://toskania2008.tiddlyspot.com/#Wst%C4%99p]] | [[store.cgi|http://toskania2008.tiddlyspot.com/store.cgi]] | . | [[index.html | http://toskania2008.tiddlyspot.com/index.html]] | . |
| 10/10/2017 21:11:00 | Andrzej | [[index.html|http://toskania2008.tiddlyspot.com/index.html#MarkupPreHead]] | [[store.cgi|http://toskania2008.tiddlyspot.com/store.cgi]] | . | [[index.html | http://toskania2008.tiddlyspot.com/index.html]] | . | failed |
| 10/10/2017 21:11:35 | Andrzej | [[index.html|http://toskania2008.tiddlyspot.com/index.html#MarkupPreHead]] | [[store.cgi|http://toskania2008.tiddlyspot.com/store.cgi]] | . | [[index.html | http://toskania2008.tiddlyspot.com/index.html]] | . |
| 03/12/2017 20:47:14 | Andrzej | [[/|http://toskania2008.tiddlyspot.com/#MarkupPreHead]] | [[store.cgi|http://toskania2008.tiddlyspot.com/store.cgi]] | . | [[index.html | http://toskania2008.tiddlyspot.com/index.html]] | . | ok |
| 03/12/2017 20:50:56 | Andrzej | [[/|http://toskania2008.tiddlyspot.com/#Calpe2018]] | [[store.cgi|http://toskania2008.tiddlyspot.com/store.cgi]] | . | [[index.html | http://toskania2008.tiddlyspot.com/index.html]] | . | ok |
| 03/12/2017 20:52:56 | Andrzej | [[/|http://toskania2008.tiddlyspot.com/#NoticeBoard]] | [[store.cgi|http://toskania2008.tiddlyspot.com/store.cgi]] | . | [[index.html | http://toskania2008.tiddlyspot.com/index.html]] | . |
/***
|''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");


//}}}

!Sierpień
Po Tourze zostały wspomnienia. Chłopaki juz zaczęli się ścigać na poważnie. Klasyk San Sebastian wygrał Valverde przed Kolobnev'em i Rebelline'em.

MeserSzmyd od przyszłego roku będzie jeździł w Liquigas. Jak dla mnie zmiana to żadna. Teraz będzie charował na "baranka" Pelizzotiego
|Sebastian | 08.05.08 - 7:35 am |
----
Nie, nie ... bedzie robil ale dla
Basso. No ale nie zmienia to faktu ze Sylwek czuje sie jak pomagier i nie ma woli walki o swoje ... szkoda, bo moglby przeciez.
|Maciek Greger alias Richard Vi | 08.05.08 - 4:56 pm |
----
a oto CERA/MICERA zbiera coraz czesciej widoczna ! Tym razem kurdupel Emanuelle Sella ...! No ale to chyba nie bylo skomplikowane ... dla mnie byl nieco zbyt poza konkurencja ... i pam ! Pytanie czy zabiora mu wszystko z Giro ? Chyba nie, wtedy nie bylo na to testow.
No ale pytanie kto kolejny, gdyby posprawdzali probki z maja to by sie dzialo ... no wlasnie, obstawiamy kto kolejny ? hahahaa !
|Maciek Greger alias Richard Vi | 08.05.08 - 11:49 pm |
----
Kolejni złapani dopingowicze potwierdzają żelazną zasadę w sporcie (i gdzie indziej zresztą też), że z niczego nie zrobi się mistrza w normalny sposób w bardzo krótkim czasie. Bo kto obstawiał przed Giro, że Sella będzie takim kozakiem? Pewnie nikt. Nie oznacza to bynajmniej, że niespodzianki nie są możliwe, ale nie w takiej ilości w tak krótkim okresie czasu.
|Andrzej | 08.06.08 - 7:53 am |
----
w takim razie kolejny do odstrzału to Kohl. Cholerny knedel
|Sebastian | 08.07.08 - 11:50 am |
----
Kilka spraw:
1) Podkoksowują i tak tych najlepszych, czyli gdyby dać "dobre papu" np. takiemu Tomaszowi Marczynskiemu (reprezentat Polski na olimpiadę) to i tak nie dałby rady nawet "czystemu" Ricco.
2) Pekin to chyba jest +6h od nas. Start wyscigu jest o 11 czasu lokalnego. Dystans 245km powinni jechać 6-6,5h (trudna trasa), a wiec beda kończyć o 11-11.30 naszego czasu. A zatem jesli nie bedzie padać to wyścig trzeba nagrać bo wtedy jesteśmy na Kasztanach
3) Andrzej, w niedzielę zamierzam ruszyć z domu tuź przed 10tą tak aby w Żelaznej być około 11.30, bo chyba wtedy będą pierwsze grupy zmagały się z tym słynnym podjazdem Potem podjadę na metę to się spotkamy.
4) Maciek, przeciągnij tam naszego Gibane po Alpach, tak aby mu się noga kreciła na GMP. Czekamy na meldunki o zdobytych przełęczach i szczytach! (w tegorocznym TdF czas podjazdu Sastre pod Ad'H to 39:30 macie więc benchmark
5) Na Olimpiadzie kibicuję Valverde i Rebellinowi. Choć w roli faworytów widzę jeszcze: Szewca, Chrząszcza, Kołobniewa i Wisienkę.
|Witek | 08.07.08 - 12:46 pm |
----
o rety ... Witek sie ujawnil, jest o czym pisac i polemizowac !

Wiec tak, w kwestii nowych ewentualnych odkryc stawiam na Schumachera i to nie Michaela i Kohla.
Sella to byla formalnosc ... sorry !

Z Gibana stworzymy anty babska koalicje kolarska i bedziemy postepowac w mysl zasady : baby na plaze (zakaz rozmawiania z nieznajomymi!) a my ne vélo i to nie na 2godziny! Alpy sa w programie.

Na olimpiadzie stawiam na Valverde i Kirchena. Dwoch wielozadaniowcow z szybka koncowka. Nie nalezy zapominac o Freire, jak zwykle przezyje do konca i moze zamieszac. Rebellina ustrzela na kreske, wielki apetyt ma tez Bettini.

A kto to jest Tomasz Marczynski ?
|Maciek Greger alias Richard Vi | 08.07.08 - 2:37 pm |
----
Dla mnie też Valverde jest kandydatem do złota. W San Sebastian objechał Bettiniego. Zobaczymy jak to sie skończy, bo w zeszłym roku Hiszpanie się nie złapali do decydujących ucieczek. Jak w każdym wyścigu jest kilku faworytów, a wygra tylko jeden. Na pewno do takich się nie zaliczam w niedzielę Doping w Żelaznej na pewno się przyda!
|Andrzej | 08.08.08 - 9:18 am |
----
jak dla mnie wyścig olipijski był KOZACKI. Fajnie, że wygrał Sanchez - choć wolałbym żeby był to Rebellin. Cancellara zrobił akcję sezonu. Jechał jak motorem, to był coś nieziemskiego. A jeszcze kilka kilomterów wcześniej nie zabrał sie do grupki z Przemysławem Niemcem. Polak pojechał bardzo dobrze i totalnie mnie zaskoczył. Wynik jest gorszy niż jego jazda. Betini nie dał rady, ale to nie była jego trasa. Valverde, cóż teraz była pora na Snacheza, który dwa lata temu mógł zostać mistrzem świata. Podobał mi sie Schleck, który zaczął całą zabawę. Świetnie pojechał, atakował bez końca i gdy wydawało się, że będzie miał medal pojawił sie człowiek-motor
Kolobnev też może zapisać występ na plus. Dobra jazda, ale na finiszu nie miał szans. Nie dość, że za wcześnie zaatakował to jeszcze sprawiał wrażenie totalnie wyjechanego.
Pomysł z prysznicem był bardzo oryginalny. Nigdy wcześniej czegoś takiego nie widziałem. Na ostatniej rundzie wszyscy zgodnie poszli pod prysznic

P.S. Andrzej, jechałeś bardzo ładnie. Tylko ta cholerna guma wszystko popsuła. Widać, że Toskania Ci służy!!!
|Sebastian | 08.11.08 - 3:24 pm |
----
Po wyścigach na szosie można powiedzieć, że niespodzianek nie było. Wygrali naprawdę mocni. Rzeczywiście miejsce Niemca w wyścigu wspólnym bardzo dobre i należy to uznać za duży sukces. W takim towarzystwie to może on się ścigać tylko na MŚ.

Dzięki Sebastian za miłe słowa. Jechałem na nowych gumach Continentala. Okazało, że z boku powstała jakieś pęknięcie, bardzo dziwne i w ten sposób zakończyłem swoje uczestnictwo.
|Andrzej | 08.14.08 - 11:16 am |
----
ale sie cicho zrobilo .... wiec trzeba to rozruszac znow !
Wiec drodzy moi, mialem u siebie Marcina przez dwa tygodnie. Ladowalismy codziennie po gorach z dwoma dniami przerwy dla naszych pociech skrzeczacych a na koniec zrobilismy sobie Ventoux ...
Nic tylko gratulowac, wjechalem najszybciej od 4 lat ale i tak bylo to za wolno na Marcina ... dostalem 4:40 w torbe i do dzis boli :/

Mam nadzieje ze bedzie mial podobna forme na Gorskie Mistrzostwa Polski, czego mu szczerze zycze§

A co u calej reszty panow ?

Pozdrawiam !
|Maciek Greger alias Richard Vi | 08.27.08 - 4:47 pm |
----
Górskie? Hmmm. Też ładuję akumulatory na tą imprezę. Będziesz startował Maciek?

Teraz to czas Vuelty. Nie mam faworytów bo jeszcze nie sprawdzałem listy startowej. Jeśli jeździe Contador to stawiam na niego.
Na TdP zastartuje Szmyd, ale raczej nie załapie się na pudło.
MŚ ponoć są łatwe, czyli jakiś sprinter. Bardzo życzę zwycięstwa wielkiemu kolarzowi - D. Rebbellin'owi. Na Eneco tour odżył Boonen, zatem są szanse aby i on liczył się w końcówce.
|Sebastian | 08.28.08 - 11:23 pm |
----
Czesc Sebastian !
Nie sadze zebym przyjechal, nie bede mial urlopu, do tego mam ciagle urwanie glowy z remontem - przestrzelone kolano
Stawiam na Gibane, powinien zaczarowac. Ja tez juz czuje efekty naszych treningow ... jest power!
Tobie tez zycze powodzenia choc 1:07h Gibany na Ventoux budzi respekt ...

We Vuelcie Contador ogoli, powiedzial ze jest znacznie lepiej przygotowany niz na Giro, do tego ma cala armade Astany do pomocy ... Valverde nie da mu rady, przepraszam Witek !

Pozdrawiam !
|Maciek Greger alias Richard Vi | 08.29.08 - 11:11 am |
!Verde Incanto - Monte San Savino
Willa koło Monte San Savino. Niezłe miejsce, ale może być trochę ciasno w pokojach. 4 byłyby trzyosobowe, a dwa dwuosobowe.

# Is the road to Villa paved? Yes it is
# How far it is from the center of Monte San Savino? 2 km How long you have to drive to A1 freeway? 4 km or 5'
# How many bedrooms are there and how many double and single beds? 6 bedrooms with in each a bed for 2. In 4 of them, we can add a single bed.  Please specify each bedroom with number of single and double beds.
# How many bathrooms/showers are there in total? 8 in total: 1 next to each bedroom + 2 common ones
# Is there a TV SAT (namely Eurosport channel) in the house? Yes, there are even 2 in the 2 distinct living rooms
# What about a parking lot? How many cars it can adopt? At least 4 or 5 without any problem
# Is heating needed at this time of the year? Depends on the whether conditions but probably needed in the early morning  
# Is there any particular trattoria or restaurant nearby that you can recommend? Sure, there are many we can recommend. We can provide you with a guide on site.
# What is the price if we decide to rent the whole houes for a week? We ask 1600 € plus 150€ for the final cleaning and linen, plus, if needed heating costs.
# Are there any additional elements that could encourage us to come and stay?  The house is very spacious and comfortable. It is ideally located (close to the historical centre of village and the supermarket, while being very "private".
You can see additional pictures at this link: 
http://www.iha.it/Affitto-per-le-vacanze/Italia/Toscana/Provincia-arezzo/Monte-san-savino/Villa/Verde-Incanto_36578_1.htm 
<!--{{{-->


<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 class='title' macro='view title'></div>
  <div macro='toolbar closeTiddler closeOthers +editTiddler deleteTiddler permalink references jump'></div>
</div>

<div class='viewer' macro='view text wikified'></div>
<div class='tagClear'></div>
<!--}}}-->
Prowadzę dyskusję z właścicielem [[Villi Firenze|http:www.villafirenze.com]]. Willa jest znakomicie położona tuż obok Florencji i Empoli na północ od Chianti. Ostatnio zszedł właściciel z ceną do 2200 euro za tydzień. Jedyny feler to, że willa może pomieścić 10 osób.

Oto odpowiedzi na set standardowych pytań:
#The road to Villa Firenze is all paved
#The Villa is far 2,5 km from the town of Montespertoli, where there are any kind of shop, one supermarket, banks, postoffice, pharmacy, etc.
# In the Villa there are 5 bedrooms:  3 bedrooms with double beds and 2 bedrooms with 2 single bed for each;
# There are 5 bathrooms in total;
# There is a TV SAT with a lot of channels included Eurosport;
# Inside the property there is a parking for 6 - 7 cars. For 4 cars parking is shaded;
# Heating: Normally it's not needed in this period,  but you never know;
# There are many Trattoria or restaurants around Montespertoli: Usually there is good tuscan food, but not only and different prices. One small & cute trattoria, close to the Villa ( 300 meters walking), is managed by a couple (friend of mine) where there is real good tuscan food and prices reasonably very affordable; moreover if they know that you are guests of the villa they make a very good treatment;
# Renting Price for the above mentioned period is Euro 2850,00 (zjechał z ceną do 2200)
Villa Firenze - Casa serena provides:
* Accommodation Self Catering,
* Private & exclusive pool use (if compatible with ext. temperature)
* Garden/park 5000 sq meters,
* Terrace/solarium 300 sq meters,
* Pool and Garden maintenance,
* Parking inside the property (4 shaded cars places)
* Electricity,
* Gas,
* Linen & towels
* Hot and cold Water.
* Limitless Wireless ADSL INTERNET
* Complete PC work station
* Remote controlled gate
* Satellite TV
* Bikes free use
* Bbq (grill)
* Badmington/volley court
* Tourist Assistance by the owners
* External Hot tub (to be paid)
* Equipped indoor Gymn area (to be paid)
Extra to pay on the spot:
* Final cleanings Euro 160;
* Extrabed to be added over the 10th bedplace Euro 100 per week;
* Eventual central heating Euro 380 per week;
Załączam namiary na 3 kolejne domy, które są wszystkie bardzo blisko siebie (w okolicach [8-9km] Foiano Della Chiana). Wszystkie sa z tego samego źródła www.labellatoscana.net
! Dom duzy (20 osób):
http://www.labellatoscana.net/index.php?p=proprieta_toscana&l=eng&proprieta=132
# Where the Villa Serre is exactly located (name of town/village)? The villa is on the county of Cortona
# Is the road to Villa Serre paved? Yes it is
# How far it is from the center of Foiano della Chiana and how far from the highway A1 and how far from motorway Siena-Perugia? The centre of Foiano delle Chiana is approx 8km, the highway A1 is approx at 12km and approx 6,5km from the motorway Siena-Perugia
# How many bedrooms are there and how many double and single beds? Please specify each bedroom with number of single and double beds. There are 10 bedrooms all double
# How many bathrooms/showers are there in total? There are 5 shower rooms with shower cubicle and 1 bathroom only with wc and basin
# Is there a TV SAT (namely Eurosport channel) in the house? Yes there is
# What about a parking lot? How many cars it can adopt? You can park 7/8 cars but all around there is other space for car
# Is there any particular trattoria or restaurant nearby that you can recommend? The owner will be give all information about trattorie and restaurant, he lives near the villa
# Is Villa Serre located in the peaceful area or more in the urban one? Villa Serre is located in the countryside in a very quite area.
# Is the price negotiable, as it is really a low season then? The price is already very low and it is promotional for that period.
# Are there any additional elements that could encourage us to come and stay at Villa Serre? The villa is in a very beautiful position, it is surrounded by countryside and also it is divided into apartment each one with its kitchen so everyone have its independent.

Dwa mniejsze 200m obok siebie (po 10 osób w każdym):
* http://www.labellatoscana.net/index.php?p=proprieta_toscana&l=eng&proprieta=123
* http://www.labellatoscana.net/index.php?p=proprieta_toscana&l=eng&proprieta=124
Krótki opis Witka: [[Villa del Luca|http://www.villadelduca.it/Villa_del_Duca/flash/eng/home.htm]] jest położona pięknie (nisko, obok gór i jeziora), blisko tych tras co przygotowałem na rok temu więc będzie je można chyba tylko z wyjątkiem jednej tej na Monte San Savino objechać. I co ciekawe to jest dalej od Chianti (bo na pograniczu Umbrii i Toskanii, a i do Lazio niedaleko) więc w 2010 śmiało możemy coś w okolicach/trójkącie Greve - Castellina - Radda zaatakować żeby Lesio Bokser w końcu za szóstym wyjazdem do Toskanii Florencję zaliczył Pokoje, liczba łazienek tez ok. Nie bardzo tylko jasne jakie ceny, ale nawiążę kontakt i sprawdzę (mają swoją stronę www także w wersji angielskiej więc jest nadzieja ze sie dogadamy) 
#Is the road to Villa de Luca paved? you will find along the asphalt road !
#How far it is from the center of Castiglione del Lago and how far from the highway A1 and how far from motorway Siena-Perugia? we are 2-3 km from downtown Castiglione del Lago and about 8 km from the motorway Siena-Perugia!
#How many bedrooms are there and how many double and single beds? Please specify each bedroom with number of single and double beds. N° 5 double rooms with N° 5 bedrooms, and 1 single room with 1 badroom and 1 bedroom in the salons and N° badroom in the changing rooms of swimming pool !
#How many bathrooms/showers are there in total? N° 7
#Is there a TV SAT (namely Eurosport channel) in the house? Currently NO 
#What about a parking lot? How many cars it can adopt? parking is covered for 5 machines but is also possible for multiple machines
#Is heating needed at this time of the year? generally not, but there are no problems so the price is all inclusive !
#Is there any particular trattoria or restaurant nearby that you can recommend? We know that some restaurants are good food at a low cost. However you also have a big kitchen in order to cook!
#What is the price if we decide to rent the whole houes for a week? The total price is € 1600 and is including rent, water consumption light gas, for bed linen, linen bathrooms and kitchen complete and available to all
#Are there any additional elements that could encourage us to come and stay at Villa de Luca? Yes! Villa del Duca is in an excellent position between Umbria and Tuscany near Chianciano, Perugia-Assisi, Cortona. Furthermore, our area is much beloved by tourists cyclists and there are services available to them. Villa del Duca is managed by us we are a family lover of nature are trying to treat up to our friends-guests for him to make a good holiday!
!Z Voltery to był górski etap
!!Mapa z Google
<html><iframe width="600" height="800" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="http://maps.google.com/maps/ms?ie=UTF8&amp;hl=en&amp;s=AARTsJpY6f3IFUvCIZppmbo9bXtC_cgv7g&amp;msa=0&amp;msid=116762684813621878640.00044b518a0ed0471560e&amp;ll=43.239701,10.730896&amp;spn=0.400174,0.411987&amp;z=11&amp;output=embed"></iframe><br /><small><a href="http://maps.google.com/maps/ms?ie=UTF8&amp;hl=en&amp;msa=0&amp;msid=116762684813621878640.00044b518a0ed0471560e&amp;ll=43.239701,10.730896&amp;spn=0.400174,0.411987&amp;z=11&amp;source=embed" style="color:#0000FF;text-align:left">Wyświetl większą mapę</a></small></html>
!!Profil trasy
<html><a href="http://picasaweb.google.co.uk/andrzej.kulik/Toskania2008TiddlyspotCom/photo#5191381290677215202"><img src="http://lh3.ggpht.com/andrzej.kulik/SAt9x1xsn-I/AAAAAAAAARs/1rxmy2mGD_k/s800/pomarance.jpg" /></a></html>
Góra w środku to Voltera. Z powrotem jechaliśmy przez Pomarance, Montecerboli, Serrazano (najwyższy punkt) do Canneto.
/***
|Name|WikifyPlugin|
|Source|http://www.TiddlyTools.com/#WikifyPlugin|
|Documentation|http://www.TiddlyTools.com/#WikifyPluginInfo|
|Version|1.1.1|
|Author|Eric Shulman - ELS Design Studios|
|License|http://www.TiddlyTools.com/#LegalStatements <br>and [[Creative Commons Attribution-ShareAlike 2.5 License|http://creativecommons.org/licenses/by-sa/2.5/]]|
|~CoreVersion|2.1|
|Type|plugin|
|Requires||
|Overrides||
|Description|substitute fields, slices, or computed values into a wiki-syntax format string and render results dynamically|
The {{{<<wikify>>}}} macro allows you to easily retrieve values from custom tiddler fields, tiddler slices, computed values (using javascript) or just plain old literals, and assemble them into small bits of generated wiki-syntax text content that can be rendered directly into a tiddler, or used in the ViewTemplate or EditTemplate to add dynamically-generated content to each tiddler.

The {{{<<wikiCalc>>}}} macro performs the same processing as {{{<<wikify>>}}} and, in addition, passes the assembled text content through javascript's {{{eval()}}} function before rendering the results.  This allows you to, for example, construct and compute mathematical expressions that use input values extracted from tiddler fields or slices.
!!!!!Documentation
> see [[WikifyPluginInfo]]
!!!!!Revisions
<<<
2008.03.08 [1.1.1] size reduction: documentation moved to [[WikifyPluginInfo]]
|please see [[WikifyPluginInfo]] for additional revision details|
2007.06.22 [1.0.0] initial release
<<<
!!!!!Code
***/
//{{{
version.extensions.WikifyPlugin= {major: 1, minor: 1, revision: 1, date: new Date(2008,3,8)};

config.macros.wikify={
	handler: function(place,macroName,params,wikifier,paramString,tiddler) {
		var fmt=params.shift();
		var values=[];
		var out="";
		if (!fmt.match(/\%[0-9]/g) && params.length) // format has no markers, just join all params with spaces
			out=fmt+" "+params.join(" ");
		else { // format param has markers, get values and perform substitution
			while (p=params.shift()) values.push(this.getFieldReference(place,p));
			out=fmt.format(values);
		}
		if (macroName=="wikiCalc") out=eval(out).toString();
		wikify(out,place);
	},
	getFieldReference: function(place,p) { // "slicename::tiddlername" or "fieldname@tiddlername" or "fieldname"
		if (typeof p != "string") return p; // literal non-string value... just return it...
		var parts=p.split(config.textPrimitives.sliceSeparator);
		if (parts.length==2) {// maybe a slice reference?
			var tid=parts[0]; var slice=parts[1];
			if (!tid || !tid.length || tid=="here") { // no target (or "here"), use containing tiddler
				tid=story.findContainingTiddler(place);
				if (tid) tid=tid.getAttribute("tiddler")
				else tid="SiteSlices"; // fallback for 'non-tiddler' areas (e.g, header, sidebar, etc.)
			}
			var val=store.getTiddlerSlice(tid,slice);  // get tiddler slice value
		}
		if (val==undefined) {// not a slice, or slice not found, maybe a field reference?
			var parts=p.split("@");
			var field=parts[0];
			if (!field || !field.length) field="checked"; // missing fieldname, fallback: checked@tiddlername
			var tid=parts[1];
			if (!tid || !tid.length || tid=="here") { // no target (or "here"), use containing tiddler
				tid=story.findContainingTiddler(place);
				if (tid) tid=tid.getAttribute("tiddler")
				else tid="SiteFields"; // fallback for 'non-tiddler' areas (e.g, header, sidebar, etc.)
			}
			var val=store.getValue(tid,field);
		}
		// not a slice or field, or slice/field not found... return blank
		return val===undefined?'':val;
	}
}
//}}}
//{{{
// define alternative macroName for triggering pre-rendering call to eval()
config.macros.wikiCalc=config.macros.wikify;
//}}}
! Obóz w Calpe marzec 2018 z Leduchem

17.03-27.03.2018

*10 noclegów
* Przewóz rowerów i bagażu samochodem
* Transfer z i na lotnisko w Alicante
* Wylot i powrót lotnisko w Modlinie
* Bilety lotnicze należy kupić samemu

#Składka 1650 PLN ( bez transportu roweru 1450 PLN).
#Na wyjeździe preferowane człapanie po górkach (istnieje możliwość szybszego jeżdżenia dla chętnych), degustacja win hiszpańskich. Po wyjeździe gwarantowana "forma".

Zapraszam 

!!!Kupno biletów Ryanair

Pewnie się zastanawiacie, czy już kupić bilet, czy może poczekać. Jest bardzo fajna strona http://www.airhint.com/ (po angielsku), na której można sprawdzić, czy warto już kupować, czy może czekać. Poza tym jak każda linia lotnicza Ryanair zmienia swoje ceny w zależności od dnia tygodnia. Z badań wynika, że najlepszym dniem do kupowania biletów Ryanair jest czwartek. Inna obserwacja jest taka, że w zasadzie od 30 dni do odlotu ceny systematycznie rosną. No ale jeśli ktoś jest zainteresowany tematyką polecam artykuły na stronie. Usługa Google Translate  dostępna w większości przeglądarek (na pewno w Chrome) dobrze tłumaczy zawartość na polski, jeśli ktoś z was ma kłopoty językowe.


<<tiddler yapgb>>
<<tiddler [[Follonica]]>>
Przejechaliśmy wzdłuż wybrzeża wśród kopalni marmurów z Carrary. Zaliczyliśmy podjazd pod [[Passo del Cipollaio|http://www.salite.ch/cipollai1.asp]], który znakomicie nadaje się do treningu 13.2 km i cały czas nachylenie 4.5%. __Uwaga:__ podjazd kończy się nieoświetlonym tunelem. Na szczęście ruch był bardzo mały. Pierwszy raz pojawiliśmy się Castelnuovo Carfagana, będziemy tam raz jeszcze [[dwa dni później|Czwartek (19.04.07)]].
<html><iframe width="425" height="350" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="http://maps.google.com/maps/ms?ie=UTF8&amp;hl=pl&amp;s=AARTsJovccE8EF0enWw0MDyEou_SVUP0fA&amp;msa=0&amp;msid=116762684813621878640.00045f1e3d67887a92878&amp;ll=43.986886,10.383453&amp;spn=0.345828,0.583649&amp;z=10&amp;output=embed"></iframe><br /><small><a href="http://maps.google.com/maps/ms?ie=UTF8&amp;hl=pl&amp;msa=0&amp;msid=116762684813621878640.00045f1e3d67887a92878&amp;ll=43.986886,10.383453&amp;spn=0.345828,0.583649&amp;z=10&amp;source=embed" style="color:#0000FF;text-align:left">Wyświetl większą mapę</a></small></html>
Odwiedził nas Rysiek Mamos ze swoim synem Filipem i pojechaliśmy do Chiusi della Verna, ale od Rassiny. Później część wróciła, a część pojechała [[niedzielną trasą|Góra Świętego Franciszka]].
!Wyścig
!!Mapa z Google
<html><iframe width="500" height="700" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="http://maps.google.com/maps/ms?ie=UTF8&amp;hl=en&amp;s=AARTsJqFJFdaFWLXn8unF2Q4ee6UEefREA&amp;msa=0&amp;msid=116762684813621878640.00044bed46cc71a21b33c&amp;ll=43.11151,10.756989&amp;spn=0.350888,0.343323&amp;z=11&amp;output=embed"></iframe><br /><small><a href="http://maps.google.com/maps/ms?ie=UTF8&amp;hl=en&amp;msa=0&amp;msid=116762684813621878640.00044bed46cc71a21b33c&amp;ll=43.11151,10.756989&amp;spn=0.350888,0.343323&amp;z=11&amp;source=embed" style="color:#0000FF;text-align:left">View Larger Map</a></small></html>
!!Profil trasy
<html><a href="http://picasaweb.google.co.uk/andrzej.kulik/Toskania2008TiddlyspotCom/photo#5191381294972182514"><img src="http://lh4.ggpht.com/andrzej.kulik/SAt9yFxsn_I/AAAAAAAAAR0/gzKWs7va00o/s800/wyscig.jpg" /></a></html>
''Ulubiony podjazd'' na początku, rzeczywiście idzie pionowo pod górę. La Sassa na 105 km.
* [[Cavendish Milano-San Remo 2009|SanRemo2009]]
* [[Maciek się ściga cz.1 (maj 2009)|YT200905011]]
* [[Maciek się ściga cz.2 (maj 2009)|YT200905012]]

Maciek pojawia się po dwóch minutach...
<html><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/SFZey7BhXhI&hl=en&fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/SFZey7BhXhI&hl=en&fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object></html>
Wyścig po płaskim
<html><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/jAFZz_3gX30&hl=en&fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/jAFZz_3gX30&hl=en&fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object></html>
Lista uczestników:
# Dariusz Leduchowski POL19611202
# Sławomir Rubin POL19460304
# Sebastian Rubin POL19770619
# Witold Krajewski POL19710130
# Jerzy Bylicki POL19501226
# Wojciech Kowalski
# Andrzej Kulik POL19630209
# Grzegorz Wójcicki POL19570707
# Maciej Greger POL19760528
# Marcin Niewola POL19750724
# Leszek Makowski POL19621002
# Krzysztof Gernand POL19590821
# Grzegorz Zimoń POL19620106
# Robert Rosiak POL19700628
# Radosław Staroń POL19780228
# Henryk Pęczak
/%# Ryszard Mamos POL19471003%/
Od naszych gospodarzy otrzymałem kilkanaście zdjęć, poniżej 10 najciekawszych:

|<html><a href="http://picasaweb.google.com/andrzej.kulik/Toskania2008TiddlyspotCom/photo#5169523925567330738"><img src="http://lh6.google.com/andrzej.kulik/R73WnvlS2bI/AAAAAAAAANk/mznrbMcg158/s800/2.JPG"  style ="height: 300px; width: 400px"/></a></html>|<html><a href="http://picasaweb.google.com/andrzej.kulik/Toskania2008TiddlyspotCom/photo#5169523929862298050"><img src="http://lh3.google.com/andrzej.kulik/R73Wn_lS2cI/AAAAAAAAANs/En-I_5zT2Cg/s800/3.JPG"  style ="height: 300px; width: 400px" /></a></html>|
|<html><a href="http://picasaweb.google.com/andrzej.kulik/Toskania2008TiddlyspotCom/photo#5169523929862298066"><img src="http://lh3.google.com/andrzej.kulik/R73Wn_lS2dI/AAAAAAAAAN0/kw3uVSTe-vA/s800/4.JPG" style ="height: 300px; width: 400px"/></a></html>|<html><a href="http://picasaweb.google.com/andrzej.kulik/Toskania2008TiddlyspotCom/photo#5169523929862298098"><img src="http://lh3.google.com/andrzej.kulik/R73Wn_lS2fI/AAAAAAAAAOE/05Ee2d3bjt8/s800/7.JPG"  style ="height: 300px; width: 400px"/></a></html>|
|<html><a href="http://picasaweb.google.com/andrzej.kulik/Toskania2008TiddlyspotCom/photo#5169524256279812610"><img src="http://lh3.google.com/andrzej.kulik/R73W6_lS2gI/AAAAAAAAAOM/OTc7nWBTeoE/s800/8.JPG" style ="height: 300px; width: 400px"  /></a></html>|<html><a href="http://picasaweb.google.com/andrzej.kulik/Toskania2008TiddlyspotCom/photo#5169524260574779922"><img src="http://lh4.google.com/andrzej.kulik/R73W7PlS2hI/AAAAAAAAAOU/a-CbdIL3pv4/s800/9.JPG" style ="height: 300px; width: 400px"/></a></html>|
|<html><a href="http://picasaweb.google.com/andrzej.kulik/Toskania2008TiddlyspotCom/photo#5169524264869747250"><img src="http://lh5.google.com/andrzej.kulik/R73W7flS2jI/AAAAAAAAAOk/pKImZukiMUA/s800/13.JPG" style ="height: 300px; width: 400px"/></a></html>|<html><a href="http://picasaweb.google.com/andrzej.kulik/Toskania2008TiddlyspotCom/photo#5169524844690332306"><img src="http://lh4.google.com/andrzej.kulik/R73XdPlS2pI/AAAAAAAAAPU/wKUvzgjDf4E/s800/21.JPG"style ="height: 300px; width: 400px"  /></a></html>|
|<html><a href="http://picasaweb.google.com/andrzej.kulik/Toskania2008TiddlyspotCom/photo#5169525437395819170"><img src="http://lh6.google.com/andrzej.kulik/R73X_vlS2qI/AAAAAAAAAPc/JCjC_PBoGLM/s800/22.JPG" style ="height: 300px; width: 400px" /></a></html>|<html><a href="http://picasaweb.google.com/andrzej.kulik/Toskania2008TiddlyspotCom/photo#5169524844690332290"><img src="http://lh4.google.com/andrzej.kulik/R73XdPlS2oI/AAAAAAAAAPM/8ZgOP8EsiQw/s800/19.JPG" style ="height: 300px; width: 400px"  /></a></html>|
Tekst który widzisz na tej stronie internetowej możesz sobie zgrać na dysk. Wystarczy kliknąć na przycisk ''download'' po prawej stronie i zapisać plik na dysku lokalnym. 

Plik zawiera łącza do plików w internecie, więc jak będziesz offline to np. nie będziesz mógł skorzystać z map.
/%if(config.options.txtUserName != "Andrzej") {
	readOnly = true;
	showBackstage = false;
}%/
Andrzej Kulik dla Maniaków
<script>
var out=""
var tids=store.getTiddlers("title","excludeLists");
for (var t=0; t<tids.length; t++) {
   var url=store.getTiddlerText("SiteUrl");
   if (!url) url=document.location.href;
   var
permalink=encodeURIComponent(String.encodeTiddlyLink(tids[t].title));
   out+=url+"#"+permalink+"\n";
}

return out;
</script>
//{{{
//This ensures that the footer sticks to the bottom of the screen when there are no tiddlers open. If that is not desirable, it can be deleted.
function setFooter() {
         if (document.getElementById && document.getElementById("contentFooter") ) {
            var windowHeight=findWindowHeight();
         if (windowHeight>0) {
            var contentHeight= document.getElementById('mainMenu').offsetHeight + document.getElementById("header").offsetHeight + document.getElementById("contentFooter").offsetHeight;
            var menu= document.getElementById('mainMenu');
            if (windowHeight-(contentHeight)>=0) {
               menu.style.position='relative';
               menu.style.marginBottom=(windowHeight-(contentHeight))+'px';
               }
            else {
                 menu.style.position='';
                 menu.style.marginBottom='';
                 }
            }
         }
}
window.onresize = function() {
  setFooter();
}

Story.prototype.refreshTiddler_footerhack=Story.prototype.refreshTiddler;
Story.prototype.refreshTiddler = function (title,template,force)
{    
var theTiddler = Story.prototype.refreshTiddler_footerhack.apply(this,arguments);
setFooter();
   return theTiddler;}

//}}}
!Il Borgo del Vecchio Mulino 
Zakwaterowanie w [[starym młynie|http://www.lunigiana.net/agriturismi/borgovm.htm]]. Dużo miejsca, wokół góry w zasięgu San Pelligrino!

Here below we are pleased to answer your questions:
# Yes. But not only. The estate is surrounded by extensive woodlands crossed by tarmac roads particularly suitable for cycling. Even the Lunigiana cycling tour is organised here every year. The property itself extends to a very large wood. In the next future the paths traced in the nearby undergrowth will be cleaned and they will be accessible for walks,   trekking and excursions by bicycle.
# 10-15 minutes
# We have 13 apartments of different size and type, all spacious and fully equipped.
## Apartment with sitting/dining room,  sofa bed,  kitchen adjoining sitting room completely furnished,  1 double bedroom,  1 bathroom.  Large private patio.
## Apartment with sitting/dining room,  sofa bed,  fireplace, wide separate kitchen completely furnished,  two double bedrooms,  two private bathrooms.
## Apartment with sitting room,  sofa bed,  wide separate kitchen completely furnished,  1double bedroom,  1 bathroom.
## Apartment with sitting/dining room,  sofa bed,  kitchen adjoining sitting room completely furnished,  2 double bedrooms,  1 bathroom.
## Apartment with wide sitting room with fireplace,  sofa bed,  wide separate kitchen completely furnished,  2 double bedrooms,  2 bathrooms.
## Apartment with wide dining room with fireplace,  sofa bed,  wide separate kitchen completely furnished,  2 wide mansarded double bedrooms,  , 1 double bedroom,  1 bathroom.
## Apartment with wide sitting room with fireplace,  sofa bed,  wide separate kitchen completely furnished,  3 double bedrooms,  2 bathrooms,  private solarium.
## Apartment/suite created in the old village church.  Sitting/dining room with sofa bed,  small separate kitchen completely furnished service bathroom, 1 double bedroom with four-poster bed,  1 double bedroom with four poster bed (three-quarter size),  1 mansarded double bedroom,  1bathroom.  Private equipped patio. 
# Every apartment is equipped with TV/SAT. It is possible to watch Italian,  German and English  Channels (close circuit). However by now only one apartment has a decoder. That means that in that apartment it is possible to get programmes from all over the world,  also Polish channels. We have to check if it possible to watch Eurosport. Will let you know as soon as possible
# About 30 cars 
# It depend on the year. Spring can come before or later. Anyway at that time of the year it is never cold. Every apartment is equipped with a very modern computerised and independent heating system. The temperature can be set according to the personal needs individually. We have also a solar panel system.
# Yes. We can suggest you really good restaurants and trattorie where it is possible to taste local niche products which can be found only here. In addition the quality is high and the prices low. Are you a genuine and tasty food lover? Then you happen to be in the right place!
# In order to work out a price we need to know if every person/couple/family wishes to have  his/its own apartment or if he/they can stay also in the same apartment.
# -Ponte del Vegnuti is a large, private estate immerged in an atmosphere of surreal peace, where the silence is interrupted only by the running of the water in the river or by the chirping of the birds in the nearby wood. Walking in the meadows along the stream will guarantee the utmost in well being. At the same time culture and entertainment are guaranteed thanks to dynamic and very nearby centres like Pisa, Lucca, the Gulf of Poets, Lerici, as well as Porto Venere, the Cinque Terre and the Riviera of Versilia etc.
# The original village dates back to 1200-1300; the current preserved one is a rebuilding of the 1600s..Today Ponte del Vegnuti has been totally restored by excellent architects and local craftsmen, preserving the peculiarities specific to an historical building (60 cm dick walls) and is ready to welcome you to its comfortable and elegant structures. All the apartments are fully equipped.
# Large swimming pool,  with enchanting night time lighting equipped with large umbrellas along with elegant chairs and tables and comfortable deckchairs is at the disposal of the guests,
# The outside barbecue with  oven on which to cook in company 
# There are other works which are going to be completed in the next future  at Ponte del Vegnuti, created specially to guarantee that you have a pleasantly varied stay, such as the tennis court,  sauna etc.
# Fitness (cardio-circuit  and professional machines from Technoyim) and massages in the structure will fully respond t the need of having a body that is both tonic and healthy. 
# A comfortable laundry room is at your disposal for every need and to help you to feel immediately at home. However some apartment are equipped wit their own washing machine.
# There are other strutures which are going to be completed in the next future at Ponte del Vegnuti, created specially to guarantee our guests a pleasantly varied stay such as tennis court,  sauna etc. 
# In Ponte del Vegnuti you will be warmly welcomed by an expert staff who speak English and German, as well as Italian ready to meet your needs in order to make you feel at home. Within 2-3 weeks our web site will be ready and you  will be able to have more detailed information.
# In the meantime we can give you an email-address where see photos of our hamlet:
## www.studioagora.it/veniuti
## www.studioagora.it/veniuti2 
## www.studioagora.it/veniuti3 
* [[Poppi]]
|<html><a><img src="http://www.mini.pw.edu.pl/~akulik/images/adm.jpg"  ></a></html>|width:300px;Pogrzeb odbędzie się we wtorek 27.08 o godz. 13.00 na cmentarzu Zarzew (wejście od ul. Lodowej)|
/%Do kolejnego obozu  zostało jeszcze:
<<showReminders leadtime:360 format:"|DIFF|" >>%/
<html><a><img src="http://www.mini.pw.edu.pl/~akulik/images/IMG_0139.JPG"  style ="height: 225px; width: 150px"; ></a></html>
[[Wstęp]]
[[Lista dyskusyjna|Wstęp]]
[[Komisja Masters|http://kmpzkol.pl/]]
{{tuduSlider{<<slider chkOboz2012 Oboz2012 'Obóz 2012 »'>>}}}
{{tuduSlider{<<slider chkOboz2011 Oboz2011 'Obóz 2011 »'>>}}}
{{tuduSlider{<<slider chkOboz2010 Oboz2010 'Obóz 2010 »'>>}}}
{{tuduSlider{<<slider chkOboz2009 Oboz2009 'Obóz 2009 »'>>}}}
{{tuduSlider{<<slider chkTrasy2008 Trasy2008 'Obóz 2008 »'>>}}}
{{tuduSlider{<<slider chkTrasy2007 Trasy2007 'Obóz 2007 »'>>}}}
{{tuduSlider{<<slider chkSlawek Slawek 'Sławek »'>>}}}
{{tuduSlider{<<slider chkCiekawostki Ciekawostki 'Ciekawostki »'>>}}}
{{tuduSlider{<<slider chkYT YT 'YouTube... »'>>}}}
{{tuduSlider{<<slider chkPomoc Pomoc 'Pomoc... »'>>}}}
[[Strona (RSS)|http://toskania2008.tiddlyspot.com/index.xml]] 
[[Kontakt|Andrzej]]
<!--{{{-->
<div class='toolbar' macro='toolbar closeTiddler closeOthers +editTiddler > fields syncing permalink references jump'></div>
<div class='webview' macro='tiddler webviewindex'></div>
<div class='title' macro='view title'></div>
<div class='viewer' macro='view text wikified'></div>
<div class='tagClear'></div>
<!--}}}-->
{{tableindex{
|[[Komentarze|Wstęp]]|[[Zdjęcia]]|[[06.04|Niedziela (06.04)]]|[[07.04|Poniedziałek (07.04)]]|[[08.04|Wtorek (08.04)]]|[[09.04|Środa (09.04)]]|[[10.04|Czwartek (10.04)]]|[[11.04|Piątek (11.04)]]|[[Archiwum]]|[[2009]]|
}}}
Obóz 2010 jest już historią
<html><a href="http://picasaweb.google.com/lh/photo/XKrS_TyE6HcyDJ-b7HaMjg?feat=embedwebsite"><img src="http://lh3.ggpht.com/_so9oJiT6bRk/S8sbS9U0wSI/AAAAAAAACXQ/fJ5jXvR95gM/s400/IMG_1761.JPG" /></a></html>
Sprawozdanie z poszczególnych dni (również w zakładce [[Obóz 2010|Oboz2010]]).
* [[Dojazd do Austrii|20100408]]
* [[Już na miejscu|20100409]]
* [[Ponura niedziela|20100410]]
* [[Do Orvieto|20100411]]
* [[Citta d Pieve|20100412]]
* [[Pitigliano|20100413]]
* [[Monte Amiata|20100414]]
* [[Montepulciano|20100415]]
----
<<tiddler yapgb>>
----
Alias do tej strony [[ http://tinyurl.com/maniacy|http://tinyurl.com/maniacy]]
<html><iframe name="MyIFrame" src="http://www.mini.pw.edu.pl/~akulik/yapgb.php" width=900 height=800
</iframe></html>
* Aby dopisać komentarz klikamy na ikonkę z ołówkiem
* Aby dodać link __http://toskania2008.tiddlyspot.com__ piszemy [url]''adres internetowy''[/url]. Jak ktoś się zapomni to postaram się poprawić, choć nie od razu :)
* Jak jest długi link to można go skrócić korzystając z http://tinyurl.com
* Aby utrudnić życie spamerom, dlatego przy wpisywaniu tekstu pojawia się okienko z @@conformation code@@ - są to cztery litery, które należy przepisać do okienka niżej. Potwierdzam problem, że korzystając z Internet Explorera (wersja 8 i 9) literki w okienku nie są widoczne. W przypadku korzystania z Mozilli Firefox i Google Chrome wszystko działa poprawnie. Przepraszam za zamieszanie, ale inaczej spamerów nie da się wykurzyć.
*Najciekawsze zdjęcia przegrywamy na publicznie dostępną stronę (np. [[Picasa|http://picasa.google.com/]], [[Imageshack|http://www.imageshack.us/]]) i przesyłamy link do [[mnie|Andrzej]]. 
*Szczegółowy opis (po polsku) [[jak wrzucać zdjęcia na Picasę|http://picasa.google.pl/support/]]. Wymagane jest założenie konta w Google (przy okazji można skorzystać z innych programów oferowanych przez Google).
*W przypadku problemów proszę o kontakt. Sebastianowi udało się pomóc, a efekt jego pracy wszyscy widzą.  
if(config.options.txtUserName != "Andrzej") {
        config.options.chkShowRightSidebar=false; 
        config.options.chkSinglePageMode= true;
	readOnly = true;
	showBackstage = false;
}

<<tiddler [[Voltera]]>>
Tego dnia każdy jechał jak chciał. Grupa w której ja jechałem pojechała na lody do Viareggio. Pojechaliśmy [[sobotnią trasę|Sobota (14.04.07)]] w odwrotnym kierunku. Jedyny podjazd to [[Montemagno z Camaiore|http://www.salite.ch/7664.asp]] (4.5km, 3.6%).
<html><a href="http://picasaweb.google.pl/lh/photo/9sIJL6PkLFzLYuxPQfCuzw?feat=embedwebsite"><img src="http://lh4.ggpht.com/_so9oJiT6bRk/SVez7aljGZI/AAAAAAAAA-A/yrox3LJYx08/s800/IMG_0060.jpg" /></a></html>