<!--{{{--><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;}#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:.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:.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;}a.tiddlyLinkNonExisting.shadow{font-weight:bold;}#mainMenu .tiddlyLinkExisting,#mainMenu .tiddlyLinkNonExisting,#sidebarTabs .tiddlyLinkNonExisting{font-weight:normal;font-style:normal;}#sidebarTabs .tiddlyLinkExisting{font-weight:bold;font-style:normal;}.header{position:relative;}.header a:hover{background:transparent;}.headerShadow{position:relative;padding:4.5em 0 1em 1em;left:-1px;top:-1px;}.headerForeground{position:absolute;padding:4.5em 0 1em 1em;left:0;top:0;}.siteTitle{font-size:3em;}.siteSubtitle{font-size:1.2em;}#mainMenu{position:absolute;left:0;width:10em;text-align:right;line-height:1.6em;padding:1.5em .5em .5em .5em;font-size:1.1em;}#sidebar{position:absolute;right:3px;width:16em;font-size:.9em;}#sidebarOptions{padding-top:.3em;}#sidebarOptions a{margin:0 .2em;padding:.2em .3em;display:block;}#sidebarOptions input{margin:.4em .5em;}#sidebarOptions .sliderPanel{margin-left:1em;padding:.5em;font-size:.85em;}#sidebarOptions .sliderPanel a{font-weight:bold;display:inline;padding:0;}#sidebarOptions .sliderPanel input{margin:0 0 .3em 0;}#sidebarTabs .tabContents{width:15em;overflow:hidden;}.wizard{padding:.1em 1em 0 2em;}.wizard h1{font-size:2em;font-weight:bold;background:none;padding:0;margin:.4em 0 .2em;}.wizard h2{font-size:1.2em;font-weight:bold;background:none;padding:0;margin:.4em 0 .2em;}.wizardStep{padding:1em 1em 1em 1em;}.wizard .button{margin:.5em 0 0;font-size:1.2em;}.wizardFooter{padding:.8em .4em .8em 0;}.wizardFooter .status{padding:0 .4em;margin-left:1em;}.wizard .button{padding:.1em .2em;}#messageArea{position:fixed;top:2em;right:0;margin:.5em;padding:.5em;z-index:2000;_position:absolute;}.messageToolbar{display:block;text-align:right;padding:.2em;}#messageArea a{text-decoration:underline;}.tiddlerPopupButton{padding:.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:.4em;}.popup hr{display:block;height:1px;width:auto;padding:0;margin:.2em 0;}.popup li.disabled{padding:.4em;}.popup li a{display:block;padding:.4em;font-weight:normal;cursor:pointer;}.listBreak{font-size:1px;line-height:1px;}.listBreak div{margin:2px 0;}.tabset{padding:1em 0 0 .5em;}.tab{margin:0 0 0 .25em;padding:2px;}.tabContents{padding:.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:.2em .4em;}.tagging{margin:.5em .5em .5em 0;float:left;display:none;}.isTag .tagging{display:block;}.tagged{margin:.5em;float:right;}.tagging,.tagged{font-size:.9em;padding:.25em;}.tagging ul,.tagged ul{list-style:none;margin:.25em;padding:0;}.tagClear{clear:both;}.footer{font-size:.9em;}.footer li{display:inline;}.annotation{padding:.5em;margin:.5em;}* html .viewer pre{width:99%;padding:0 0 1em 0;}.viewer{line-height:1.4em;padding-top:.5em;}.viewer .button{margin:0 .25em;padding:0 .25em;}.viewer blockquote{line-height:1.5em;padding-left:.8em;margin-left:2.5em;}.viewer ul,.viewer ol{margin-left:.5em;padding-left:1.5em;}.viewer table,table.twtable{border-collapse:collapse;margin:.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:.85em;margin:.8em 1.0em;}table.listView th,table.listView td,table.listView tr{padding:0 3px 0 3px;}.viewer pre{padding:.5em;margin-left:.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:.25em 0;font-size:.9em;}.editorFooter .button{padding-top:0;padding-bottom:0;}.fieldsetFix{border:0;padding:0;margin:1px 0;}.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:.3em .5em;}#backstageToolbar{position:relative;}#backstageArea a{font-weight:bold;margin-left:.5em;padding:.3em .5em;}#backstageButton{display:none;position:absolute;z-index:175;top:0;right:0;}#backstageButton a{padding:.1em .4em;margin:.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:.2em;float:right;}.backstagePanelFooter a{padding:.2em .4em;}#backstageCloak{display:none;z-index:20;position:absolute;width:100%;height:100px;}.whenBackstage{display:none;}.backstageVisible .whenBackstage{display:block;}
body{font-size:.8em;}#sidebarOptions{font-size:1.05em;}#sidebarOptions a{font-style:normal;}#sidebarOptions .sliderPanel{font-size:.95em;}.subtitle{font-size:.8em;}.viewer table.listView{font-size:.95em;}
@media print{#mainMenu,#sidebar,#messageArea,.toolbar,#backstageButton,#backstageArea{display:none!important;}#displayArea{margin:1em 1em 0;}noscript{display:none;}}
<!--{{{--><div class='header' macro='gradient vert [[ColorPalette::PrimaryLight]] [[ColorPalette::PrimaryMid]]'><div class='headerShadow'><span class='siteTitle' refresh='content' tiddler='SiteTitle'></span>&nbsp;<span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span></div><div class='headerForeground'><span class='siteTitle' refresh='content' tiddler='SiteTitle'></span>&nbsp;<span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span></div></div><div id='mainMenu' refresh='content' tiddler='MainMenu'></div><div id='sidebar'><div id='sidebarOptions' refresh='content' tiddler='SideBarOptions'></div><div id='sidebarTabs' refresh='content' force='true' tiddler='SideBarTabs'></div></div><div id='displayArea'><div id='messageArea'></div><div id='tiddlerDisplay'></div></div><!--;}}}-->
<!--{{{--><div class='toolbar' macro='toolbar [[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>>






















{{center{[img(600px,auto)[http://blogs.nottingham.ac.uk/blue-greencities/files/2017/09/Malmo9.jpg]]<br>}}}
starting




<script>
var output="";
sessionStorage.apresenta=config.options.txtApresenta;
    var xmlHttp = null;
    xmlHttp = new XMLHttpRequest();
    var discFile="ApresentaLista/"+sessionStorage.apresenta+".txt";
//return discFile;
    xmlHttp.open( "GET",discFile, false);
    xmlHttp.send( null );
//return "found="+xmlHttp.responseText;
var SlideLista=xmlHttp.responseText;
sessionStorage.slideList=SlideLista;
SlideLista=SlideLista.split("|");
for(i=1;i<SlideLista.length-1;i++){
output+='<script label="'+SlideLista[i]+'">sessionStorage.slideNo="'+i+'";sessionStorage.slideName="'+SlideLista[i]+'";story.refreshTiddler("OpenNote",null,true);</scri'+'pt><br>';
}
sessionStorage.slideNo=1;
story.displayTiddler(null,"OpenNote");
return output;
</script>
<script>
var Lista=sessionStorage.apresentacao;
Lista=Lista.split("|");
//return Lista[1];
var thisTiddler=store.getTiddlerText(Lista[sessionStorage.slideNo]);
var hereNote=Lista[sessionStorage.slideNo]+"_Notas";
sessionStorage.apresentaNotas=store.getTiddlerText(hereNote);
//alert("found notes ="+sessionStorage.apresentaNotas);
config.refreshers.content(document.getElementById("notesMenu"));
return Lista[sessionStorage.slideNo]+"<br>"+thisTiddler;
</script>
<script label="Atualiza">var newTabUrl="Textos/"+sessionStorage.slideName+".txt";
var childWindow = window.open(newTabUrl);
childWindow.location.href=newTabUrl;
</script>

<<wikify {{'<html><iframe src="http://www.unigaia-brasil.org/Favoritas/data.html#txtTema:'+sessionStorage.biblioteca+'" width=600px height=600px></ifr'+'ame></ht'+'ml>'}}>>


{{small{<html><nowiki><form action="addForo.php" method="POST"  target="responseFrame">
<input type=text name="username" value="" style="width:400px; background-color: darkgrey;
  color: white;"> Nome<br>
<input type=hidden name=when value=""><input type=hidden name=tema value=""><input type=text name=escola value="" style="width:400px;background-color: darkgrey;
  color: white;"> Escola<br>
<textarea name="comment" rows="4 cols="40" style="width:560px;background-color: darkgrey;
  color: white;" value=" " ></textarea><br>
<input type=submit value="Meu Comentario" onclick='

'style="background-color: slategray;  color: white;">
</form><iframe src="" name="responseFrame" id="responseFrame" width=400px height=30px style="border:0;"></iframe>
</html><script>var form=place.lastChild.getElementsByTagName('form')[0];
form.tema.value=sessionStorage.apresenta;
var date=new Date();
form.when.value=date.formatString("YYYY-MM-DD_hh:mm");
</script><script>
sessionStorage.chatItem="0";
var lista="<br>";
    var xmlHttp = null;
    xmlHttp = new XMLHttpRequest();
    var discFile="Foro/"+sessionStorage.apresenta+".txt";
//return discFile;
    xmlHttp.open( "GET",discFile, false);
    xmlHttp.send( null );
    var indexLista=xmlHttp.responseText;
//return indexLista;
if(xmlHttp.status!=200){indexLista="empty";}
//return indexLista+"no="+xmlHttp.status;

var tids=indexLista.split("#");
var length=tids.length-1;
sessionStorage.chatItem=length;
if(length>20){length=20;}
for(i=0;i<length;i++){

var tidsDets=tids[i].split("|");
lista+=tidsDets[3]+"<br>- ("+tidsDets[1]+" - "+tidsDets[2]+"("+tidsDets[0]+")<br>";
}
return lista;
</script>}}}
/%
!!Espaço
{{medium{Sombreado (em pleno sol, a compostagem vai secar bem rápido)
Evitar Excesso de água da Chuva (para não encharcar a compostagem)
Evitar entrada de ratos, porcos, cachorros...crianças....
Não tão longe da porta da cozinha (e não tão perto tampouco)}}}
!!Nutrientes
{{medium{
A dieta ideial para as bactérias é em torno de 1 parte de nitrogênio por 25 a 30 partes de carbono... 
{{big{C:N = 25:1}}}
Misturamos nossos materiais para chegar perto desta relação. Por exemplo:-}}}
[img(800px,auto)[https://sonhodehorta.com.br/wp-content/uploads/2020/06/RESIDUOS.png]]
!!Volumen
{{medium{Para funcionar muito bem, matar as doenças, queimar as sementes de mato (que não queremos), precisamos que a compostagem esquente..... mas para isso, é preciso um volume de no mínimo 1mX1mX1m (metro cúbico)....para segurar o calor. 
Um volume menor que este, o calor vai escapar e a compostagem não vai esquentar.
Em volumes bem maiores do que isso, o desafio será para manter com suficiente oxigênio
Com suficiente volume, a temperatura interna pode chegar até 65Cº em poucas horas. Temperatura de 60Cº por 4 dias pode matar até cólera.}}}
[img(500px,auto)[https://www.agriculturesolutions.com/pub/media/catalog/category/4d75cb1aba8ad92a04711ac1663b60e1.jpg_category]]
!!Oxigênio
{{medium{Oxigênio é um dos componentes mais críticos....
Se faltar oxigênio, parte de sua compostagem ficará anaeróbica, os materiais vão apodrecer, terá mal cheiro e não esquentará
Uma maneira mais fácil e prática de manejar o composto, é virar/revolver o monte .... virando 2 vezes por semana - e a compostagem estará pronta para uso em 30 dias...... virando 1 vez por semana - a compstagem estará pronta para uso em 60 dias...... Se você a preparar e se esquecer dela - a compostagem poderá ser usada em 6 meses (mas ela não passou pela fase de esquentar).
Tubos de ventilação - }}}
[<img(400px,auto)[https://i.pinimg.com/736x/0e/f2/fe/0ef2fed2d2313524d9bc43121c3229cf--weapons-pvc-pipes.jpg]][>img(400px,auto)[https://s3-us-west-2.amazonaws.com/tfrec.cahnrs.wsu.edu/wp-content/uploads/sites/9/2017/04/Rynk-15.jpg]]
!!Umidade
{{medium{Bactérias aeróbicas (com oxigênio) em geral gostam de ambientes úmidos - NÃO enchacardos.
Quando estiver montando a pilha e virando/revolvendo, manter os materiais úmidos, mas não molhadas.
Quando fizer o revolvimento/virar a pilha, prestar atenção se tem áreas de coloraçao cinza, que aparece soltando fumaça cinza quando mexer. Isso indica a presença de um fungo que se desenvolve quando o material está mais seco... cuidado!!.... não é fumaça...são esporos de fungos que é prejudicial aos pulmões.......e também indica que o material precisa de mais água.}}}
!!Fungos
{{medium{Uma compostagem feita com até 30% de material do tipo LIGNINA (madeira triturada) vai gerar uma compostagem alta em fungos, além de bactérias. Essa é a compostagem ideial para uso em pomares e em volta de frutíferas ou nos SAFs/sistemas agroflorestais) - Elaine Ingham}}}
[img(600px,auto)[https://merribeeorganics.files.wordpress.com/2018/09/26685435_1989954874592045_5367056142018035924_o1.jpg?w=1200]]

!!end
%/
/***
|Name|CoreTweaks|
|Source|http://www.TiddlyTools.com/#CoreTweaks|
|Version||
|Author|Eric Shulman|
|License|http://www.TiddlyTools.com/#LegalStatements|
|~CoreVersion|2.2.0|
|Type|plugin|
|Description|a small collection of overrides to TW core functions|
This tiddler contains small changes to TW core functions that correct or enhance standard features or behaviors.
***/
//{{{
// calculate TW version number - used to determine which tweaks should be applied
var ver=version.major+version.minor/10+version.revision/100;
//}}}
/***
----

***/
// // closed: won't fix //(leave as core tweaks)//
// // {{block{
/***
!!!637 TiddlyLink tooltip - custom formatting
***/
// // {{groupbox small{
/***
http://trac.tiddlywiki.org/ticket/637 - CLOSED: WON'T FIX
This tweak modifies the tooltip format that appears when you mouseover a link to a tiddler.  It adds an option to control the date format, as well as displaying the size of the tiddler (in bytes)

Tiddler link tooltip format:
{{stretch{<<option txtTiddlerLinkTootip>>}}}
^^where: %0=title, %1=username, %2=modification date, %3=size in bytes, %4=description slice, %5=first N characters of tiddler content^^
Tiddler link tooltip date format:
{{stretch{<<option txtTiddlerLinkTooltipDate>>}}}
Tiddler excerpt limit (chars):
{{stretch{<<option txtTiddlerLinkTooltipLimit>>}}}
***/
//{{{
config.messages.tiddlerLinkTooltip='%0 - %1, %2 (%3 bytes) - %4';
config.messages.tiddlerLinkTooltipDate='DDD, MMM DDth YYYY 0hh12:0mm AM';
config.messages.tiddlerLinkTooltipLimit=50;

config.options.txtTiddlerLinkTootip=
	config.options.txtTiddlerLinkTootip||config.messages.tiddlerLinkTooltip;
config.options.txtTiddlerLinkTooltipDate=
	config.options.txtTiddlerLinkTooltipDate||config.messages.tiddlerLinkTooltipDate;
config.options.txtTiddlerLinkTooltipLimit=
	config.options.txtTiddlerLinkTooltipLimit||config.messages.tiddlerLinkTooltipLimit;

Tiddler.prototype.getSubtitle = function() {
	var modifier = this.modifier;
	if(!modifier) modifier = config.messages.subtitleUnknown;
	var modified = this.modified;
	if(modified) modified = modified.formatString(config.options.txtTiddlerLinkTooltipDate);
	else modified = config.messages.subtitleUnknown;
	var descr=store.getTiddlerSlice(this.title,'Description')||'';
	var txt=this.text.substr(0,config.options.txtTiddlerLinkTooltipLimit);
	if (this.text.length>config.options.txtTiddlerLinkTooltipLimit) txt+="...";
	return config.options.txtTiddlerLinkTootip.format([this.title,modifier,modified,this.text.length,descr,txt]);
};
//}}}
// // }}}}}}// // {{block{
/***
!!!607 add HREF link on permaview command
***/
// // {{groupbox small{
/***
http://trac.tiddlywiki.org/ticket/607 - CLOSED: WON'T FIX
This tweak automatically sets the HREF for the 'permaview' sidebar command link so you can use the 'right click' context menu for faster, easier bookmarking.  Note that this does ''not'' automatically set the permaview in the browser's current location URL... it just sets the HREF on the command link.  You still have to click the link to apply the permaview.
***/
//{{{
config.macros.permaview.handler = function(place)
{
	var btn=createTiddlyButton(place,this.label,this.prompt,this.onClick);
	addEvent(btn,'mouseover',this.setHREF);
	addEvent(btn,'focus',this.setHREF);
};
config.macros.permaview.setHREF = function(event){
	var links = [];
	story.forEachTiddler(function(title,element) {
		links.push(String.encodeTiddlyLink(title));
	});
	var newURL=document.location.href;
	var hashPos=newURL.indexOf('#');
	if (hashPos!=-1) newURL=newURL.substr(0,hashPos);
	this.href=newURL+'#'+encodeURIComponent(links.join(' '));
}
//}}}
// // }}}}}}// // {{block{
/***
!!!458 add permalink-like HREFs on internal TiddlyLinks
***/
// // {{groupbox small{
/***
http://trac.tiddlywiki.org/ticket/458 - CLOSED: WON'T FIX
This tweak assigns a permalink-like HREF to internal Tiddler links (which normally do not have any HREF defined).  This permits the link's context menu (right-click) to include 'open link in another window/tab' command.  Based on a request from Dustin Spicuzza.
***/
//{{{
window.coreTweaks_createTiddlyLink=window.createTiddlyLink;
window.createTiddlyLink=function(place,title,includeText,theClass,isStatic,linkedFromTiddler,noToggle)
{
	// create the core button, then add the HREF (to internal links only)
	var link=window.coreTweaks_createTiddlyLink.apply(this,arguments);
	if (!isStatic)
		link.href=document.location.href.split('#')[0]+'#'+encodeURIComponent(String.encodeTiddlyLink(title));
	return link;
}
//}}}
// // }}}}}}
// // to be fixed in 2.6.0:
// // {{block{
/***
!!!1151 adjust popup placement when root element is in scrolled DIV
***/
// // {{groupbox small{
/***
http://trac.tiddlywiki.org/ticket/1151
When a popup link is placed inside a DIV with style "overflow:scroll" or "overflow:auto" and that DIV is then scrolled, the position of the resulting popup appears further down the page that intended, because it is not adjusting for the relative scroll offset of the containing DIV.  This tweak patches the Popup.place() function to calculate and subtract the current scroll offset from the computed popup position, so that it appears in the correct location on the page.

Test case: //(scroll to the bottom of this DIV and click on "test popup")//
{{groupbox{
 <<tiddler ScrollBox with: CoreTweaks##1151test 12em>>}}}/%
!1151test
<<tiddler About>>
<<showPopup tiddler:About label:"test popup" tip:About popupClass:sticky>>
!end
%/
***/
//{{{
window.findScrollOffsetX=function(obj) {
	var x=0;
	while(obj) {
		if (obj.scrollLeft && obj.nodeName!='HTML')
			x+=obj.scrollLeft;
		obj=obj.parentNode;
	}
	return -x;
}

window.findScrollOffsetY=function(obj) {
	var y=0;
	while(obj) {
		if (obj.scrollTop && obj.nodeName!='HTML')
			y+=obj.scrollTop;
		obj=obj.parentNode;
	}
	return -y;
}

var fn=Popup.place.toString();
if (fn.indexOf('findScrollOffsetX')==-1) { // only once
	fn=fn.replace(/var\s*rootLeft\s*=/,'var rootLeft = window.findScrollOffsetX(root) +');
	fn=fn.replace(/var\s*rootTop\s*=/,'var rootTop = window.findScrollOffsetY(root) +');
	eval('Popup.place='+fn);
}
//}}}
// // }}}}}}// // {{block{
/***
!!!1147 tiddler macro with params does not refresh
***/
// // {{groupbox small{
/***
http://trac.tiddlywiki.org/ticket/1147
when the {{{<<tiddler SomeTiddler>>}}} macro is handled, the resulting span has extra attributes: {{{refresh='content'}}} and {{{tiddler='SomeTiddler'}}}.  If SomeTiddler is changed, {{{store.notify('SomeTiddler')}}} triggers {{{refreshDisplay()}}}, which automatically re-renders transcluded content in any span that has these extra attributes.  However, when additional arguments are passed by using {{{<<tiddler SomeTiddler with: arg arg arg ...>>}}} then the resulting span does NOT get the extra attributes noted above and, as a consequence, the transcluded content is not being refreshed, even though the underlying tiddler has changed

To correct this, in {{{config.macros.tiddler.handler}}}:
*set the 'refresh' and 'tiddler' attributes even when arguments are present in the macro
*store the arguments themselves in an attribute (e.g, 'args'), using as a space-separated, bracketed list
Then, in {{{config.refreshers.content}}}:
*retrieve the stored arguments (if any) and the tiddler source
*substitute arguments into source and re-render the span with the updated content

***/
//{{{
config.refreshers.content=function(e,changeList) {
		var title = e.getAttribute("tiddler");
		var force = e.getAttribute("force");
		var args = e.getAttribute("args"); // ADDED
		if(force != null || changeList == null || changeList.indexOf(title) != -1) {
			removeChildren(e);
//			wikify(store.getTiddlerText(title,""),e,null,store.fetchTiddler(title)); // REMOVED
			config.macros.tiddler.transclude(e,title,args); // ADDED
			return true;
		} else
			return false;
};

config.macros.tiddler.handler=function(place,macroName,params,wikifier,paramString,tiddler) {
	params = paramString.parseParams("name",null,true,false,true);
	var names = params[0]["name"];
	var tiddlerName = names[0];
	var className = names[1] || null;
	var args = params[0]["with"];
	var wrapper = createTiddlyElement(place,"span",null,className);
//	if(!args) { // REMOVED
		wrapper.setAttribute("refresh","content");
		wrapper.setAttribute("tiddler",tiddlerName);
// 	} // REMOVED
	if(args!==undefined) wrapper.setAttribute("args",'[['+args.join(']] [[')+']]'); // ADDED
	this.transclude(wrapper,tiddlerName,args); // REFACTORED TO ...tiddler.transclude
}

// REFACTORED FROM ...tiddler.handler
config.macros.tiddler.transclude=function(wrapper,tiddlerName,args) {
	var text = store.getTiddlerText(tiddlerName); if (!text) return;
	var stack = config.macros.tiddler.tiddlerStack;
	if(stack.indexOf(tiddlerName) !== -1) return;
	stack.push(tiddlerName);
	try {
		if (typeof args == "string") args=args.readBracketedList(); // ADDED
		var n = args ? Math.min(args.length,9) : 0;
		for(var i=0; i<n; i++) {
			var placeholderRE = new RegExp("\\$" + (i + 1),"mg");
			text = text.replace(placeholderRE,args[i]);
		}
		config.macros.tiddler.renderText(wrapper,text,tiddlerName,null); // REMOVED UNUSED 'params'
	} finally {
		stack.pop();
	}
};
//}}}
// // }}}}}}// // {{block{
/***
!!!1134 allow leading whitespace in section headings / TBD handle shadow tiddler sections
***/
// // {{groupbox small{
/***
http://trac.tiddlywiki.org/ticket/1134
This tweak REPLACES and extends {{{store.getTiddlerText()}}} so it can return sections defined in shadow tiddlers as well as permitting use of leading whitespace in section headings.
***/
//{{{
TiddlyWiki.prototype.getTiddlerText = function(title,defaultText)
{
	if(!title) return defaultText;
	var parts = title.split(config.textPrimitives.sectionSeparator);
	var title = parts[0];
	var section = parts[1];
	var parts = title.split(config.textPrimitives.sliceSeparator);
	var title = parts[0];
	var slice = parts[1]?this.getTiddlerSlice(title,parts[1]):null;
	if(slice) return slice;
	var tiddler = this.fetchTiddler(title);
	var text = defaultText;
	if(this.isShadowTiddler(title))
		text = this.getShadowTiddlerText(title);
	if(tiddler)
		text = tiddler.text;
	if(!section) return text;
	var re = new RegExp("(^!{1,6}[ \t]*" + section.escapeRegExp() + "[ \t]*\n)","mg");
	re.lastIndex = 0;
	var match = re.exec(text);
	if(match) {
		var t = text.substr(match.index+match[1].length);
		var re2 = /^!/mg;
		re2.lastIndex = 0;
		match = re2.exec(t); //# search for the next heading
		if(match)
			t = t.substr(0,match.index-1);//# don't include final \n
		return t;
	}
	return defaultText;
};
//}}}
// // }}}}}}// // {{block{
/***
!!!824 ~WindowTitle - alternative to combined ~SiteTitle/~SiteSubtitle in window titlebar
***/
// // {{groupbox small{
/***
http://trac.tiddlywiki.org/ticket/824 - OPEN
This tweak allows definition of an optional [[WindowTitle]] tiddler that, when present, provides alternative text for display in the browser window's titlebar, instead of using the combined text content from [[SiteTitle]] and [[SiteSubtitle]] (which will still be displayed as usual in the TiddlyWiki document header area).

Note: this ticket replaces http://trac.tiddlywiki.org/ticket/401 (closed), which proposed using a custom [[PageTitle]] tiddler for this purpose.  ''If you were using the previous '401 ~PageTitle' tweak, you will need to rename [[PageTitle]] to [[WindowTitle]] to continue to use your custom window title text''
***/
//{{{
config.shadowTiddlers.WindowTitle='<<tiddler SiteTitle>> - <<tiddler SiteSubtitle>>';
window.getPageTitle=function() { return wikifyPlain('WindowTitle'); }
store.addNotification('WindowTitle',refreshPageTitle); // so title stays in sync with tiddler changes
//}}}
// // }}}}}}// // {{block{
/***
!!!471 'creator' field for new tiddlers
***/
// // {{groupbox small{
/***
http://trac.tiddlywiki.org/ticket/471 - OPEN
This tweak HIJACKS the core's saveTiddler() function to automatically add a 'creator' field to a tiddler when it is FIRST created. You can use """<<view creator>>""" (or """<<view creator wikified>>""" if you prefer) to show this value embedded directly within the tiddler content, or {{{<span macro="view creator"></span>}}} in the ViewTemplate and/or EditTemplate to display the creator value in each tiddler.  
***/
//{{{
// hijack saveTiddler()
TiddlyWiki.prototype.CoreTweaks_creatorSaveTiddler=TiddlyWiki.prototype.saveTiddler;
TiddlyWiki.prototype.saveTiddler=function(title,newTitle,newBody,modifier,modified,tags,fields)
{
	var existing=store.tiddlerExists(title);
	var tiddler=this.CoreTweaks_creatorSaveTiddler.apply(this,arguments);
	if (!existing) store.setValue(title,'creator',config.options.txtUserName);
	return tiddler;
}
//}}}
// // }}}}}}
// // fixed in ~TW2.4.3
// // {{block{
/***
!!!444 'tiddler' and 'place' - global variables for use in computed macro parameters
***/
// // {{groupbox small{
/***
http://trac.tiddlywiki.org/ticket/444 - CLOSED:FIXED - TW2.4.3 - http://trac.tiddlywiki.org/changeset/8367
When invoking a macro, this tweak makes the current containing tiddler object and DOM rendering location available as global variables (window.tiddler and window.place, respectively).  These globals can then be used within //computed macro parameters// to retrieve tiddler-relative and/or DOM-relative values or perform tiddler-specific side-effect functionality.
***/
//{{{
if (ver<2.43) {
window.coreTweaks_invokeMacro = window.invokeMacro;
window.invokeMacro = function(place,macro,params,wikifier,tiddler) {
	var here=story.findContainingTiddler(place);
	window.tiddler=here?store.getTiddler(here.getAttribute('tiddler')):tiddler;
	window.place=place;
	window.coreTweaks_invokeMacro.apply(this,arguments);
}
}
//}}}
// // }}}}}}
// // fixed in ~TW2.4.2:
// // {{block{
/***
!!!823 apply option values via paramifiers (e.g. #chk...and #txt...)
***/
// // {{groupbox small{
/***
http://trac.tiddlywiki.org/ticket/823 - CLOSED:FIXED - TW2.4.2 http://trac.tiddlywiki.org/changeset/7988
This tweak extends and ''//replaces//'' the core {{{invokeParamifier()}}} function to support use of ''option paramifiers'' that set TiddlyWiki option values on-the-fly, directly from a document URL.

If a paramifier begins with 'chk' (checkbox) or 'txt' (text field), it's value will be automatically stored in {{{config.options.*}}}, adding to or overriding any existing 'chk' or 'txt' option values that may have already been loaded from browser cookies and/or assigned by the TW core or plugin initialization functions using hard-coded default values.  Note: option values that have been overriden by paramifiers are only applied during the current document session, and are not //automatically// retained.  However, if you edit an overridden option value during that session, then the modified value is, of course, saved in a browser cookie, as usual.
***/
//{{{
if (ver<2.42) {
function invokeParamifier(params,handler)
{
	if(!params || params.length == undefined || params.length <= 1)
		return;
	for(var t=1; t<params.length; t++) {
		var p = config.paramifiers[params[t].name];
		if(p && p[handler] instanceof Function)
			p[handler](params[t].value);
		else { // not a paramifier with handler()... check for an 'option' prefix
			var h=config.optionHandlers[params[t].name.substr(0,3)];
			if (h && h.set instanceof Function)
				h.set(params[t].name,params[t].value);
		}
	}
}
}
//}}}
// // }}}}}}
// // open tickets:
// // {{block{
/***
!!!608/609/610 toolbars - toggles, separators and transclusion
***/
// // {{groupbox small{
/***
http://trac.tiddlywiki.org/ticket/608 - OPEN (more/less toggle)
http://trac.tiddlywiki.org/ticket/609 - OPEN (separators)
http://trac.tiddlywiki.org/ticket/610 - OPEN (wikify tiddler/slice/section content)

This combination tweak extends the """<<toolbar>>""" macro to add use of '<' to insert a 'less' menu command (the opposite of '>' == 'more'), as well as use of '*' to insert linebreaks and "!" to insert a vertical line separator between toolbar items.  In addition, this tweak add the ability to use references to tiddlernames, slices, or sections and render their content inline within the toolbar, allowing easy creation of new toolbar commands using TW content (such as macros, links, inline scripts, etc.)

To produce a one-line style, with "less" at the end, use
| ViewToolbar| foo bar baz > yabba dabba doo < |
or to use a two-line style with more/less toggle:
| ViewToolbar| foo bar baz > < * yabba dabba doo |
***/
//{{{
merge(config.macros.toolbar,{
	moreLabel: 'more\u25BC',
	morePrompt: 'Show additional commands',
	lessLabel: '\u25C4less',
	lessPrompt: 'Hide additional commands',
	separator: '|'
});
config.macros.toolbar.onClickMore = function(ev) {
	var e = this.nextSibling;
	e.style.display = 'inline'; // show menu
	this.style.display = 'none'; // hide button
	return false;
};
config.macros.toolbar.onClickLess = function(ev) {
	var e = this.parentNode;
	var m = e.previousSibling;
	e.style.display = 'none'; // hide menu
	m.style.display = 'inline'; // show button
	return false;
};
config.macros.toolbar.handler = function(place,macroName,params,wikifier,paramString,tiddler) {
	for(var t=0; t<params.length; t++) {
		var c = params[t];
		switch(c) {
			case '!':  // ELS - SEPARATOR (added)
				createTiddlyText(place,this.separator);
				break;
			case '*':  // ELS - LINEBREAK (added)
				createTiddlyElement(place,'BR');
				break;
			case '<': // ELS - LESS COMMAND (added)
				var btn = createTiddlyButton(place,
					this.lessLabel,this.lessPrompt,config.macros.toolbar.onClickLess,'moreCommand');
				break;
			case '>':
				var btn = createTiddlyButton(place,
					this.moreLabel,this.morePrompt,config.macros.toolbar.onClickMore,'moreCommand');
				var e = createTiddlyElement(place,'span',null,'moreCommand');
				e.style.display = 'none';
				place = e;
				break;
			default:
				var theClass = '';
				switch(c.substr(0,1)) {
					case '+':
						theClass = 'defaultCommand';
						c = c.substr(1);
						break;
					case '-':
						theClass = 'cancelCommand';
						c = c.substr(1);
						break;
				}
				if(c in config.commands)

					this.createCommand(place,c,tiddler,theClass);
				else { // ELS - WIKIFY TIDDLER/SLICE/SECTION (added)
					if (c.substr(0,1)=='~') c=c.substr(1); // ignore leading ~
					var txt=store.getTiddlerText(c);
					if (txt) {
						// trim any leading/trailing newlines
						txt=txt.replace(/^\n*/,'').replace(/\n*$/,'');
						// trim PRE format wrapper if any
						txt=txt.replace(/^\{\{\{\n/,'').replace(/\n\}\}\}$/,'');
						// render content into toolbar
						wikify(txt,createTiddlyElement(place,'span'),null,tiddler);
					}
				} // ELS - end WIKIFY CONTENT
				break;
		}
	}
};
//}}}
// // }}}}}}// // {{block{
/***
!!!529 IE fixup - case-sensitive element lookup of tiddler elements
***/
// // {{groupbox small{
/***
http://trac.tiddlywiki.org/ticket/529 - OPEN
This tweak hijacks the standard browser function, document.getElementById(), to work-around the case-INsensitivity error in Internet Explorer (all versions up to and including IE7) //''Note: This tweak is only applied when using IE, and only for lookups of rendered tiddler elements within the containing 'tiddlerDisplay' element.''//
***/
//{{{
if (config.browser.isIE) {
document.coreTweaks_coreGetElementById=document.getElementById;
document.getElementById=function(id) {
	var e=document.coreTweaks_coreGetElementById(id);
	if (!e || !e.parentNode || e.parentNode.id!='tiddlerDisplay') return e;
	for (var i=0; i<e.parentNode.childNodes.length; i++)
		if (id==e.parentNode.childNodes[i].id) return e.parentNode.childNodes[i];
	return null;
};
}
//}}}
// // }}}}}}// // {{block{
/***
!!!890 add conditional test to """<<tiddler>>""" macro
***/
// // {{groupbox small{
/***
http://trac.tiddlywiki.org/ticket/890 - OPEN
This tweak extends the {{{<<tiddler>>}}} macro syntax so you can include a javascript-based //test expression// to determine if the tiddler transclusion should be performed:
{{{
<<tiddler TiddlerName if:{{...}} with: param param etc.>>
}}}
If the test is ''true'', then the tiddler is transcluded as usual.  If the test is ''false'', then the transclusion is skipped and //no output is produced//.
***/
//{{{
config.macros.tiddler.if_handler = config.macros.tiddler.handler;
config.macros.tiddler.handler = function(place,macroName,params,wikifier,paramString,tiddler)
{
	params = paramString.parseParams('name',null,true,false,true);
	if (!getParam(params,'if',true)) return;
	this.if_handler.apply(this,arguments);
};
//}}}
// // }}}}}}// // {{block{
/***
!!!831 backslash-quoting for embedding newlines in 'line-mode' formats
***/
// // {{groupbox small{
/***
http://trac.tiddlywiki.org/ticket/831 - OPEN
This tweak pre-processes source content to convert 'double-backslash-newline' into {{{<br>}}} before wikify(), so that literal newlines can be embedded in line-mode wiki syntax (e.g., tables, bullets, etc.)
***/
//{{{
window.coreWikify = wikify;
window.wikify = function(source,output,highlightRegExp,tiddler)
{
	if (source) arguments[0]=source.replace(/\\\\\n/mg,'<br>');
	coreWikify.apply(this,arguments);
}
//}}}
// // }}}}}}// // {{block{
/***
!!!683 FireFox3 Import bug: 'browse' button replacement
***/
// // {{groupbox small{
/***
http://trac.tiddlywiki.org/ticket/683 - OPEN
The web standard 'type=file' input control that has been used as a local path/file picker for TiddlyWiki no longer works as expected in FireFox3, which has, for security reasons, limited javascript access to this control so that *no* local filesystem path information can be revealed, even when it is intentional and necessary, as it is with TiddlyWiki.  This tweak provides alternative HTML source that patches the backstage import panel.  It replaces the 'type=file' input control with a text+button combination of controls that invokes a system-native secure 'file-chooser' dialog box to provide TiddlyWiki with access to a complete path+filename so that TW functions properly locate user-selected local files.
>Note: ''This tweak also requires http://trac.tiddlywiki.org/ticket/604 - cross-platform askForFilename()''
***/
//{{{
if (window.Components) {
	var fixhtml='<input name="txtBrowse" style="width:30em"><input type="button" value="..."'
		+' onClick="window.browseForFilename(this.previousSibling,true)">';
	var cmi=config.macros.importTiddlers;
	cmi.step1Html=cmi.step1Html.replace(/<input type='file' size=50 name='txtBrowse'>/,fixhtml);
}

merge(config.messages,{selectFile:'Please enter or select a file'}); // ready for I18N translation

window.browseForFilename=function(target,mustExist) { // note: both params are optional
	var msg=config.messages.selectFile;
	if (target && target.title) msg=target.title; // use target field tooltip (if any) as dialog prompt text
	// get local path for current document
	var path=getLocalPath(document.location.href);
	var p=path.lastIndexOf('/'); if (p==-1) p=path.lastIndexOf('\\'); // Unix or Windows
	if (p!=-1) path=path.substr(0,p+1); // remove filename, leave trailing slash
	var file=''
	var result=window.askForFilename(msg,path,file,mustExist); // requires #604
	if (target && result.length) // set target field and trigger handling
		{ target.value=result; target.onchange(); }
	return result; 
}
//}}}
// // }}}}}}// // {{block{
/***
!!!604 cross-platform askForFilename()
***/
// // {{groupbox small{
/***
http://trac.tiddlywiki.org/ticket/604 - OPEN
invokes a system-native secure 'file-chooser' dialog box to provide TiddlyWiki with access to a complete path+filename so that TW functions properly locate user-selected local files.
***/
//{{{
window.askForFilename=function(msg,path,file,mustExist) {
	var r = window.mozAskForFilename(msg,path,file,mustExist);
	if(r===null || r===false)
		r = window.ieAskForFilename(msg,path,file,mustExist);
	if(r===null || r===false)
		r = window.javaAskForFilename(msg,path,file,mustExist);
	if(r===null || r===false)
		r = prompt(msg,path+file);
	return r||'';
}

window.mozAskForFilename=function(msg,path,file,mustExist) {
	if(!window.Components) return false;
	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, mustExist?nsIFilePicker.modeOpen:nsIFilePicker.modeSave);
		var thispath = Components.classes['@mozilla.org/file/local;1'].createInstance(Components.interfaces.nsILocalFile);
		thispath.initWithPath(path);
		picker.displayDirectory=thispath;
		picker.defaultExtension='html';
		picker.defaultString=file;
		picker.appendFilters(nsIFilePicker.filterAll|nsIFilePicker.filterText|nsIFilePicker.filterHTML);
		if (picker.show()!=nsIFilePicker.returnCancel)
			var result=picker.file.path;
	}
	catch(ex) { displayMessage(ex.toString()); }
	return result;
}

window.ieAskForFilename=function(msg,path,file,mustExist) {
	if(!config.browser.isIE) return false;
	try {
		var s = new ActiveXObject('UserAccounts.CommonDialog');
		s.Filter='All files|*.*|Text files|*.txt|HTML files|*.htm;*.html|';
		s.FilterIndex=3; // default to HTML files;
		s.InitialDir=path;
		s.FileName=file;
		return s.showOpen()?s.FileName:'';
	}
	catch(ex) { displayMessage(ex.toString()); }
	return result;
}

window.javaAskForFilename=function(msg,path,file,mustExist) {
	if(!document.applets['TiddlySaver']) return false;
	// TBD: implement java-based askFile(...) function
	try { return document.applets['TiddlySaver'].askFile(msg,path,file,mustExist); } 
	catch(ex) { displayMessage(ex.toString()); }
}
//}}}
// // }}}}}}// // {{block{
/***
!!!657 wrap tabs onto multiple lines
***/
// // {{groupbox small{
/***
http://trac.tiddlywiki.org/ticket/657 - OPEN
This tweak inserts an extra space element following each tab, allowing them to wrap onto multiple lines if needed.
***/
//{{{
config.macros.tabs.handler = function(place,macroName,params)
{
	var cookie = params[0];
	var numTabs = (params.length-1)/3;
	var wrapper = createTiddlyElement(null,'div',null,'tabsetWrapper ' + cookie);
	var tabset = createTiddlyElement(wrapper,'div',null,'tabset');
	tabset.setAttribute('cookie',cookie);
	var validTab = false;
	for(var t=0; t<numTabs; t++) {
		var label = params[t*3+1];
		var prompt = params[t*3+2];
		var content = params[t*3+3];
		var tab = createTiddlyButton(tabset,label,prompt,this.onClickTab,'tab tabUnselected');
		createTiddlyElement(tab,'span',null,null,' ',{style:'font-size:0pt;line-height:0px'}); // ELS
		tab.setAttribute('tab',label);
		tab.setAttribute('content',content);
		tab.title = prompt;
		if(config.options[cookie] == label)
			validTab = true;
	}
	if(!validTab)
		config.options[cookie] = params[1];
	place.appendChild(wrapper);
	this.switchTab(tabset,config.options[cookie]);
};
//}}}
// // }}}}}}// // {{block{
/***
!!!628 hide 'no such macro' errors
***/
// // {{groupbox small{
/***
http://trac.tiddlywiki.org/ticket/628 - OPEN
When invoking a macro that is not defined, this tweak prevents the display of the 'error in macro... no such macro' message.  This is useful when rendering tiddler content or templates that reference macros that are defined by //optional// plugins that have not been installed in the current document.

<<option chkHideMissingMacros>> hide 'no such macro' error messages
***/
//{{{
if (config.options.chkHideMissingMacros===undefined)
	config.options.chkHideMissingMacros=false;

window.coreTweaks_missingMacro_invokeMacro = window.invokeMacro;
window.invokeMacro = function(place,macro,params,wikifier,tiddler) {
	if (!config.macros[macro] || !config.macros[macro].handler)
		if (config.options.chkHideMissingMacros) return;
	window.coreTweaks_missingMacro_invokeMacro.apply(this,arguments);
}
//}}}
// // }}}}}}
// // <<foldHeadings>>
<<wikify {{sessionStorage.slideName}}>>
<html><nowiki><form action="Corr_Nota.php" method="POST"  target="responseFrame">
<input type=hidden name=when value=""><input type=hidden name=title value=""><input type=text name=apresenta value="">Apresentacao<br>
<textarea name="comment" rows="20 cols="70" style="width:700px;" value=" " ></textarea><br>
<input type=submit value='Correja' onclick=""'>

</form><iframe src="" name="responseFrame" id="responseFrame" width=400px height=50px style="border:0;"></iframe>
</html><script>var form=place.lastChild.getElementsByTagName('form')[0];
var date=new Date();
form.when.value=date.formatString("YYYY-MM-DD");lista="";
var tarefas="";

    var xmlHttp = null;
    xmlHttp = new XMLHttpRequest();
    var discFile="Textos/"+sessionStorage.slideName+".txt";
//return discFile;
    xmlHttp.open( "GET",discFile, false);
    xmlHttp.send( null );
var slideTexto=xmlHttp.responseText;
if(xmlHttp.status!=200){
    var xmlHttp = null;
    xmlHttp = new XMLHttpRequest();
    var discFile="Textos/Blank.txt";
//return discFile;
    xmlHttp.open( "GET",discFile, false);
    xmlHttp.send( null );
var slideTexto=xmlHttp.responseText;}
form.comment.value=slideTexto;
form.title.value=sessionStorage.slideName;
form.apresenta.value=sessionStorage.apresenta;


</script>
<<showPopup tiddler:Corr_Nota label:Corr width:800px popupClass:sticky>>
[[Inicio]]





<<wikify {{'<<tiddler OpenNote with:'+tiddler.title+'>'+'>'}}>>




<script>
    var xmlHttp = null;
    xmlHttp = new XMLHttpRequest();
    var discFile="../EscolasBlog/Items/$1.txt";
//return discFile;
    xmlHttp.open( "GET",discFile, false);
    xmlHttp.send( null );
return xmlHttp.responseText;
</script>
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>>


/***
|Name|HTMLFormattingPlugin|
|Source|http://www.TiddlyTools.com/#HTMLFormattingPlugin|
|Documentation|http://www.TiddlyTools.com/#HTMLFormattingPluginInfo|
|Version|2.4.1|
|Author|Eric Shulman|
|License|http://www.TiddlyTools.com/#LegalStatements|
|~CoreVersion|2.1|
|Type|plugin|
|Description|embed wiki syntax formatting inside of HTML content|
The ~HTMLFormatting plugin allows you to ''mix wiki-style formatting syntax within HTML formatted content'' by extending the action of the standard TiddlyWiki formatting handler.
!!!!!Documentation
>see [[HTMLFormattingPluginInfo]]
!!!!!Configuration
<<<
Use {{{<hide linebreaks>}}} within HTML content to wiki-style rendering of line breaks.  To //always// omit all line breaks from the rendered output, you can set this option:
><<option chkHTMLHideLinebreaks>> ignore all line breaks
which can also be 'hard coded' into your document by adding the following to a tiddler, tagged with <<tag systemConfig>>
>{{{config.options.chkHTMLHideLinebreaks=true;}}}
<<<
!!!!!Revisions
<<<
2010.05.07 2.4.1 added chkHTMLHideLinebreaks option
| see [[HTMLFormattingPluginInfo]] for additional revision details |
2005.06.26 1.0.0 Initial Release (as code adaptation - pre-dates TiddlyWiki plugin architecture!!)
<<<
!!!!!Code
***/
//{{{
version.extensions.HTMLFormattingPlugin= {major: 2, minor: 4, revision: 1, date: new Date(2010,5,7)};

// find the formatter for HTML and replace the handler
initHTMLFormatter();
function initHTMLFormatter()
{
	for (var i=0; i<config.formatters.length && config.formatters[i].name!="html"; i++);
	if (i<config.formatters.length)	config.formatters[i].handler=function(w) {
		if (!this.lookaheadRegExp)  // fixup for TW2.0.x
			this.lookaheadRegExp = new RegExp(this.lookahead,"mg");
		this.lookaheadRegExp.lastIndex = w.matchStart;
		var lookaheadMatch = this.lookaheadRegExp.exec(w.source)
		if(lookaheadMatch && lookaheadMatch.index == w.matchStart) {
			var html=lookaheadMatch[1];
			// if <nowiki> is present, just let browser handle it!
			if (html.indexOf('<nowiki>')!=-1)
				createTiddlyElement(w.output,"span").innerHTML=html;
			else {
				// if <hide linebreaks> is present, or chkHTMLHideLinebreaks is set
				// suppress wiki-style literal handling of newlines
				if (config.options.chkHTMLHideLinebreaks||(html.indexOf('<hide linebreaks>')!=-1))
					html=html.replace(/\n/g,' ');
				// remove all \r's added by IE textarea and mask newlines and macro brackets
				html=html.replace(/\r/g,'').replace(/\n/g,'\\n').replace(/<</g,'%%(').replace(/>>/g,')%%');
				// create span, let browser parse HTML
				var e=createTiddlyElement(w.output,"span"); e.innerHTML=html;
				// then re-render text nodes as wiki-formatted content
				wikifyTextNodes(e,w);
			}
			w.nextMatch = this.lookaheadRegExp.lastIndex; // continue parsing
		}
	}
}

// wikify #text nodes that remain after HTML content is processed (pre-order recursion)
function wikifyTextNodes(theNode,w)
{
	function unmask(s) { return s.replace(/\%%\(/g,'<<').replace(/\)\%%/g,'>>').replace(/\\n/g,'\n'); }
	switch (theNode.nodeName.toLowerCase()) {
		case 'style': case 'option': case 'select':
			theNode.innerHTML=unmask(theNode.innerHTML);
			break;
		case 'textarea':
			theNode.value=unmask(theNode.value);
			break;
		case '#text':
			var txt=unmask(theNode.nodeValue);
			var newNode=createTiddlyElement(null,"span");
			theNode.parentNode.replaceChild(newNode,theNode);
			wikify(txt,newNode,highlightHack,w.tiddler);
			break;
		default:
			for (var i=0;i<theNode.childNodes.length;i++)
				wikifyTextNodes(theNode.childNodes.item(i),w); // recursion
			break;
	}
}
//}}}
/***
|Name:|HideWhenPlugin|
|Description:|Allows conditional inclusion/exclusion in templates|
|Version:|3.2a|
|Date:|27-Jun-2011|
|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>}}}

Warning: the showWhen and hideWhen macros will blindly eval paramString.
This could be used to execute harmful javascript from a tiddler.

(TODO: Make some effort to sanitize paramString. Perhaps disallow the equals sign?)
***/
//{{{

window.hideWhenLastTest = false;

window.removeElementWhen = function(test,place) {
  window.hideWhenLastTest = test;
  if (test) {
    jQuery(place).empty()
    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 );
  }}

});

//}}}




/***
|Name|ImageSizePlugin|
|Source|http://www.TiddlyTools.com/#ImageSizePlugin|
|Version|1.2.1|
|Author|Eric Shulman|
|License|http://www.TiddlyTools.com/#LegalStatements|
|~CoreVersion|2.1|
|Type|plugin|
|Description|adds support for resizing images|
This plugin adds optional syntax to scale an image to a specified width and height and/or interactively resize the image with the mouse.
!!!!!Usage
<<<
The extended image syntax is:
{{{
[img(w+,h+)[...][...]]
}}}
where ''(w,h)'' indicates the desired width and height (in CSS units, e.g., px, em, cm, in, or %). Use ''auto'' (or a blank value) for either dimension to scale that dimension proportionally (i.e., maintain the aspect ratio). You can also calculate a CSS value 'on-the-fly' by using a //javascript expression// enclosed between """{{""" and """}}""". Appending a plus sign (+) to a dimension enables interactive resizing in that dimension (by dragging the mouse inside the image). Use ~SHIFT-click to show the full-sized (un-scaled) image. Use ~CTRL-click to restore the starting size (either scaled or full-sized).
<<<
!!!!!Examples
<<<
{{{
[img(100px+,75px+)[images/meow2.jpg]]
}}}
[img(100px+,75px+)[images/meow2.jpg]]
{{{
[<img(34%+,+)[images/meow.gif]]
[<img(21% ,+)[images/meow.gif]]
[<img(13%+, )[images/meow.gif]]
[<img( 8%+, )[images/meow.gif]]
[<img( 5% , )[images/meow.gif]]
[<img( 3% , )[images/meow.gif]]
[<img( 2% , )[images/meow.gif]]
[img(  1%+,+)[images/meow.gif]]
}}}
[<img(34%+,+)[images/meow.gif]]
[<img(21% ,+)[images/meow.gif]]
[<img(13%+, )[images/meow.gif]]
[<img( 8%+, )[images/meow.gif]]
[<img( 5% , )[images/meow.gif]]
[<img( 3% , )[images/meow.gif]]
[<img( 2% , )[images/meow.gif]]
[img(  1%+,+)[images/meow.gif]]
{{tagClear{
}}}
<<<
!!!!!Revisions
<<<
2009.02.24 [1.2.1] cleanup width/height regexp, use '+' suffix for resizing
2009.02.22 [1.2.0] added stretchable images
2008.01.19 [1.1.0] added evaluated width/height values
2008.01.18 [1.0.1] regexp for "(width,height)" now passes all CSS values to browser for validation
2008.01.17 [1.0.0] initial release
<<<
!!!!!Code
***/
//{{{
version.extensions.ImageSizePlugin= {major: 1, minor: 2, revision: 1, date: new Date(2009,2,24)};
//}}}
//{{{
var f=config.formatters[config.formatters.findByField("name","image")];
f.match="\\[[<>]?[Ii][Mm][Gg](?:\\([^,]*,[^\\)]*\\))?\\[";
f.lookaheadRegExp=/\[([<]?)(>?)[Ii][Mm][Gg](?:\(([^,]*),([^\)]*)\))?\[(?:([^\|\]]+)\|)?([^\[\]\|]+)\](?:\[([^\]]*)\])?\]/mg;


f.handler=function(w) {
	this.lookaheadRegExp.lastIndex = w.matchStart;
	var lookaheadMatch = this.lookaheadRegExp.exec(w.source)
	if(lookaheadMatch && lookaheadMatch.index == w.matchStart) {
		var floatLeft=lookaheadMatch[1];
		var floatRight=lookaheadMatch[2];
		var width=lookaheadMatch[3];
		var height=lookaheadMatch[4];
		var tooltip=lookaheadMatch[5];
		var src=lookaheadMatch[6];
		var link=lookaheadMatch[7];

		// Simple bracketted link
		var e = w.output;
		if(link) { // LINKED IMAGE
			if (config.formatterHelpers.isExternalLink(link)) {
				if (config.macros.attach && config.macros.attach.isAttachment(link)) {
					// see [[AttachFilePluginFormatters]]
					e = createExternalLink(w.output,link);
					e.href=config.macros.attach.getAttachment(link);
					e.title = config.macros.attach.linkTooltip + link;
				} else
					e = createExternalLink(w.output,link);
			} else 
				e = createTiddlyLink(w.output,link,false,null,w.isStatic);
			addClass(e,"imageLink");
		}

		var img = createTiddlyElement(e,"img");
		if(floatLeft) img.align="left"; else if(floatRight) img.align="right";
		if(width||height) {
			var x=width.trim(); var y=height.trim();
			var stretchW=(x.substr(x.length-1,1)=='+'); if (stretchW) x=x.substr(0,x.length-1);
			var stretchH=(y.substr(y.length-1,1)=='+'); if (stretchH) y=y.substr(0,y.length-1);
			if (x.substr(0,2)=="{{")
				{ try{x=eval(x.substr(2,x.length-4))} catch(e){displayMessage(e.description||e.toString())} }
			if (y.substr(0,2)=="{{")
				{ try{y=eval(y.substr(2,y.length-4))} catch(e){displayMessage(e.description||e.toString())} }
			img.style.width=x.trim(); img.style.height=y.trim();
			config.formatterHelpers.addStretchHandlers(img,stretchW,stretchH);
		}
		if(tooltip) img.title = tooltip;

		// GET IMAGE SOURCE
		if (config.macros.attach && config.macros.attach.isAttachment(src))
			src=config.macros.attach.getAttachment(src); // see [[AttachFilePluginFormatters]]
		else if (config.formatterHelpers.resolvePath) { // see [[ImagePathPlugin]]
			if (config.browser.isIE || config.browser.isSafari) {
				img.onerror=(function(){
					this.src=config.formatterHelpers.resolvePath(this.src,false);
					return false;
				});
			} else
				src=config.formatterHelpers.resolvePath(src,true);
		}
		img.src=src;
		w.nextMatch = this.lookaheadRegExp.lastIndex;
	}
}

config.formatterHelpers.addStretchHandlers=function(e,stretchW,stretchH) {
	e.title=((stretchW||stretchH)?'DRAG=stretch/shrink, ':'')
		+'SHIFT-CLICK=show full size, CTRL-CLICK=restore initial size';
	e.statusMsg='width=%0, height=%1';
	e.style.cursor='move';
	e.originalW=e.style.width;
	e.originalH=e.style.height;
	e.minW=Math.max(e.offsetWidth/20,10);
	e.minH=Math.max(e.offsetHeight/20,10);
	e.stretchW=stretchW;
	e.stretchH=stretchH;
	e.onmousedown=function(ev) { var ev=ev||window.event;
		this.sizing=true;
		this.startX=!config.browser.isIE?ev.pageX:(ev.clientX+findScrollX());
		this.startY=!config.browser.isIE?ev.pageY:(ev.clientY+findScrollY());
		this.startW=this.offsetWidth;
		this.startH=this.offsetHeight;
		return false;
	};
	e.onmousemove=function(ev) { var ev=ev||window.event;
		if (this.sizing) {
			var s=this.style;
			var currX=!config.browser.isIE?ev.pageX:(ev.clientX+findScrollX());
			var currY=!config.browser.isIE?ev.pageY:(ev.clientY+findScrollY());
			var newW=(currX-this.offsetLeft)/(this.startX-this.offsetLeft)*this.startW;
			var newH=(currY-this.offsetTop )/(this.startY-this.offsetTop )*this.startH;
			if (this.stretchW) s.width =Math.floor(Math.max(newW,this.minW))+'px';
			if (this.stretchH) s.height=Math.floor(Math.max(newH,this.minH))+'px';
			clearMessage(); displayMessage(this.statusMsg.format([s.width,s.height]));
		}
		return false;
	};
	e.onmouseup=function(ev) { var ev=ev||window.event;
		if (ev.shiftKey) { this.style.width=this.style.height=''; }
		if (ev.ctrlKey)  { this.style.width=this.originalW; this.style.height=this.originalH; }
		this.sizing=false;
		clearMessage();
		return false;
	};
	e.onmouseout=function(ev) { var ev=ev||window.event;
		this.sizing=false;
		clearMessage();
		return false;
	};
}
//}}}
O uso desse sistema é simples. Quando abrira ela, ela iniciar no primeiro imagem.

Na esquerda é a lista dos imagens em sequençia...mesmo voçe pode navegar entre eles como quiser. ou podem usar os icones azuis (acima a imagen) para voltar o inicio, voltar um, avançar um ou ira ao ultima....... navegação bem simples

Cada imagem/slide tem tema, as vezes tem texto explicando um pouco a tema. Varios deles tem notas, videos, pdfs ou ate um baco dos dados ligadas com eles....e quando existe,  icones pequenas aparecem no parte acima a esquerda o imagem/texto do slide. Clicar o icone para ver esses detalhes extras.
Ao fim das varias das temas da apresentações, tem um slide com um CHAT simples, onde vocẽ podem comentar, questionar e oferecer refleções por as proximas pesssoas que acessa a apresentação (nota que seu contribuição não aparece instantaneamente...espera um momento, reabrir outra slide e depois voltara a confirmar seu contribuição).

<script>sessionStorage.slideNo="1";
localStorage.apresentaName=config.options.txtApresenta;
//return "looking for "+localStorage.apresentaName;
return "<<tiddler Apresentacao>"+">";
</script>


/***
|Name|InlineJavascriptPlugin|
|Source|http://www.TiddlyTools.com/#InlineJavascriptPlugin|
|Documentation|http://www.TiddlyTools.com/#InlineJavascriptPluginInfo|
|Version|1.9.6|
|Author|Eric Shulman|
|License|http://www.TiddlyTools.com/#LegalStatements|
|~CoreVersion|2.1|
|Type|plugin|
|Description|Insert Javascript executable code directly into your tiddler content.|
''Call directly into TW core utility routines, define new functions, calculate values, add dynamically-generated TiddlyWiki-formatted output'' into tiddler content, or perform any other programmatic actions each time the tiddler is rendered.
!!!!!Documentation
>see [[InlineJavascriptPluginInfo]]
!!!!!Revisions
<<<
2010.12.15 1.9.6 allow (but ignore) type="..." syntax
|please see [[InlineJavascriptPluginInfo]] for additional revision details|
2005.11.08 1.0.0 initial release
<<<
!!!!!Code
***/
//{{{
version.extensions.InlineJavascriptPlugin= {major: 1, minor: 9, revision: 6, date: new Date(2010,12,15)};

config.formatters.push( {
	name: "inlineJavascript",
	match: "\\<script",
	lookahead: "\\<script(?: type=\\\"[^\\\"]*\\\")?(?: src=\\\"([^\\\"]*)\\\")?(?: label=\\\"([^\\\"]*)\\\")?(?: title=\\\"([^\\\"]*)\\\")?(?: key=\\\"([^\\\"]*)\\\")?( 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) {
			var src=lookaheadMatch[1];
			var label=lookaheadMatch[2];
			var tip=lookaheadMatch[3];
			var key=lookaheadMatch[4];
			var show=lookaheadMatch[5];
			var code=lookaheadMatch[6];
			if (src) { // external script library
				var script = document.createElement("script"); script.src = src;
				document.body.appendChild(script); document.body.removeChild(script);
			}
			if (code) { // inline code
				if (show) // display source in tiddler
					wikify("{{{\n"+lookaheadMatch[0]+"\n}}}\n",w.output);
				if (label) { // create 'onclick' command link
					var link=createTiddlyElement(w.output,"a",null,"tiddlyLinkExisting",wikifyPlainText(label));
					var fixup=code.replace(/document.write\s*\(/gi,'place.bufferedHTML+=(');
					link.code="function _out(place,tiddler){"+fixup+"\n};_out(this,this.tiddler);"
					link.tiddler=w.tiddler;
					link.onclick=function(){
						this.bufferedHTML="";
						try{ var r=eval(this.code);
							if(this.bufferedHTML.length || (typeof(r)==="string")&&r.length)
								var s=this.parentNode.insertBefore(document.createElement("span"),this.nextSibling);
							if(this.bufferedHTML.length)
								s.innerHTML=this.bufferedHTML;
							if((typeof(r)==="string")&&r.length) {
								wikify(r,s,null,this.tiddler);
								return false;
							} else return r!==undefined?r:false;
						} catch(e){alert(e.description||e.toString());return false;}
					};
					link.setAttribute("title",tip||"");
					var URIcode='javascript:void(eval(decodeURIComponent(%22(function(){try{';
					URIcode+=encodeURIComponent(encodeURIComponent(code.replace(/\n/g,' ')));
					URIcode+='}catch(e){alert(e.description||e.toString())}})()%22)))';
					link.setAttribute("href",URIcode);
					link.style.cursor="pointer";
					if (key) link.accessKey=key.substr(0,1); // single character only
				}
				else { // run script immediately
					var fixup=code.replace(/document.write\s*\(/gi,'place.innerHTML+=(');
					var c="function _out(place,tiddler){"+fixup+"\n};_out(w.output,w.tiddler);";
					try	 { var out=eval(c); }
					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;
		}
	}
} )
//}}}

// // Backward-compatibility for TW2.1.x and earlier
//{{{
if (typeof(wikifyPlainText)=="undefined") window.wikifyPlainText=function(text,limit,tiddler) {
	if(limit > 0) text = text.substr(0,limit);
	var wikifier = new Wikifier(text,formatter,null,tiddler);
	return wikifier.wikifyPlain();
}
//}}}

// // GLOBAL FUNCTION: $(...) -- 'shorthand' convenience syntax for document.getElementById()
//{{{
if (typeof($)=='undefined') { function $(id) { return document.getElementById(id.replace(/^#/,'')); } }
//}}}




<<showPopup tiddler:ApresentaIndex label:Permacultura width:200px popupClass:Sticky>><<setIcon Images/PermaculturaVertical.png "" notext>>
/***
|Name|LoadTiddlersPlugin|
|Source|http://www.TiddlyTools.com/#LoadTiddlersPlugin|
|Documentation|http://www.TiddlyTools.com/#LoadTiddlersPluginInfo|
|Version|3.8.1|
|Author|Eric Shulman|
|License|http://www.TiddlyTools.com/#LegalStatements|
|~CoreVersion|2.1|
|Type|plugin|
|Description|macro for automated updates or one-click installations of tiddlers from remote sources|
!!!!!Documentation
>see [[LoadTiddlersPluginInfo]]
!!!!!Configuration
<<<
<<option chkLoadTiddlersShowReport>>after loading tiddlers, automatically display [[ImportedTiddlers]] (if created)
__password-protected server settings //(optional, if needed)//:__
>username: <<option txtRemoteUsername>> password: <<option txtRemotePassword>>
>{{{usage: <<option txtRemoteUsername>> <<option txtRemotePassword>>}}}
>''note: these settings are also used by [[ExternalTiddlersPlugin]] and [[ImportTiddlersPlugin]]''
<<<
!!!!!Revisions
<<<
2009.10.08 3.8.1 removed switchTheme() from doImport()... causes an INFINITE cycle of imports!
|please see [[LoadTiddlersPluginInfo]] for additional revision details|
2005.07.20 1.0.0 Initial Release
<<<
!!!!!Code
***/
//{{{
version.extensions.LoadTiddlersPlugin= {major: 3, minor: 8, revision: 1, date: new Date(2009,10,8)};

if (config.options.chkLoadTiddlersShowReport===undefined)
	config.options.chkLoadTiddlersShowReport=true;

config.macros.loadTiddlers = {
	label: '',
	tip: "add/update tiddlers from '%0'",
	lockedTag: 'noReload',	// if existing tiddler has this tag value, don't overwrite it, even if inbound tiddler is newer
	askMsg: 'Please enter a local path/filename or a remote URL',
	openMsg: 'Opening %0',
	openErrMsg: 'Could not open %0 - error=%1',
	readMsg: 'Read %0 bytes from %1',
	foundMsg: 'Found %0 tiddlers in %1',
	nochangeMsg: "'%0' is up-to-date... skipped.",
	lockedMsg: "'%0' is tagged '%1'... skipped.",
	skippedMsg: 'skipped (cancelled by user)',
	loadedMsg: 'Loaded %0 of %1 tiddlers from %2',
	reportTitle: 'ImportedTiddlers',
	warning: "Warning!!  Processing '%0' as a systemConfig (plugin) tiddler may produce unexpected results! Are you sure you want to proceed?",
	handler: function(place,macroName,params) {
		var label=(params[0] && params[0].substr(0,6)=='label:')?params.shift().substr(6):this.label;
		var tip=(params[0] && params[0].substr(0,7)=='prompt:')?params.shift().substr(7):this.tip;
		var filter='updates';
		if (params[0] && (params[0]=='all' || params[0]=='new' || params[0]=='changes' || params[0]=='updates'
			|| params[0].substr(0,8)=='tiddler:' || params[0].substr(0,4)=='tag:'))
			filter=params.shift();
		var src=params.shift(); if (!src || !src.length) return; // filename is required
		var quiet=(params[0]=='quiet'); if (quiet) params.shift();
		var ask=(params[0]=='confirm'); if (ask) params.shift();
		var force=(params[0]=='force'); if (force) params.shift();
		var init=(params[0]=='init'); if (init) params.shift();
		var nodirty=(params[0]=='nodirty'); if (nodirty) params.shift();
		var norefresh=(params[0]=='norefresh'); if (norefresh) params.shift();
		var noreport=(params[0]=='noreport'); if (noreport) params.shift();
		this.newTags=[]; if (params[0]) this.newTags=params; // any remaining params are used as 'autotags'
		if (label.trim().length) {
			// link triggers load tiddlers from another file/URL and then applies filtering rules to add/replace tiddlers in the store
			createTiddlyButton(place,label.format([src.replace(/%20/g,' ')]),tip.format([src.replace(/%20/g,' ')]), function() {
				if (src=='ask') src=prompt(this.askMsg);
				config.macros.loadTiddlers.loadFile(src,config.macros.loadTiddlers.doImport,{quiet:quiet,ask:ask,filter:filter,force:force,init:init,noreport:noreport});
				return false;
			})
		}
		else {
			// load tiddlers from another file/URL and then apply filtering rules to add/replace tiddlers in the store
			if (src=='ask') src=prompt(this.askMsg);
			config.macros.loadTiddlers.loadFile(src,config.macros.loadTiddlers.doImport,{quiet:quiet,ask:ask,filter:filter,force:force,init:init,nodirty:nodirty,norefresh:norefresh,noreport:noreport});
		}
	},
	loadFile: function(src,callback,params) {
		var quiet=params.quiet;
		if (src==undefined || !src.length) return null; // filename is required
		if (!quiet) clearMessage();
		if (!quiet) displayMessage(this.openMsg.format([src.replace(/%20/g,' ')]));
		// if working locally and src is not a URL, read from local filesystem
		if (document.location.protocol=='file:' && src.substr(0,5)!='http:' && src.substr(0,5)!='file:') {
			var txt=loadFile(src);
			if (!txt) { // file didn't load, might be relative path.. try fixup
				var pathPrefix=document.location.href;  // get current document path and trim off filename
				var slashpos=pathPrefix.lastIndexOf('/'); if (slashpos==-1) slashpos=pathPrefix.lastIndexOf(''); 
				if (slashpos!=-1 && slashpos!=pathPrefix.length-1) pathPrefix=pathPrefix.substr(0,slashpos+1);
				src=pathPrefix+src;
				if (pathPrefix.substr(0,5)!='http:') src=getLocalPath(src);
				var txt=loadFile(src);
			}
			if (!txt) { // file still didn't load, report error
				if (!quiet) displayMessage(this.openErrMsg.format([src.replace(/%20/g,' '),'(unknown)']));
			} else {
				if (!quiet) displayMessage(this.readMsg.format([txt.length,src.replace(/%20/g,' ')]));
				if (version.major+version.minor*.1+version.revision*.01!=2.52)
					txt=convertUTF8ToUnicode(txt);
				if (callback) callback(true,params,txt,src,null);
			}
		} else { // use XMLHttpRequest
			doHttp('GET',src,null,null,config.options.txtRemoteUsername,config.options.txtRemotePassword,callback,params,null);
		}
	},
	readTiddlersFromHTML: function(html) {
		// for TW2.2+
		if (TiddlyWiki.prototype.importTiddlyWiki!=undefined) {
			var remoteStore=new TiddlyWiki();
			remoteStore.importTiddlyWiki(html);
			return remoteStore.getTiddlers('title');	
		}
	},
	readTiddlersFromCSV: function(CSV) {
		var remoteStore=new TiddlyWiki();
		// GET NAMES
		var lines=CSV.replace(/r/g,'').split('n');
		var names=lines.shift().replace(/"/g,'').split(',');
		CSV=lines.join('n');
		// ENCODE commas and newlines within quoted values
		var comma='!~comma~!'; var commaRE=new RegExp(comma,'g');
		var newline='!~newline~!'; var newlineRE=new RegExp(newline,'g');
		CSV=CSV.replace(/"([^"]*?)"/g,
			function(x){ return x.replace(/,/g,comma).replace(/n/g,newline); });
		// PARSE lines
		var lines=CSV.split('n');
		for (var i=0; i<lines.length; i++) { if (!lines[i].length) continue;
			var values=lines[i].split(',');
			// DECODE commas, newlines, and doubled-quotes, and remove enclosing quotes (if any)
			for (var v=0; v<values.length; v++)
				values[v]=values[v].replace(commaRE,',').replace(newlineRE,'n')
					.replace(/^"|"$/g,'').replace(/""/g,'"');
			// EXTRACT tiddler values
			var title=''; var text=''; var tags=[]; var fields={};
			var created=null; var when=new Date(); var who=config.options.txtUserName;
			for (var v=0; v<values.length; v++) { var val=values[v];
				if (names[v]) switch(names[v].toLowerCase()) {
					case 'title':	title=val.replace(/[]|/g,'_'); break;
					case 'created': created=new Date(val); break;
					case 'modified':when=new Date(val); break;
					case 'modifier':who=val; break;
					case 'text':	text=val; break;
					case 'tags':	tags=val.readBracketedList(); break;
					default:	fields[names[v].toLowerCase()]=val; break;
				}
			}
			// CREATE tiddler in temporary store
			if (title.length)
				remoteStore.saveTiddler(title,title,text,who,when,tags,fields,true,created||when);
		}
		return remoteStore.getTiddlers('title');	
	},
	createTiddlerFromFile: function(src,txt) {
		var t=new Tiddler();
		var pos=src.lastIndexOf("/"); if (pos==-1) pos=src.lastIndexOf("");
		t.title=pos==-1?src:src.substr(pos+1);
		t.text=txt; 
		t.created=t.modified=new Date();
		t.modifier=config.options.txtUserName;
		if (src.substr(src.length-3,3)=='.js') t.tags=['systemConfig'];
		return [t];
	},
	doImport: function(status,params,html,src,xhr) {
		var cml=config.macros.loadTiddlers; // abbrev
		src=src.split('?')[0]; // strip off "?nocache=..."
		if (!status) {
			displayMessage(cml.openErrMsg.format([src.replace(/%20/g,' '),xhr.status]));
			return false;
		}
		var quiet=params.quiet;
		var ask=params.ask;
		var filter=params.filter;
		var force=params.force;
		var init=params.init;
		var nodirty=params.nodirty;
		var norefresh=params.norefresh;
		var noreport=params.noreport;
		var tiddlers = cml.readTiddlersFromHTML(html);
		if (!tiddlers||!tiddlers.length) tiddlers=cml.readTiddlersFromCSV(html);
		if (!tiddlers||!tiddlers.length) tiddlers=cml.createTiddlerFromFile(src,html);
		var count=tiddlers?tiddlers.length:0;
		if (!quiet) displayMessage(cml.foundMsg.format([count,src.replace(/%20/g,' ')]));
		var wasDirty=store.isDirty();
		store.suspendNotifications();
		var count=0;
		if (tiddlers) for (var t=0;t<tiddlers.length;t++) {
			var inbound = tiddlers[t];
			var theExisting = store.getTiddler(inbound.title);
			if (inbound.title==cml.reportTitle)
				continue; // skip 'ImportedTiddlers' history from the other document...
			if (theExisting && theExisting.tags.contains(cml.lockedTag)) {
				if (!quiet) displayMessage(cml.lockedMsg.format([theExisting.title,cml.lockedTag]));
				continue; // skip existing tiddler if tagged with 'noReload'
			}
			// apply the all/new/changes/updates filter (if any)
			if (filter && filter!='all') {
				if ((filter=='new') && theExisting) // skip existing tiddlers
					continue;
				if ((filter=='changes') && !theExisting) // skip new tiddlers
					continue;
				if ((filter.substr(0,4)=='tag:') && inbound.tags.indexOf(filter.substr(4))==-1) // must match specific tag value
					continue;
				if ((filter.substr(0,8)=='tiddler:') && inbound.title!=filter.substr(8)) // must match specific tiddler name
					continue;
				if (!force && store.tiddlerExists(inbound.title) && ((theExisting.modified.getTime()-inbound.modified.getTime())>=0)) {
					var msg=cml.nochangeMsg;
					if (!quiet&&msg.length) displayMessage(msg.format([inbound.title]));
					continue;
				}
			}
			// get confirmation if required
			var msg=(theExisting?'Update':'Add')+" tiddler '"+inbound.title+"'n"
				+'from '+src.replace(/%20/g,' ')+'nnOK to proceed?';
			if (ask && !confirm(msg))
				{ tiddlers[t].status=cml.skippedMsg; continue; }
			// DO IT!
			var tags=new Array().concat(inbound.tags,cml.newTags);
	                store.saveTiddler(inbound.title, inbound.title, inbound.text, inbound.modifier,
				inbound.modified, tags, inbound.fields, true, inbound.created);
			// force creation date to imported value - needed for TW2.1.3 or earlier
	                store.fetchTiddler(inbound.title).created = inbound.created;
			tiddlers[t].status=theExisting?'updated':'added'
			if (init && tags.contains('systemConfig') && !tags.contains('systemConfigDisable')) {
				var ok=true;
				if (ask||!quiet) ok=confirm(cml.warning.format([inbound.title]))
				if (ok) { // run the plugin
					try { window.eval(inbound.text); tiddlers[t].status+=' (plugin initialized)'; }
					catch(ex) { displayMessage(config.messages.pluginError.format([exceptionText(ex)])); }
				}
			}
			count++;
		}
		store.resumeNotifications();
		if (count) {
			// set/clear 'unsaved changes' flag, refresh page display, and generate a report
			store.setDirty(wasDirty||!nodirty);
			if (!norefresh) {
				story.forEachTiddler(function(t,e){
					if(!story.isDirty(t))story.refreshTiddler(t,null,true)
				});
				store.notifyAll();
			}
			if (!noreport) cml.report(src,tiddlers,count,quiet);
		}
		// show message whenver tiddlers are actually loaded
		if (!quiet||count)
			displayMessage(cml.loadedMsg.format([count,tiddlers.length,src.replace(/%20/g,' ')]));
	},
	showReport: true,
	report: function(src,tiddlers,count,quiet) {
		var cml=config.macros.loadTiddlers; // abbrev
		// format the new report content
		var newText = 'On '+(new Date()).toLocaleString()+', ';
		newText += config.options.txtUserName+' loaded '+count+' tiddlers ';
		newText += 'fromn[['+src+'|'+src+']]:n';
		newText += '<<<n';
		for (var t=0; t<tiddlers.length; t++)
			if (tiddlers[t].status)
				newText += '#[['+tiddlers[t].title+']] - '+tiddlers[t].status+'n';
		newText += '<<<n';
		var title=cml.reportTitle;
		var currText='';
		var t=store.getTiddler(title);
		if (t) currText=(t.text.length?'n----n':'')+t.text;
		store.saveTiddler(title, title, newText+currText,
			config.options.txtUserName, new Date(),	t?t.tags:null, t?t.fields:null);
		if (!quiet) {
			if (config.options.chkLoadTiddlersShowReport)
				story.displayTiddler(null,title);
			story.refreshTiddler(title,null,true);
		}
	}
}
//}}}

{{floatleft{<<showPopup tiddler:MainHead##admin label:Admin popupClass:sticky width:400px>> <<showPopup tiddler:MainHead##ListaSlides label:Slides width:300px popupClass:sticky>> <<showPopup tiddler:MainHead##Notas label:Notas width:500px popupClass:sticky>>}}}{{floatright{{{big{<<wikify {{localStorage.apresentaName}}>>}}} }}}
/%
!!foto
{{threecolumns{
<script>
 var thisTema=prompt("Tema do foto");
var output="";
    var xmlHttp = null;
    xmlHttp = new XMLHttpRequest();
    var discFile="../PDC/FotoAlbum/lista.txt";
//return discFile;
    xmlHttp.open( "GET",discFile, false);
    xmlHttp.send( null );
var FotoLista=xmlHttp.responseText;
//return FotoLista;
var fotos=FotoLista.split("#");
for(i=0;i<fotos.length-1;i++){
var fotoDet=fotos[i].split("|");

if(fotoDet[6].indexOf(thisTema)!=-1){output+='[img(200px,auto)['+fotoDet[10]+']]<br>';}

}
return output;
</script>}}}
!!admin
{{small{<<tiddler SideBarOptions>>
{{threecolumns{<<tiddler SideBarTabs>>}}}}}}
!!Reorder
<<tiddler Re-Order>>
!!Seleciona
{{floatright{<<showPopup tiddler:MainHead##newApresenta label:new popupClass:sticky width:300px>>}}}
{{twocolumns{<script>
var lista="";
var listings=store.getTaggedTiddlers("apresenta");
//return "length="+listings.length;

for(i=0;i<listings.length;i++){
lista+='<script label="'+listings[i].title+'">config.options.txtApresenta="'+listings[i].title+'";config.refreshers.content(document.getElementById("mainHead"));config.refreshers.content(document.getElementById("leftMenu"));return "<<tiddler ApresentaIndex>"+">";</scr'+'ipt><br>';
}
return lista;
</script>}}}
!!newApresenta
{{fine{
<<option txtNewApresenta>><script label="gerar">
var titulo=config.options.txtNewApresenta;
store.saveTiddler (titulo, titulo, "","Skye", new Date(),"apresenta","");
return '<script src="newApresenta.php?apresenta='+titulo+'"></scr'+'ipt>';
</script>
!!newSlide
{{fine{
<<option txtNewSlide>>
<br><script label="gerar">
sessionStorage.slideName=config.options.txtNewSlide;
sessionStorage.slideNo="new";
//alert("name="+sessionStorage.slideName+" e no="+sessionStorage.slideNo);
story.refreshTiddler("OpenNote",null,true);
sessionStorage.slideLista=sessionStorage.slideLista+sessionStorage.slideName+"|";
config.refreshers.content(document.getElementById("leftMenu"));
</script>
!!end
%/
<<wikify {{'<<tiddler MiniMenu##'+sessionStorage.miniMenu+'>'+'>'}}>>
/%
!!open_old
{{icon{<script label="mini">sessionStorage.miniMenu="startMini";config.refreshers.content(document.getElementById("miniMenu"));</script><<setIcon ../Logos/presentation_small.png "" notext>>}}}
!!startMini
<script>
var output="";
    var xmlHttp = null;
    xmlHttp = new XMLHttpRequest();
    var discFile="ApresentaLista/"+sessionStorage.miniApresenta+".txt";
//return discFile;
    xmlHttp.open( "GET",discFile, false);
    xmlHttp.send( null );
//return "for "+discFile+"<br>found="+xmlHttp.responseText;
var MiniSlideLista=xmlHttp.responseText;
sessionStorage.miniSlideList=MiniSlideLista;
sessionStorage.miniSlideNo=1;
return "<<tiddler MiniMenu##MiniSlide>"+">";
</script>}}}
!!MiniSlide
{{miniApresenta{{{floatleft{<<tiddler MiniMenu##closeIcon>>}}}<<tiddler Mini_SlideButtons>>
<script>
var miniSlideList=sessionStorage.miniSlideList;
miniSlideList=miniSlideList.split("|");
sessionStorage.miniSlideName=miniSlideList[sessionStorage.miniSlideNo];
var output="";
    var xmlHttp = null;
    xmlHttp = new XMLHttpRequest();
    var discFile="Textos/"+sessionStorage.miniSlideName+".txt";
//return "looking for ="+discFile;
    xmlHttp.open( "GET",discFile, false);
    xmlHttp.send( null );
var textoSlide=xmlHttp.responseText;
textoSlide=textoSlide.replace(/n/g,"");
return textoSlide;
</script>
!!closeIcon
<script label="fecha">sessionStorage.miniMenu="fecha";config.refreshers.content(document.getElementById("miniMenu"));</script><<setIcon ../Logos/no.png "" notext>>
!!fecha

















!!end
%/
{{center{<<tiddler Mini_SlideButtons##Previa>><<setIcon Logos/icons8-back-24.png "" notext>>.....<<tiddler Mini_SlideButtons##Proxima>><<setIcon Logos/icons8-forward-24.png "" notext>>}}}/%
!!Proxima
<script label="Proxima">
var slideNo=parseInt(sessionStorage.miniSlideNo)+1;
var slideList=sessionStorage.miniSlideList;
slideList=slideList.split("|");
if(slideNo>slideList.length-1){slideNo=slideList.length-1;}
sessionStorage.miniSlideNo=slideNo;
sessionStorage.miniMenu="MiniSlide";
config.refreshers.content(document.getElementById("miniMenu"));
</script>
!!Previa
<script label="Previa">
var slideNo=parseInt(sessionStorage.miniSlideNo)-1;
if(slideNo<1){slideNo=1;}
sessionStorage.miniSlideNo=slideNo;
sessionStorage.miniMenu="MiniSlide";
config.refreshers.content(document.getElementById("miniMenu"));
</script>
!!end
%/




<script>return sessionStorage.notes;</script>


<script>
var output="";
sessionStorage.chatTema="$1";
sessionStorage.Nota="$1";
sessionStorage.TemaTags=tiddler.title;
    var xmlHttp = null;
    xmlHttp = new XMLHttpRequest();
    var discFile="Textos/$1.txt";
//return discFile;
    xmlHttp.open( "GET",discFile, false);
    xmlHttp.send( null );
config.refreshers.content(document.getElementById("mainHead"));
//return "found="+xmlHttp.responseText;
var textoSlide=xmlHttp.responseText;
textoSlide=textoSlide.replace(/n/g,"");
///// re-chk slide no.
var slides=sessionStorage.slideList;
var slidesArray=slides.split("|");
//return "1="+slidesArray[1];
for(i=1;i<slidesArray.length;i++){
if(slidesArray[i]==sessionStorage.Nota){sessionStorage.slideNo=i;return textoSlide;}
}
return "OOOOPS";
</script>

<script>
var lista="";
var tagsList=sessionStorage.TemaTags;
if(tagsList.indexOf("tema")!=-1)
{
var tids=store.getTaggedTiddlers("$1");
for(i=0;i<tids.length;i++){
lista+="{{materia{[["+tids[i].title+"]]}}}<br>";
sessionStorage.continuando="{{medium{[[$1]]}}}<br>"+lista;

}
sessionStorage.tag=sessionStorage.tema;
return lista;
}
</script>















{{openWindow{<script label="$1">window.open("$2","Skye","width=1000,height=700",true);return '<script src="AtividadeAcontecendo.php?Username='+localStorage.username+'&Tema=WWW_EssenciaPermacultura&Atividade=Abrindo&Curso='+localStorage.curso+'"></scr'+'ipt>';</script>}}}
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]]





Type the text for 'New Tiddler'
<script>return sessionStorage.pdf;</script>
<<wikify {{'<html><iframe src="'+sessionStorage.pdf+'" width=600px height=600px></ifra'+'me></h'+'tml>'}}>>>
<!--{{{-->
<div id='mainHead' refresh='content' tiddler='MainHead'></div>
<div id='leftMenu' refresh='content' tiddler='LeftMenu'></div>
<div id='slideMenu' refresh='content' tiddler='SlideButtons'></div>
<div id='notesMenu' refresh='content' tiddler='NotesMenu'></div>
<div id='displayArea'><div id='messageArea'></div>
<div id='tiddlerDisplay'></div></div><!--;}}}-->
/***
|''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"
	});
*/
//}}}




/%
!!Espaco
Sombreado (em plena sol, o compostagem vem secar bem rapido)
Evitar Excesso das Chuvas (para não encharcar o compostagem)
Evitar entrado de ratas, porcos, cachorros...criancas....
Não tão longe a porta da cozinha (e não tão perto tampouco)
!!end
%/




<html><nowiki><form action="Reorder.php" method="POST"  target="responseFrame">
<input type=text name=title value="">
<textarea name="comment" rows="20 cols="50" style="width:500px;" value=" " ></textarea><br>
<input type=submit value='Correja' onclick=""'>

</form><iframe src="" name="responseFrame" id="responseFrame" width=400px height=50px style="border:0;"></iframe>
</html><script>var form=place.lastChild.getElementsByTagName('form')[0];
var lista="";
    var xmlHttp = null;
    xmlHttp = new XMLHttpRequest();
    var discFile="ApresentaLista/"+sessionStorage.apresenta+".txt";
//return discFile;
    xmlHttp.open( "GET",discFile, false);
    xmlHttp.send( null );
form.comment.value=xmlHttp.responseText;
form.title.value=sessionStorage.apresenta;
</script>







<script>return sessionStorage.referencias;</script>








<script>config.options.txtCitado="";config.options.txtDominio="";</script>
/***
|Name|SetIconPlugin|
|Source|http://www.TiddlyTools.com/#SetIconPlugin|
|Documentation|http://www.TiddlyTools.com/#SetIconPluginInfo|
|Version|1.9.1|
|Author|Eric Shulman|
|License|http://www.TiddlyTools.com/#LegalStatements|
|~CoreVersion|2.3|
|Type|plugin|
|Description|add an image to a toolbar, macro, or slider link|
!!!!!Documentation
>see [[SetIconPluginInfo]]
!!!!!Configuration
<<<
<<option chkIconsShowImage>> show images on links
<<option chkIconsShowText>> include link text with images
default image style: {{stretch{<<option txtIconsCSS>>}}}
<<<
!!!!!Revisions
<<<
2011.10.02 1.9.1 use plain text instead of innerHTML for link tooltips
2011.10.02 1.9.0 added 'find:...' macro param (for use with tabsets)
| see [[SetIconPluginInfo]] for additional revision details |
2008.05.09 1.0.0 initial release (as inline script)
<<<
!!!!!Code
***/
//{{{
version.extensions.SetIconPlugin= {major: 1, minor: 9, revision: 1, date: new Date(2011,10,2)};

if (config.options.chkIconsShowImage===undefined)
	config.options.chkIconsShowImage=true;
if (config.options.chkIconsShowText===undefined)
	config.options.chkIconsShowText=true;
if (config.options.txtIconsCSS===undefined)
	config.options.txtIconsCSS="vertical-align:middle;width:auto;height:auto";

config.macros.setIcon = {
	handler: function(place,macroName,params,wikifier,paramString,tiddler) {
		if (!config.options.chkIconsShowImage) return; // text-only - do nothing
		var src=params[0]; if (!src) return;  // no image src specified - do nothing
		var p=paramString.parseParams('name',null,true,false,true);
		var label=getParam(p,'find'); if (label) params.shift(); // optional find:"..."
		var css=params[1]; if (!css||!css.length) css=config.options.txtIconsCSS;
		var after=params[2]&&params[2].toUpperCase()=="RIGHT";
		var notext=params[2]&&params[2].toUpperCase()=="NOTEXT";

		// find nearest link element
		var btn=place.lastChild; // look for sibling link
		while (btn && (btn.nodeName!="A" || label&&!btn.innerHTML.startsWith(label)))
			btn=btn.previousSibling;
		if (!btn) { // look for child link
			var links=place.getElementsByTagName("A");
			for (var i=links.length-1; i>=0; i--)
				if (!label || links[i].innerHTML.startsWith(label)) { btn=links[i]; break; }
		}
		if (!btn) { // look for parent link
			var btn=place.parentNode.lastChild;
			while (btn && (btn.nodeName!="A" || label&&!btn.innerHTML.startsWith(label)))
				btn=btn.previousSibling;
		}
		if (!btn) { // look for cousin link (e.g. TABS in TABSETS)
			var links=place.parentNode.getElementsByTagName("A");
			for (var i=links.length-1; i>=0; i--)
				if (!label || links[i].innerHTML.startsWith(label)) { btn=links[i]; alert('found'); break; }
		}
		if (!btn) return; // can't find a link - do nothing

		// set icon and command text/tip
		var txt=btn.innerHTML; var tip=getPlainText(btn);
		if (config.macros.attach && config.macros.attach.isAttachment(src))
			src=config.macros.attach.getAttachment(src); // retrieve attachment (if any)
		btn.innerHTML="<img src='"+src+"' style='"+css+"'>";
		if (config.options.chkIconsShowText && !notext)
			btn.innerHTML=after?txt+btn.innerHTML:btn.innerHTML+txt;
		else
			btn.title=tip+" - "+btn.title; // add text to tooltip

		// adjust nested slider button text/tip
		if (btn.getAttribute("closedtext")!=null) {
			btn.setAttribute("closedtext",btn.innerHTML);
			btn.setAttribute("openedtext",btn.innerHTML);
			if (!config.options.chkIconsShowText || notext) {
				btn.setAttribute("closedtip",txt.toUpperCase()+": "+btn.getAttribute("closedtip"));
				btn.setAttribute("openedtip",txt.toUpperCase()+": "+btn.getAttribute("openedtip"));
			}
		}
	}
};
//}}}
/***
|Name|[[ShowPopupPlugin]]|
|Source|http://www.TiddlyTools.com/#ShowPopupPlugin|
|Version|2.1.1|
|Author|Eric Shulman|
|License|http://www.TiddlyTools.com/#LegalStatements|
|~CoreVersion|2.1|
|Type|plugin|
|Description|display tiddler content in a TiddlyWiki popup panel|
!!!!!Documenatation
>see [[ShowPopupPluginInfo]]
!!!!!Revisions
<<<
2011.03.13 2.1.1 in click(), removed check for popup already shown (prevents nested popups!)
| Please see [[ShowPopupPluginInfo]] for previous revision details |
2006.09.09 1.0.0 initial release (transclusion)
<<<
!!!!!Code
***/
//{{{
version.extensions.ShowPopupPlugin=
	{ major:2, minor:1, revision:1, date:new Date(2011,3,13) };
config.macros.showPopup = {
	tip: 'display "%0" in a popup',
	init: function() {
		config.shadowTiddlers.ShowPopup =
			'<<showPopup tiddler:[[$1]] label:"$2" tip:"$3" buttonClass:"button $4" width:"$5" popupClass:"$6" "$7">>';
		config.annotations.ShowPopup =
			'created by ShowPopupPlugin';
	},
	handler: function(place,macroName,params,wikifier,paramString,tiddler) {
		var p=paramString.parseParams('name',null,true,false,true);
		var tid=getParam(p,'tiddler','TiddlerName');
		var label=getParam(p,'label',tid);
		var tip=getParam(p,'tip',this.tip.format([tid]));
		var buttonClass=getParam(p,'buttonClass','');
		var width=getParam(p,'width','auto');
		var popupClass=getParam(p,'popupClass','');
		var above=params.contains('above');
		var mouseover=params.contains('mouseover');
		var b=createTiddlyButton(place, label, tip, this.click, buttonClass, null, null,
			{ tid:tid, popupClass:popupClass, width:width, above:above });
		b.innerHTML=label; // render HTML for entities, images, etc
		if (mouseover) b.onmouseover=b.onclick;  // option: mouseover triggers click
	},
	click: function(ev) { var ev=ev||window.event;
		// DISABLED if (Popup.find(this)!=-1)return false; // popup already shown!
		var p=Popup.create(this); if(!p)return false; // popup not created!
		addClass(p,this.getAttribute('popupClass'));
		var d=createTiddlyElement(p,'div');
		var s=d.style; s.whiteSpace='normal'; s.width=this.getAttribute('width'); s.padding='2px';
		wikify(store.getTiddlerText(this.getAttribute('tid'),''),d);
		if (this.getAttribute('above')!='true') Popup.show();
		else Popup.show('top','left',{x:0,y:-jQuery(d).outerHeight()});
		ev.cancelBubble=true; if(ev.stopPropagation)ev.stopPropagation(); return false;
	}
}
//}}}
<<search>><<closeAll>><<permaview>><<newTiddler>><<newJournal "DD MMM YYYY" "journal">><<saveChanges>><<slider chkSliderOptionsPanel OptionsPanel "options »" "Change TiddlyWiki advanced options">>
<<tiddler SideBarTabs>>
<<tabs txtMainTab "Timeline" "Timeline" TabTimeline "All" "All tiddlers" TabAll "Tags" "All tags" TabTags "More" "More lists" TabMore>>
/***
|Name|SimpleMessagePlugin|
|Version|0.1|
|Author|Michael Mahemoff, Osmosoft|
|''License:''|[[BSD open source license]]|
|~CoreVersion|2.2|
***/

/*{{{*/
(function() {
if(!version.extensions.SimpleMessagePlugin) {

  version.extensions.SimpleMessagePlugin = {installed:true};
  version.extensions.SimpleMessagePlugin.delay = 2000;
  
  var timer;

  var _displayMessage = displayMessage;
  displayMessage = function() {
    if (timer) {
      timer=null;
      clearTimeout(timer);
    }
    timer = setTimeout(clearMessage, version.extensions.SimpleMessagePlugin.delay);
    _displayMessage.apply(this, arguments);
  }

  var _clearMessage = clearMessage;
  clearMessage = function() {
    clearTimeout(timer);
    return _clearMessage.apply(this, arguments);
  }

} // end of 'install only once'
})();
/*}}}*/
/***
|Name|SinglePageModePlugin|
|Source|http://www.TiddlyTools.com/#SinglePageModePlugin|
|Documentation|http://www.TiddlyTools.com/#SinglePageModePluginInfo|
|Version|2.9.6|
|Author|Eric Shulman|
|License|http://www.TiddlyTools.com/#LegalStatements|
|~CoreVersion|2.1|
|Type|plugin|
|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.nn";
				msg+="Press OK to save and close this tiddlernor 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;
}
//}}}
<script>var userAgent=navigator.userAgent.toLowerCase();
if(userAgent.indexOf("android") > -1){return '<<tiddler SlideButtons##Android>'+'>';}
</script>
/%!!Android
{{center{<<tiddler SlideButtons##Inicial>><<setIcon ../Logos/first_record.png "" notext>>.<<tiddler SlideButtons##Previa>><<setIcon ../Logos/go_back.png "" notext>>.....<<tiddler SlideButtons##Proxima>><<setIcon ../Logos/go_forward.png "" notext>>.<<tiddler SlideButtons##Final>><<setIcon ../Logos/last_recor.png "" notext>>}}}
!!Proxima
<script label="Proxima">
var slideNo=parseInt(sessionStorage.slideNo)+1;
sessionStorage.slideNo=slideNo;
story.refreshTiddler("OpenNote",null,true);
</script>
!!Previa
<script label="Previa">
var slideNo=parseInt(sessionStorage.slideNo)-1;
sessionStorage.slideNo=slideNo;
story.refreshTiddler("OpenNote",null,true);
</script>
!!Final
<script label="Fnal">
var slideLista=sessionStorage.slideList;
var slides=slideLista.split("|");
var slideNo=slides.length-2;
sessionStorage.slideNo=slideNo;
story.refreshTiddler("OpenNote",null,true);
</script>
!!Inicial
<script label="Inicial">
var slideNo=1;
sessionStorage.slideNo=slideNo;
story.refreshTiddler("OpenNote",null,true);
</script>
!!end

%/
<<tiddler TopLeft>>
<<showPopup tiddler:NotesMenu##SlideShow label:lista width:300px popupClass:sticky>><<setIcon ../Logos/presentation_small.png "" notext>>
 <script> 

              sessionStorage.apresentaNotes="";
              sessionStorage.apresentaSom=" ";

var xmlHttp = null;
xmlHttp = new XMLHttpRequest();
var discFile="ApresentaLista/"+localStorage.apresentaName+".txt";
//return "looking for"+ discFile;
xmlHttp.open( "GET",discFile, false);
xmlHttp.send( null );
//             if(xmlHttp.status==200)
var slides=xmlHttp.responseText 
slideArray=slides.split("|");
sessionStorage.apresentaName=slideArray[0]; 
sessionStorage.slideDir="../Apresentas/Textos/";

//return "will search for  "+sessionStorage.slideDir+slideArray[0];
     
//if(slideArray[0]){sessionStorage.slideDir=sessionStorage.slideDir+slideArray[0]+"/";}


window.addEventListener("keydown", function(e) {
    if(["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"].indexOf(e.code) > -1) {
        e.preventDefault();
    }
}, false);   

var notas="";      
//alert("looking for apresentacao :"+sessionStorage.notesContent);

sessionStorage.apresentaLength=slideArray.length-2;
             var xmlHttp = null;
              xmlHttp = new XMLHttpRequest();
             
              var discFile=sessionStorage.slideDir+slideArray[sessionStorage.slideNo]+".txt";
sessionStorage.slideName=slideArray[sessionStorage.slideNo];
return "looking for text file="+discFile;
              xmlHttp.open( "GET",discFile, false);
              xmlHttp.send( null );
var image=xmlHttp.responseText;

return image;

if(xmlHttp.status!=200){alert("não ache imagem"+discFile);}
//return "found image "+image;
image=image.replace(/@/g,"<br>");
var hereNota=image.indexOf("NOTAS:");
if(hereNota==-1){notas="";}
if(hereNota!=-1){notas=image.substring(hereNota+6);
image=image.substring(0,hereNota);
}


//return "{{medium{"+slideArray[sessionStorage.slideNo]+"}}}<br>"+image;

// check for audio file if required

              if(sessionStorage.audio=="yes"){
                   var xmlHttp = null;
                   xmlHttp = new XMLHttpRequest();
                   var discFile=sessionStorage.slideDir+slideArray[sessionStorage.slideNo]+".mp3";
//alert ("looking for "+ discFile);
                   xmlHttp.open( "GET",discFile, false);
                   xmlHttp.send( null );
//alert ("found "+xmlHttp.status);
                   if(xmlHttp.status==200)
                   {var som='<html><audio controls autostart><source src="../Apresentas/Som/'+sessionStorage.apresentaName+"/"+slideArray[sessionStorage.slideNo]+'.mp3"></au'+'dio></ht'+'ml>';}
//alert ("{{{"+som+"}}}");
                 if(xmlHttp.status!=200){var som="";}
                    }
               if(sessionStorage.audio=="no"){var som="";}

document.onkeyup = checkKey;

return "{{floatleft{{{blockNotas{{{medium{"+notas+"}}}}}}}}}{{center{"+image+"<br>"+som+"}}}";

function checkKey(e) {

 switch (e.keyCode) {

    case 38: sessionStorage.slideNo=parseInt(1);config.refreshers.content(document.getElementById("notesMenu"));break;
    case 40: sessionStorage.slideNo=sessionStorage.apresentaLength;config.refreshers.content(document.getElementById("notesMenu"));break;
    case 37: sessionStorage.slideNo=parseInt(sessionStorage.slideNo)-parseInt(1);config.refreshers.content(document.getElementById("notesMenu"));break;
    case 39: sessionStorage.slideNo=parseInt(sessionStorage.slideNo)+parseInt(1); config.refreshers.content(document.getElementById("notesMenu"));break;
}
};
</script>
/***
|Name|StickyPopupPlugin|
|Source|http://www.TiddlyTools.com/#StickyPopupPlugin|
|Version|1.0.1|
|Author|Eric Shulman|
|License|http://www.TiddlyTools.com/#LegalStatements|
|~CoreVersion|2.1|
|Type|plugin|
|Description|allow mouse interactions inside popups without automatically closing them|
Usually, when a TW popup is displayed, it is automatically closed whenever a click occurs //anywhere// in the document, either //inside// or //outside// the popup itself.  This plugin makes popups persistent (a.k.a, "sticky"), allowing you to perform multiple mouse interactions on content //inside// the popup (e.g., entering form fields, opening links, selecting text, etc.), remaining visible until you click //outside// the popup or perform an action that opens another popup (only one popup can be displayed at any given time).
!!!!!Configuration
<<<
You can cause popups to behave in a persistent ("sticky") manner simply by selecting the option checkbox below.  The selected popup display behavior will be applied to ALL popups in the document automatically.
><<option chkStickyPopups>> make all popups "sticky"
>{{{usage: <<option chkStickyPopups>>}}}
<<<
!!!!!Usage
<<<
If you are developing your own plugins or inline scripts that create popups programmatically using the core function:
{{{
Popup.create(this)
}}}
you can provide additional parameters that specify the desired CSS classname(s) to assign to the popup DOM element.  The default class when none is specified is simply "popup".  To create a //sticky// popup, simply enter a custom class combination like this:
{{{
Popup.create(this,null,"sticky popup")
}}}
<<<
!!!!!Revisions
<<<
2008.05.16 [1.0.1] added try..catch around addEvent/removeEvent calls to avoid error in Opera
2007.11.25 [1.0.0] initial release - moved from [[CoreTweaks]]
<<<
!!!!!Code
***/
//{{{
version.extensions.StickyPopupPlugin= {major: 1, minor: 0, revision: 1, date: new Date(2008,5,16)};

if (config.options.chkStickyPopups==undefined) config.options.chkStickyPopups=false;

Popup.stickyPopup_onDocumentClick = function(ev)
{
	// if click is in a sticky popup, ignore it so popup will remain visible
	var e = ev ? ev : window.event; var target = resolveTarget(e);
	var p=target; while (p) {
		if (hasClass(p,"popup") && (hasClass(p,"sticky")||config.options.chkStickyPopups)) break;
		else p=p.parentNode;
	}
	if (!p) // not in sticky popup (or sticky popups disabled)... use normal click handling
		Popup.onDocumentClick(ev);
	return true;
};
try{removeEvent(document,"click",Popup.onDocumentClick);}catch(e){};
try{addEvent(document,"click",Popup.stickyPopup_onDocumentClick);}catch(e){};
//}}}
[[StyleSheetShortcuts]]
body {font-family: "Comic Sans MS",Helvetica;color:yellow;background-color:darkslategrey;}

#contentWrapper a:link, a:visited, a:active {text-decoration: bold; color:beige; background-color: transparent; }
#contentWrapper a:hover {text-decoration: none; color:brown; background-color: [[ColorB1]]; }9ol,
#contentWrapper .button:hover { border-width: 0px;width:1000px;height:800px;}
#contentWrapper{background-color: darkgrey; width:1000px;height:800px;}

#mainHead {position:absolute;height:26px;left:1px;top:1px;width:800px; background-color:transparent;}
#leftMenu {display:none;position:relative; top:50px; left:1px;width:50px;background-color:darkgrey;height:550px;padding-left:5px;}
#notesMenu{display:none;position:relative;top:-560px;left:840px;width:260px;height:600px;background-color:transparent;opacity:0.9;}
#displayArea {position:relative; top:60px; left:-110px;width:800px;height:600px;color:yellow;background-color:red;}
.txtOptionInput{background-color:darkgrey;color:yellow;}

.header { background-color: yellow;  height: 50px;left:150px; top:-50px;}
.tiddlyLinkExisting .tiddlyLink {color:teal;}
.externalLink {color:red;} 
.title{position:relative;left:260px;font-size:1.2em;color:yellow;}

.sticky{background-color:lightgrey;font-weight:bold;opacity:0.9;color:ligtgrey;}
.popup{background-color:lightgrey;font-weight:bold;opacity:0.9;color:ligtgrey;}
#backstageButton a{background:none;color:transparent;}
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;}#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:.6;filter:'alpha(opacity=60)';}
/***
|Name|StyleSheetShortcuts|
|Source|http://www.TiddlyTools.com/#StyleSheetShortcuts|
|Version||
|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|CSS|
|Requires||
|Overrides||
|Description|'convenience' classes for common formatting, alignment, boxes, tables, etc.|

These 'style tweaks' can be easily included in other stylesheet tiddler so they can share a baseline look-and-feel that can then be customized to create a wide variety of 'flavors'.
***/
/*{{{*/

/* text alignments */
.left
	{ display:block;text-align:left; }
.center
	{ display:block;text-align:center; }
.right	
	{ display:block;text-align:right; }
.justify
	{ display:block;text-align:justify; }
.indent
	{ display:block;margin:0;padding:0;border:0;margin-left:2em; }
.floatleft
	{ float:left; }
.floatright
	{ float:right; }
.valignTop, .valignTop table, .valignTop tbody, .valignTop th, .valignTop tr, .valignTop td
	{ vertical-align:top; }
.valignBottom, .valignBottom table, .valignBottom tbody, .valignBottom th, .valignBottom tr, .valignBottom td
	{ vertical-align:bottom; }
.clear
	{ clear:both; }
.wrap
	{ white-space:normal; }
.nowrap
	{ white-space:nowrap; }
.hidden
	{ display:none; }
.show
	{ display:inline !important; }
.span
	{ display:span; }
.block
	{ display:block; }
.relative
	{ position:relative; }
.absolute
	{ position:absolute; }
.vertical {-webkit-transform:rotate(270deg);-moz-transform:rotate(270deg);	-o-transform: rotate(270deg);}

/* font sizes */
.big
	{ font-size:16pt;line-height:120%;font-wieght:bold;}
.medium
	{ font-size:12pt;line-height:120% }
.normal
	{ font-size:9pt;line-height:120% }
.small
	{ font-size:8pt;line-height:120% }
.fine
	{ font-size:7pt;line-height:120% }
.tiny
	{ font-size:6pt;line-height:120% }
.larger
	{ font-size:120%; }
.smaller
	{ font-size:80%; }
.superscript {font-size:70%; vertical-align:super;}

/* font styles */
.bold
	{ font-weight:bold; }
.italic
	{ font-style:italic; }
.underline
	{ text-decoration:underline; }

/* plain list items (no bullets or indent) */
.nobullets li { list-style-type: none; margin-left:-2em; }

/* multi-column tiddler content (not supported in Internet Explorer) */
.twocolumns { display:block;
	-moz-column-count:2; -moz-column-gap:1em; -moz-column-width:50%; /* FireFox */
	-webkit-column-count:2; -webkit-column-gap:1em; -webkit-column-width:50%; /* Safari */
	column-count:2; column-gap:1em; column-width:50%; /* Opera */
}
.threecolumns { display:block;
	-moz-column-count:3; -moz-column-gap:1em; -moz-column-width:33%; /* FireFox */
	-webkit-column-count:3; -webkit-column-gap:1em; -webkit-column-width:33%; /* Safari */
	column-count:3; column-gap:1em; column-width:33%; /* Opera */
}
.fourcolumns { display:block;
	-moz-column-count:4; -moz-column-gap:1em; -moz-column-width:25%; /* FireFox */
	-webkit-column-count:4; -webkit-column-gap:1em; -webkit-column-width:25%; /* Safari */
	column-count:4; column-gap:1em; column-width:25%; /* Opera */
}

/* show/hide browser-specific content for InternetExplorer vs. non-IE ("moz") browsers */
*[class="ieOnly"]
	{ display:none; } /* hide in moz (uses CSS selector) */
* html .mozOnly, *:first-child+html .mozOnly
	{ display: none; } /* hide in IE (uses IE6/IE7 CSS hacks) */

/* borderless tables */
.borderless, .borderless table, .borderless td, .borderless tr, .borderless th, .borderless tbody
	{ border:0 !important; margin:0 !important; padding:0 !important; }
.widetable, .widetable table
	{ width:100%; }

/* thumbnail images (fixed-sized scaled images) */
.thumbnail img { height:5em !important; }

/* stretchable images (auto-size to fit tiddler) */
.stretch img { width:95%; }

/* grouped content */
.outline
	{ display:block; padding:5px; border:1px solid; background-color:beige; }
.outlineDiscuss
	{ display:block; padding:5px; border:1px solid; background-color:darkslategrey;width:290px;height:200px; }
.menubox
	{ display:block; padding:1em; -moz-border-radius:1em;-webkit-border-radius:1em; border:1px solid; background:#fff; color:#000; }
.miniApresenta
	{ display:block; padding:1em; -moz-border-radius:1em;-webkit-border-radius:1em; border:1px solid; background:#fff; color:#000; background-color:beige;width:580px;height:500px;}
.menubox .button, .menubox .tiddlyLinkExisting, .menubox .tiddlyLinkNonExisting
	{ color:#009 !important; }
.groupbox
	{ display:block; padding:2px; border-style:solid;border-color:#996633;border-width:1px 3px 1px 3px;border-radius: 1em; background: -webkit-gradient(linear, left top, left bottom, from([[DashBoard::top]]), to([[DashBoard::button]])); background: -moz-linear-gradient(top,  [[DashBoard::top]],  [[DashBoard::button]]);color:#000; }
.notes{display:none;background-color:green;}
.referencias{display:none;}

.groupbox a, .groupbox .button, .groupbox .tiddlyLinkExisting, .groupbox .tiddlyLinkNonExisting
	{ color:#009 !important; }
.groupbox code
	{ color:#333 !important; }
.borderleft
	{ margin:0;padding:0;border:0;margin-left:1em; border-left:1px dotted; padding-left:.5em; }
.borderright
	{ margin:0;padding:0;border:0;margin-right:1em; border-right:1px dotted; padding-right:.5em; }
.borderbottom
	{ margin:0;padding:1px 0;border:0;border-bottom:1px dotted; margin-bottom:1px; padding-bottom:1px; }
.bordertop
	{ margin:0;padding:0;border:0;border-top:1px dotted; margin-top:1px; padding-top:1px; }



/* compact form */
.smallform
	{ white-space:nowrap; }
.smallform input, .smallform textarea, .smallform button, .smallform checkbox, .smallform radio, .smallform select
	{ font-size:8pt; }

/* stretchable edit fields and textareas (auto-size to fit tiddler) */
.stretch input { width:99%; }
.stretch textarea { width:99%; }

/* compact input fields (limited to a few characters for entering percentages and other small values) */
.onechar input { width:1em; }
.twochar input { width:2em; }
.threechar input { width:3em; }
.fourchar input { width:4em; }
.fivechar input { width:5em; }

/* text colors */
.green { color:#0c0 !important }
.red { color:#f66 !important }
.blue { color:yellow !important }
.gray { color:#999 !important }

/* rollover highlighting */
.mouseover 
	{color:[[ColorPalette::TertiaryLight]] !important;}
.mouseover a
	{color:yellow !important;}
.selected .mouseover
	{color:[[ColorPalette::Foreground]] !important;}
.selected .mouseover .button, .selected .mouseover a
	{color:[[ColorPalette::PrimaryDark]] !important;}

/* rollover zoom text */
.zoomover
	{ font-size:80% !important; }
.selected .zoomover
	{ font-size:100% !important; }

/*}}}*/




/***
|Name|TemporaryTiddlersPlugin|
|Source|http://www.TiddlyTools.com/#TemporaryTiddlersPlugin|
|Version|1.1.2|
|Author|Eric Shulman|
|License|http://www.TiddlyTools.com/#LegalStatements|
|~CoreVersion|2.1|
|Type|plugin|
|Description|blocks tiddlers tagged with "temporary" from being saved into the TW file|
!!!!!Usage
<<<
When the TW document is saved (either to local disk or remote URL), any tiddlers tagged with "temporary" will be skipped over, so that they are not written to the file.  To keep a temporary tiddler, simply edit it and remove the tag before saving the file.  This feature can be combined with various plugins that can automatically create new tiddlers, such as [[SearchOptionsPlugin]] ([[SearchResults]]) and [[ImportTiddlersPlugin]] ([[ImportedTiddlers]]) so that these transient results are not retained when you save you document.

You can also use this tag with the {{{<<loadTiddlers>>}}} macro and the //auto-tagging// features provided by [[ImportTiddlersPlugin]], so that each time you open your document, you can automatically retrieve an up-to-date set of common tiddlers that are stored in another document (either local or via remote URL), without those tiddlers being retained when you save your document.
<<<
!!!!!Configuration
<<<
When saving the document:
<<option chkTemporaryQuiet>> Suppress reporting of individual temporary tiddlers that have not been saved
<<option chkTemporaryKeep>> Keep temporary tiddlers (i.e., ignore the 'temporary' tag)
Enter a tag value to use when marking tiddlers as temporary: <<option txtTemporaryTag>>
<<<
!!!!!Revisions
<<<
2008.11.14 [1.1.2] added "nnn temporary tiddlers not saved" summary message
2008.04.08 [1.1.1] don't automatically add configuration options to AdvancedOptions tiddler
2008.03.01 [1.1.0] added support for recognizing 'temporary' flag stored as a tiddler *field* (as an optional alternative to using a tag)
2007.02.08 [1.0.0] initial release
<<<
!!!!!Code
***/
//{{{
version.extensions.TemporaryTiddlersPlugin= {major: 1, minor: 1, revision: 2, date: new Date(2008,11,14)};

// configuration defaults
if (config.options.chkTemporaryKeep ==undefined) config.options.chkTemporaryKeep =false;
if (config.options.chkTemporaryQuiet==undefined) config.options.chkTemporaryQuiet=true;
if (config.options.txtTemporaryTag==undefined) config.options.txtTemporaryTag="temporary";
// lingo
config.messages.TemporaryWarning = "'%0' ...temporary tiddler";
config.messages.TemporarySummary = "%0 temporary tiddlers will not be saved";
// core override
SaverBase.prototype.externalize = function(store) 
{
	var results=[]; var totaltemps=0;
	var tiddlers=store.getTiddlers("title");
	for (var t=0; t<tiddlers.length; t++) {
		if (config.options.chkTemporaryKeep||!(tiddlers[t].fields['temporary']||tiddlers[t].isTagged(config.options.txtTemporaryTag)))
			results.push(this.externalizeTiddler(store, tiddlers[t]));
		else {
			if (!config.options.chkTemporaryQuiet) // notify user that tiddler won't be saved
				displayMessage(config.messages.TemporaryWarning.format([tiddlers[t].title]));
			totaltemps++;
		}
	}
	if (totaltemps) displayMessage(config.messages.TemporarySummary.format([totaltemps]));
	return results.join("\n");
}
//}}}
/***
|Name|TiddlerTweakerPlugin|
|Source|http://www.TiddlyTools.com/#TiddlerTweakerPlugin|
|Version|2.4.5|
|Author|Eric Shulman|
|License|http://www.TiddlyTools.com/#LegalStatements|
|~CoreVersion|2.1|
|Type|plugin|
|Description|select multiple tiddlers and modify author, created, modified and/or tag values|
~TiddlerTweaker is a 'power tool' for TiddlyWiki authors.  Select multiple tiddlers from a listbox and 'bulk modify' the creator, author, created, modified and/or tag values of those tiddlers using a compact set of form fields.  The values you enter into the fields simultaneously overwrite the existing values in all tiddlers you have selected.
!!!!!Usage
<<<
{{{<<tiddlerTweaker>>}}}
{{smallform{<<tiddlerTweaker>>}}}
By default, any tags you enter into the TiddlerTweaker will //replace// the existing tags in all the tiddlers you have selected.  However, you can also use TiddlerTweaker to quickly filter specified tags from the selected tiddlers, while leaving any other tags assigned to those tiddlers unchanged:
>Any tag preceded by a '+' (plus) or '-' (minus), will be added or removed from the existing tags //instead of replacing the entire tag definition// of each tiddler (e.g., enter '-excludeLists' to remove that tag from all selected tiddlers.  When using this syntax, care should be taken to ensure that //every// tag is preceded by '+' or '-', to avoid inadvertently overwriting any other existing tags on the selected tiddlers.  (note: the '+' or '-' prefix on each tag value is NOT part of the tag value, and is only used by TiddlerTweaker to control how that tag value is processed)
Important Notes:
* TiddlerTweaker is a 'power user' tool that can make changes to many tiddlers at once.  ''You should always have a recent backup of your document (or 'save changes' just *before* tweaking the tiddlers), just in case you accidentally 'shoot yourself in the foot'.''
* The date and author information on any tiddlers you tweak will ONLY be updated if the corresponding checkboxes have been selected.  As a general rule, after using TiddlerTweaker, always ''//remember to save your document//'' when you are done, even though the tiddler timeline tab may not show any recently modified tiddlers.
* Selecting and updating all tiddlers in a document can take a while.  Your browser may warn about an 'unresponsive script'.  Usually, if you allow it to continue, it should complete the processing... eventually.  Nonetheless, be sure to save your work before you begin tweaking lots of tiddlers, just in case something does get stuck.
<<<
!!!!!Revisions
<<<
2011.01.21 2.4.5 auto-selection: use "-" for untagged tiddlers.  Also, added 'opened', 'invert'
2009.09.15 2.4.4 added 'edit' button. moved html definition to separate section
2009.09.13 2.4.3 in settiddlers(), convert backslashed chars (\n\b\s\t) in replacement text
2009.06.26 2.4.2 only add brackets around tags containing spaces
2009.06.22 2.4.1 in setFields(), add brackets around all tags shown tweaker edit field
2009.03.30 2.4.0 added 'sort by modifier'
2009.01.22 2.3.0 added support for text pattern find/replace
2008.10.27 2.2.3 in setTiddlers(), fixed Safari bug by replacing static Array.concat(...) with new Array().concat(...)
2008.09.07 2.2.2 added removeCookie() function for compatibility with [[CookieManagerPlugin]]
2008.05.12 2.2.1 replace built-in backstage tweak task with tiddler tweaker control panel (moved from BackstageTweaks)
2008.01.13 2.2.0 added 'auto-selection' links: all, changed, tags, title, text
2007.12.26 2.1.0 added support for managing 'creator' custom field (see [[CoreTweaks]])
2007.11.01 2.0.3 added config.options.txtTweakerSortBy for cookie-based persistence of list display order preference setting.
2007.09.28 2.0.2 in settiddlers() and deltiddlers(), added suspend/resume notification handling (improves performance when operating on multiple tiddlers)
2007.08.03 2.0.1 added shadow definition for [[TiddlerTweaker]] tiddler for use as parameter references with {{{<<tiddler>>, <<slider>> or <<tabs>>}}} macros.
2007.08.03 2.0.0 converted from inline script
2006.01.01 1.0.0 initial release
<<<
!!!!!Code
***/
//{{{
version.extensions.TiddlerTweakerPlugin= {major: 2, minor: 4, revision: 5, date: new Date(2011,1,21)};

// shadow tiddler
config.shadowTiddlers.TiddlerTweaker='<<tiddlerTweaker>>';

// defaults
if (config.options.txtTweakerSortBy==undefined) config.options.txtTweakerSortBy='modified';

// backstage task
if (config.tasks) { // for TW2.2b3 or above
	config.tasks.tweak.tooltip='review/modify tiddler internals: dates, authors, tags, etc.';
	config.tasks.tweak.content='{{smallform small groupbox{<<tiddlerTweaker>>}}}';
}

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

config.macros.tiddlerTweaker = {
	handler: function(place,macroName,params,wikifier,paramString,tiddler) {
		var span=createTiddlyElement(place,'span');
		span.innerHTML=store.getTiddlerText('TiddlerTweakerPlugin##html');
		this.init(span.getElementsByTagName('form')[0],config.options.txtTweakerSortBy);
	},
	init: function(f,sortby) { // set form controls
		if (!f) return; // form might not be rendered yet...
		while (f.list.options[0]) f.list.options[0]=null; // empty the list
		var tids=store.getTiddlers(sortby);
		if (sortby=='size') // descending order
			tids.sort(function(a,b) {return a.text.length > b.text.length ? -1 : (a.text.length == b.text.length ? 0 : +1);});
		var who='';
		for (i=0; i<tids.length; i++) { var t=tids[i];
			var label=t.title; var value=t.title;
			switch (sortby) {
				case 'modified':
				case 'created':
					var t=tids[tids.length-i-1]; // reverse order
					var when=t[sortby].formatString('YY.0MM.0DD 0hh:0mm ');
					label=when+t.title;
					value=t.title;
					break;
				case 'size':
					label='['+t.text.length+'] '+label;
					break;
				case 'modifier':
				case 'creator':
					if (who!=t[sortby]) {
						who=t[sortby];
						f.list.options[f.list.length]=new Option('by '+who+':','',false,false);
					}
					label='\xa0\xa0\xa0'+label; // indent
					break;
			}
			f.list.options[f.list.length]=new Option(label,value,false,false);
		}
		f.title.value=f.who.value=f.creator.value=f.tags.value='';
		f.cm.value=f.cd.value=f.cy.value=f.ch.value=f.cn.value='';
		f.mm.value=f.md.value=f.my.value=f.mh.value=f.mn.value='';
		f.stats.disabled=f.set.disabled=f.del.disabled=f.edit.disabled=f.display.disabled=true;
		f.settitle.disabled=false;
		config.options.txtTweakerSortBy=sortby;
		f.sortby.value=sortby; // sync droplist
		if (sortby!='modified') saveOptionCookie('txtTweakerSortBy');
		else removeCookie('txtTweakerSortBy');
	},
	enablefields: function(here) { // enables/disables inputs based on #items selected
		var f=here.form; var list=f.list;
		var c=0; for (i=0;i<list.length;i++) if (list.options[i].selected) c++;
		if (c>1) f.title.disabled=true;
		if (c>1) f.settitle.checked=false;
		f.set.disabled=(c==0);
		f.del.disabled=(c==0);
		f.edit.disabled=(c==0);
		f.display.disabled=(c==0);
		f.settitle.disabled=(c>1);
		f.stats.disabled=(c==0);
		var msg=(c==0)?'select tiddlers':(c+' tiddler'+(c!=1?'s':'')+' selected');
		here.previousSibling.firstChild.firstChild.nextSibling.innerHTML=msg;
		if (c) clearMessage(); else displayMessage('no tiddlers selected');
	},
	setfields: function(here) { // set fields from first selected tiddler
		var f=here.form;
		if (!here.value.length) {
			f.title.value=f.who.value=f.creator.value=f.tags.value='';
			f.cm.value=f.cd.value=f.cy.value=f.ch.value=f.cn.value='';
			f.mm.value=f.md.value=f.my.value=f.mh.value=f.mn.value='';
			return;
		}
		var tid=store.getTiddler(here.value); if (!tid) return;
		f.title.value=tid.title;
		f.who.value=tid.modifier;
		f.creator.value=tid.fields['creator']||''; // custom field - might not exist
		f.tags.value=tid.tags.map(function(t){return String.encodeTiddlyLink(t)}).join(' ');
		var c=tid.created; var m=tid.modified;
		f.cm.value=c.getMonth()+1;
		f.cd.value=c.getDate();
		f.cy.value=c.getFullYear();
		f.ch.value=c.getHours();
		f.cn.value=c.getMinutes();
		f.mm.value=m.getMonth()+1;
		f.md.value=m.getDate();
		f.my.value=m.getFullYear();
		f.mh.value=m.getHours();
		f.mn.value=m.getMinutes();
	},
	selecttiddlers: function(here,callback) {
		var f=here; while (f&&f.nodeName.toLowerCase()!='form')f=f.parentNode;
		for (var t=f.list.options.length-1; t>=0; t--)
			f.list.options[t].selected=callback(f.list.options[t]);
		config.macros.tiddlerTweaker.enablefields(f.list);
		return false;
	},
	settiddlers: function(here) {
		var f=here.form; var list=f.list;
		var tids=[];
		for (i=0;i<list.length;i++) if (list.options[i].selected) tids.push(list.options[i].value);
		if (!tids.length) { alert('please select at least one tiddler'); return; }
		var cdate=new Date(f.cy.value,f.cm.value-1,f.cd.value,f.ch.value,f.cn.value);
		var mdate=new Date(f.my.value,f.mm.value-1,f.md.value,f.mh.value,f.mn.value);
		if (tids.length>1 && !confirm('Are you sure you want to update 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 title=!f.settitle.checked?tid.title:f.title.value;
			var who=!f.setwho.checked?tid.modifier:f.who.value;
			var text=tid.text;
			if (f.replacetext.checked) {
				var r=f.replacement.value.replace(/\\t/mg,'\t').unescapeLineBreaks();
				text=text.replace(new RegExp(f.pattern.value,'mg'),r);
			}				
			var tags=tid.tags;
			if (f.settags.checked) { 
				var intags=f.tags.value.readBracketedList();
				var addtags=[]; var deltags=[]; var reptags=[];
				for (i=0;i<intags.length;i++) {
					if (intags[i].substr(0,1)=='+')
						addtags.push(intags[i].substr(1));
					else if (intags[i].substr(0,1)=='-')
						deltags.push(intags[i].substr(1));
					else
						reptags.push(intags[i]);
				}
				if (reptags.length)
					tags=reptags;
				if (addtags.length)
					tags=new Array().concat(tags,addtags);
				if (deltags.length)
					for (i=0;i<deltags.length;i++)
						{ var pos=tags.indexOf(deltags[i]); if (pos!=-1) tags.splice(pos,1); }
			}
			if (!f.setcdate.checked) cdate=tid.created;
			if (!f.setmdate.checked) mdate=tid.modified;
			store.saveTiddler(tid.title,title,text,who,mdate,tags,tid.fields);
			if (f.setcreator.checked) store.setValue(tid.title,'creator',f.creator.value); // set creator
			if (f.setcdate.checked) tid.assign(null,null,null,null,null,cdate); // set create date
		}
		store.resumeNotifications();
		this.init(f,f.sortby.value);
	},
	displaytiddlers: function(here,edit) {
		var f=here.form; var list=f.list;
		var tids=[];
		for (i=0; i<list.length;i++) if (list.options[i].selected) tids.push(list.options[i].value);
		if (!tids.length) { alert('please select at least one tiddler'); return; }
		story.displayTiddlers(story.findContainingTiddler(f),tids,edit?DEFAULT_EDIT_TEMPLATE:null);
	},
	deltiddlers: function(here) {
		var f=here.form; var list=f.list;
		var tids=[];
		for (i=0;i<list.length;i++) if (list.options[i].selected) tids.push(list.options[i].value);
		if (!tids.length) { alert('please select at least one tiddler'); return; }
		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;
			if (tid.tags.contains('systemConfig')) {
				var msg=tid.title+' is tagged with systemConfig.'
					+'\n\nRemoving this tiddler may cause unexpected results.  Are you sure?';
				if (!confirm(msg)) continue;
			}
			store.removeTiddler(tid.title);
			story.closeTiddler(tid.title);
		}
		store.resumeNotifications();
		this.init(f,f.sortby.value);
	},
	stats: function(here) {
		var f=here.form; var list=f.list; var tids=[]; var out=''; var tot=0;
		var target=f.nextSibling;
		for (i=0;i<list.length;i++) if (list.options[i].selected) tids.push(list.options[i].value);
		if (!tids.length) { alert('please select at least one tiddler'); return; }
		for (t=0;t<tids.length;t++) {
			var tid=store.getTiddler(tids[t]); if (!tid) continue;
			out+='[['+tid.title+']] '+tid.text.length+'\n'; tot+=tid.text.length;
		}
		var avg=tot/tids.length;
		out=tot+' bytes in '+tids.length+' selected tiddlers ('+avg+' bytes/tiddler)\n<<<\n'+out+'<<<\n';
		removeChildren(target);
		target.innerHTML="<hr><font size=-2><a href='javascript:;' style='float:right' "
			+"onclick='this.parentNode.parentNode.style.display=\"none\"'>close</a></font>";
		wikify(out,target);
		target.style.display='block';
	}
};
//}}}
/***
//{{{
!html
<style>
.tiddlerTweaker table,
.tiddlerTweaker table tr,
.tiddlerTweaker table td
	{ padding:0;margin:0;border:0;white-space:nowrap; }
</style><form class='tiddlerTweaker'><!--
--><table style="width:100%"><tr valign="top"><!--
--><td style="text-align:center;width:99%;"><!--
	--><font size=-2><div style="text-align:left;"><span style="float:right"><!--
	-->&nbsp; <a href="javascript:;" 
		title="select all tiddlers"
		onclick="return config.macros.tiddlerTweaker.selecttiddlers(this,function(opt){
			return opt.value.length;
		});">all</a><!--
	-->&nbsp; <a href="javascript:;" 
		title="select tiddlers currently displayed in the story column"
		onclick="return config.macros.tiddlerTweaker.selecttiddlers(this,function(opt){
			return story.getTiddler(opt.value);
		});">opened</a><!--
	-->&nbsp; <a href="javascript:;" 
		title="select tiddlers that are new/changed since the last file save"
		onclick="var lastmod=new Date(document.lastModified);
			return config.macros.tiddlerTweaker.selecttiddlers(this,function(opt){
				var tid=store.getTiddler(opt.value);
				return tid&&tid.modified>lastmod;
			});
		">changed</a><!--
	-->&nbsp; <a href="javascript:;" 
		title="select tiddlers with at least one matching tag"
		onclick="var t=prompt('Enter space-separated tags (match one or more).  Use \x22-\x22 to match untagged tiddlers');
			if (!t||!t.length) return false;
			var tags=t.readBracketedList();
			return config.macros.tiddlerTweaker.selecttiddlers(this,function(opt){
				var tid=store.getTiddler(opt.value);
				return tid&&tags[0]=='-'?!tid.tags.length:tid.tags.containsAny(tags);
			});
		">tags</a><!--
	-->&nbsp; <a href="javascript:;" 
		title="select tiddlers whose titles include matching text"
		onclick="var t=prompt('Enter a title (or portion of a title) to match');
			if (!t||!t.length) return false;
			return config.macros.tiddlerTweaker.selecttiddlers(this,function(opt){
				return opt.value.indexOf(t)!=-1;
			});
		">titles</a><!--
	-->&nbsp; <a href="javascript:;" 
		title="select tiddlers containing matching text"
		onclick="var t=prompt('Enter tiddler text (content) to match');
			if (!t||!t.length) return false;
			return config.macros.tiddlerTweaker.selecttiddlers(this,function(opt){
				var tt=store.getTiddlerText(opt.value,'');
				return tt.indexOf(t)!=-1;
			});
		">text</a><!--
	-->&nbsp; <a href="javascript:;" 
		title="reverse selection of all list items"
		onclick="return config.macros.tiddlerTweaker.selecttiddlers(this,function(opt){
			return !opt.selected;
		});">invert</a><!--
	--></span><span>select tiddlers</span><!--
	--></div><!--
	--></font><select multiple name=list size="11" style="width:99.99%" 
		title="use click, shift-click and/or ctrl-click to select multiple tiddler titles" 
		onclick="config.macros.tiddlerTweaker.enablefields(this)" 
		onchange="config.macros.tiddlerTweaker.setfields(this)"><!--
	--></select><br><!--
	-->show<input type=text size=1 value="11" 
		onchange="this.form.list.size=this.value; this.form.list.multiple=(this.value>1);"><!--
	-->by<!--
	--><select name=sortby size=1 
		onchange="config.macros.tiddlerTweaker.init(this.form,this.value)"><!--
	--><option value="title">title</option><!--
	--><option value="size">size</option><!--
	--><option value="modified">modified</option><!--
	--><option value="created">created</option><!--
	--><option value="modifier">modifier</option><!--
	--></select><!--
	--><input type="button" value="refresh" 
		onclick="config.macros.tiddlerTweaker.init(this.form,this.form.sortby.value)"<!--
	--> <input type="button" name="stats" disabled value="totals..." 
		onclick="config.macros.tiddlerTweaker.stats(this)"><!--
--></td><td style="width:1%"><!--
	--><div style="text-align:left"><font size=-2>&nbsp;modify values</font></div><!--
	--><table style="width:100%;"><tr><!--
	--><td style="padding:1px"><!--
		--><input type=checkbox name=settitle unchecked 
			title="allow changes to tiddler title (rename tiddler)" 
			onclick="this.form.title.disabled=!this.checked">title<!--
	--></td><td style="padding:1px"><!--
		--><input type=text name=title size=35 style="width:98%" disabled><!--
	--></td></tr><tr><td style="padding:1px"><!--
		--><input type=checkbox name=setcreator unchecked 
			title="allow changes to tiddler creator" 
			onclick="this.form.creator.disabled=!this.checked">created by<!--
	--></td><td style="padding:1px;"><!--
		--><input type=text name=creator size=35 style="width:98%" disabled><!--
	--></td></tr><tr><td style="padding:1px"><!--
		--><input type=checkbox name=setwho unchecked 
			title="allow changes to tiddler author" 
			onclick="this.form.who.disabled=!this.checked">modified by<!--
	--></td><td style="padding:1px"><!--
		--><input type=text name=who size=35 style="width:98%" disabled><!--
	--></td></tr><tr><td style="padding:1px"><!--
		--><input type=checkbox name=setcdate unchecked 
			title="allow changes to created date" 
			onclick="var f=this.form;
				f.cm.disabled=f.cd.disabled=f.cy.disabled=f.ch.disabled=f.cn.disabled=!this.checked"><!--
		-->created on<!--
	--></td><td style="padding:1px"><!--
		--><input type=text name=cm size=2 style="width:2em;padding:0;text-align:center" disabled><!--
		--> / <input type=text name=cd size=2 style="width:2em;padding:0;text-align:center" disabled><!--
		--> / <input type=text name=cy size=4 style="width:3em;padding:0;text-align:center" disabled><!--
		--> at <input type=text name=ch size=2 style="width:2em;padding:0;text-align:center" disabled><!--
		--> : <input type=text name=cn size=2 style="width:2em;padding:0;text-align:center" disabled><!--
	--></td></tr><tr><td style="padding:1px"><!--
		--><input type=checkbox name=setmdate unchecked 
			title="allow changes to modified date" 
			onclick="var f=this.form;
				f.mm.disabled=f.md.disabled=f.my.disabled=f.mh.disabled=f.mn.disabled=!this.checked"><!--
		-->modified on<!--
	--></td><td style="padding:1px"><!--
		--><input type=text name=mm size=2 style="width:2em;padding:0;text-align:center" disabled><!--
		--> / <input type=text name=md size=2 style="width:2em;padding:0;text-align:center" disabled><!--
		--> / <input type=text name=my size=4 style="width:3em;padding:0;text-align:center" disabled><!--
		--> at <input type=text name=mh size=2 style="width:2em;padding:0;text-align:center" disabled><!--
		--> : <input type=text name=mn size=2 style="width:2em;padding:0;text-align:center" disabled><!--
	--></td></tr><tr><td style="padding:1px"><!--
		--><input type=checkbox name=replacetext unchecked
			title="find/replace matching text" 
			onclick="this.form.pattern.disabled=this.form.replacement.disabled=!this.checked">replace text<!--
	--></td><td style="padding:1px"><!--
		--><input type=text name=pattern size=15 value="" style="width:40%" disabled 
			title="enter TEXT PATTERN (regular expression)"> with<!--
		--><input type=text name=replacement size=15 value="" style="width:40%" disabled 
			title="enter REPLACEMENT TEXT"><!--
	--></td></tr><tr><td style="padding:1px"><!--
		--><input type=checkbox name=settags checked 
			title="allow changes to tiddler tags" 
			onclick="this.form.tags.disabled=!this.checked">tags<!--
	--></td><td style="padding:1px"><!--
		--><input type=text name=tags size=35 value="" style="width:98%" 
			title="enter new tags or use '+tag' and '-tag' to add/remove tags from existing tags"><!--
	--></td></tr></table><!--
	--><div style="text-align:center"><!--
	--><nobr><input type=button name=display disabled style="width:24%" value="display" 
		title="show selected tiddlers"
		onclick="config.macros.tiddlerTweaker.displaytiddlers(this,false)"><!--
	--> <input type=button name=edit disabled style="width:23%" value="edit" 
		title="edit selected tiddlers"
		onclick="config.macros.tiddlerTweaker.displaytiddlers(this,true)"><!--
	--> <input type=button name=del disabled style="width:24%" value="delete" 
		title="remove selected tiddlers"
		onclick="config.macros.tiddlerTweaker.deltiddlers(this)"><!--
	--> <input type=button name=set disabled style="width:24%" value="update" 
		title="update selected tiddlers"
		onclick="config.macros.tiddlerTweaker.settiddlers(this)"></nobr><!--
	--></div><!--
--></td></tr></table><!--
--></form><span style="display:none"><!--content replaced by tiddler "stats"--></span>
!end
//}}}
***/
 

| !date | !user | !location | !storeUrl | !uploadDir | !toFilename | !backupdir | !origin |
| 17/06/2020 22:03:18 | YourName | [[/|http://www.unigaia-brasil.org/Apresentas/]] | [[store.php|http://www.unigaia-brasil.org/Apresentas/store.php]] | . | [[index.html | http://www.unigaia-brasil.org/Apresentas/index.html]] |  |
| 23/06/2020 13:40:49 | YourName | [[/|http://www.unigaia-brasil.org/Apresentas/]] | [[store.php|http://www.unigaia-brasil.org/Apresentas/store.php]] | . | [[index.html | http://www.unigaia-brasil.org/Apresentas/index.html]] |  |
| 03/03/2021 13:04:11 | YourName | [[/|http://www.unigaia-brasil.org/Apresentas/]] | [[store.php|http://www.unigaia-brasil.org/Apresentas/store.php]] | . | [[index.html | http://www.unigaia-brasil.org/Apresentas/index.html]] |  | failed |
| 03/03/2021 13:04:33 | YourName | [[/|http://www.unigaia-brasil.org/Apresentas/]] | [[store.php|http://www.unigaia-brasil.org/Apresentas/store.php]] | . | [[index.html | http://www.unigaia-brasil.org/Apresentas/index.html]] |  |
/***
|''Name:''|UploadPlugin|
|''Description:''|Save to web a TiddlyWiki|
|''Version:''|4.1.4|
|''Date:''|2008-08-11|
|''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: 4,
	date: new Date("2008-08-11"),
	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");


//}}}


/***
|''Name:''|UploadTiddlerMacro|
|''Description:''|Define a macro to upload a tiddler using UploadTiddlerPlugin (see UploadTiddlerPlugin for details).|
|''Version:''|1.0.0|
|''Date:''|2008-09-30|
|''Source:''|http://tiddlywiki.bidix.info/#UploadTiddlerMacro|
|''Usage:''|{{{<<uploadTiddler [tiddlerTitle]>>}}}<br>{{{tiddlerTitle: if omitted the title of the current tiddler}}}|
|''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:''|UploadTiddlerPlugin|
***/
//{{{
version.extensions.UploadTiddlerMacro = {
	major: 1, minor: 0, revision: 0, 
	date: new Date("2008-09-30"),
	source: 'http://tiddlywiki.bidix.info/#UploadTiddlerMacro',
	author: 'BidiX (BidiX (at) bidix (dot) info',
	coreVersion: '2.2.0'
};

config.macros.uploadTiddler = {
	label: "uploadTiddler",
	prompt: "upload tiddler '%0' using UploadTiddlerOptions ",
	warning: "Are you sure you want to upload '%0'?",
	messages: {
		fileUploaded: "tiddler '%0' uploaded to file '%1'",
		fileNotUploaded: "tiddler '%0' NOT uploaded"
	},

	handler: function(place, macroName, params, wikifier,paramString, tiddler) {
		var tiddlerTitle = params[0];
		if (!tiddlerTitle) { 
			tiddlerTitle = tiddler.title;
		} else {
			tiddler = store.getTiddler(tiddlerTitle);
		}
		createTiddlyButton(place, this.label, this.prompt.format([tiddlerTitle]), 
			function () {
				config.macros.uploadTiddler.upload(tiddlerTitle, tiddler); 
				return false;}, 
			null, null, null);
	},

	upload:  function(tiddlerTitle, tiddler) {
		var saved_chkUploadTiddler = config.options.chkUploadTiddler;
		config.options.chkUploadTiddler = true; 
		bidix.uploadTiddler.upload(tiddlerTitle, tiddler,tiddlerTitle);
		config.options.chkUploadTiddler = saved_chkUploadTiddler;
	}
};

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

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

//
// Initializations
//

// require UploadTiddlerPlugin 1.2.2 or better
bidix.checkPlugin("UploadTiddlerPlugin", 1, 2, 2);


//}}}
/***
|''Name:''|UploadTiddlerPlugin|
|''Description:''|Upload a tiddler and Update a remote TiddlyWiki |
|''Version:''|1.2.2|
|''Date:''|2008-09-13|
|''Source:''|http://tiddlywiki.bidix.info/#UploadTiddlerPlugin|
|''Usage:''|Uses {{{<<uploadOptions>>}}}<br>with those UploadTiddler Options : <br>chkUploadTiddler: <<option chkUploadTiddler>><br>txtUploadTiddlerStoreUrl: <<option txtUploadTiddlerStoreUrl>><br>chkUploadTiddlerFromFile: <<option chkUploadTiddlerFromFile>>|
|''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.3.0|
***/
//{{{
version.extensions.UploadTiddlerPlugin = {
	major: 1, minor: 2, revision: 2, 
	date: new Date("2008-09-13"),
	source: 'http://tiddlywiki.bidix.info/#UploadTiddlerPlugin',
	author: 'BidiX (BidiX (at) bidix (dot) info',
	coreVersion: '2.3.0'
};

if (!window.bidix) window.bidix = {}; // bidix namespace
bidix.debugMode = false;
bidix.uploadTiddler = {
	messages: {
		aboutToSaveTiddler: "About to update tiddler '%0'...",
		aboutToRemotelySaveTiddler: "About to REMOTELY update tiddler '%0'...",
		storeTiddlerNotFound: "Script store tiddler '%0' not found",
		tiddlerSaved: "Tiddler '%0' updated in '%1' using '%2' "
	},
	upload: function(title,tiddler,oldTitle) {
		var callback = function(status,params,responseText,url,xhr) {
			if (xhr.status == 404) {
				alert(bidix.uploadTiddler.messages.storeTiddlerNotFound.format([url]));
				return;
			}
			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);
			else 
				displayMessage(bidix.uploadTiddler.messages.tiddlerSaved.format([params[0], params[1], params[2]]));
				store.setDirty(false);
			}

		if ((config.options['chkUploadTiddler']) && 
				((document.location.toString().substr(0,4) == "http") || config.options['chkUploadTiddlerFromFile'])) {
			clearMessage();
			var ExtTiddler = null;
			var html = null;
			if (tiddler) {
				ExtTiddler = store.getSaver().externalizeTiddler(store,tiddler);
				html = wikifyStatic(tiddler.text,null,tiddler).htmlEncode();
			}
			var form = "title="+encodeURIComponent(title);
			form = form + "&tiddler="+(ExtTiddler?encodeURIComponent(ExtTiddler):'');
			form = form + "&html="+(html?encodeURIComponent(html):'');
			var filename = (config.options['txtUploadFilename']?config.options['txtUploadFilename']:'index.html');
			form = form +"&oldTitle="+encodeURIComponent(oldTitle);
			form = form +"&fileName="+encodeURIComponent(filename);
			form = form +"&backupDir="+encodeURIComponent(config.options['txtUploadBackupDir']);
			form = form +"&user="+encodeURIComponent(config.options['txtUploadUserName']);
			form = form +"&password="+encodeURIComponent(config.options['pasUploadPassword']);
			form = form +"&uploadir="+encodeURIComponent(config.options['txtUploadDir']);
			form = form +"&debug="+encodeURIComponent(0);
			var storeScript = (config.options.txtUploadTiddlerStoreUrl 
								? config.options.txtUploadTiddlerStoreUrl : 'storeTiddler.php');
			var r = doHttp("POST",storeScript,form+"\n",'application/x-www-form-urlencoded',
				config.options['txtUploadUserName'],config.options['pasUploadPassword'],callback,Array(title,filename, storeScript),null);
		}
	}
}
TiddlyWiki.prototype.saveTiddler_bidix = TiddlyWiki.prototype.saveTiddler;
TiddlyWiki.prototype.saveTiddler = function(oldTitle,newTitle,newBody,modifier,modified,tags,fields,clearChangeCount,created) {
	var tiddler = TiddlyWiki.prototype.saveTiddler_bidix.apply(this,arguments);
	var title = (newTitle?newTitle:oldTitle);
	if (oldTitle == title)
		oldTitle = '';
	bidix.uploadTiddler.upload(title, tiddler, oldTitle);
}
TiddlyWiki.prototype.removeTiddler_bidix =TiddlyWiki.prototype.removeTiddler;
TiddlyWiki.prototype.removeTiddler = function(title) {
	TiddlyWiki.prototype.removeTiddler_bidix.apply(this,arguments);
	bidix.uploadTiddler.upload(title, null);
}

//
// Initializations
//

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

// styleSheet
setStylesheet('.txtUploadTiddlerStoreUrl {width: 22em;}',"uploadTiddlerPluginStyles");

//optionsDesc
merge(config.optionsDesc,{
	txtUploadTiddlerStoreUrl: "Url of the UploadTiddlerService script (default: storeTiddler.php)",
	chkUploadTiddler: "Do per Tiddler upload using txtUploadTiddlerStoreUrl (default: false)",
	chkUploadTiddlerFromFile: "Upload tiddler even if TiddlyWiki is located on local file (default: false)"
});

// Options Initializations
bidix.initOption('txtUploadTiddlerStoreUrl','');
bidix.initOption('chkUploadTiddler','');
bidix.initOption('chkUploadTiddlerFromFile','');


// add options in backstage UploadOptions
if (config.macros.uploadOptions) {
	if (config.macros.uploadOptions.options) {
		config.macros.uploadOptions.options.push("txtUploadTiddlerStoreUrl","chkUploadTiddler", "chkUploadTiddlerFromFile");
	}
}

//}}}

<!--{{{-->
<div showWhen 'localStorage.username=="Skye" || localStorage.username=="Ivone"'><div class='toolbar' macro='toolbar [[ToolbarCommands::ViewToolbar]]'><span macro='tiddler Atualiza'><span macro='tiddler Corr_ViewTemplate'></div></span></span></div></div>
<div class='viewer' macro='view text wikified'></div><div class='tagClear'></div><!--;}}}-->


/***
|Name|WikifyPlugin|
|Source|http://www.TiddlyTools.com/#WikifyPlugin|
|Documentation|http://www.TiddlyTools.com/#WikifyPluginInfo|
|Version|1.2.0|
|Author|Eric Shulman|
|License|http://www.TiddlyTools.com/#LegalStatements|
|~CoreVersion|2.1|
|Type|plugin|
|Description|insert sections, slices, fields, literals, or computed values into a wiki-format output|
!!!!!Documentation
> see [[WikifyPluginInfo]]
!!!!!Revisions
<<<
2011.03.07 1.2.0 added handling in getFieldReference() for retrieving section values
|please see [[WikifyPluginInfo]] for additional revision details|
2007.06.22 1.0.0 initial release
<<<
!!!!!Code
***/
//{{{
version.extensions.WikifyPlugin= {major: 1, minor: 2, revision: 0, date: new Date(2011,3,7)};

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.unescapeLineBreaks(),place,null,tiddler);
	},
	getFieldReference: function(place,p) {
		if (typeof p != "string") return p; // literal non-string value... just return it...

		var val=undefined;
		var here=story.findContainingTiddler(place);
		var current=here?here.getAttribute('tiddler'):'';

		// SLICES: "::slicename" OR "here::slicename" OR "tiddlername::slicename"
		var parts=p.split(config.textPrimitives.sliceSeparator);
		var tid=parts[0]; var slice=parts[1];
		if (slice) { // slice reference
			if (!tid || !tid.length || tid=="here") tid=current;
			var val=store.getTiddlerSlice(tid,slice);
		}

		// SECTIONS: "##sectionname" OR "here##sectionname" OR "tiddlername##sectionname"
		if (!slice) {
			var parts=p.split(config.textPrimitives.sectionSeparator);
			var tid=parts[0]; var section=parts[1];
			if (section) {
				if (!tid || !tid.length || tid=="here") tid=current;
				var val=store.getTiddlerText(tid+config.textPrimitives.sectionSeparator+section);
			}
		}

		// FIELDS: "fieldname" OR "fieldname@tiddlername"
		if (!slice && !section) {
			var parts=p.split("@");
		 	var field=parts[0]; var tid=parts[1];
			if (!tid || !tid.length || tid=="here") tid=current;
			var val=store.getValue(tid,field);
		}

		// not a slice, section or field, or value not found... return value unchanged
		return val===undefined?p:val;
	}
}
//}}}
//{{{
// define alternative macroName for triggering pre-rendering call to eval()
config.macros.wikiCalc=config.macros.wikify;
//}}}
Apresentacao
<html><iframe src="https://www.youtube.com/embed/$1" width=700px height=480px></iframe></html>
<<wikify {{'<html><iframe src="https://www.youtube.com/embed/'+sessionStorage.youtube+'" width=600px height=390px></iframe></ht'+'ml>'}}>>

{{floatleft{...... <script>if(sessionStorage.notes.length>0)return'<<showPopup tiddler:Notes label:Note width:500px popupClass:sticky>'+'><<setIcon Logos/sm_notice.png "" notext>'+'>';</script><script>if(sessionStorage.youtube.length>0)return'<<showPopup tiddler:Ytube label:YTube width:500px popupClass:sticky>'+'><<setIcon Logos/youtube_small.png "" notext>'+'>';</script><script>if(sessionStorage.pdf.length>0)return'<<showPopup tiddler:PDF label:pdf width:620px popupClass:sticky>'+'><<setIcon Logos/smallPDF.png "" notext>'+'>';</script><script>if(sessionStorage.biblioteca.length>0)return'<<showPopup tiddler:Biblio label:Biblio width:500px popupClass:sticky>'+'><<setIcon Logos/smallBook.png "" notext>'+'>';</script>}}}<script>sessionStorage.slide="$1";config.refreshers.content(document.getElementById("mainHead"));</script>

{{floatleft{...... <script>if(sessionStorage.notes.length>0)return'<<showPopup tiddler:Notes label:Note width:500px popupClass:sticky>'+'><<setIcon Logos/sm_notice.png "" notext>'+'>';</script><script>if(sessionStorage.youtube.length>0)return'<<showPopup tiddler:Ytube label:YTube width:500px popupClass:sticky>'+'><<setIcon Logos/youtube_small.png "" notext>'+'>';</script><script>if(sessionStorage.pdf.length>0)return'<<showPopup tiddler:PDF label:pdf width:620px popupClass:sticky>'+'><<setIcon Logos/smallPDF.png "" notext>'+'>';</script><script>if(sessionStorage.biblio.length>0)return'<<showPopup tiddler:Biblio label:Biblio width:500px popupClass:sticky>'+'><<setIcon Logos/smallBook.png "" notext>'+'>';</script>}}}<script>sessionStorage.slide="$1";config.refreshers.content(document.getElementById("mainHead"));</script>


config.options.txtUploadUserName="Skye"
config.options.pasUploadPassword="6y7"
config.options.txtUploadStoreUrl="store.php"
config.options.txtUploadDir=""
config.options.txtUploadFilename="index.html"
config.options.txtUploadTiddlerStoreUrl="storeTiddler.php"
config.options.chkUploadTiddler=true
readOnly=false
config.options.chkHttpReadOnly=false
config.options.chkSinglePageMode=true
config.options.chkSinglePagePermalink=false
<<wikify {{sessionStorage.apresentaNotas}}>>