Bclear presentation is loading ...

Requires Javascript.
Bclear - One cleared service end to end
config.options.chkHttpReadOnly = false;\n
\n!Austrian Equities Fees\n<<include FeesHeader CommonFees>>
!Austrian Minimum Volume Thresholds\n<<include ThresholdsHeader AustriaMVT>><<tiddler AuEquitiesFees>>\n
| [[Austria]] | 100 | ~~N/A~~ | 100 | ~~N/A~~ | 500 | 100 |
<!--{{{-->\n<div class='toolbar' macro='toolbar +saveTiddler -cancelTiddler deleteTiddler'></div>\n<div class='title' macro='view title'></div>\n<div class='editor' macro='edit title'></div>\n<div class='editor' macro='edit text'></div>\n<div class='editor' macro='edit tags'></div><div class='editorFooter'><span macro='message views.editor.tagPrompt'></span><span macro='tagChooser'></span></div>\n<!--}}}-->
<<tiddler MainMenu>>\n\nAuthorMainMenu\nMainMenu\nDefaultTiddlers\nPluginManager\nPresentationIndex\n
<!--{{{-->\n<div id='header' class='header' macro='gradient vert [[ColorPalette::PrimaryLight]] [[ColorPalette::PrimaryMid]]'>\n<div class='headerShadow'>\n<span class='siteTitle' refresh='content' tiddler='SiteTitle'></span>&nbsp;\n<span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>\n</div>\n<div class='headerForeground'>\n<span class='siteTitle' refresh='content' tiddler='SiteTitle'></span>&nbsp;\n<span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>\n</div>\n</div>\n<div id='mainMenu' refresh='content' tiddler='AuthorMainMenu'></div>\n<div id='sidebar'>\n<div id='sidebarOptions' refresh='content' tiddler='SideBarOptions'></div>\n<div id='sidebarTabs' refresh='content' force='true' tiddler='SideBarTabs'></div>\n</div>\n<div id='displayArea'>\n<div id='messageArea'></div>\n<div id='tiddlerDisplay'></div>\n</div>\n<!--}}}-->
/***\nPlace your custom CSS here\n***/\n/*{{{*/\n\n\n[[StyleSheetCommon]]\n/*}}}*/\n
<!--{{{-->\n<div class='toolbar' macro='toolbar closeTiddler closeOthers +editTiddler permalink references jump'></div>\n<div class='title' macro='view title'></div>\n<div class='subtitle'><span macro='view modifier link'></span>, <span macro='view modified date [[DD MMM YYYY]]'></span> (<span macro='message views.wikified.createdPrompt'></span> <span macro='view created date [[DD MMM YYYY]]'></span>)</div>\n<div class='tagging' macro='tagging'></div>\n<div class='tagged' macro='tags'></div>\n<div class='viewer' macro='view text wikified'></div>\n<div class='viewer topbutton' macro='top'></div>\n<br><br>\n<div class='viewer' macro='navigation tiddlers:{{store.getTiddlerText("PresentationIndex").readBracketedList()}}}'></div>\n<div class='tagClear'></div>\n<!--}}}-->
<html><div id="myYVideo" style="display:none">\n <img class="lightBoxClose" src="http://solo.dc3.com/tw/im/close.gif" onclick="DC3.LightBox.hideBox()" alt="Close" title="Close this window" />\n<div><object width="850" height="700"><param name="movie" value="http://www.euronext.com/vgn/images/portal/cit_53424/30/36/964918022Bclear%20Demo%20Movie%20v%201%20flash.swf"></param><param name="wmode" value="transparent"></param><embed src="http://www.euronext.com/vgn/images/portal/cit_53424/30/36/964918022Bclear%20Demo%20Movie%20v%201%20flash.swf" type="application/x-shockwave-flash" wmode="transparent" width="850" height="700"></embed></object></div>\n</div>\n<a href="javascript:;" onclick="DC3.LightBox.showBox('myYVideo')"><img src="http://www.euronext.com/vgn/images/portal/cit_74879/30/37/964920724Bclear3.jpg"Click here for Bclear Demo</a></html>\nClick on Image above to run Bclear Demo Movie ...
\n!Belgian Equities Fees\n<<include FeesHeader CommonFees>>
!Belgian Minimum Volume Thresholds\n<<include ThresholdsHeader BelgiumMVT>><<tiddler BeEquitiesFees>>\n
| [[Belgium]] | 500 | 500 | 100 | 100 | 500 | 100 |
Story.prototype.refreshTiddler_activelink = Story.prototype.refreshTiddler;\nStory.prototype.refreshTiddler = function (title,template,force)\n{\n var theTiddler = Story.prototype.refreshTiddler_activelink.apply(this,arguments);\n if (!theTiddler)\n return theTiddler\n var menu = document.getElementById("mainMenu");\n var links = menu.getElementsByTagName("a");\n for (var i=0; i<links.length; i++)\n {\n if (!links[i].getAttribute("tiddlyLink"))\n return;\n if (document.getElementById(this.idPrefix+(links[i].getAttribute("tiddlylink"))))\n addClass(links[i],"bold");\n else\n removeClass(links[i],"bold");\n }\n return theTiddler;\n}
|''Options''| € 0.15 | € 0.05 | € 0.20 | € 80 | € 20 | € 100 | € 160 | € 40 | € 200 |\n|''Futures''| € 0.25 | € 0.05 | € 0.30 | € 240 | € 60 | € 300 | € 480 | € 120 | € 600 |
config.options.chkAnimate = false;\nconfig.options.chkSinglePageMode = true;\nconfig.options.chkTopOfPageMode = false;
/***\nJust some bits and pieces\n***/\n//{{{\nconfig.macros.include={};\nconfig.macros.include.handler=function(place,macroName,params)\n{\n var text="";\n for (var i=0;i<params.length;i++)\n {\n text+= ("\sn"+store.getTiddlerText(params[i]));\n }\n wikify(text,place);\n};\n\n//}}}
!Corporate Action Adjustments\n*All corporate action adjustments for 15 markets covered are conducted in accordance with Euronext.liffe’s harmonised policy\n*All Single Stock Option and Futures products will be adjusted in accordance with the London methodology (e.g. O-classes will not be used)\n*Open options and futures positions where the underlying security is taken-over for a full or majority (>67%) cash consideration will be closed at “fair value” (i.e. including any remaining “time value”)\n
!Coverage by Market\n*Options on over 330 pan-European blue-chips and options and futures on 12 country and pan-European indices\n*Futures on over 400 pan-European and U.S. blue-chips \n*All constituents of AEX, Dax 30 and DJ Euro Stoxx 50 indices \n*Other indices, numbers of stocks and market cap: \n**~FTSE100 - 78 stocks & 90%+\n**CAC 40 – 38 stocks & 95%+\n**Bel 20 - 10 stocks & 90%+\n**IBEX - 15 stocks & 80%+\n**OMX - 18 stocks & 85%+\n**SMI - 23 stocks & 95%+\n**SPMIB - 26 stocks & 90%+\n**~FTSEurofirst 300 - 255 stocks & 95%+\n*Variance futures on the FTSE 100, CAC 40 and AEX indices\n*All contracts 100 shares per lot apart from UK and Italy (1,000 shares per lot)\n*Full list of stocks and contract details available: [[www.euronext.com/bclear|http://www.euronext.com/bclear]]\n
/***\n|''Name:''|~DC3.LightBox|\n|''Description:''|LightBox support library|\n|''Date:''|Dec 25, 2006|\n|''Source:''|http://solo.dc3.com/tw/#LightBoxPlugin|\n|''Author:''|Bob Denny ~DC-3 Dreams, SP|\n|''License:''|[[Creative Commons Attribution-ShareAlike 2.5 License|http://creativecommons.org/licenses/by-sa/2.5/]]|\n|''Version:''|1.0.1|\n|''~CoreVersion:''|2.1.x|\n|''Browser:''|Firefox 1.5/2.0; Internet Explorer 6.0/7.0; Safari|\n|''Require:''|LightBoxCSS (see below), support HTML in MarkupPreHead (see below), access to icon images in subdir ''im'' (showAlert() only)|\n!Description\nThis plugin implements a lightbox widget for ~TiddlyWiki. Via Javascript, you can display any HTML div in the lightbox, or use "canned" divs for displaying HTML message in a box or an alert with icon. The lightbox is closed by either clicking the X-icon or anywhere outside the lightbox. Only one lightbox can be active at a time. See the usage section below.\n!!Usage\nThis plugin is a __library__, not a macro. Thus, it must be tagged {{{systemConfig}}}, but it does not support macro invocation. It is callable only from Javascript so the [[InlineJavascriptPlugin|http://www.tiddlytools.com/#InlineJavascriptPlugin]] is a virtual necessity!\n|!Usage|!Sample Javascript|\n|Display HTML message|{{{DC3.LightBox.showContent("Some <i>message</i>");}}}|\n|Display alert|{{{DC3.LightBox.showAlert("ok", "All is well");}}}|\n|Display any DIV in a lightbox|{{{DC3.LightBox.showBox("myLightBox");}}}|\n|Close current lightbox|{{{DC3.LightBox.hideBox()}}}|\n*The frame for the showContent() and showAlert() methods should expand to enclose text, but this happens only on IE and not FireFox. To be safe, just keep your messages short and use showBox() and your own HTML div for "big" messages etc.\n*The first parameter to showAlert() is the icon name. This is simply translated to {{{im/icon.png}}}. The standard icon image files (below) are used with icon strings of "error, "info", "ok", "question", and "warning". \n*The generalized showBox() method can be used to display images, media players, whatever you want! Just make up the HTML div, give it an id, then pass that ID to showBox().\n!!Advanced Usage - onClose\nAll three of the above methods support an optional parameter onClose, supplied as the last parameter in a call. It must evaluate to a function which is called (with no parameters) when the lightbox is about to close. If the onClose() function returns false, the lightbox will not be closed. For example \n{{{\nDC3.LightBox.showAlert("warning", "Something <em>bad</em> is about to happen", soundBuzzer);\n}}}\n!Installation\n#Paste this entire tiddler into a tiddler called DC3.LightBox and tag it {{{systemConfig}}}.\n#Paste the Required CSS (below) into a tiddler called LightBoxCSS and tag it {{{systemContent}}}.\n#Paste the content for MarkupPreHead (below) into MarkupPreHead.\n#Put the image files (below) into a subfolder ''im'' relative to the location of the TiddlyWiki. \n!!!Required CSS\nPaste into a tiddler called LightBoxCSS.\n{{{\n#lightBoxOverlay {\n position:absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n z-index: 90; \n background-color: #000;\n -moz-opacity: 0.6;\n opacity: .60;\n filter: alpha(opacity=60);\n}\n#lightBoxOverlay[id]{ \n position: fixed;\n}\n\ndiv.lightBox {\n background: #2d2d2d;\n color: #fff;\n border: 2px solid #eee;\n}\n\nimg.lightBoxClose {\n position: absolute;\n top: -5px;\n right: -5px;\n margin: 0px;\n cursor: pointer;\n}\n\ndiv.lightBoxAlert {\n width: 300px;\n height: 64px;\n background: #2d2d2d;\n color: #fff;\n padding: 10px;\n border: 2px solid #eee;\n}\n\ndiv.lightBoxAlertIcon {\n position: absolute;\n top: 8px;\n left: 8px;\n width: 48px;\n height: 48px;\n}\n\ndiv.lightBoxAlertMessage {\n margin-left: 56px;\n margin-top: 16px;\n}\n}}}\n!!!Content for MarkupPreHead\n{{{\n<!-- LightBox translucent overlay -->\n<div id="lightBoxOverlay" onclick="DC3.LightBox.hideBox()" style="display:none"></div>\n<!-- General use simple LightBox -->\n<div class="lightBox" id="lightBox" style="display:none">\n <img class="lightBoxClose" src="im/close.gif" onclick="DC3.LightBox.hideBox()" alt="Close" title="Close this window" />\n <div id="lightBoxContent"></div>\n</div>\n<!-- General use Alert LightBox -->\n<div class="lightBoxAlert" id="lightBoxAlert" style="display:none">\n <img class="lightBoxClose" src="im/close.gif" onclick="DC3.LightBox.hideBox()" alt="Close" title="Close this window" />\n <div class="lightBoxAlertIcon"><img id="lightBoxAlertIcon" src="runtime" alt="runtime" title="runtime"></div>\n <div class="lightBoxAlertMessage" id="lightBoxAlertMessage">runtime</div>\n</div>\n<!-- End of LightBox -->\n}}}\n!!!Images (close box and alert icons)\nThese must be in a subfolder ''im'' below the ~TiddlyWiki. You can get the images by right clicking on the links and //save target/link//, or right clicking on the images and //save image//. @@Note: The images below will display ugly in IE6, but they will display nice (with transparency) in the lightbox alerts, owing to the use of the DXFilters for transparency in the code.@@\n|[[close.gif|http://solo.dc3.com/tw/im/close.gif]]|[img[http://solo.dc3.com/tw/im/close.gif]]|[[error.png|http://solo.dc3.com/tw/im/error.png]]|[img[http://solo.dc3.com/tw/im/error.png]]|\n|[[info.png|http://solo.dc3.com/tw/im/info.png]]|[img[http://solo.dc3.com/tw/im/info.png]]|[[ok.png|http://solo.dc3.com/tw/im/ok.png]]|[img[http://solo.dc3.com/tw/im/ok.png]]|\n|[[question.png|im/question.png]]|[img[http://solo.dc3.com/tw/im/question.png]]|[[warning.png|http://solo.dc3.com/tw/im/warning.png]]|[img[http://solo.dc3.com/tw/im/warning.png]]|\n!!Credits\nThis TiddlyWiki library and CSS is an amalgamation of the techniques and code described in the following: \n* [[Original LightBox|http://www.huddletogether.com/projects/lightbox/]] by Lokesh Dhakar\n* [[Lightweight LightBox|http://www.pjhyett.com/posts/190-the-lightbox-effect-without-lightbox]] that can show any DIV by PJ Hyett\n* [[Better Modal Windows with LightBox|http://blog.feedmarker.com/2006/02/12/how-to-make-better-modal-windows-with-lightbox/]] by Bruno\nBruno's CSS for the overlay is much better than the first two, it is independent of any PNG image(s) and does not have CSS quirk-hacks for IE, nor does it use IE's DXFilters for PNG transparency. Of course for IE6, the DXFilters are used in the Javascript!\n!!Revision History\n<<<\n''2006.12.02 [1.0.1]'' Initial creation\n''2006.12.03 [1.0.1]'' hideBox() no longer takes //id// just closes currently open box. Needed for overlay click/close.\n''2006.12.03 [1.0.1]'' Add support for special Alert type LightBox with switchable icon. Hack IE for alpha transparency. See inline comments. Add showContent(html), showAlert(icon, message)\n''2006.12.04 [1.0.1]'' Ignore show calls if box is already displayed. Optional callback for hideBox(), can prevent hiding. Allows modal box to be set up by caller.\n''2006.12.25 [1.0.1]'' Documentation and installation instructions\n<<<\n!!Code\n***/\n//{{{\n\n// Initialize style sheet from tiddler\nrefreshStyles("LightBoxCSS");\n\nif (!window.DC3) window.DC3 = {};\nwindow.DC3.LightBox = \n{\n //\n //Internal proterties\n //\n _curBox: null, // [sentinel]\n _onClose: null, // [sentinel]\n _alertImgDiv: null, // [sentinel]\n _alertImgHTML: null, // [sentinel]\n \n //\n // Public interface\n //\n showContent: function(content, onClose) { // Uses generic LightBox in MarkupPreBody\n if(this._curBox) return; // Ignore if box already showing (typ.)\n document.getElementById("lightBoxContent").innerHTML = content;\n this.showBox("lightBox", onClose);\n },\n \n showAlert: function(icon, message, onClose) { // Uses standard alert LightBox in MarkupPreBody\n if(this._curBox) return;\n var icoElem = document.getElementById("lightBoxAlertIcon");\n icoElem.src = "http://solo.dc3.com/tw/im/" + icon + ".png"; // Requires icon.png (48 x 48)\n icoElem.title = icon;\n icoElem.alt = icon;\n document.getElementById("lightBoxAlertMessage").innerHTML = message;\n DC3.LightBox.showBox("lightBoxAlert", onClose);\n },\n \n showBox: function(id, onClose) \n {\n if(this._curBox) return;\n this._onClose = onClose; // If valid, call this in hideBox. See comments there!\n //\n // Surprise! In IE, the height:100% in the #overlay CSS definition does\n // not honor the z-order, and calculates the height to be the top margin!\n // So, for IE, I have added this imperfect hack which ,forces the overlay\n // size to the scroll size. This causes funny scrollbar behavior, but the\n // alternatives I tried were really complex. \n //\n // Surprise #2! IE6 doesn't support alpha transparency in PNG images, and \n // I use same for the icons in the LightBox Alert. Another hack needed.\n // We can't just change the DIV from containing an IMG tag to using the\n // bloody MS AlphaImageLoader, we also have to save the original IMG tag\n // because the alert is multi-use: the image to be shown can be changed \n // dynamically. When closing the Lightbox, we restore the original inner\n // IMG tag and clear the filter style. On showing the box, we grab the path\n // to the image file then zap the IMG tag, using the image file path in\n // the filter/AlphaImageLoader. Egad!!!\n //\n var ovly = document.getElementById('lightBoxOverlay');\n if(config.browser.isIE) {\n var h1 = document.documentElement.scrollHeight;\n var h2 = document.documentElement.offsetHeight;\n ovly.style.height = Math.max(h1, h2);\n ovly.style.width = document.documentElement.scrollWidth;\n // Change icon div for IE proprietary\n var alertDivs = document.getElementById(id).getElementsByTagName("div");\n this._alertImgDiv = null;\n for(var i in alertDivs) {\n if(alertDivs[i].className && alertDivs[i].className == "lightBoxAlertIcon") {\n this._alertImgDiv = alertDivs[i];\n break;\n }\n }\n if(this._alertImgDiv) {\n var imgFile = this._alertImgDiv.firstChild.src;\n this._alertImgHTML = this._alertImgDiv.innerHTML; // Saved to allow dynamic change of image file\n this._alertImgDiv.innerHTML = "";\n this._alertImgDiv.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\s"" + imgFile + "\s", sizingMethod=\s"scale\s")";\n }\n }\n ovly.style.display = 'block';\n this._center(id);\n this._curBox = id;\n return false;\n },\n \n hideBox: function()\n {\n if(!this._curBox) return;\n if(this._onClose && this._onClose() === false) // If onClose() returns false, refuse to close\n return false;\n document.getElementById(this._curBox).style.display = 'none';\n document.getElementById('lightBoxOverlay').style.display = 'none';\n this._curBox = null; // Allow show calls once again\n // Restore original non-IE image. Code may dynamically change image file!\n if(this._alertImgDiv) {\n this._alertImgDiv.innerHTML = this._alertImgHTML;\n this._alertImgDiv.style.filter = "";\n }\n return false;\n },\n \n //\n // Internal methods\n //\n _getDimensions: function(elem) // Lifted from Prototype and made independent\n {\n if(elem.style.display != 'none')\n return { width: elem.offsetWidth, height: elem.offsetHeight};\n \n // All *Width and *Height properties give 0 on elements with display none,\n // so enable the elem temporarily\n var els = elem.style;\n var origVis = els.visibility;\n var origPos = els.position;\n els.visibility = 'hidden';\n els.position = 'absolute';\n els.display = '';\n var origW = elem.clientWidth;\n var origH = elem.clientHeight;\n els.display = 'none';\n els.position = origPos;\n els.visibility = origVis;\n return {width: origW, height: origH};\n },\n \n //\n // This is rather big. I'll have to look at more elegant way(s)\n // of doing this... some day! :-)\n //\n _center: function(elem)\n {\n try{\n elem = document.getElementById(elem);\n }catch(e){\n return;\n }\n \n var my_width = 0;\n var my_height = 0;\n \n if ( typeof( window.innerWidth ) == 'number' ){\n my_width = window.innerWidth;\n my_height = window.innerHeight;\n } else if ( document.documentElement && \n ( document.documentElement.clientWidth ||\n document.documentElement.clientHeight ) ){\n my_width = document.documentElement.clientWidth;\n my_height = document.documentElement.clientHeight;\n }\n else if ( document.body &&\n ( document.body.clientWidth || document.body.clientHeight ) ){\n my_width = document.body.clientWidth;\n my_height = document.body.clientHeight;\n }\n \n elem.style.position = 'absolute';\n elem.style.zIndex = 99;\n \n var scrollY = 0;\n \n if ( document.documentElement && document.documentElement.scrollTop ){\n scrollY = document.documentElement.scrollTop;\n }else if ( document.body && document.body.scrollTop ){\n scrollY = document.body.scrollTop;\n }else if ( window.pageYOffset ){\n scrollY = window.pageYOffset;\n }else if ( window.scrollY ){\n scrollY = window.scrollY;\n }\n \n var elementDimensions = this._getDimensions(elem);\n \n var setX = ( my_width - elementDimensions.width ) / 2;\n var setY = ( my_height - elementDimensions.height ) / 2 + scrollY;\n \n setX = ( setX < 0 ) ? 0 : setX;\n setY = ( setY < 0 ) ? 0 : setY;\n \n elem.style.left = setX + "px";\n elem.style.top = setY + "px";\n \n elem.style.display = 'block';\n }\n};\n//}}}\n
!Daily Settlement Prices ("~DSPs")\n*~DSPs are established for all open series and are available after market (normal market hours 08:00 – 17:00 GMT)\n*Where contracts created through Bclear have equivalent contracts available on Euronext.liffe’s central order books (“~COBs”), the DSP will be taken directly from the COB \n*For all other products market data is obtained and volatility surfaces re-updated before prices are derived from trinomial pricing models\n*Where dividend forecasts are required, these are supplied by Markit Dividends \n
[[Introduction]]
!Danish Minimum Volume Thresholds\n<<include ThresholdsHeader DenmarkMVT>><<tiddler DnEquitiesFees>>\n
| [[Denmark]] | 250 | ~~N/A~~ | 100 | ~~N/A~~ | 500 | 100 |
\n!Danish Equities Fees\n<<include FeesHeader ScandFees>>
\nSee it in action here: http://lewcid.googlepages.com/tots.html\n\n!!Editing this TW:\nOpen the TW with #author:true at the end of the url/file location to enable editing.\nPreview edits by using the "Presentation Mode" button in the MainMenu\n//(To make future editing easier, bookmark the file with #author:true at the end of the file name. One click and edit!)//\n\n!!Changing the content and order of the presentation:\nEdit the PresentationIndex tiddler to change the contents and order of the presentation.\n\n!! Customizing the default (viewing) interface.\nEdit the following tiddlers as needed:\n*PageTemplate\n*StyleSheet\n*ViewTemplate\n*EditTemplate\n*MainMenu\n\n!!Customizing the editing (author's) interface.\nEdit the following tiddlers as needed: //(Note that these files are optional, if any of them dont exist, the standard viewing one will be used instead. So if you only want to change the PageTemplate, you only need an AuthorPageTemplate tiddler.)//\n*AuthorPageTemplate\n*AuthorStyleSheet\n*AuthorViewTemplate\n*AuthorEditTemplate\n*AuthorMainMenu\n\n!!Using a different stylesheet or theme:\nUsing your own favorite stylesheet or theme is as simple as importing those tiddlers into this file.\nIf you are changing the presentation interface, just import the PageTemplate and StyleSheet. If you want to change the editing interface, you will need to copy over the PageTemplate and StyleSheet as AuthorPageTemplate and AuthorStyleSheet respectively.\n\n!!Other tips:\n* Use the tiddler StyleSheetCommon and include it using {{{[[StyleSheetCommon]]}}} in your StyleSheet and AuthorStyleSheet when making stlyesheet changes that you want applied to both the presentation and editing interface, to avoid having to type it out twice!\n*To provide easy control over the font-size, use the FontSizePlugin: http://lewcid.googlepages.com/lewcid.html#FontSizePlugin\n* If this presentation is going to be placed online, you might want to have a splash screen that displays while the TW is loading: http://lewcid.googlepages.com/lewcid.html#SplashScreenPlugin
!Dummy Tiddler 3\n\ndummy tiddler three
!DummyTiddler2\n\nThis is the second tiddler of your dummy presentation
!Fee Structure\n*Per transaction fee structure\n*Fees will be “per lot” – fee caps apply for all products\n*Per lot fee determined by country of underlying security\n*Per lot fee is the same for all types of customer\n*Single stock options typically 25% - 75% cheaper than typical listed option markets fees\n!Fees\n\n^^Click on Nationality button to see details ...^^\n<<slider AustrianFees [[AuEquitiesFees]] "Austrian">><<slider BelgianFees [[BeEquitiesFees]] "Belgian">><<slider DanishFees [[DnEquitiesFees]] "Danish">><<slider DutchFees [[NlEquitiesFees]] "Dutch">><<slider FinnishFees [[FnEquitiesFees]] "Finnish ">><<slider FrenchFees [[FrEquitiesFees]] "French">><<slider GermanFees [[GeEquitiesFees]] "German">><<slider GreekFees [[GrEquitiesFees]] "Greek">>\n\n<<slider IrishFees [[IrEquitiesFees]] "Irish">><<slider ItalianFees [[ItEquitiesFees]] "Italian">><<slider NorwegianFees [[NoEquitiesFees]] "Norwegian">><<slider PortugueseFees [[PoEquitiesFees]] "Portuguese">><<slider SpanishFees [[SpEquitiesFees]] "Spanish">><<slider SwedishFees [[SwEquitiesFees]] "Swedish">><<slider SwissFees [[SwissEquitiesFees]] "Swiss">><<slider UKFees [[UKEquitiesFees]] "UK">><<slider USFees [[USEquitiesFees]] "US">>
|>|>|>| ''Fee Per Lot'' |>|>|>|>|>|>| ''Fee Cap'' |\n|~|~|~|~|>|>| !Proprietary Business |>|>| !Client Business |\n| | !Exchange Fee | !Clearing Fee | !Exercise/Cash Settlement Fee | !Exchange Fee | !Clearing Fee | !Exercise/Cash Settlement Fee | !Exchange Fee | !Clearing Fee | !Exercise/Cash Settlement Fee |
!Finnish Minimum Volume Thresholds\n<<include ThresholdsHeader FinlandMVT>><<tiddler FnEquitiesFees>>\n
| [[Finland]] | 250 | ~~N/A~~ | 100 | ~~N/A~~ | 500 | 100 |
\n!Finnish Equities Fees\n<<include FeesHeader ScandFees>>
/***\n|Name|FontSizePlugin|\n|Created by|SaqImtiaz|\n|Location|http://tw.lewcid.org/#FontSizePlugin|\n|Version|1.0|\n|Requires|~TW2.x|\n!Description:\nResize tiddler text on the fly. The text size is remembered between sessions by use of a cookie.\nYou can customize the maximum and minimum allowed sizes.\n(only affects tiddler content text, not any other text)\n\nAlso, you can load a TW file with a font-size specified in the url.\nEg: http://tw.lewcid.org/#font:110\n\n!Demo:\nTry using the font-size buttons in the sidebar, or in the MainMenu above.\n\n!Installation:\nCopy the contents of this tiddler to your TW, tag with systemConfig, save and reload your TW.\nThen put {{{<<fontSize "font-size:">>}}} in your SideBarOptions tiddler, or anywhere else that you might like.\n\n!Usage\n{{{<<fontSize>>}}} results in <<fontSize>>\n{{{<<fontSize font-size: >>}}} results in <<fontSize font-size:>>\n\n!Customizing:\nThe buttons and prefix text are wrapped in a span with class fontResizer, for easy css styling.\nTo change the default font-size, and the maximum and minimum font-size allowed, edit the config.fontSize.settings section of the code below.\n\n!Notes:\nThis plugin assumes that the initial font-size is 100% and then increases or decreases the size by 10%. This stepsize of 10% can also be customized.\n\n!History:\n*27-07-06, version 1.0 : prevented double clicks from triggering editing of containing tiddler.\n*25-07-06, version 0.9\n\n!Code\n***/\n\n//{{{\nconfig.fontSize={};\n\n//configuration settings\nconfig.fontSize.settings =\n{\n defaultSize : 100, // all sizes in %\n maxSize : 200,\n minSize : 40,\n stepSize : 10\n};\n\n//startup code\nvar fontSettings = config.fontSize.settings;\n\nif (!config.options.txtFontSize)\n {config.options.txtFontSize = fontSettings.defaultSize;\n saveOptionCookie("txtFontSize");}\nsetStylesheet(".tiddler .viewer {font-size:"+config.options.txtFontSize+"%;}\sn","fontResizerStyles");\nsetStylesheet("#contentWrapper .fontResizer .button {display:inline;font-size:105%; font-weight:bold; margin:0 1px; padding: 0 3px; text-align:center !important;}\sn .fontResizer {margin:0 0.5em;}","fontResizerButtonStyles");\n\n//macro\nconfig.macros.fontSize={};\nconfig.macros.fontSize.handler = function (place,macroName,params,wikifier,paramString,tiddler)\n{\n\n var sp = createTiddlyElement(place,"span",null,"fontResizer");\n sp.ondblclick=this.onDblClick;\n if (params[0])\n createTiddlyText(sp,params[0]);\n createTiddlyButton(sp,"+","increase font-size",this.incFont);\n createTiddlyButton(sp,"=","reset font-size",this.resetFont);\n createTiddlyButton(sp,"–","decrease font-size",this.decFont);\n}\n\nconfig.macros.fontSize.onDblClick = function (e)\n{\n if (!e) var e = window.event;\n e.cancelBubble = true;\n if (e.stopPropagation) e.stopPropagation();\n return false;\n}\n\nconfig.macros.fontSize.setFont = function ()\n{\n saveOptionCookie("txtFontSize");\n setStylesheet(".tiddler .viewer {font-size:"+config.options.txtFontSize+"%;}\sn","fontResizerStyles");\n}\n\nconfig.macros.fontSize.incFont=function()\n{\n if (config.options.txtFontSize < fontSettings.maxSize)\n config.options.txtFontSize = (config.options.txtFontSize*1)+fontSettings.stepSize;\n config.macros.fontSize.setFont();\n}\n\nconfig.macros.fontSize.decFont=function()\n{\n\n if (config.options.txtFontSize > fontSettings.minSize)\n config.options.txtFontSize = (config.options.txtFontSize*1) - fontSettings.stepSize;\n config.macros.fontSize.setFont();\n}\n\nconfig.macros.fontSize.resetFont=function()\n{\n\n config.options.txtFontSize=fontSettings.defaultSize;\n config.macros.fontSize.setFont();\n}\n\nconfig.paramifiers.font =\n{\n onstart: function(v)\n {\n config.options.txtFontSize = v;\n config.macros.fontSize.setFont();\n }\n};\n//}}}
function setFooter() {\n if (document.getElementById && document.getElementById("contentFooter") ) {\n var windowHeight=findWindowHeight();\n if (windowHeight>0) {\n var contentHeight= document.getElementById('mainMenu').offsetHeight + document.getElementById("header").offsetHeight + document.getElementById("contentFooter").offsetHeight;\n var menu= document.getElementById('mainMenu');\n //var footerHeight=footerElement.offsetHeight;\n if (windowHeight-(contentHeight)>=0) {\n menu.style.position='relative';\n menu.style.marginBottom=(windowHeight-(contentHeight))+'px';\n }\n else {\n menu.style.position='';\n menu.style.marginBottom='';\n }\n }\n }\n}\nwindow.onresize = function() {\n setFooter();\n}\n\nStory.prototype.refreshTiddler_footerhack=Story.prototype.refreshTiddler;\nStory.prototype.refreshTiddler = function (title,template,force)\n{ \nvar theTiddler = Story.prototype.refreshTiddler_footerhack.apply(this,arguments);\nsetFooter();\n return theTiddler;}
\n!French Equities Fees\n<<include FeesHeader CommonFees>>
!French Minimum Volume Thresholds\n<<include ThresholdsHeader FranceMVT>><<tiddler FrEquitiesFees>>\n
| [[France]] | 500 | 500 | 100 | 100 | 500 | 100 |
\n!German Equities Fees\n|>|>|>| ''Fee Per Lot'' |>|>|>|>|>|>| ''Fee Cap'' |\n|~|~|~|~|>|>| !Proprietary Business |>|>| !Client Business |\n| | !Exchange Fee | !Clearing Fee | !Exercise/Cash Settlement Fee | !Exchange Fee | !Clearing Fee | !Exercise/Cash Settlement Fee | !Exchange Fee | !Clearing Fee | !Exercise/Cash Settlement Fee |\n|''Options''| € 0.05 | € 0.05 | € 0.10 | € 80 | € 20 | € 100 | € 160 | € 40 | € 200 |\n|''Futures''| € 0.25 | € 0.05 | € 0.30 | € 240 | € 60 | € 300 | € 480 | € 120 | € 600 |
!German Minimum Volume Thresholds\n<<include ThresholdsHeader GermanyMVT>><<tiddler GeEquitiesFees>>\n
| [[Germany]] | 100 | ~~N/A~~ | 100 | ~~N/A~~ | 500 | 100 |
\n!Greek Equities Fees\n<<include FeesHeader CommonFees>>
!Greek Minimum Volume Thresholds\n<<include ThresholdsHeader GreeceMVT>><<tiddler GrEquitiesFees>>\n
| [[Greece]] | 100 | ~~N/A~~ | 100 | ~~N/A~~ | 500 | 100 |
{{{\n1: 49 Futures Contracts Only\n2: Swiss contracts 0.05/0.10\n}}}
//{{{\nconfig.macros.def ={};\nconfig.macros.def.handler = function(place,macroName,params,wikifier,paramString,tiddler)\n{\n var sliceName = params[1]? params[1].toLowerCase() : params[0].toLowerCase();\n var def = store.getTiddlerSlice("InfoDefinitions",sliceName);\n if (def == undefined)\n {\n wikify(params[0],place);\n return false;\n }\n var theClass = params[2]? params[2] : "info";\n var container = createTiddlyElement(place,"span",null,theClass);\n wikify(params[0],container);\n if (document.all)\n {\n container.onmouseover = function(){addClass(this,"infoover");};\n container.onmouseout = function(){removeClass(this,"infoover");};\n }\n var tooltip = createTiddlyElement(container,"span",null,null);\n wikify(def, tooltip);\n\n}\n\nconfig.macros.note ={};\nconfig.macros.note.handler = function(place,macroName,params,wikifier,paramString,tiddler)\n{\n var sliceName = params[1]? params[1].toLowerCase() : params[0].toLowerCase();\n var def = store.getTiddlerSlice("InfoDefinitions",sliceName);\n if (def == undefined)\n {\n wikify(params[0],place);\n return false;\n }\n var theClass = params[2]? params[2] : "note";\n var container = createTiddlyElement(place,"span",null,theClass);\n wikify("^^"+params[0]+"^^",container);\n if (document.all)\n {\n container.onmouseover = function(){addClass(this,"noteover");};\n container.onmouseout = function(){removeClass(this,"noteover");};\n }\n var tooltip = createTiddlyElement(container,"span",null,null);\n wikify(def, tooltip);\n\n}\n\n//}}}\n
nsert Javascript executable code directly into your tiddler content. Lets you ''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.\n!!!!!Usage\n<<<\nWhen installed, this plugin adds new wiki syntax for surrounding tiddler content with {{{<script>}}} and {{{</script>}}} markers, so that it can be treated as embedded javascript and executed each time the tiddler is rendered.\n\n''Deferred execution from an 'onClick' link''\nBy including a label="..." parameter in the initial {{{<script>}}} marker, the plugin will create a link to an 'onclick' script that will only be executed when that specific link is clicked, rather than running the script each time the tiddler is rendered.\n\n''External script source files:''\nYou can also load javascript from an external source URL, by including a src="..." parameter in the initial {{{<script>}}} marker (e.g., {{{<script src="demo.js"></script>}}}). This is particularly useful when incorporating third-party javascript libraries for use in custom extensions and plugins. The 'foreign' javascript code remains isolated in a separate file that can be easily replaced whenever an updated library file becomes available.\n\n''Display script source in tiddler output''\nBy including the keyword parameter "show", in the initial {{{<script>}}} marker, the plugin will include the script source code in the output that it displays in the tiddler.\n\n''Defining javascript functions and libraries:''\nAlthough the external javascript file is loaded while the tiddler content is being rendered, any functions it defines will not be available for use until //after// the rendering has been completed. Thus, you cannot load a library and //immediately// use it's functions within the same tiddler. However, once that tiddler has been loaded, the library functions can be freely used in any tiddler (even the one in which it was initially loaded).\n\nTo ensure that your javascript functions are always available when needed, you should load the libraries from a tiddler that will be rendered as soon as your TiddlyWiki document is opened. For example, you could put your {{{<script src="..."></script>}}} syntax into a tiddler called LoadScripts, and then add {{{<<tiddler LoadScripts>>}}} in your MainMenu tiddler.\n\nSince the MainMenu is always rendered immediately upon opening your document, the library will always be loaded before any other tiddlers that rely upon the functions it defines. Loading an external javascript library does not produce any direct output in the tiddler, so these definitions should have no impact on the appearance of your MainMenu.\n\n''Creating dynamic tiddler content''\nAn important difference between this implementation of embedded scripting and conventional embedded javascript techniques for web pages is the method used to produce output that is dynamically inserted into the document:\n* In a typical web document, you use the document.write() function to output text sequences (often containing HTML tags) that are then rendered when the entire document is first loaded into the browser window.\n* However, in a ~TiddlyWiki document, tiddlers (and other DOM elements) are created, deleted, and rendered "on-the-fly", so writing directly to the global 'document' object does not produce the results you want (i.e., replacing the embedded script within the tiddler content), and completely replaces the entire ~TiddlyWiki document in your browser window.\n* To allow these scripts to work unmodified, the plugin automatically converts all occurences of document.write() so that the output is inserted into the tiddler content instead of replacing the entire ~TiddlyWiki document.\n\nIf your script does not use document.write() to create dynamically embedded content within a tiddler, your javascript can, as an alternative, explicitly return a text value that the plugin can then pass through the wikify() rendering engine to insert into the tiddler display. For example, using {{{return "thistext"}}} will produce the same output as {{{document.write("thistext")}}}.\n\n//Note: your script code is automatically 'wrapped' inside a function, {{{_out()}}}, so that any return value you provide can be correctly handled by the plugin and inserted into the tiddler. To avoid unpredictable results (and possibly fatal execution errors), this function should never be redefined or called from ''within'' your script code.//\n\n''Accessing the ~TiddlyWiki DOM''\nThe plugin provides one pre-defined variable, 'place', that is passed in to your javascript code so that it can have direct access to the containing DOM element into which the tiddler output is currently being rendered.\n\nAccess to this DOM element allows you to create scripts that can:\n* vary their actions based upon the specific location in which they are embedded\n* access 'tiddler-relative' information (use findContainingTiddler(place))\n* perform direct DOM manipulations (when returning wikified text is not enough)\n<<<\n!!!!!Examples\n<<<\nan "alert" message box:\n><script show>\n alert('InlineJavascriptPlugin: this is a demonstration message');\n</script>\ndynamic output:\n><script show>\n return (new Date()).toString();\n</script>\nwikified dynamic output:\n><script show>\n return "link to current user: [["+config.options.txtUserName+"]]";\n</script>\ndynamic output using 'place' to get size information for current tiddler:\n><script show>\n if (!window.story) window.story=window;\n var title=story.findContainingTiddler(place).id.substr(7);\n return title+" is using "+store.getTiddlerText(title).length+" bytes";\n</script>\ncreating an 'onclick' button/link that runs a script:\n><script label="click here" show>\n if (!window.story) window.story=window;\n alert("Hello World!\snlinktext='"+place.firstChild.data+"'\sntiddler='"+story.findContainingTiddler(place).id.substr(7)+"'");\n</script>\nloading a script from a source url:\n>http://www.TiddlyTools.com/demo.js contains:\n>>{{{function demo() { alert('this output is from demo(), defined in demo.js') } }}}\n>>{{{alert('InlineJavascriptPlugin: demo.js has been loaded'); }}}\n><script src="demo.js" show>\n return "loading demo.js..."\n</script>\n><script label="click to execute demo() function" show>\n demo()\n</script>\n<<<\n!!!!!Installation\n<<<\nimport (or copy/paste) the following tiddlers into your document:\n''InlineJavascriptPlugin'' (tagged with <<tag systemConfig>>)\n<<<\n!!!!!Revision History\n<<<\n''2006.10.16 [1.5.2]'' add newline before closing '}' in 'function out_' wrapper. Fixes error caused when last line of script is a comment.\n''2006.06.01 [1.5.1]'' when calling wikify() on script return value, pass hightlightRegExp and tiddler params so macros that rely on these values can render properly\n''2006.04.19 [1.5.0]'' added 'show' parameter to force display of javascript source code in tiddler output\n''2006.01.05 [1.4.0]'' added support 'onclick' scripts. When label="..." param is present, a button/link is created using the indicated label text, and the script is only executed when the button/link is clicked. 'place' value is set to match the clicked button/link element.\n''2005.12.13 [1.3.1]'' when catching eval error in IE, e.description contains the error text, instead of e.toString(). Fixed error reporting so IE shows the correct response text. Based on a suggestion by UdoBorkowski\n''2005.11.09 [1.3.0]'' for 'inline' scripts (i.e., not scripts loaded with src="..."), automatically replace calls to 'document.write()' with 'place.innerHTML+=' so script output is directed into tiddler content. Based on a suggestion by BradleyMeck\n''2005.11.08 [1.2.0]'' handle loading of javascript from an external URL via src="..." syntax\n''2005.11.08 [1.1.0]'' pass 'place' param into scripts to provide direct DOM access \n''2005.11.08 [1.0.0]'' initial release\n<<<\n!!!!!Credits\n<<<\nThis feature was developed by EricShulman from [[ELS Design Studios|http:/www.elsdesign.com]]\n<<<
/***\n|''Name:''|InlineJavascriptPlugin|\n|''Source:''|http://www.TiddlyTools.com/#InlineJavascriptPlugin|\n|''Author:''|Eric Shulman - ELS Design Studios|\n|''License:''|[[Creative Commons Attribution-ShareAlike 2.5 License|http://creativecommons.org/licenses/by-sa/2.5/]]|\n|''~CoreVersion:''|2.0.10|\n\n\n!!!!!Code\n***/\n//{{{\nversion.extensions.inlineJavascript= {major: 1, minor: 5, revision: 2, date: new Date(2006,10,16)};\n\nconfig.formatters.push( {\n name: "inlineJavascript",\n match: "\s\s<script",\n lookahead: "\s\s<script(?: src=\s\s\s"((?:.|\s\sn)*?)\s\s\s")?(?: label=\s\s\s"((?:.|\s\sn)*?)\s\s\s")?( show)?\s\s>((?:.|\s\sn)*?)\s\s</script\s\s>",\n\n handler: function(w) {\n var lookaheadRegExp = new RegExp(this.lookahead,"mg");\n lookaheadRegExp.lastIndex = w.matchStart;\n var lookaheadMatch = lookaheadRegExp.exec(w.source)\n if(lookaheadMatch && lookaheadMatch.index == w.matchStart) {\n if (lookaheadMatch[1]) { // load a script library\n // make script tag, set src, add to body to execute, then remove for cleanup\n var script = document.createElement("script"); script.src = lookaheadMatch[1];\n document.body.appendChild(script); document.body.removeChild(script);\n }\n if (lookaheadMatch[4]) { // there is script code\n if (lookaheadMatch[3]) // show inline script code in tiddler output\n wikify("{{{\sn"+lookaheadMatch[0]+"\sn}}}\sn",w.output);\n if (lookaheadMatch[2]) { // create a link to an 'onclick' script\n // add a link, define click handler, save code in link (pass 'place'), set link attributes\n var link=createTiddlyElement(w.output,"a",null,"tiddlyLinkExisting",lookaheadMatch[2]);\n link.onclick=function(){try{return(eval(this.code))}catch(e){alert(e.description?e.description:e.toString())}}\n link.code="function _out(place){"+lookaheadMatch[4]+"\sn};_out(this);"\n link.setAttribute("href","javascript:;"); link.setAttribute("title",""); link.style.cursor="pointer";\n }\n else { // run inline script code\n var code="function _out(place){"+lookaheadMatch[4]+"\sn};_out(w.output);"\n code=code.replace(/document.write\s(/gi,'place.innerHTML+=(');\n try { var out = eval(code); } catch(e) { out = e.description?e.description:e.toString(); }\n if (out && out.length) wikify(out,w.output,w.highlightRegExp,w.tiddler);\n }\n }\n w.nextMatch = lookaheadMatch.index + lookaheadMatch[0].length;\n }\n }\n} )\n//}}}\n
!Introduction to ''Bclear''\n\n*A simple, efficient and low-cost way to register, process and clear wholesale equity derivative trades\n*Low risk exchange and clearing house environments combined with flexibility of the OTC market\n*400+ European and U.S.<<note 1>> blue-chips from 17 countries and 12 national and pan-European indices on one platform\n*Clearing through LCH.Clearnet Ltd \n*Launched 24 October 2005\n^^1: Futures Contracts only^^\n\n
\n!Irish Equities Fees\n<<include FeesHeader CommonFees>>
!Irish Minimum Volume Thresholds\n<<include ThresholdsHeader IrelandMVT>><<tiddler IrEquitiesFees>>\n
| [[Ireland]] | 100 | ~~N/A~~ | 100 | ~~N/A~~ | 500 | 100 |
\n!Italian Equities Fees\n|>|>|>| ''Fee Per Lot'' |>|>|>|>|>|>| ''Fee Cap'' |\n|~|~|~|~|>|>| !Proprietary Business |>|>| !Client Business |\n| | !Exchange Fee | !Clearing Fee | !Exercise/Cash Settlement Fee | !Exchange Fee | !Clearing Fee | !Exercise/Cash Settlement Fee | !Exchange Fee | !Clearing Fee | !Exercise/Cash Settlement Fee |\n|''Options''| € 0.10 | € 0.05 | € 0.15 | € 80 | € 20 | € 100 | € 160 | € 40 | € 200 |\n|''Futures''| € 0.25 | € 0.05 | € 0.30 | € 240 | € 60 | € 300 | € 480 | € 120 | € 600 |
!Italian Minimum Volume Thresholds\n<<include ThresholdsHeader ItalyMVT>><<tiddler ItEquitiesFees>>\n
| [[Italy]] | 100 | ~~N/A~~ | 100 | ~~N/A~~ | 500 | 100 |
/***\n|''Name:''|LegacyStrikeThroughPlugin|\n|''Description:''|Support for legacy (pre 2.1) strike through formatting|\n|''Version:''|1.0.1|\n|''Date:''|Jul 21, 2006|\n|''Source:''|http://www.tiddlywiki.com/#LegacyStrikeThroughPlugin|\n|''Author:''|MartinBudden (mjbudden (at) gmail (dot) com)|\n|''License:''|[[BSD open source license]]|\n|''CoreVersion:''|2.1.0|\n|''Browser:''|Firefox 1.0.4+; Firefox 1.5; InternetExplorer 6.0|\n\n***/\n\n//{{{\n\n// Ensure that the LegacyStrikeThrough Plugin is only installed once.\nif(!version.extensions.LegacyStrikeThroughPlugin)\n {\n version.extensions.LegacyStrikeThroughPlugin = true;\n\nconfig.formatters.push(\n{\n name: "legacyStrikeByChar",\n match: "==",\n termRegExp: /(==)/mg,\n element: "strike",\n handler: config.formatterHelpers.createElementAndWikify\n});\n\n} // end of "install only once"\n//}}}\n
#lightBoxOverlay {\n position:absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n z-index: 90; \n background-color: #000;\n -moz-opacity: 0.6;\n opacity: .60;\n filter: alpha(opacity=60);\n}\n#lightBoxOverlay[id]{ \n position: fixed;\n}\n\ndiv.lightBox {\n background: #2d2d2d;\n color: #fff;\n border: 2px solid #eee;\n}\n\nimg.lightBoxClose {\n position: absolute;\n top: -5px;\n right: -5px;\n margin: 0px;\n cursor: pointer;\n}\n\ndiv.lightBoxAlert {\n width: 300px;\n height: 64px;\n background: #2d2d2d;\n color: #fff;\n padding: 10px;\n border: 2px solid #eee;\n}\n\ndiv.lightBoxAlertIcon {\n position: absolute;\n top: 8px;\n left: 8px;\n width: 48px;\n height: 48px;\n}\n\ndiv.lightBoxAlertMessage {\n margin-left: 56px;\n margin-top: 16px;\n}
Here are some examples of using [[DC3.LightBox]] which you can use to get the idea. Everyone wants to show pictures (well, and maybe videos), so here are some examples of those:\n\n<html>\n<div id="myImageBox" style="background:black;color:yellow;border:2px solid white;display:none">\n <img class="lightBoxClose" src="http://solo.dc3.com/tw/im/close.gif" onclick="DC3.LightBox.hideBox()" alt="Close" title="Close this window" />\n<div><img src="http://solo.dc3.com/tw/gemini-sm.jpg"><br><div align="center">Gemini-IX Lifts Off</div></div>\n</div>\n<a href="javascript:;" onclick="DC3.LightBox.showBox('myImageBox')">Gemini-9 Lifts Off</a></html>\n<html><div id="myYVideo" style="display:none">\n <img class="lightBoxClose" src="http://solo.dc3.com/tw/im/close.gif" onclick="DC3.LightBox.hideBox()" alt="Close" title="Close this window" />\n<div><object width="425" height="350"><param name="movie" value="http://www.youtube.com/v/uVq2EqTC3yY"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/uVq2EqTC3yY" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"></embed></object></div>\n</div>\n<a href="javascript:;" onclick="DC3.LightBox.showBox('myYVideo')">Some YouTube junk</a></html>\n\n<html><div id="myBrowser" style="display:none">\n <img class="lightBoxClose" src="http://solo.dc3.com/tw/im/close.gif" onclick="DC3.LightBox.hideBox()" alt="Close" title="Close this window" />\n<div><object type="text/javascript" data="http://bcleartrades.euronext.co.uk/" width="820px" height="780px"></object></div>\n</div>\n<a href="javascript:;" onclick="DC3.LightBox.showBox('myBrowser')">Bclear Trades</a></html>\n\nNext, a couple of usages of the 'standard' lightboxes for showing text/HTML and alerts:\n\n<html><a href="javascript:;" onclick="DC3.LightBox.showContent('<div style=\s'padding:10px;\s'>This uses the <b>showContent()</b> method.</div>');">Here is some simple text in a div with 10px padding</a></html>\n<html><a href="javascript:;" onclick="DC3.LightBox.showAlert('ok', 'This uses the <b>showAlert()</b> method with the \s'ok\s' icon specified.')">Here is an alert with icon</a></html>\n\nNow for some examples using the basic showBox() method for the ultimate in flexibility. For this, you need to write your own box div, give it an id then call showBox() from a link (or other Javascript) similar to the examples above. Look at the supplied lightbox divs in MarkupPreBody and the (hidden) divs below to get the idea. It's pretty simple once you get it. If you don't style the lightbox, it will be transparent! The style display:none is vital to keep the lightbox div hidden till you want it to appear.\n\n<html><div class="lightBox" id="myLB" style="display:none">\n <img class="lightBoxClose" src="http://solo.dc3.com/tw/im/close.gif" onclick="DC3.LightBox.hideBox()" alt="Close" title="Close this window" />\n<div style="padding: 10px">This uses the standard lightBox CSS class and puts the close box in the standard position. It looks like the showContent() box, but you can see the div and its contents.</div>\n</div>\n<a href="javascript:;" onclick="DC3.LightBox.showBox('myLB')">A box that uses the standard showContent() div in MarkupPreBody</a></html>\n<html><div id="myLB2" style="background:white;color:red;border:5px solid black;display:none">\n <img class="lightBoxClose" src="http://solo.dc3.com/tw/im/close.gif" onclick="DC3.LightBox.hideBox()" alt="Close" title="Close this window" />\n<div style="padding: 10px">This uses an inline-styled div and puts the close box in the standard position.</div>\n</div>\n<a href="javascript:;" onclick="DC3.LightBox.showBox('myLB2')">A box that uses an inline-styled div</a></html>
[[Introduction]]\n[[Coverage by Market]]\n[[Total Flexibility]]\n[[Minimum Volume Thresholds]]\n[[Price Validation]]\n[[Daily Settlement Prices]]\n[[Margin and Clearing Arrangements]]\n[[Corporate Action Adjustments]]\n[[Fee Structure]]\n\n''More information:''\n//[[Live Published Trades|http://bcleartrades.euronext.co.uk/]]//\n//[[Bclear API support|http://bclear.tiddlyspot.com/]]//\n\n[[BclearDemo]]\n\nUse buttons to change \n<<fontSize font-size: >>\n\n[img[http://www.euronext.com/vgn/images/portal/cit_74879/57/61/982145558bclear_innovation.gif]]\n\n<<author>>\n
!Margin and Clearing Arrangements\n*No change to existing practice for London products (e.g. UK stock options and FTSE 100 and ~FTSEurofirst Index contracts)\n*Initial margin rates determined by LCH.Clearnet Ltd\n*London SPAN is used for portfolio margining all open positions\n*Due to different clearing systems, positions opened through Bclear that have the equivalent product available for COB trading in Amsterdam, Brussels, Lisbon or Paris, are not fungible \n*Fungible with equivalent Exchange products cleared through LCH.Clearnet Ltd\n*Average initial margin: 5%\n
<!-- LightBox translucent overlay -->\n<div id="lightBoxOverlay" onclick="DC3.LightBox.hideBox()" style="display:none"></div>\n<!-- General use simple LightBox -->\n<div class="lightBox" id="lightBox" style="display:none">\n <img class="lightBoxClose" src="http://solo.dc3.com/tw/im/close.gif" onclick="DC3.LightBox.hideBox()" alt="Close" title="Close this window" />\n <div id="lightBoxContent"></div>\n</div>\n<!-- General use Alert LightBox -->\n<div class="lightBoxAlert" id="lightBoxAlert" style="display:none">\n <img class="lightBoxClose" src="http://solo.dc3.com/tw/im/close.gif" onclick="DC3.LightBox.hideBox()" alt="Close" title="Close this window" />\n <div class="lightBoxAlertIcon"><img id="lightBoxAlertIcon" src="runtime" alt="runtime" title="runtime"></div>\n <div class="lightBoxAlertMessage" id="lightBoxAlertMessage">runtime</div>\n</div>\n<!-- End of LightBox -->\n<link rel='alternate' type='application/rss+xml' title='RSS' href='index.xml'>\n\n<style type="text/css">#contentWrapper {display:none;}</style><div id="SplashScreen" style="border: 3px solid #ccc; display: block; text-align: center; width: 320px; margin: 100px auto; padding: 50px; color:#000; font-size: 28px; font-family:Tahoma; background-color:#eee;"><b><span style="color:red;">B</span>clear</b> presentation is loading<blink> ...</blink><br><br><span style="font-size: 14px; color:red;">Requires Javascript.</span></div>
<<include ThresholdsHeader AustriaMVT BelgiumMVT DenmarkMVT FinlandMVT FranceMVT GermanyMVT GreeceMVT IrelandMVT ItalyMVT NetherlandsMVT NorwayMVT PortugalMVT SpainMVT SwedenMVT SwitzerlandMVT UKMVT USMVT>>
// Resolves a Tiddler reference or tiddler title into a tiddler title string, or null if it doesn't exist\nresolveTitle = function(t)\n{\n if (t instanceof Tiddler) t = t.title;\n return store.tiddlerExists(t) ? t : null;\n}\n\nconfig.macros.navigation = {};\nconfig.macros.navigation.handler = function(place,macroName,params,wikifier,paramString,tiddler)\n{\n\n if (!store.tiddlerExists(tiddler.title))\n return false;\n var e = createTiddlyElement(place,"span",null,"nav");\n e.setAttribute("refresh","macro");\n e.setAttribute("macroName",macroName);\n e.setAttribute("params",paramString);\n e.setAttribute("tiddler",tiddler.title)\n this.refresh(e,paramString);\n}\n\nconfig.macros.navigation.refresh = function(place,params)\n{\n var tiddler = store.getTiddler(place.getAttribute("tiddler"));\n removeChildren(place);\n\n\n var params = place.getAttribute("params").parseParams("tiddlers",null,true);\n//alert(store.getTiddlerText(getParam(params,"index",undefined)).parseParams("tiddlers",null,false))\n var tiddlers = getParam(params,"tiddlers",undefined);\nif (typeof tiddlers == 'string')\n tiddlers = tiddlers.readBracketedList();\n if (tiddlers == undefined)\n alert("no source tiddlers defined for navigation");\n var contents = [];\n for (var i=0;i<tiddlers.length;i++)\n {\n var title = resolveTitle(tiddlers[i]);\n contents.push(title);\n}\n var navIndex = contents.indexOf(tiddler.title);\n if (navIndex == -1)\n return false;\n \n if (contents[navIndex-1])\n {\n wikify("[[<< Previous|"+contents[navIndex-1]+"]]",place);\n place.lastChild.className += " navPrev";\n }\n if (contents[navIndex+1])\n {\n wikify("[[Next >>|"+contents[navIndex+1]+"]]",place);\n place.lastChild.className += " navNext";\n }\n\n var theTable = createTiddlyElement(place,"table",null,"nav");\n var theBody = createTiddlyElement(theTable,"tbody");\n var theRow = createTiddlyElement(theBody,"tr");\n for (var i=0; i<contents.length; i++)\n {\n var box = createTiddlyElement(theRow,"td",null,"navlinkcell"," ");\n box.onclick = onClickTiddlerLink;\n box.setAttribute("tiddlyLink",contents[i]);\n box.title = (contents[i]);\n if (contents[i] ==tiddler.title)\n box.className += " activenav";\n }\n}\n\nsetStylesheet(\n".navNext {float:right;}\sn"+\n".navPrev, .navPrevious{float:left;}\sn"+\n".nav .tiddlyLink {color:#000; background:#eee;border:none;padding:0;margin:0;}\sn"+\n".nav {padding:0;margin:0;}\sn"+\n".nav table {margin:0 auto !important; border:0px solid #000;padding:0;border-collapse:separate;}\sn"+\n".nav table tr{padding:0; margin:0;border-spacing: 1px;}\sn"+\n".nav table td {padding:4px; border:1px solid #ccc; border-spacing: 0px;cursor:pointer;cursor:hand}\sn"+\n".nav .activenav{background:#666 !important;}\sn","NavigationPluginStyles");
!Dutch Minimum Volume Thresholds\n<<include ThresholdsHeader NetherlandsMVT>><<tiddler NlEquitiesFees>>\n
| [[Netherlands]] | 250 | 500 | 100 | 100 | 500 | 100 |
\n!Dutch Equities Fees\n<<include FeesHeader CommonFees>>
\n!Norwegian Equities Fees\n<<include FeesHeader ScandFees>>
!Norwegian Minimum Volume Thresholds\n<<include ThresholdsHeader NorwayMVT>><<tiddler NoEquitiesFees>>\n
| [[Norway]] | 250 | ~~N/A~~ | 100 | ~~N/A~~ | 500 | 100 |
<!--{{{-->\n<div id="header" class='header'>\n <div class='gradient' macro='gradient vert #efefef #999'>\n <div class='titleLine' >\n <span class='siteTitle' refresh='content' tiddler='SiteTitle'></span>&nbsp;\n <span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>\n </div>\n\n </div>\n\n</div>\n<div id='bodywrapper'>\n\n<div id='mainMenu' refresh='content' tiddler='MainMenu'></div>\n<div id='displayArea'>\n <div id='messageArea'></div>\n <div id='tiddlerDisplay'></div>\n</div>\n<div id='contentFooter' refresh='content' tiddler='contentFooter'></div>\n</div>
\n!Portuguese Equities Fees\n<<include FeesHeader CommonFees>>
!Portuguese Minimum Volume Thresholds\n<<include ThresholdsHeader PortugalMVT>><<tiddler PoEquitiesFees>>
| [[Portugal]] | 100 | 100 | 100 | 100 | 500 | 100 |
[[Introduction]]\n[[Coverage by Market]]\n[[Total Flexibility]]\n[[Minimum Volume Thresholds]]\n[[Price Validation]]\n\n[[Daily Settlement Prices]]\n[[Margin and Clearing Arrangements]]\n[[Corporate Action Adjustments]]\n[[Fee Structure]]
//{{{\nTiddlyWiki.prototype.removeNotification = function(title,fn) {\n for (var i=0;i<this.namedNotifications.length;i++)\n if((this.namedNotifications[i].name == title) && (this.namedNotifications[i].notify == fn))\n this.namedNotifications.splice(i,1);\n}\n \n//checks to see if a tiddler exists in store or as a shadow.\nTiddlyWiki.prototype.isTiddler= function (title)\n {return store.tiddlerExists(title) || store.isShadowTiddler(title)}\n\n// Refresh all tiddlers in the Story\nStory.prototype.lewcidrefreshAllTiddlers = function()\n{\n var place = document.getElementById(this.container);\n var e = place.firstChild;\n if(!e) return;\n this.refreshTiddler(e.getAttribute("tiddler"),null,true);\n while((e = e.nextSibling) != null)\n this.refreshTiddler(e.getAttribute("tiddler"),null,true);\n}\n\nconfig.presentationPlugin ={\n};\n\nconfig.presentationPlugin.defaults = [\n {name: "StyleSheet", notify: refreshStyles},\n {name: "PageTemplate", notify: refreshPageTemplate}\n ];\n\nwindow.presentationMode='';\n\nfunction applyPresentationMode (oldMode,Mode)\n{\n presentationMode = Mode;\n var defaults = config.presentationPlugin.defaults;\n var oldStyleElement = document.getElementById(oldMode+"StyleSheet");\n if (oldStyleElement)\n {\n oldStyleElement.parentNode.removeChild(oldStyleElement);\n }\n for (var i=0; i<defaults.length; i++)\n {\n var def = defaults[i]["name"];\n var newMode = store.isTiddler(Mode + def)? Mode + def : def;\n store.removeNotification(oldMode + def, defaults[i]["notify"]);\n store.addNotification(newMode,defaults[i]["notify"]);\n store.notify(newMode); //just one do blanket notify instead?\n }\n story.lewcidrefreshAllTiddlers();\n}\n\nconfig.macros.author={};\nconfig.macros.author.handler= function (place,macroName,params,wikifier,paramString,tiddler) {\n var e = createTiddlyElement(place,"div");\n e.setAttribute("refresh","macro");\n e.setAttribute("macroName","author");\n e.setAttribute("params",paramString);\n this.refresh(e,paramString);\n}\n\nconfig.macros.author.refresh = function(place,params){\n if (window.lewcideditmode== false)\n return false;\n removeChildren(place);\n var oldMode = window.presentationMode;\n var newMode = (oldMode == "Author")?"":"Author";\n var label = (oldMode == "Author")? "Presentation Mode":"Author Mode";\n var tooltip = label;\n createTiddlyButton(place,label,tooltip,function() {\n applyPresentationMode(oldMode,newMode);\n });\n};\n\nStory.prototype.chooseTemplateForTiddler_old_presentation = Story.prototype.chooseTemplateForTiddler;\n\nStory.prototype.chooseTemplateForTiddler = function(title,template)\n{\n if (!template)\n template = DEFAULT_VIEW_TEMPLATE;\n var mode = presentationMode;\n if (template == DEFAULT_VIEW_TEMPLATE)\n {\n if (store.isTiddler(mode+"ViewTemplate"))\n return mode+"ViewTemplate";\n }\n else if (template == DEFAULT_EDIT_TEMPLATE)\n {\n if (store.isTiddler(mode+"EditTemplate"))\n return mode+"EditTemplate";\n }\n return this.chooseTemplateForTiddler_old_presentation(title,template);\n}\n\nwindow.lewcideditmode = false;\nconfig.paramifiers.author = {\n onstart: function(v) {\n if (v!="true")\n return false;\n applyPresentationMode("","Author");\n window.lewcideditmode = true;\n refreshDisplay();\n }\n};\n//}}}
!Price Validation\n*All trades are subject to price validation\n*Should reflect a fair price for the trade in question\n*Automatic price validation parameters apply to avoid manifest error\n*Automatic validation is based on the underlying reference price used for the trade price must be at or within the high/low of the day\n
/***\n|''Name:''|RSSReaderPlugin|\n|''Description:''|This plugin provides a RSSReader for TiddlyWiki|\n|''Version:''|0.3.0|\n|''Date:''|Aug 24, 2006|\n|''Source:''|http://tiddlywiki.bidix.info/#RSSReaderPlugin|\n|''Documentation:''|http://tiddlywiki.bidix.info/#RSSReaderPluginDoc|\n|''Author:''|BidiX (BidiX (at) bidix (dot) info)|\n|''Credit:''|BramChen for RssNewsMacro|\n|''License:''|[[BSD open source license|http://tiddlywiki.bidix.info/#%5B%5BBSD%20open%20source%20license%5D%5D ]]|\n|''~CoreVersion:''|2.0.0|\n|''Browser:''|Firefox 1.5; InternetExplorer 6.0; Safari|\n|''Include:''|none|\n|''Require:''|none|\n***/\n//{{{\nversion.extensions.RSSReaderPlugin = {\n major: 0, minor: 3, revision: 0,\n date: new Date("Aug 24, 2006"),\n author: "BidiX",\n credit: "BramChen for RssNewsMacro",\n source: "http://TiddlyWiki.bidix.info/#RSSReaderPlugin",\n documentation : "http://TiddlyWiki.bidix.info/#RSSReaderPluginDoc",\n author: 'BidiX (BidiX (at) bidix (dot) info',\n license: '[[BSD open source license|http://tiddlywiki.bidix.info/#%5B%5BBSD%20open%20source%20license%5D%5D]]',\n coreVersion: '2.0.0',\n browser: 'Firefox 1.5; InternetExplorer 6.0; Safari' \n};\n\nconfig.macros.rssReader = {\n dateFormat: "DDD, DD MMM YYYY",\n itemStyle: "display: block;border: 1px solid black;padding: 5px;margin: 5px;", //useed '@@'+itemStyle+itemText+'@@'\n msg:{\n permissionDenied: "Permission to read preferences was denied.",\n noRSSFeed: "No RSS Feed at this address %0",\n urlNotAccessible: " Access to %0 is not allowed"\n },\n cache: [], // url => request\n desc: "noDesc",\n // feedURL: "",\n place:"",\n handler: function(place,macroName,params,wikifier,paramString,tiddler){\n var desc = params[0];\n var feedURL = params[1];\n // var toFilter = (params[2] ? params[2] : false);\n var toFilter = false;\n var filterString;\n if (params[2] != undefined) {\n toFilter = true;\n if (params[2].match(/\sw+/))\n filterString = params[2];\n else\n filterString = tiddler.title;\n }\n var place = createTiddlyElement(place, "div", "RSSReader");\n wikify("^^<<rssFeedUpdate "+feedURL+" [[" + tiddler.title + "]]>>^^\sn",place);\n if (this.cache[feedURL]) {\n this.processResponse(this.cache[feedURL], feedURL, place, desc, toFilter, filterString);\n }\n else {\n this.asyncGet(feedURL, place, desc, toFilter, filterString);\n }\n },\n\n asyncGet: function (feedURL, place, desc, toFilter, filterString){\n var xmlhttp;\n try {xmlhttp=new XMLHttpRequest();}\n catch (e) {\n try {xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");}\n catch (e) {\n try {xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");}\n catch (e) { displayMessage(e.description?e.description:e.toString());}\n }\n }\n if (!xmlhttp){\n return;\n }\n if (window.netscape){\n try {\n if (document.location.protocol.indexOf("http") == -1) {\n netscape.security.PrivilegeManager.enablePrivilege("UniversalBrowserRead");\n }\n }\n catch (e) { displayMessage(e.description?e.description:e.toString()); }\n }\n xmlhttp.onreadystatechange=function (){\n if (xmlhttp.readyState==4) {\n if (xmlhttp.status==200 || xmlhttp.status===0) {\n config.macros.rssReader.processResponse(xmlhttp, feedURL, place, desc, toFilter, filterString);\n }\n else {\n displayMessage("Problem retrieving XML data:" + xmlhttp.statusText);\n }\n }\n };\n try {\n xmlhttp.open("GET",feedURL,true);\n if (config.browser.isIE) {\n xmlhttp.send();\n }\n else {\n xmlhttp.send(null);\n }\n }\n catch (e) {\n wikify(e.toString()+this.urlNotAccessible.format([feedURL]), place);\n }\n },\n processResponse: function(xmlhttp, feedURL, place, desc, toFilter, filterString){ \n if (window.netscape){\n try {\n if (document.location.protocol.indexOf("http") == -1) {\n netscape.security.PrivilegeManager.enablePrivilege("UniversalBrowserRead");\n }\n }\n catch (e) { displayMessage(e.description?e.description:e.toString()); }\n }\n if (xmlhttp.responseXML){\n this.cache[feedURL] = xmlhttp;\n this.genRssNews(xmlhttp.responseXML, place, feedURL, desc, toFilter, filterString);\n }\n else {\n var dom = (new DOMParser()).parseFromString(xmlhttp.responseText, "text/xml"); \n if (dom) {\n this.cache[feedURL] = xmlhttp;\n this.genRssNews(dom, place, feedURL, desc, toFilter, filterString);\n }\n else {\n wikify("<html>"+xmlhttp.responseText+"</html>", place);\n displayMessage(this.msg.noRSSFeed.format([feedURL]));\n }\n }\n },\n genRssNews: function(xml, place, feedURL, desc, toFilter, filterString){\n // Channel\n var chanelNode = xml.getElementsByTagName('channel').item(0);\n var chanelTitleElement = (chanelNode ? chanelNode.getElementsByTagName('title').item(0) : null);\n var chanelTitle = "";\n if ((chanelTitleElement) && (chanelTitleElement.firstChild)) chanelTitle = chanelTitleElement.firstChild.nodeValue;\n var chanelLinkElement = (chanelNode ? chanelNode.getElementsByTagName('link').item(0) : null);\n var chanelLink = "";\n if (chanelLinkElement) chanelLink = chanelLinkElement.firstChild.nodeValue;\n var titleTxt = "!![["+chanelTitle+"|"+chanelLink+"]]\sn";\n var title = createTiddlyElement(place,"div",null,"ChanelTitle",null);\n wikify(titleTxt,title);\n // ItemList\n var itemList = xml.getElementsByTagName('item');\n var article = createTiddlyElement(place,"ul",null,null,null);\n var lastDate;\n var re;\n if (toFilter) \n re = new RegExp(filterString.escapeRegExp());\n for (var i=0; i<itemList.length; i++){\n var titleElm = itemList[i].getElementsByTagName('title').item(0);\n var titleText = (titleElm ? titleElm.firstChild.nodeValue : '');\n if (toFilter && ! titleText.match(re)) {\n continue;\n }\n var descText = '';\n var isWikitext = false;\n var descElem = itemList[i].getElementsByTagName('wikitext').item(0);\n if (descElem){\n try{\n isWikitext = true;\n descText = "\sn"+descElem.firstChild.nodeValue;}\n catch(e){}\n }\n else {\n descElem = itemList[i].getElementsByTagName('encoded').item(0);\n if (descElem){\n try{descText = descElem.firstChild.nodeValue;}\n catch(e){}\n descText = "<html>"+descText+"</html>";\n }\n else {\n descElem = itemList[i].getElementsByTagName('description').item(0);\n if (descElem){\n try{descText = descElem.firstChild.nodeValue;}\n catch(e){}\n descText = descText.replace(/<br \s/>/g,'\sn');\n if (desc == "asHtml")\n descText = "<html>"+descText+"</html>";\n }\n }\n }\n var linkElm = itemList[i].getElementsByTagName("link").item(0);\n var linkURL = linkElm.firstChild.nodeValue;\n var pubElm = itemList[i].getElementsByTagName('pubDate').item(0);\n var pubDate;\n if (!pubElm) {\n pubElm = itemList[i].getElementsByTagName('date').item(0); // for del.icio.us\n if (pubElm) {\n pubDate = pubElm.firstChild.nodeValue;\n pubDate = this.formatDateString(this.dateFormat, pubDate);\n }\n else {\n pubDate = '0';\n }\n }\n else {\n pubDate = (pubElm ? pubElm.firstChild.nodeValue : 0);\n pubDate = this.formatString(this.dateFormat, pubDate);\n }\n titleText = titleText.replace(/\s[|\s]/g,'');\n var rssText = '** '+'[[' + titleText + '|' + linkURL + ']]' + '\sn' ;\n if ((desc != "noDesc") && descText){\n if (version.extensions.nestedSliders){\n rssText = rssText.replace(/\sn/g,' ');\n descText = '+++[...]\sn'\n +(isWikitext ? '\sn<<rssFeedImportTiddler '+ feedURL + ' [['+titleText+']]>>':'')\n +'@@'+this.itemStyle+descText+'\sn@@\sn'\n +'===';\n }\n rssText = rssText + descText + '\sn\sn';\n }\n var story;\n if ((lastDate != pubDate) && ( pubDate != '0')) {\n story = createTiddlyElement(article,"li",null,"RSSItem",pubDate);\n lastDate = pubDate;\n }\n else {\n lastDate = pubDate;\n }\n story = createTiddlyElement(article,"div",null,"RSSItem",null);\n wikify(rssText,story);\n }\n },\n formatString: function(template, theDate){\n var dateString = new Date(theDate);\n template = template.replace(/hh|mm|ss/g,'');\n return dateString.formatString(template);\n },\n formatDateString: function(template, theDate){\n var dateString = new Date(theDate.substr(0,4), theDate.substr(5,2) - 1, theDate.substr(8,2)\n /*, theDate.substr(11,2), theDate.substr(14,2), theDate.substr(17,2)*/\n );\n return dateString.formatString(template);\n }\n \n};\n//}}}\n\n//{{{\nconfig.macros.rssFeedUpdate = {\n label: "Update",\n prompt: "Clear the cache and redisplay this RssFeed",\n handler: function(place,macroName,params) {\n var feedURL = params[0];\n var tiddlerTitle = params[1];\n createTiddlyButton(place, this.label, this.prompt, \n function () {\n if (config.macros.rssReader.cache[feedURL]) {\n config.macros.rssReader.cache[feedURL] = null; \n //story.refreshTiddler(tiddlerTitle,null, true);\n }\n story.refreshTiddler(tiddlerTitle,null, true);\n return false;});\n }\n};\n//}}}\n\n//{{{\nconfig.macros.rssFeedImportTiddler = {\n label: "Import",\n prompt: "Import this tiddler in this TiddlyWiki",\n askReplaceMsg: "Tiddler already exists, replace it ?",\n handler: function(place,macroName,params) {\n var feedUrl = params[0];\n var tiddlerTitle = params[1];\n createTiddlyButton(place, this.label, this.prompt, \n function () {\n if (feedUrl && config.macros.rssReader.cache[feedUrl]) {\n var tiddler = config.macros.rssFeedImportTiddler.parseRssNews(config.macros.rssReader.cache[feedUrl].responseXML, tiddlerTitle);\n if (tiddler && (! store.getTiddler(tiddlerTitle) || confirm(config.macros.rssFeedImportTiddler.askReplaceMsg))) {\n store.addTiddler(tiddler);\n store.notify(tiddler.title, true);\n store.setDirty(true);\n }\n }\n return false;});\n },\n \n // parse a RssFeed for retrieving a Tiddler with title\n parseRssNews: function(xml, title) {\n // ItemList\n if (document.location.protocol.indexOf("http") == -1) {\n netscape.security.PrivilegeManager.enablePrivilege("UniversalBrowserRead");\n }\n\n var itemList = xml.getElementsByTagName('item');\n for (var i=0; i<itemList.length; i++){\n\n var titleElm = itemList[i].getElementsByTagName('title').item(0);\n var titleText = titleElm.firstChild.nodeValue;\n if (titleText == title) {\n // <tiddlywiki:title>\n // titleText\n titleText = titleText.htmlDecode();\n // <tiddlywiki:wikitext>\n var elem = itemList[i].getElementsByTagName('wikitext').item(0);\n var text = elem ? elem.firstChild.nodeValue.htmlDecode() : "";\n // <tiddlywiki:modifier>\n elem = itemList[i].getElementsByTagName('modifier').item(0);\n var modifier = elem ? elem.firstChild.nodeValue : "";\n // <tiddlywiki:modified>\n elem = itemList[i].getElementsByTagName('modified').item(0);\n var modified = elem ? Date.convertFromYYYYMMDDHHMM(elem.firstChild.nodeValue) : "";\n // <tiddlywiki:created>\n elem = itemList[i].getElementsByTagName('created').item(0);\n var created = elem ? Date.convertFromYYYYMMDDHHMM(elem.firstChild.nodeValue) : "";\n // <tiddlywiki:links>\n // Links ?\n // <tiddlywiki:tags>\n elem = itemList[i].getElementsByTagName('tags').item(0);\n var tags = elem ? elem.firstChild.nodeValue.htmlDecode() : "";\n var tiddler = new Tiddler();\n tiddler.assign(titleText,text,modifier,modified,tags,created);\n return tiddler;\n }\n }\n // not found \n alert("Tiddler \s[[" + title +"]] notFound.");\n return null;\n }\n\n};\n\n//}}}\n
/***\n|''Name:''|RefreshTiddlerPlugin|\n|''Description:''|Refresh an entire tiddler with optional periodic re-refresh|\n|''Date:''|Oct 3, 2006|\n|''Source:''|http://solo.dc3.com/tw/index.html#RefreshTiddlerPlugin|\n|''Author:''|Bob Denny ~DC-3 Dreams, SP|\n|''License:''|[[Creative Commons Attribution-ShareAlike 2.5 License|http://creativecommons.org/licenses/by-sa/2.5/]]|\n|''Version:''|1.0.4|\n|''~CoreVersion:''|2.0.11, 2.1.0|\n|''Browser:''|Firefox 1.5; Internet Explorer 6.0; Safari|\n|''Require:''|CheckboxPlugin (http://www.TiddlyTools.com/#CheckboxPlugin)|\nThis macro provides a tiddler with refresh control. Why would you want this? Perhaps for a webcam feed which is updated every 15, 30, 60 secs etc... or RSS feed from an active news site etc.\n\nAt a minimum, a refresh button appears at the location of the macro invocation. Clicking this button causes the contents of the tiddler to be refreshed. Optionally, a checkbox may also be displayed with which the user can enable and disable automatic periodic refresh of the tiddler at a specified interval.\n\nThere are three optional parameters\n|!Parameter|!Description|\n|''1''|Button label, default "Refresh"|\n|''2''|Button tooltip, default "Refresh this tiddler"|\n|''3''|Periodic refresh interval, sec., default 0 (no periodic refresh checkbox)|\n!!Revision History\n<<<\n''2006.09.13 [1.0.1]'' Initial creation, several days\n''2006.09.22 [1.0.2]'' Make periodic refresh checkbox optional\n''2006.09.29 [1.0.3]'' Refresh checkbox cookie names different from RefreshIframe.\n''2006.10.03 [1.0.4]'' Lint check, validate on TW 2.1.0.\n<<<\n!!Code\n***/\n//{{{\nversion.extensions.RefreshTiddler = {\n major: 1, minor: 0, revision: 4,\n date: new Date(2006, 10, 3), \n type: 'macro',\n source: "#RefreshTiddlerPlugin"\n};\n\nconfig.macros.RefreshTiddler = \n{\n states: { }, // Associative array of refresh states indexed by tiddler name\n \n handler: function(place, macroName, params, wikifier, paramString, tiddler)\n {\n var tidTitle = tiddler.title; // Shortcut\n if(!this.states[tidTitle]) this.states[tidTitle] = { // Array of state objects for refreshed tiddlers\n butLabel: "",\n butTooltip: "",\n refInterval: 0,\n doRefresh: false,\n initPerRef: false,\n timerId: 0,\n chkBox: null\n };\n var state = this.states[tidTitle]; // Shortcut\n state.butLabel = params[0] ? params[0] : "Refresh"; // Make these react to edits\n state.butTooltip = params[1] ? params[1] : "Refresh this tiddler";\n state.refInterval = params[2] ? params[2] : 0; // 0 = no periodic refresh checkbox\n var btn = createTiddlyButton(place, state.butLabel, state.butTooltip, this.onButClick);\n btn.name = tidTitle; // Set button name to tiddler name (see onButClick())\n if(state.refInterval > 0) // If periodic refresh wanted\n {\n wikify(" [ =chkPerRefTid" + tiddler.created.convertToYYYYMMDDHHMM() + // Uniquify chkbox ID\n "{config.macros.RefreshTiddler.states[\s"" + tidTitle + "\s"].chkBox = this;}" +\n "{config.macros.RefreshTiddler.onChkClick(\s"" + tidTitle + "\s");}] " + \n state.butLabel + " every " + state.refInterval + " seconds", place);\n state.timerId = 0;\n if(!state.initPerRef) this.onChkClick(tidTitle); // Simulate checkbox click (state already from cookie)\n }\n },\n \n onButClick: function(e) \n {\n if(!e) e = window.event;\n var tidTitle = resolveTarget(e).name; // Name is the tiddler name!\n //displayMessage("but " + tidTitle);\n story.refreshTiddler(tidTitle, null, true);\n return false;\n },\n \n onChkClick: function(tidTitle) \n {\n var state = this.states[tidTitle];\n if(state.chkBox.checked) {\n if(state.timerId) clearTimeout(state.timerId);\n this.startRefresh(tidTitle); \n } else { \n state.doRefresh = false;\n }\n state.initPerRef = true;\n },\n \n startRefresh: function(tidTitle) \n {\n var state = this.states[tidTitle];\n state.doRefresh = true;\n //displayMessage("st " + tidTitle + " " + state.refInterval);\n state.timerId = setTimeout("config.macros.RefreshTiddler.reRefresh(\s"" + \n tidTitle + "\s")", state.refInterval * 1000);\n },\n \n reRefresh: function(tidTitle)\n {\n var state = this.states[tidTitle];\n state.timerId = 0;\n if(!state.doRefresh) return;\n // Kill re-refresh cycle if tiddler closed or edited\n var tidElem = document.getElementById(story.idPrefix + tidTitle); // DON'T GET CUTE! THIS IS CORRECT!\n //**BUGBUG** Hardwired to EditTemplate!\n if(!tidElem || tidElem.attributes['template'].value == "EditTemplate") // Prevent hidden or editing\n {\n state.initPerRef = false;\n return;\n }\n //displayMessage("re " + tidTitle + " " + state.refInterval);\n story.refreshTiddler(tidTitle, null, true);\n state.timerId = setTimeout("config.macros.RefreshTiddler.reRefresh(\s"" + \n tidTitle + "\s")", state.refInterval * 1000);\n }\n};\n//}}}\n
|''Options''| € 0.15 | € 0.05 | € 0.20 | € 80 | € 20 | € 100 | € 320 | € 80 | € 400 |\n|''Futures''| € 0.25 | € 0.05 | € 0.30 | € 240 | € 60 | € 300 | € 480 | € 120 | € 600 |
/***\n|''Name:''|SinglePageModePlugin|\n|''Source:''|http://www.TiddlyTools.com/#SinglePageModePlugin|\n|''Author:''|Eric Shulman - ELS Design Studios|\n|''License:''|[[Creative Commons Attribution-ShareAlike 2.5 License|http://creativecommons.org/licenses/by-sa/2.5/]]|\n|''~CoreVersion:''|2.0.10|\n\nNormally, as you click on the links in TiddlyWiki, more and more tiddlers are displayed on the page. The order of this tiddler display depends upon when and where you have clicked. Some people like this non-linear method of reading the document, while others have reported that when many tiddlers have been opened, it can get somewhat confusing.\n\n!!!!!Usage\n<<<\nSinglePageMode allows you to configure TiddlyWiki to navigate more like a traditional multipage web site with only one item displayed at a time. When SinglePageMode is enabled, the title of the current tiddler is automatically displayed in the browser window's titlebar and the browser's location URL is updated with a 'permalink' for the current tiddler so that it is easier to create a browser 'bookmark' for the current tiddler.\n\nEven when SinglePageMode is disabled (i.e., displaying multiple tiddlers is permitted), you can reduce the potential for confusion by enable TopOfPageMode, which forces tiddlers to always open at the top of the page instead of being displayed following the tiddler containing the link that was clicked.\n<<<\n!!!!!Configuration\n<<<\nWhen installed, this plugin automatically adds checkboxes in the AdvancedOptions tiddler so you can enable/disable the plugin behavior. For convenience, these checkboxes are also included here:\n\n<<option chkSinglePageMode>> Display one tiddler at a time\n<<option chkTopOfPageMode>> Always open tiddlers at the top of the page\n<<<\n!!!!!Installation\n<<<\nimport (or copy/paste) the following tiddlers into your document:\n''SinglePageModePlugin'' (tagged with <<tag systemConfig>>)\n^^documentation and javascript for SinglePageMode handling^^\n\nWhen installed, this plugin automatically adds checkboxes in the ''shadow'' AdvancedOptions tiddler so you can enable/disable this behavior. However, if you have customized your AdvancedOptions, you will need to ''manually add these checkboxes to your customized tiddler.''\n<<<\n!!!!!Revision History\n<<<\n''2006.07.04 [2.2.1]'' in hijack for displayTiddlers(), suspend TPM as well as SPM so that DefaultTiddlers displays in the correct order.\n''2006.06.01 [2.2.0]'' added chkTopOfPageMode (TPM) handling\n''2006.02.04 [2.1.1]'' moved global variable declarations to config.* to avoid FireFox 1.5.0.1 crash bug when assigning to globals\n''2005.12.27 [2.1.0]'' hijack displayTiddlers() so that SPM can be suspended during startup while displaying the DefaultTiddlers (or #hash list). Also, corrected initialization for undefined SPM flag to "false", so default behavior is to display multiple tiddlers\n''2005.12.27 [2.0.0]'' Update for TW2.0\n''2005.11.24 [1.1.2]'' When the back and forward buttons are used, the page now changes to match the URL. Based on code added by Clint Checketts\n''2005.10.14 [1.1.1]'' permalink creation now calls encodeTiddlyLink() to handle tiddler titles with spaces in them\n''2005.10.14 [1.1.0]'' added automatic setting of window title and location bar ('auto-permalink'). feature suggestion by David Dickens.\n''2005.10.09 [1.0.1]'' combined documentation and code in a single tiddler\n''2005.08.15 [1.0.0]'' Initial Release\n<<<\n!!!!!Credits\n<<<\nThis feature was developed by EricShulman from [[ELS Design Studios|http:/www.elsdesign.com]].\nSupport for BACK/FORWARD buttons adapted from code developed by Clint Checketts\n<<<\n!!!!!Code\n***/\n//{{{\nStory.prototype.displayTiddler = function(srcElement,title,template,animate,slowly)\n{\n var place = document.getElementById(this.container);\n var theTiddler = document.getElementById(this.idPrefix + title);\n if(theTiddler)\n this.refreshTiddler(title,template);\n else\n {\n var before = this.positionTiddler(srcElement);\n theTiddler = this.createTiddler(place,before,title,template);\n }\n if(srcElement && typeof srcElement !== "string")\n {\n if(anim && config.options.chkAnimate && (animate == undefined || animate == true))\n anim.startAnimating(new Cascade(title,srcElement,theTiddler,slowly),new Scroller(theTiddler,slowly));\n else\n window.scrollTo(0,0);\n }\n}\n\n\n\nversion.extensions.SinglePageMode= {major: 2, minor: 2, revision: 1, date: new Date(2006,7,3)};\n\nconfig.options.chkSinglePageMode=true;\n\nif (config.options.chkSinglePageMode==undefined) config.options.chkSinglePageMode=false;\nconfig.shadowTiddlers.AdvancedOptions += "\sn<<option chkSinglePageMode>> Display one tiddler at a time";\n\nif (config.options.chkTopOfPageMode==undefined) config.options.chkTopOfPageMode=false;\nconfig.shadowTiddlers.AdvancedOptions += "\sn<<option chkTopOfPageMode>> Always open tiddlers at the top of the page";\n\nconfig.SPMTimer = 0;\nconfig.lastURL = window.location.hash;\nfunction checkLastURL()\n{\n if (!config.options.chkSinglePageMode)\n { window.clearInterval(config.SPMTimer); config.SPMTimer=0; return; }\n if (config.lastURL == window.location.hash)\n return;\n var tiddlerName = convertUTF8ToUnicode(decodeURI(window.location.hash.substr(1)));\n tiddlerName=tiddlerName.replace(/\s[\s[/,"").replace(/\s]\s]/,""); // strip any [[ ]] bracketing\n if (tiddlerName.length) story.displayTiddler(null,tiddlerName,1,null,null);\n}\n\nif (Story.prototype.SPM_coreDisplayTiddler==undefined) Story.prototype.SPM_coreDisplayTiddler=Story.prototype.displayTiddler;\nStory.prototype.displayTiddler = function(srcElement,title,template,animate,slowly)\n{\n if (config.options.chkSinglePageMode) {\n window.location.hash = encodeURIComponent(String.encodeTiddlyLink(title));\n config.lastURL = window.location.hash;\n document.title = wikifyPlain("SiteTitle") + " - " + title;\n story.closeAllTiddlers();\n if (!config.SPMTimer) config.SPMTimer=window.setInterval(function() {checkLastURL();},1000);\n }\n if (config.options.chkTopOfPageMode) { story.closeTiddler(title); window.scrollTo(0,0); srcElement=null; }\n this.SPM_coreDisplayTiddler(srcElement,title,template,animate,slowly)\n}\n\nif (Story.prototype.SPM_coreDisplayTiddlers==undefined) Story.prototype.SPM_coreDisplayTiddlers=Story.prototype.displayTiddlers;\nStory.prototype.displayTiddlers = function(srcElement,titles,template,unused1,unused2,animate,slowly)\n{\n // suspend single-page mode when displaying multiple tiddlers\n var saveSPM=config.options.chkSinglePageMode; config.options.chkSinglePageMode=false;\n var saveTPM=config.options.chkTopOfPageMode; config.options.chkTopOfPageMode=false;\n this.SPM_coreDisplayTiddlers(srcElement,titles,template,unused1,unused2,animate,slowly);\n config.options.chkSinglePageMode=saveSPM; config.options.chkTopOfPageMode=saveTPM;\n}\n//}}}
^^One cleared service end to end^^
<html><img src="http://www.liffe.com/images/euronextliffelogo.gif" align="right"></html>@@color(#e00):B@@@@color(#000):clear@@
http://bclearproject.tiddlyspot.com//
\n!Spanish Equities Fees\n|>|>|>| ''Fee Per Lot'' |>|>|>|>|>|>| ''Fee Cap'' |\n|~|~|~|~|>|>| !Proprietary Business |>|>| !Client Business |\n| | !Exchange Fee | !Clearing Fee | !Exercise/Cash Settlement Fee | !Exchange Fee | !Clearing Fee | !Exercise/Cash Settlement Fee | !Exchange Fee | !Clearing Fee | !Exercise/Cash Settlement Fee |\n|''Options''| € 0.05 | € 0.05 | € 0.10 | € 80 | € 20 | € 100 | € 320 | € 80 | € 400 |\n|''Futures''| € 0.25 | € 0.05 | € 0.30 | € 240 | € 60 | € 300 | € 480 | € 120 | € 600 |
!Spanish Minimum Volume Thresholds\n<<include ThresholdsHeader SpainMVT>><<tiddler SpEquitiesFees>>\n
| [[Spain]] | 100 | ~~N/A~~ | 100 | ~~N/A~~ | 500 | 100 |
/***\n\n''Inspired by [[TiddlyPom|http://www.warwick.ac.uk/~tuspam/tiddlypom.html]]''\n\n|Name|SplashScreenPlugin|\n|Created by|SaqImtiaz|\n|Location|http://tw.lewcid.org/#SplashScreenPlugin|\n|Version|0.21 |\n|Requires|~TW2.08+|\n!Description:\nProvides a simple splash screen that is visible while the TW is loading.\n\n!Installation\nCopy the source text of this tiddler to your TW in a new tiddler, tag it with systemConfig and save and reload. The SplashScreen will now be installed and will be visible the next time you reload your TW.\n\n!Customizing\nOnce the SplashScreen has been installed and you have reloaded your TW, the splash screen html will be present in the MarkupPreHead tiddler. You can edit it and customize to your needs.\n\n!History\n* 20-07-06 : version 0.21, modified to hide contentWrapper while SplashScreen is displayed.\n* 26-06-06 : version 0.2, first release\n\n!Code\n***/\n//{{{\nvar old_lewcid_splash_restart=restart;\n\nrestart = function()\n{ if (document.getElementById("SplashScreen"))\n document.getElementById("SplashScreen").style.display = "none";\n if (document.getElementById("contentWrapper"))\n document.getElementById("contentWrapper").style.display = "block";\n \n old_lewcid_splash_restart();\n \n if (splashScreenInstall)\n {if(config.options.chkAutoSave)\n {saveChanges();}\n displayMessage("TW SplashScreen has been installed, please save and refresh your TW.");\n }\n}\n\n\nvar oldText = store.getTiddlerText("MarkupPreHead");\nif (oldText.indexOf("SplashScreen")==-1)\n {var siteTitle = store.getTiddlerText("SiteTitle");\n var splasher='\sn\sn<style type="text/css">#contentWrapper {display:none;}</style><div id="SplashScreen" style="border: 3px solid #ccc; display: block; text-align: center; width: 320px; margin: 100px auto; padding: 50px; color:#000; font-size: 28px; font-family:Tahoma; background-color:#eee;"><b>'+siteTitle +'</b> is loading<blink> ...</blink><br><br><span style="font-size: 14px; color:red;">Requires Javascript.</span></div>';\n if (! store.tiddlerExists("MarkupPreHead"))\n {var myTiddler = store.createTiddler("MarkupPreHead");}\n else\n {var myTiddler = store.getTiddler("MarkupPreHead");}\n myTiddler.set(myTiddler.title,oldText+splasher,config.options.txtUserName,null,null);\n store.setDirty(true);\n var splashScreenInstall = true;\n}\n//}}}
<<rssReader asText proxy.cgi?url=http://bclear.tiddlyspot.com// 'Strategies'>>\n<<rssReader asText proxy.cgi?url=http://bclear.tiddlyspot.com/>>\nfbgzxdgh\n<<rssReader asText proxy.cgi?url=http://www.lemonde.fr/rss/sequence/0,2-3208,1-0,0.xml>>\n<html><table width="96%" style="border:1px;margin:1px;background:#666;clear:both;><iframe id="PublishedTrades" src="http://bcleartrades.euronext.co.uk/" width="600px" height="350px" scrolling="no" frameborder="10px"></iframe></table></html>\n<<RefreshTiddler>>\n<html><table width="96%" style="border:1px;margin:1px;background:#666;clear:both;><object type="text/html" data="http://bcleartrades.euronext.co.uk/" width="600px" height="350px" scrolling="no" frameborder="10px"></object></table></html><<RefreshTiddler>>
\n/***\nPlace your custom CSS here\n***/\n/*{{{*/\n\n[[SideBarWG]]\n\n/***\n!Top Menu Styles\n***/\n/*{{{*/\n#topMenu br {display:none; }\n#topMenu { background: #000 ; color:#fff;padding: 1em 1em;}\n/*}}}*/\n\n/***\n!General\n***/\n/*{{{*/\nbody {\n background: #444;\n margin: 0 auto;\n}\n\n #contentWrapper{\n background: #fff;\n border: 0;\n margin: 0 1em;\n\n padding:0;\n}\n/*}}}*/\n\n/***\n!Header rules\n***/\n/*{{{*/\n.titleLine{\n margin:14px 2.4em 0em 0em;\nmargin-left:1.7em;\nmargin-bottom: 7px;\n padding: 0;\n text-align: left;\n color: #fff;\n}\n\n.siteTitle {\n font-size: 3em;\n font-weight: bold;\n}\n\n.siteSubtitle {\n font-size: 1.1em;\n display: block;\n margin: .1em auto 1em;\n}\n\n.gradient {margin: 0 auto; border-bottom:1px solid #000;}\n\n\n\n.header {\n background: #fff; \n margin: 0 0em;\n padding:0 12px;\n\n}\n/*}}}*/\n\n/***\n!Display Area\n***/\n/*{{{*/\n#bodywrapper {margin:0 12px; padding:0;background:#fff; height:1%}\n\n#displayArea{\n margin: 0em 16em 0em 14em;\n text-align: left;\n}\n\n.tiddler {\n padding: 1em 1em 0em 0em;\n}\n\nh1,h2,h3,h4,h5 { color: #000; background: transparent; padding-bottom:2px; border-bottom: 1px dotted #666; }\n.title {color:black; font-size:1.8em; border-bottom:1px solid #333; padding-bottom:0.3px;}\n.subtitle { font-size:90%; color:#ccc; padding-left:0.25em; margin-top:0.1em; }\n\n.shadow .title {\n color: #aaa;\n}\n\n.tagClear{\n clear: none; \n}\n\n* html .viewer pre {\n margin-left: 0em;\n}\n\n* html .editor textarea, * html .editor input {\n width: 98%;\n}\n\n.tiddler {margin-bottom:1em; padding-bottom:0em;}\n\n\n.toolbar .button {color:#bbb; border:none;}\n.toolbar .button:hover, .toolbar .highlight, .toolbar .marked, .toolbar a.button:active {background:transparent; color:#111; border:none; text-decoration:underline;}\n\n#sidebar .highlight, #sidebar .marked {background:transparent;}\n\n.tagging, .tagged {\n border: 1px solid #eee;\n background-color: #F7F7F7;\n}\n\n.selected .tagging, .selected .tagged {\n background-color: #eee;\n border: 1px solid #bbb;\n}\n\n .tagging .listTitle, .tagged .listTitle {\n color: #bbb;\n}\n\n.selected .tagging .listTitle, .selected .tagged .listTitle {\n color: #222; \n}\n\n\n.tagging .button:hover, .tagged .button:hover {\n border: none; background:transparent; text-decoration:underline; color:#000;\n}\n\n.tagging .button, .tagged .button {\n color:#aaa;\n}\n\n.selected .tagging .button, .selected .tagged .button {\n color:#000;\n}\n\n.viewer blockquote {\n border-left: 3px solid #000;\n}\n\n.viewer pre, .viewer code {\n border: 1px dashed #ccc;\n background: #eee;}\n\n.viewer hr {\n border: 0;\n border-top: solid 1px #333;\n margin: 0 8em;\n color: #333;\n}\n\n.highlight, .marked {background:transparent; color:#111; border:none; text-decoration:underline;}\n\n.viewer .highlight, .viewer .marked {text-decoration:none;}\n\n#sidebarTabs .highlight, #sidebarTabs .marked {color:#000; text-decoration:none;}\n\n.tabSelected {\n color: #000;\n background: #fff;\n border-top: solid 1px #ccc;\n border-left: solid 1px #ccc;\n border-right: solid 1px #ccc;\n border-bottom: none;\n}\n\n.viewer .tabSelected:hover{color:#000;}\n\n.viewer .tabSelected {font-weight:bold;}\n\n.tabUnselected {\n color: #999;\n background: #eee;\n border-top: solid 1px #ccc;\n border-left: solid 1px #ccc;\n border-right: solid 1px #ccc;\n border-bottom: solid 1px #ccc;\n padding-bottom:1px;\n}\n\n.tabContents {\n background: #fff;\n color: #000;\n}\n\n.viewer iframe { border:solid 1px #ccc; }\n\n/*}}}*/\n/***\n!!!Tables\n***/\n/*{{{*/\n\n.borderless, .borderless td, .borderless tr, .borderless th,\n.borderless tbody\n{ border:0px solid #000 !important; }\n\n.viewer .noBorder, .noBorder td, .noBorder th {border: 0}\n\n.viewer th, thead td {\nbackground: #999;\nborder: 1px solid #666;\ncolor: #fff;\n}\n\n.viewer table {\nborder: 2px solid #ccc;\n}\n\n.viewer td, .viewer tr {\nborder: 1px solid #ccc; padding:4px;\n}\n\n/*}}}*/\n\n\n/***\n!!!Editor area\n***/\n/*{{{*/\n.editor input, .editor textarea {\n border: 1px solid #ccc;\n}\n\n.editor {padding-top:0.3em;}\n\n.editor textarea:focus, .editor input:focus {\n border: 1px solid #333;\n}\n/*}}}*/\n\n/***\n!Sidebar\n***/\n/*{{{*/\n#sidebar{\nposition:relative;\nfloat:right;\nmargin-bottom:1em;\ndisplay:inline;\nwidth: 16em;\n}\n\n#sidebarOptions .sliderPanel {\n background: #eee; border:1px solid #ccc;\n}\n\n/*}}}*/\n\n/***\n!Body Footer rules\n***/\n/*{{{*/\n#contentFooter {\n text-align: center;\n clear: both;\n color:#fff;\n background: #999;\n padding: 0.5em 1em;\nfont-weight:bold;\n}\n#contentFooter .tiddlyLink { color:#fff; } \n\n/*}}}*/\n/***\n!Link Styles\n***/\n/*{{{*/\na{\n color: #000;\n}\n\na:hover{\n color: #FF0000;\n background:#fff;\n}\n\n\n.button {\n color: #000;\n border: 1px solid #fff;\n}\n\n.button:hover {\n color: #fff;\n background: #FF0000;\n border-color: #000;\n}\n\n.button:active {\n color: #fff;\n background: #FF0000;\n border: 1px solid #000;\n}\n\n.tiddlyLink {border-bottom: 1px dotted #000;}\n.tiddlyLink:hover {border-bottom: 1px dotted #ff0000;} \n\n.titleLine a {border-bottom: 1px dotted #FF9900;}\n\n.titleLine a:hover {border-bottom: 1px dotted #fff;}\n\n.siteTitle a, .siteSubtitle a{\n color: #fff;\n}\n\n.viewer .button {border: 1px solid #FF0000; font-weight:bold;}\n.viewer .button:hover, .viewer .marked, .viewer .highlight{background:#FF0000; color:#fff; font-weight:bold; border: 1px solid #000;}\n\n#topMenu .button, #topMenu .tiddlyLink {\n margin-left:0.5em; margin-right:0.5em;\n padding-left:3px; padding-right:3px;\n color:white; font-weight:bold;\n}\n#topMenu .button:hover, #topMenu .tiddlyLink:hover { background:#000; color:#FF0000}\n\n#topMenu a{border:none;}\n/*}}}*/\n\n/***\n!Message Area /%=================================================%/\n***/\n/*{{{*/\n#messageArea {\n border: 4px dotted #666;\n background: #000;\n color: #fff;\n font-size:90%;\n}\n\n#messageArea .button {\n padding: 0.2em;\n color: #000;\n background: #fff;\n text-decoration:none;\n font-weight:bold;\n border:1px solid #000; \n}\n\n#messageArea a {color:#fff;}\n\n#messageArea a:hover {color:#666; background:transparent;}\n\n#messageArea .button:hover {background: #666; color:#fff; border:1px solid #fff; }\n\n/*}}}*/\n\n/***\n!Popup /%=================================================%/\n***/\n/*{{{*/\n.popup {\n background: #ccc;\n border: 1px solid #333;\n}\n\n.popup hr {\n color: #333;\n background: #333;\n border-bottom: 1px;\n}\n\n.popup li.disabled {\n color: #333;\n}\n\n.popup li a, .popup li a:visited {\n color: #eee;\n border: none;\n}\n\n.popup li a:hover {\n background: #ccc;\n color: #fff;\n border: none;\n text-decoration:underline;\n}\n\n.searchBar {float:right; font-size:1em;}\n.searchBar .button {display:block; border:none; color:#ccc; }\n.searchBar .button:hover{border:none; color:#eee;}\n\n.searchBar input{\n border: 1px inset #000; background:#EFDFD1; width:10em; margin:0;\n}\n\n.searchBar input:focus {\n border: 1px inset #000; background:#fff;\n}\n\n*html .titleLine {margin-right:1.3em;}\n\n*html .searchBar .button {margin-left:1.7em;}\n\n .HideSideBarButton {float:right;} \n/*}}}*/\n\n.blog h2, .blog h3, .blog h4{\n margin:0;\n padding:0;\nborder-bottom:none;\n}\n.blog {margin-left:1.5em;} \n\n\n.blog .excerpt {\n margin:0;\nmargin-top:0.3em;\n padding: 0;\n margin-left:1em;\n padding-left:1em;\n font-size:90%;\n border-left:1px solid #ddd;\n}\n\n#tiddlerWhatsNew h1, #tiddlerWhatsNew h2 {border-bottom:none;}\ndiv[tags~="RecentUpdates"], div[tags~="lewcidExtension"] {margin-bottom: 2em;}\n\n#hoverMenu .button, #hoverMenu .tiddlyLink {border:none; font-weight:bold; background:#f37211; color:#fff; padding:0 5px; float:right; margin-bottom:4px;}\n#hoverMenu .button:hover, #hoverMenu .tiddlyLink:hover {font-weight:bold; border:none; color:#f37211; background:#000; padding:0 5px; float:right; margin-bottom:4px;}\n\n#topMenu .fontResizer {float:right;}\n\n#topMenu .fontResizer .button{border:1px solid #000;}\n#topMenu .fontResizer .button:hover {border:1px solid #f37211; color:#fff;}\n#sidebarTabs .txtMainTab .tiddlyLinkExisting {\n font-weight: normal;\n font-style: normal;\n}\n\n#sidebarTabs .txtMoreTab .tiddlyLinkExisting {\n font-weight: bold;\n font-style: normal;\n}\n\n\n\n\n\n#displayArea {margin-right:1em;}\n\n.headerShadow {\n position: relative;\n padding: 2.5em 0em 1em 1em;\n left: -1px;\n top: -1px;\n}\n\n.headerForeground {\n position: absolute;\n padding: 2.5em 0em 1em 1em;\n left: 0px;\n top: 0px;\n}\n\n.siteTitle {\n font-size: 4.2em;\n}\n\n.siteSubtitle {\n font-size: 1.24em;\n}\n\n#mainMenu {float:left; position:relative;}\n\n\n.viewer .button {border: 1px solid #FF0000; font-weight:bold;}\n.viewer .button:hover, .viewer .marked, .viewer .highlight{background:#FF0000; color:#fff; font-weight:bold; border: 1px solid #FF0000;}\n[[StyleSheetCommon]]\n/*}}}*/\n\n
.centre {text-align:center; margin:0;}\n.centre img {margin:0 auto;}\n\n.title, h1 {font-size: 1.6em; font-weight:bold; background:transparent; margin-top:0;margin-bottom:0; color:#000;}\n\nh2 {font-size: 1.45em; font-weight:bold; background:transparent; margin-top:0;margin-bottom:0; color:#000;}\n\n#mainMenu {width:14em;}\n#displayArea {margin-left:18em;}\n\n.left {float:left; margin-right:1em;}\n.bold {font-weight:bold;}\n\n\n\n.topbutton button, .topbutton{float:right;}\n\n.note{\n position:relative; /*this is the key*/\n z-index:24; background:#ccc;\n color:#000;\n text-decoration:none}\n\n.note:hover, .noteover{z-index:25; background-color:#FFB865;cursor:help;}\n\n.note span{display: none;}\n\n.note:hover span, .noteover span{ /*the span will display just on :hover state*/\n display:block;\n position:absolute;\n top:2em; left:2em; width:15em;\n border:1px solid #000;\n background-color:#FFB35A; color:#000;\n padding:0.5em;}\n\n\n\n.info{\n position:relative; /*this is the key*/\n z-index:24; background:#ccc;\n color:#000;\n text-decoration:none}\n\n.info:hover, .infoover{z-index:25; background-color:#FFB865;cursor:help;}\n\n.info span{display: none}\n\n.info:hover span, .infoover span{ /*the span will display just on :hover state*/\n display:block;\n position:absolute;\n top:2em; left:2em; width:15em;\n border:1px solid #000;\n background-color:#FFB35A; color:#000;\n padding:0.5em;}\n\n.bold {font-weight: bold !important;}
\n!Swedish Equities Fees\n<<include FeesHeader ScandFees>>
!Swedish Minimum Volume Thresholds\n<<include ThresholdsHeader SwedenMVT>><<tiddler SwEquitiesFees>>\n
| [[Sweden]] | 500 | ~~N/A~~ | 100 | ~~N/A~~ | 500 | 100 |
\n!Swiss Equities Fees\n|>|>|>| ''Fee Per Lot'' |>|>|>|>|>|>| ''Fee Cap'' |\n|~|~|~|~|>|>| !Proprietary Business |>|>| !Client Business |\n| | !Exchange Fee | !Clearing Fee | !Exercise/Cash Settlement Fee | !Exchange Fee | !Clearing Fee | !Exercise/Cash Settlement Fee | !Exchange Fee | !Clearing Fee | !Exercise/Cash Settlement Fee |\n|''Options''| € 0.25 | € 0.03 | € 0.28 | € 60 | € 15 | € 75 | € 120 | € 30 | € 150 |\n|''Futures''| € 0.17 | € 0.03 | € 0.20 | € 160 | € 40 | € 200 | € 320 | € 80 | € 400 |
!Swiss Minimum Volume Thresholds\n<<include ThresholdsHeader SwitzerlandMVT>><<tiddler SwissEquitiesFees>>\n
| [[Switzerland]] | 100 | ~~N/A~~ | 100 | ~~N/A~~ | 500 | 100 |
| !Underlying Country | !Standard Stock Option Contracts | !Standard Index Futures and Options | !Flexible Single Stock Options | !Flexible Index Options | !Standard ~USFs | !Flexible ~USFs |
Tiddler.prototype.getSubtitle = function()\n{\n return(this.title);\n}
config.macros.top={};\nconfig.macros.top.handler=function(place,macroName)\n{\n createTiddlyButton(place,"^","jump to top",this.onclick);\n}\nconfig.macros.top.onclick=function()\n{\n window.scrollTo(0,0);\n};
!Total Flexibility\n*Maturity date – any business day out to five years for single stock futures and options; five and a half years for index futures and options\n*Exercise price – 1% - 1000% of underlying stock/index for most products; strike increments in whole cents<<note 2>>/pennies/index points, etc\n*Exercise style – American or European\n*Settlement style – Cash or Physical\n*Optional publication of trade details to the market\n^^* Swiss contracts 0.05/0.10^^\n
!US Minimum Volume Thresholds\n<<include ThresholdsHeader USMVT>><<tiddler USEquitiesFees>>\n
!UK Minimum Volume Thresholds\n<<include ThresholdsHeader UKMVT>><<tiddler UKEquitiesFees>>\n
\n!UK Equities Fees\n|>|>|>| ''Fee Per Lot'' |>|>|>|>|>|>| ''Fee Cap'' |\n|~|~|~|~|>|>| !Proprietary Business |>|>| !Client Business |\n| | !Exchange Fee | !Clearing Fee | !Exercise/Cash Settlement Fee | !Exchange Fee | !Clearing Fee | !Exercise/Cash Settlement Fee | !Exchange Fee | !Clearing Fee | !Exercise/Cash Settlement Fee |\n|''Options''| £ 0.25 | £ 0.03 | £ 0.28 | £ 60 | £ 15 | £ 75 | £ 120 | £ 30 | £ 150 |\n|''Futures''| £ 0.17 | £ 0.03 | £ 0.20 | £ 160 | £ 40 | £ 200 | £ 320 | £ 80 | £ 400 |
| [[UK]] | 250 | 500 | 100 | 100 | 500 | 100 |
\n!US Equities Fees\n|>|>|>| ''Fee Per Lot'' |>|>|>|>|>|>| ''Fee Cap'' |\n|~|~|~|~|>|>| !Proprietary Business |>|>| !Client Business |\n| | !Exchange Fee | !Clearing Fee | !Exercise/Cash Settlement Fee | !Exchange Fee | !Clearing Fee | !Exercise/Cash Settlement Fee | !Exchange Fee | !Clearing Fee | !Exercise/Cash Settlement Fee |\n|''Options''| $ 0.25 | $ 0.03 | $ 0.28 | $ 60 | $ 15 | $ 75 | $ 120 | $ 30 | $ 150 |\n|''Futures''| $ 0.17 | $ 0.03 | $ 0.20 | $ 160 | $ 40 | $ 200 | $ 320 | $ 80 | $ 400 |
| [[U.S.]] | ~~N/A~~ | ~~N/A~~ | ~~N/A~~ | ~~N/A~~ | 500 | 100 |
| !date | !user | !location | !storeUrl | !uploadDir | !toFilename | !backupdir | !origin |\n| 11/1/2007 2:15:58 | Euronext.liffe | [[/|http://bclearproject.tiddlyspot.com/#UploadLog]] | [[store.cgi|http://bclearproject.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 11/1/2007 2:16:46 | Euronext.liffe | [[/|http://bclearproject.tiddlyspot.com/#SiteSubtitle]] | [[store.cgi|http://bclearproject.tiddlyspot.com/store.cgi]] | . | index.html | . |\n| 11/1/2007 16:35:10 | Euronext.liffe | [[/|http://bclearproject.tiddlyspot.com/#MainMenu]] | [[store.cgi|http://bclearproject.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 11/1/2007 16:36:31 | Euronext.liffe | [[/|http://bclearproject.tiddlyspot.com/#MainMenu]] | [[store.cgi|http://bclearproject.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 11/1/2007 16:46:16 | Euronext.liffe | [[/|http://bclearproject.tiddlyspot.com/#%5B%5BFee%20Structure%5D%5D]] | [[store.cgi|http://bclearproject.tiddlyspot.com/store.cgi]] | . | index.html | . | Ok |\n| 11/1/2007 17:47:12 | Euronext.liffe | [[/|http://bclearproject.tiddlyspot.com/#%5B%5BFee%20Structure%5D%5D]] | [[store.cgi|http://bclearproject.tiddlyspot.com/store.cgi]] | . | index.html | . |
/***\n|''Name:''|UploadPlugin|\n|''Description:''|Save to web a TiddlyWiki|\n|''Version:''|3.4.4|\n|''Date:''|Sep 30, 2006|\n|''Source:''|http://tiddlywiki.bidix.info/#UploadPlugin|\n|''Documentation:''|http://tiddlywiki.bidix.info/#UploadDoc|\n|''Author:''|BidiX (BidiX (at) bidix (dot) info)|\n|''License:''|[[BSD open source license|http://tiddlywiki.bidix.info/#%5B%5BBSD%20open%20source%20license%5D%5D ]]|\n|''~CoreVersion:''|2.0.0|\n|''Browser:''|Firefox 1.5; InternetExplorer 6.0; Safari|\n|''Include:''|config.lib.file; config.lib.log; config.lib.options; PasswordTweak|\n|''Require:''|[[UploadService|http://tiddlywiki.bidix.info/#UploadService]]|\n***/\n//{{{\nversion.extensions.UploadPlugin = {\n major: 3, minor: 4, revision: 4, \n date: new Date(2006,8,30),\n source: 'http://tiddlywiki.bidix.info/#UploadPlugin',\n documentation: 'http://tiddlywiki.bidix.info/#UploadDoc',\n author: 'BidiX (BidiX (at) bidix (dot) info',\n license: '[[BSD open source license|http://tiddlywiki.bidix.info/#%5B%5BBSD%20open%20source%20license%5D%5D]]',\n coreVersion: '2.0.0',\n browser: 'Firefox 1.5; InternetExplorer 6.0; Safari'\n};\n//}}}\n\n////+++!![config.lib.file]\n\n//{{{\nif (!config.lib) config.lib = {};\nif (!config.lib.file) config.lib.file= {\n author: 'BidiX',\n version: {major: 0, minor: 1, revision: 0}, \n date: new Date(2006,3,9)\n};\nconfig.lib.file.dirname = function (filePath) {\n var lastpos;\n if ((lastpos = filePath.lastIndexOf("/")) != -1) {\n return filePath.substring(0, lastpos);\n } else {\n return filePath.substring(0, filePath.lastIndexOf("\s\s"));\n }\n};\nconfig.lib.file.basename = function (filePath) {\n var lastpos;\n if ((lastpos = filePath.lastIndexOf("#")) != -1) \n filePath = filePath.substring(0, lastpos);\n if ((lastpos = filePath.lastIndexOf("/")) != -1) {\n return filePath.substring(lastpos + 1);\n } else\n return filePath.substring(filePath.lastIndexOf("\s\s")+1);\n};\nwindow.basename = function() {return "@@deprecated@@";};\n//}}}\n////===\n\n////+++!![config.lib.log]\n\n//{{{\nif (!config.lib) config.lib = {};\nif (!config.lib.log) config.lib.log= {\n author: 'BidiX',\n version: {major: 0, minor: 1, revision: 1}, \n date: new Date(2006,8,19)\n};\nconfig.lib.Log = function(tiddlerTitle, logHeader) {\n if (version.major < 2)\n this.tiddler = store.tiddlers[tiddlerTitle];\n else\n this.tiddler = store.getTiddler(tiddlerTitle);\n if (!this.tiddler) {\n this.tiddler = new Tiddler();\n this.tiddler.title = tiddlerTitle;\n this.tiddler.text = "| !date | !user | !location |" + logHeader;\n this.tiddler.created = new Date();\n this.tiddler.modifier = config.options.txtUserName;\n this.tiddler.modified = new Date();\n if (version.major < 2)\n store.tiddlers[tiddlerTitle] = this.tiddler;\n else\n store.addTiddler(this.tiddler);\n }\n return this;\n};\n\nconfig.lib.Log.prototype.newLine = function (line) {\n var now = new Date();\n var newText = "| ";\n newText += now.getDate()+"/"+(now.getMonth()+1)+"/"+now.getFullYear() + " ";\n newText += now.getHours()+":"+now.getMinutes()+":"+now.getSeconds()+" | ";\n newText += config.options.txtUserName + " | ";\n var location = document.location.toString();\n var filename = config.lib.file.basename(location);\n if (!filename) filename = '/';\n newText += "[["+filename+"|"+location + "]] |";\n this.tiddler.text = this.tiddler.text + "\sn" + newText;\n this.addToLine(line);\n};\n\nconfig.lib.Log.prototype.addToLine = function (text) {\n this.tiddler.text = this.tiddler.text + text;\n this.tiddler.modifier = config.options.txtUserName;\n this.tiddler.modified = new Date();\n if (version.major < 2)\n store.tiddlers[this.tiddler.tittle] = this.tiddler;\n else {\n store.addTiddler(this.tiddler);\n story.refreshTiddler(this.tiddler.title);\n store.notify(this.tiddler.title, true);\n }\n if (version.major < 2)\n store.notifyAll(); \n};\n//}}}\n////===\n\n////+++!![config.lib.options]\n\n//{{{\nif (!config.lib) config.lib = {};\nif (!config.lib.options) config.lib.options = {\n author: 'BidiX',\n version: {major: 0, minor: 1, revision: 0}, \n date: new Date(2006,3,9)\n};\n\nconfig.lib.options.init = function (name, defaultValue) {\n if (!config.options[name]) {\n config.options[name] = defaultValue;\n saveOptionCookie(name);\n }\n};\n//}}}\n////===\n\n////+++!![PasswordTweak]\n\n//{{{\nversion.extensions.PasswordTweak = {\n major: 1, minor: 0, revision: 3, date: new Date(2006,8,30),\n type: 'tweak',\n source: 'http://tiddlywiki.bidix.info/#PasswordTweak'\n};\n//}}}\n/***\n!!config.macros.option\n***/\n//{{{\nconfig.macros.option.passwordCheckboxLabel = "Save this password on this computer";\nconfig.macros.option.passwordType = "password"; // password | text\n\nconfig.macros.option.onChangeOption = function(e)\n{\n var opt = this.getAttribute("option");\n var elementType,valueField;\n if(opt) {\n switch(opt.substr(0,3)) {\n case "txt":\n elementType = "input";\n valueField = "value";\n break;\n case "pas":\n elementType = "input";\n valueField = "value";\n break;\n case "chk":\n elementType = "input";\n valueField = "checked";\n break;\n }\n config.options[opt] = this[valueField];\n saveOptionCookie(opt);\n var nodes = document.getElementsByTagName(elementType);\n for(var t=0; t<nodes.length; t++) \n {\n var optNode = nodes[t].getAttribute("option");\n if (opt == optNode) \n nodes[t][valueField] = this[valueField];\n }\n }\n return(true);\n};\n\nconfig.macros.option.handler = function(place,macroName,params)\n{\n var opt = params[0];\n if(config.options[opt] === undefined) {\n return;}\n var c;\n switch(opt.substr(0,3)) {\n case "txt":\n c = document.createElement("input");\n c.onkeyup = this.onChangeOption;\n c.setAttribute ("option",opt);\n c.className = "txtOptionInput "+opt;\n place.appendChild(c);\n c.value = config.options[opt];\n break;\n case "pas":\n // input password\n c = document.createElement ("input");\n c.setAttribute("type",config.macros.option.passwordType);\n c.onkeyup = this.onChangeOption;\n c.setAttribute("option",opt);\n c.className = "pasOptionInput "+opt;\n place.appendChild(c);\n c.value = config.options[opt];\n // checkbox link with this password "save this password on this computer"\n c = document.createElement("input");\n c.setAttribute("type","checkbox");\n c.onclick = this.onChangeOption;\n c.setAttribute("option","chk"+opt);\n c.className = "chkOptionInput "+opt;\n place.appendChild(c);\n c.checked = config.options["chk"+opt];\n // text savePasswordCheckboxLabel\n place.appendChild(document.createTextNode(config.macros.option.passwordCheckboxLabel));\n break;\n case "chk":\n c = document.createElement("input");\n c.setAttribute("type","checkbox");\n c.onclick = this.onChangeOption;\n c.setAttribute("option",opt);\n c.className = "chkOptionInput "+opt;\n place.appendChild(c);\n c.checked = config.options[opt];\n break;\n }\n};\n//}}}\n/***\n!! Option cookie stuff\n***/\n//{{{\nwindow.loadOptionsCookie_orig_PasswordTweak = window.loadOptionsCookie;\nwindow.loadOptionsCookie = function()\n{\n var cookies = document.cookie.split(";");\n for(var c=0; c<cookies.length; c++) {\n var p = cookies[c].indexOf("=");\n if(p != -1) {\n var name = cookies[c].substr(0,p).trim();\n var value = cookies[c].substr(p+1).trim();\n switch(name.substr(0,3)) {\n case "txt":\n config.options[name] = unescape(value);\n break;\n case "pas":\n config.options[name] = unescape(value);\n break;\n case "chk":\n config.options[name] = value == "true";\n break;\n }\n }\n }\n};\n\nwindow.saveOptionCookie_orig_PasswordTweak = window.saveOptionCookie;\nwindow.saveOptionCookie = function(name)\n{\n var c = name + "=";\n switch(name.substr(0,3)) {\n case "txt":\n c += escape(config.options[name].toString());\n break;\n case "chk":\n c += config.options[name] ? "true" : "false";\n // is there an option link with this chk ?\n if (config.options[name.substr(3)]) {\n saveOptionCookie(name.substr(3));\n }\n break;\n case "pas":\n if (config.options["chk"+name]) {\n c += escape(config.options[name].toString());\n } else {\n c += "";\n }\n break;\n }\n c += "; expires=Fri, 1 Jan 2038 12:00:00 UTC; path=/";\n document.cookie = c;\n};\n//}}}\n/***\n!! Initializations\n***/\n//{{{\n// define config.options.pasPassword\nif (!config.options.pasPassword) {\n config.options.pasPassword = 'defaultPassword';\n window.saveOptionCookie('pasPassword');\n}\n// since loadCookies is first called befor password definition\n// we need to reload cookies\nwindow.loadOptionsCookie();\n//}}}\n////===\n\n////+++!![config.macros.upload]\n\n//{{{\nconfig.macros.upload = {\n accessKey: "U",\n formName: "UploadPlugin",\n contentType: "text/html;charset=UTF-8",\n defaultStoreScript: "store.php"\n};\n\n// only this two configs need to be translated\nconfig.macros.upload.messages = {\n aboutToUpload: "About to upload TiddlyWiki to %0",\n backupFileStored: "Previous file backuped in %0",\n crossDomain: "Certainly a cross-domain isue: access to an other site isn't allowed",\n errorDownloading: "Error downloading",\n errorUploadingContent: "Error uploading content",\n fileLocked: "Files is locked: You are not allowed to Upload",\n fileNotFound: "file to upload not found",\n fileNotUploaded: "File %0 NOT uploaded",\n mainFileUploaded: "Main TiddlyWiki file uploaded to %0",\n passwordEmpty: "Unable to upload, your password is empty",\n urlParamMissing: "url param missing",\n rssFileNotUploaded: "RssFile %0 NOT uploaded",\n rssFileUploaded: "Rss File uploaded to %0"\n};\n\nconfig.macros.upload.label = {\n promptOption: "Save and Upload this TiddlyWiki with UploadOptions",\n promptParamMacro: "Save and Upload this TiddlyWiki in %0",\n saveLabel: "save to web", \n saveToDisk: "save to disk",\n uploadLabel: "upload" \n};\n\nconfig.macros.upload.handler = function(place,macroName,params){\n // parameters initialization\n var storeUrl = params[0];\n var toFilename = params[1];\n var backupDir = params[2];\n var uploadDir = params[3];\n var username = params[4];\n var password; // for security reason no password as macro parameter\n var label;\n if (document.location.toString().substr(0,4) == "http")\n label = this.label.saveLabel;\n else\n label = this.label.uploadLabel;\n var prompt;\n if (storeUrl) {\n prompt = this.label.promptParamMacro.toString().format([this.toDirUrl(storeUrl, uploadDir, username)]);\n }\n else {\n prompt = this.label.promptOption;\n }\n createTiddlyButton(place, label, prompt, \n function () {\n config.macros.upload.upload(storeUrl, toFilename, uploadDir, backupDir, username, password); \n return false;}, \n null, null, this.accessKey);\n};\nconfig.macros.upload.UploadLog = function() {\n return new config.lib.Log('UploadLog', " !storeUrl | !uploadDir | !toFilename | !backupdir | !origin |" );\n};\nconfig.macros.upload.UploadLog.prototype = config.lib.Log.prototype;\nconfig.macros.upload.UploadLog.prototype.startUpload = function(storeUrl, toFilename, uploadDir, backupDir) {\n var line = " [[" + config.lib.file.basename(storeUrl) + "|" + storeUrl + "]] | ";\n line += uploadDir + " | " + toFilename + " | " + backupDir + " |";\n this.newLine(line);\n};\nconfig.macros.upload.UploadLog.prototype.endUpload = function() {\n this.addToLine(" Ok |");\n};\nconfig.macros.upload.basename = config.lib.file.basename;\nconfig.macros.upload.dirname = config.lib.file.dirname;\nconfig.macros.upload.toRootUrl = function (storeUrl, username)\n{\n return root = (this.dirname(storeUrl)?this.dirname(storeUrl):this.dirname(document.location.toString()));\n}\nconfig.macros.upload.toDirUrl = function (storeUrl, uploadDir, username)\n{\n var root = this.toRootUrl(storeUrl, username);\n if (uploadDir && uploadDir != '.')\n root = root + '/' + uploadDir;\n return root;\n}\nconfig.macros.upload.toFileUrl = function (storeUrl, toFilename, uploadDir, username)\n{\n return this.toDirUrl(storeUrl, uploadDir, username) + '/' + toFilename;\n}\nconfig.macros.upload.upload = function(storeUrl, toFilename, uploadDir, backupDir, username, password)\n{\n // parameters initialization\n storeUrl = (storeUrl ? storeUrl : config.options.txtUploadStoreUrl);\n toFilename = (toFilename ? toFilename : config.options.txtUploadFilename);\n backupDir = (backupDir ? backupDir : config.options.txtUploadBackupDir);\n uploadDir = (uploadDir ? uploadDir : config.options.txtUploadDir);\n username = (username ? username : config.options.txtUploadUserName);\n password = config.options.pasUploadPassword; // for security reason no password as macro parameter\n if (!password || password === '') {\n alert(config.macros.upload.messages.passwordEmpty);\n return;\n }\n if (storeUrl === '') {\n storeUrl = config.macros.upload.defaultStoreScript;\n }\n if (config.lib.file.dirname(storeUrl) === '') {\n storeUrl = config.lib.file.dirname(document.location.toString())+'/'+storeUrl;\n }\n if (toFilename === '') {\n toFilename = config.lib.file.basename(document.location.toString());\n }\n\n clearMessage();\n // only for forcing the message to display\n if (version.major < 2)\n store.notifyAll();\n if (!storeUrl) {\n alert(config.macros.upload.messages.urlParamMissing);\n return;\n }\n // Check that file is not locked\n if (window.BidiX && BidiX.GroupAuthoring && BidiX.GroupAuthoring.lock) {\n if (BidiX.GroupAuthoring.lock.isLocked() && !BidiX.GroupAuthoring.lock.isMyLock()) {\n alert(config.macros.upload.messages.fileLocked);\n return;\n }\n }\n \n var log = new this.UploadLog();\n log.startUpload(storeUrl, toFilename, uploadDir, backupDir);\n if (document.location.toString().substr(0,5) == "file:") {\n saveChanges();\n }\n var toDir = config.macros.upload.toDirUrl(storeUrl, toFilename, uploadDir, username);\n displayMessage(config.macros.upload.messages.aboutToUpload.format([toDir]), toDir);\n this.uploadChanges(storeUrl, toFilename, uploadDir, backupDir, username, password);\n if(config.options.chkGenerateAnRssFeed) {\n //var rssContent = convertUnicodeToUTF8(generateRss());\n var rssContent = generateRss();\n var rssPath = toFilename.substr(0,toFilename.lastIndexOf(".")) + ".xml";\n this.uploadContent(rssContent, storeUrl, rssPath, uploadDir, '', username, password, \n function (responseText) {\n if (responseText.substring(0,1) != '0') {\n displayMessage(config.macros.upload.messages.rssFileNotUploaded.format([rssPath]));\n }\n else {\n var toFileUrl = config.macros.upload.toFileUrl(storeUrl, rssPath, uploadDir, username);\n displayMessage(config.macros.upload.messages.rssFileUploaded.format(\n [toFileUrl]), toFileUrl);\n }\n // for debugging store.php uncomment last line\n //DEBUG alert(responseText);\n });\n }\n return;\n};\n\nconfig.macros.upload.uploadChanges = function(storeUrl, toFilename, uploadDir, backupDir, \n username, password) {\n var original;\n if (document.location.toString().substr(0,4) == "http") {\n original = this.download(storeUrl, toFilename, uploadDir, backupDir, username, password);\n return;\n }\n else {\n // standard way : Local file\n \n original = loadFile(getLocalPath(document.location.toString()));\n if(window.Components) {\n // it's a mozilla browser\n try {\n netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");\n var converter = Components.classes["@mozilla.org/intl/scriptableunicodeconverter"]\n .createInstance(Components.interfaces.nsIScriptableUnicodeConverter);\n converter.charset = "UTF-8";\n original = converter.ConvertToUnicode(original);\n }\n catch(e) {\n }\n }\n }\n //DEBUG alert(original);\n this.uploadChangesFrom(original, storeUrl, toFilename, uploadDir, backupDir, \n username, password);\n};\n\nconfig.macros.upload.uploadChangesFrom = function(original, storeUrl, toFilename, uploadDir, backupDir, \n username, password) {\n var startSaveArea = '<div id="' + 'storeArea">'; // Split up into two so that indexOf() of this source doesn't find it\n var endSaveArea = '</d' + 'iv>';\n // Locate the storeArea div's\n var posOpeningDiv = original.indexOf(startSaveArea);\n var posClosingDiv = original.lastIndexOf(endSaveArea);\n if((posOpeningDiv == -1) || (posClosingDiv == -1))\n {\n alert(config.messages.invalidFileError.format([document.location.toString()]));\n return;\n }\n var revised = original.substr(0,posOpeningDiv + startSaveArea.length) + \n allTiddlersAsHtml() + "\sn\st\st" +\n original.substr(posClosingDiv);\n var newSiteTitle;\n if(version.major < 2){\n newSiteTitle = (getElementText("siteTitle") + " - " + getElementText("siteSubtitle")).htmlEncode();\n } else {\n newSiteTitle = (wikifyPlain ("SiteTitle") + " - " + wikifyPlain ("SiteSubtitle")).htmlEncode();\n }\n\n revised = revised.replaceChunk("<title"+">","</title"+">"," " + newSiteTitle + " ");\n revised = revised.replaceChunk("<!--PRE-HEAD-START--"+">","<!--PRE-HEAD-END--"+">","\sn" + store.getTiddlerText("MarkupPreHead","") + "\sn");\n revised = revised.replaceChunk("<!--POST-HEAD-START--"+">","<!--POST-HEAD-END--"+">","\sn" + store.getTiddlerText("MarkupPostHead","") + "\sn");\n revised = revised.replaceChunk("<!--PRE-BODY-START--"+">","<!--PRE-BODY-END--"+">","\sn" + store.getTiddlerText("MarkupPreBody","") + "\sn");\n revised = revised.replaceChunk("<!--POST-BODY-START--"+">","<!--POST-BODY-END--"+">","\sn" + store.getTiddlerText("MarkupPostBody","") + "\sn");\n\n var response = this.uploadContent(revised, storeUrl, toFilename, uploadDir, backupDir, \n username, password, function (responseText) {\n if (responseText.substring(0,1) != '0') {\n alert(responseText);\n displayMessage(config.macros.upload.messages.fileNotUploaded.format([getLocalPath(document.location.toString())]));\n }\n else {\n if (uploadDir !== '') {\n toFilename = uploadDir + "/" + config.macros.upload.basename(toFilename);\n } else {\n toFilename = config.macros.upload.basename(toFilename);\n }\n var toFileUrl = config.macros.upload.toFileUrl(storeUrl, toFilename, uploadDir, username);\n if (responseText.indexOf("destfile:") > 0) {\n var destfile = responseText.substring(responseText.indexOf("destfile:")+9, \n responseText.indexOf("\sn", responseText.indexOf("destfile:")));\n toFileUrl = config.macros.upload.toRootUrl(storeUrl, username) + '/' + destfile;\n }\n else {\n toFileUrl = config.macros.upload.toFileUrl(storeUrl, toFilename, uploadDir, username);\n }\n displayMessage(config.macros.upload.messages.mainFileUploaded.format(\n [toFileUrl]), toFileUrl);\n if (backupDir && responseText.indexOf("backupfile:") > 0) {\n var backupFile = responseText.substring(responseText.indexOf("backupfile:")+11, \n responseText.indexOf("\sn", responseText.indexOf("backupfile:")));\n toBackupUrl = config.macros.upload.toRootUrl(storeUrl, username) + '/' + backupFile;\n displayMessage(config.macros.upload.messages.backupFileStored.format(\n [toBackupUrl]), toBackupUrl);\n }\n var log = new config.macros.upload.UploadLog();\n log.endUpload();\n store.setDirty(false);\n // erase local lock\n if (window.BidiX && BidiX.GroupAuthoring && BidiX.GroupAuthoring.lock) {\n BidiX.GroupAuthoring.lock.eraseLock();\n // change mtime with new mtime after upload\n var mtime = responseText.substr(responseText.indexOf("mtime:")+6);\n BidiX.GroupAuthoring.lock.mtime = mtime;\n }\n \n \n }\n // for debugging store.php uncomment last line\n //DEBUG alert(responseText);\n }\n );\n};\n\nconfig.macros.upload.uploadContent = function(content, storeUrl, toFilename, uploadDir, backupDir, \n username, password, callbackFn) {\n var boundary = "---------------------------"+"AaB03x"; \n var request;\n try {\n request = new XMLHttpRequest();\n } \n catch (e) { \n request = new ActiveXObject("Msxml2.XMLHTTP"); \n }\n if (window.netscape){\n try {\n if (document.location.toString().substr(0,4) != "http") {\n netscape.security.PrivilegeManager.enablePrivilege('UniversalBrowserRead');}\n }\n catch (e) {}\n } \n //DEBUG alert("user["+config.options.txtUploadUserName+"] password[" + config.options.pasUploadPassword + "]");\n // compose headers data\n var sheader = "";\n sheader += "--" + boundary + "\sr\snContent-disposition: form-data; name=\s"";\n sheader += config.macros.upload.formName +"\s"\sr\sn\sr\sn";\n sheader += "backupDir="+backupDir\n +";user=" + username \n +";password=" + password\n +";uploaddir=" + uploadDir;\n // add lock attributes to sheader\n if (window.BidiX && BidiX.GroupAuthoring && BidiX.GroupAuthoring.lock) {\n var l = BidiX.GroupAuthoring.lock.myLock;\n sheader += ";lockuser=" + l.user\n + ";mtime=" + l.mtime\n + ";locktime=" + l.locktime;\n }\n sheader += ";;\sr\sn"; \n sheader += "\sr\sn" + "--" + boundary + "\sr\sn";\n sheader += "Content-disposition: form-data; name=\s"userfile\s"; filename=\s""+toFilename+"\s"\sr\sn";\n sheader += "Content-Type: " + config.macros.upload.contentType + "\sr\sn";\n sheader += "Content-Length: " + content.length + "\sr\sn\sr\sn";\n // compose trailer data\n var strailer = new String();\n strailer = "\sr\sn--" + boundary + "--\sr\sn";\n //strailer = "--" + boundary + "--\sr\sn";\n var data;\n data = sheader + content + strailer;\n //request.open("POST", storeUrl, true, username, password);\n try {\n request.open("POST", storeUrl, true); \n }\n catch(e) {\n alert(config.macros.upload.messages.crossDomain + "\snError:" +e);\n exit;\n }\n request.onreadystatechange = function () {\n if (request.readyState == 4) {\n if (request.status == 200)\n callbackFn(request.responseText);\n else\n alert(config.macros.upload.messages.errorUploadingContent + "\snStatus: "+request.status.statusText);\n }\n };\n request.setRequestHeader("Content-Length",data.length);\n request.setRequestHeader("Content-Type","multipart/form-data; boundary="+boundary);\n request.send(data); \n};\n\n\nconfig.macros.upload.download = function(uploadUrl, uploadToFilename, uploadDir, uploadBackupDir, \n username, password) {\n var request;\n try {\n request = new XMLHttpRequest();\n } \n catch (e) { \n request = new ActiveXObject("Msxml2.XMLHTTP"); \n }\n try {\n if (uploadUrl.substr(0,4) == "http") {\n netscape.security.PrivilegeManager.enablePrivilege("UniversalBrowserRead");\n }\n else {\n netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");\n }\n } catch (e) { }\n //request.open("GET", document.location.toString(), true, username, password);\n try {\n request.open("GET", document.location.toString(), true);\n }\n catch(e) {\n alert(config.macros.upload.messages.crossDomain + "\snError:" +e);\n exit;\n }\n \n request.onreadystatechange = function () {\n if (request.readyState == 4) {\n if(request.status == 200) {\n config.macros.upload.uploadChangesFrom(request.responseText, uploadUrl, \n uploadToFilename, uploadDir, uploadBackupDir, username, password);\n }\n else\n alert(config.macros.upload.messages.errorDownloading.format(\n [document.location.toString()]) + "\snStatus: "+request.status.statusText);\n }\n };\n request.send(null);\n};\n\n//}}}\n////===\n\n////+++!![Initializations]\n\n//{{{\nconfig.lib.options.init('txtUploadStoreUrl','store.php');\nconfig.lib.options.init('txtUploadFilename','');\nconfig.lib.options.init('txtUploadDir','');\nconfig.lib.options.init('txtUploadBackupDir','');\nconfig.lib.options.init('txtUploadUserName',config.options.txtUserName);\nconfig.lib.options.init('pasUploadPassword','');\nsetStylesheet(\n ".pasOptionInput {width: 11em;}\sn"+\n ".txtOptionInput.txtUploadStoreUrl {width: 25em;}\sn"+\n ".txtOptionInput.txtUploadFilename {width: 25em;}\sn"+\n ".txtOptionInput.txtUploadDir {width: 25em;}\sn"+\n ".txtOptionInput.txtUploadBackupDir {width: 25em;}\sn"+\n "",\n "UploadOptionsStyles");\nconfig.shadowTiddlers.UploadDoc = "[[Full Documentation|http://tiddlywiki.bidix.info/l#UploadDoc ]]\sn"; \nconfig.options.chkAutoSave = false; saveOptionCookie('chkAutoSave');\n\n//}}}\n////===\n\n////+++!![Core Hijacking]\n\n//{{{\nconfig.macros.saveChanges.label_orig_UploadPlugin = config.macros.saveChanges.label;\nconfig.macros.saveChanges.label = config.macros.upload.label.saveToDisk;\n\nconfig.macros.saveChanges.handler_orig_UploadPlugin = config.macros.saveChanges.handler;\n\nconfig.macros.saveChanges.handler = function(place)\n{\n if ((!readOnly) && (document.location.toString().substr(0,4) != "http"))\n createTiddlyButton(place,this.label,this.prompt,this.onClick,null,null,this.accessKey);\n};\n\n//}}}\n////===\n
<!--{{{-->\n<div class='viewer' macro='view text wikified'></div>\n<div class='viewer topbutton' macro='top'></div>\n<br><br>\n<div class='viewer' macro='navigation tiddlers:{{store.getTiddlerText("PresentationIndex").readBracketedList()}}}'></div>\n<div class='tagClear'></div>\n<!--}}}-->
This document is a ~TiddlyWiki from tiddlyspot.com. A ~TiddlyWiki is an electronic notebook that is great for managing todo lists, personal information, and all sorts of things.\n\n@@font-weight:bold;font-size:1.3em;color:#444; //What now?// &nbsp;&nbsp;@@ Before you can save any changes, you need to enter your password in the form below. Then configure privacy and other site settings at your [[control panel|http://bclearproject.tiddlyspot.com/controlpanel]] (your control panel username is //bclearproject//).\n<<tiddler tiddlyspotControls>>\n@@font-weight:bold;font-size:1.3em;color:#444; //Working online// &nbsp;&nbsp;@@ You can edit this ~TiddlyWiki right now, and save your changes using the "save to web" button in the column on the right.\n\n@@font-weight:bold;font-size:1.3em;color:#444; //Working offline// &nbsp;&nbsp;@@ A fully functioning copy of this ~TiddlyWiki can be saved onto your hard drive or USB stick. You can make changes and save them locally without being connected to the Internet. When you're ready to sync up again, just click "upload" and your ~TiddlyWiki will be saved back to tiddlyspot.com.\n\n@@font-weight:bold;font-size:1.3em;color:#444; //Help!// &nbsp;&nbsp;@@ Find out more about ~TiddlyWiki at [[TiddlyWiki.com|http://tiddlywiki.com]]. Also visit [[TiddlyWiki Guides|http://tiddlywikiguides.org]] for documentation on learning and using ~TiddlyWiki. New users are especially welcome on the [[TiddlyWiki mailing list|http://groups.google.com/group/TiddlyWiki]], which is an excellent place to ask questions and get help. If you have a tiddlyspot related problem email [[tiddlyspot support|mailto:support@tiddlyspot.com]].\n\n@@font-weight:bold;font-size:1.3em;color:#444; //Enjoy :)// &nbsp;&nbsp;@@ We hope you like using your tiddlyspot.com site. Please email [[feedback@tiddlyspot.com|mailto:feedback@tiddlyspot.com]] with any comments or suggestions.
<<br>>Euronext.liffe
| tiddlyspot password:|<<option pasUploadPassword>>|\n| site management:|<<upload http://bclearproject.tiddlyspot.com/store.cgi index.html . . bclearproject>>//(requires tiddlyspot password)//<<br>>[[control panel|http://bclearproject.tiddlyspot.com/controlpanel]], [[download (go offline)|http://bclearproject.tiddlyspot.com/download]]|\n| links:|[[tiddlyspot.com|http://tiddlyspot.com/]], [[FAQs|http://faq.tiddlyspot.com/]], [[announcements|http://announce.tiddlyspot.com/]], [[blog|http://tiddlyspot.com/blog/]], email [[support|mailto:support@tiddlyspot.com]] & [[feedback|mailto:feedback@tiddlyspot.com]], [[donate|http://tiddlyspot.com/?page=donate]]|