* text=auto !eol
+shipsimu-docs/Browser-Game.html -text
+shipsimu-docs/Browser-Game.html_files/icons/Mail.png -text
+shipsimu-docs/Browser-Game.html_files/icons/attach.png -text
+shipsimu-docs/Browser-Game.html_files/icons/back.png -text
+shipsimu-docs/Browser-Game.html_files/icons/bell.png -text
+shipsimu-docs/Browser-Game.html_files/icons/bookmark.png -text
+shipsimu-docs/Browser-Game.html_files/icons/button_cancel.png -text
+shipsimu-docs/Browser-Game.html_files/icons/button_ok.png -text
+shipsimu-docs/Browser-Game.html_files/icons/clanbomber.png -text
+shipsimu-docs/Browser-Game.html_files/icons/desktop_new.png -text
+shipsimu-docs/Browser-Game.html_files/icons/flag.png -text
+shipsimu-docs/Browser-Game.html_files/icons/forward.png -text
+shipsimu-docs/Browser-Game.html_files/icons/full-1.png -text
+shipsimu-docs/Browser-Game.html_files/icons/full-2.png -text
+shipsimu-docs/Browser-Game.html_files/icons/full-3.png -text
+shipsimu-docs/Browser-Game.html_files/icons/full-4.png -text
+shipsimu-docs/Browser-Game.html_files/icons/full-5.png -text
+shipsimu-docs/Browser-Game.html_files/icons/full-6.png -text
+shipsimu-docs/Browser-Game.html_files/icons/full-7.png -text
+shipsimu-docs/Browser-Game.html_files/icons/gohome.png -text
+shipsimu-docs/Browser-Game.html_files/icons/help.png -text
+shipsimu-docs/Browser-Game.html_files/icons/idea.png -text
+shipsimu-docs/Browser-Game.html_files/icons/kaddressbook.png -text
+shipsimu-docs/Browser-Game.html_files/icons/knotify.png -text
+shipsimu-docs/Browser-Game.html_files/icons/korn.png -text
+shipsimu-docs/Browser-Game.html_files/icons/ksmiletris.png -text
+shipsimu-docs/Browser-Game.html_files/icons/licq.png -text
+shipsimu-docs/Browser-Game.html_files/icons/messagebox_warning.png -text
+shipsimu-docs/Browser-Game.html_files/icons/password.png -text
+shipsimu-docs/Browser-Game.html_files/icons/pencil.png -text
+shipsimu-docs/Browser-Game.html_files/icons/penguin.png -text
+shipsimu-docs/Browser-Game.html_files/icons/stop.png -text
+shipsimu-docs/Browser-Game.html_files/icons/wizard.png -text
+shipsimu-docs/Browser-Game.html_files/icons/xmag.png -text
+shipsimu-docs/Browser-Game.html_files/marktree.js -text
+shipsimu-docs/Browser-Game.html_files/minus.png -text
+shipsimu-docs/Browser-Game.html_files/plus.png -text
+shipsimu-docs/Browser-Game.html_files/treestyles.css -text
shipsimu-docs/Browser-Game.mm -text
-shipsimu-docs/Browser-Game.mm.html -text
shipsimu-docs/COPYING -text
shipsimu-docs/Conception[!!-~]-[!!-~]Ship-Simu[!!-~]0.0.1.odt -text
shipsimu-docs/NEWS -text
shipsimu-docs/ObjectFactory[!!-~]Benchmark[!!-~]-[!!-~]20080609.gnumeric -text
+shipsimu-docs/Payment-System.html -text
+shipsimu-docs/Payment-System.html_files/icons/Mail.png -text
+shipsimu-docs/Payment-System.html_files/icons/attach.png -text
+shipsimu-docs/Payment-System.html_files/icons/back.png -text
+shipsimu-docs/Payment-System.html_files/icons/bell.png -text
+shipsimu-docs/Payment-System.html_files/icons/bookmark.png -text
+shipsimu-docs/Payment-System.html_files/icons/button_cancel.png -text
+shipsimu-docs/Payment-System.html_files/icons/button_ok.png -text
+shipsimu-docs/Payment-System.html_files/icons/clanbomber.png -text
+shipsimu-docs/Payment-System.html_files/icons/desktop_new.png -text
+shipsimu-docs/Payment-System.html_files/icons/flag.png -text
+shipsimu-docs/Payment-System.html_files/icons/forward.png -text
+shipsimu-docs/Payment-System.html_files/icons/full-1.png -text
+shipsimu-docs/Payment-System.html_files/icons/full-2.png -text
+shipsimu-docs/Payment-System.html_files/icons/full-3.png -text
+shipsimu-docs/Payment-System.html_files/icons/full-4.png -text
+shipsimu-docs/Payment-System.html_files/icons/full-5.png -text
+shipsimu-docs/Payment-System.html_files/icons/full-6.png -text
+shipsimu-docs/Payment-System.html_files/icons/full-7.png -text
+shipsimu-docs/Payment-System.html_files/icons/gohome.png -text
+shipsimu-docs/Payment-System.html_files/icons/help.png -text
+shipsimu-docs/Payment-System.html_files/icons/idea.png -text
+shipsimu-docs/Payment-System.html_files/icons/kaddressbook.png -text
+shipsimu-docs/Payment-System.html_files/icons/knotify.png -text
+shipsimu-docs/Payment-System.html_files/icons/korn.png -text
+shipsimu-docs/Payment-System.html_files/icons/ksmiletris.png -text
+shipsimu-docs/Payment-System.html_files/icons/licq.png -text
+shipsimu-docs/Payment-System.html_files/icons/messagebox_warning.png -text
+shipsimu-docs/Payment-System.html_files/icons/password.png -text
+shipsimu-docs/Payment-System.html_files/icons/pencil.png -text
+shipsimu-docs/Payment-System.html_files/icons/penguin.png -text
+shipsimu-docs/Payment-System.html_files/icons/stop.png -text
+shipsimu-docs/Payment-System.html_files/icons/wizard.png -text
+shipsimu-docs/Payment-System.html_files/icons/xmag.png -text
+shipsimu-docs/Payment-System.html_files/marktree.js -text
+shipsimu-docs/Payment-System.html_files/minus.png -text
+shipsimu-docs/Payment-System.html_files/plus.png -text
+shipsimu-docs/Payment-System.html_files/treestyles.css -text
shipsimu-docs/Payment-System.mm -text
-shipsimu-docs/Payment-System.mm.html -text
shipsimu-docs/README -text
shipsimu-docs/Ship-Simu[!!-~]ArgoUML[!!-~]Diagram.zargo -text
+shipsimu-docs/Ship-Simu-Ship-Simulator.html -text
+shipsimu-docs/Ship-Simu-Ship-Simulator.html_files/icons/Mail.png -text
+shipsimu-docs/Ship-Simu-Ship-Simulator.html_files/icons/attach.png -text
+shipsimu-docs/Ship-Simu-Ship-Simulator.html_files/icons/back.png -text
+shipsimu-docs/Ship-Simu-Ship-Simulator.html_files/icons/bell.png -text
+shipsimu-docs/Ship-Simu-Ship-Simulator.html_files/icons/bookmark.png -text
+shipsimu-docs/Ship-Simu-Ship-Simulator.html_files/icons/button_cancel.png -text
+shipsimu-docs/Ship-Simu-Ship-Simulator.html_files/icons/button_ok.png -text
+shipsimu-docs/Ship-Simu-Ship-Simulator.html_files/icons/clanbomber.png -text
+shipsimu-docs/Ship-Simu-Ship-Simulator.html_files/icons/desktop_new.png -text
+shipsimu-docs/Ship-Simu-Ship-Simulator.html_files/icons/flag.png -text
+shipsimu-docs/Ship-Simu-Ship-Simulator.html_files/icons/forward.png -text
+shipsimu-docs/Ship-Simu-Ship-Simulator.html_files/icons/full-1.png -text
+shipsimu-docs/Ship-Simu-Ship-Simulator.html_files/icons/full-2.png -text
+shipsimu-docs/Ship-Simu-Ship-Simulator.html_files/icons/full-3.png -text
+shipsimu-docs/Ship-Simu-Ship-Simulator.html_files/icons/full-4.png -text
+shipsimu-docs/Ship-Simu-Ship-Simulator.html_files/icons/full-5.png -text
+shipsimu-docs/Ship-Simu-Ship-Simulator.html_files/icons/full-6.png -text
+shipsimu-docs/Ship-Simu-Ship-Simulator.html_files/icons/full-7.png -text
+shipsimu-docs/Ship-Simu-Ship-Simulator.html_files/icons/gohome.png -text
+shipsimu-docs/Ship-Simu-Ship-Simulator.html_files/icons/help.png -text
+shipsimu-docs/Ship-Simu-Ship-Simulator.html_files/icons/idea.png -text
+shipsimu-docs/Ship-Simu-Ship-Simulator.html_files/icons/kaddressbook.png -text
+shipsimu-docs/Ship-Simu-Ship-Simulator.html_files/icons/knotify.png -text
+shipsimu-docs/Ship-Simu-Ship-Simulator.html_files/icons/korn.png -text
+shipsimu-docs/Ship-Simu-Ship-Simulator.html_files/icons/ksmiletris.png -text
+shipsimu-docs/Ship-Simu-Ship-Simulator.html_files/icons/licq.png -text
+shipsimu-docs/Ship-Simu-Ship-Simulator.html_files/icons/messagebox_warning.png -text
+shipsimu-docs/Ship-Simu-Ship-Simulator.html_files/icons/password.png -text
+shipsimu-docs/Ship-Simu-Ship-Simulator.html_files/icons/pencil.png -text
+shipsimu-docs/Ship-Simu-Ship-Simulator.html_files/icons/penguin.png -text
+shipsimu-docs/Ship-Simu-Ship-Simulator.html_files/icons/stop.png -text
+shipsimu-docs/Ship-Simu-Ship-Simulator.html_files/icons/wizard.png -text
+shipsimu-docs/Ship-Simu-Ship-Simulator.html_files/icons/xmag.png -text
+shipsimu-docs/Ship-Simu-Ship-Simulator.html_files/marktree.js -text
+shipsimu-docs/Ship-Simu-Ship-Simulator.html_files/minus.png -text
+shipsimu-docs/Ship-Simu-Ship-Simulator.html_files/plus.png -text
+shipsimu-docs/Ship-Simu-Ship-Simulator.html_files/treestyles.css -text
shipsimu-docs/Ship-Simu-Ship-Simulator.mm -text
-shipsimu-docs/Ship-Simu-Ship-Simulator.mm.html -text
shipsimu-docs/THANKS -text
+shipsimu-docs/Tech-Tree_v1.html -text
+shipsimu-docs/Tech-Tree_v1.html_files/icons/Mail.png -text
+shipsimu-docs/Tech-Tree_v1.html_files/icons/attach.png -text
+shipsimu-docs/Tech-Tree_v1.html_files/icons/back.png -text
+shipsimu-docs/Tech-Tree_v1.html_files/icons/bell.png -text
+shipsimu-docs/Tech-Tree_v1.html_files/icons/bookmark.png -text
+shipsimu-docs/Tech-Tree_v1.html_files/icons/button_cancel.png -text
+shipsimu-docs/Tech-Tree_v1.html_files/icons/button_ok.png -text
+shipsimu-docs/Tech-Tree_v1.html_files/icons/clanbomber.png -text
+shipsimu-docs/Tech-Tree_v1.html_files/icons/desktop_new.png -text
+shipsimu-docs/Tech-Tree_v1.html_files/icons/flag.png -text
+shipsimu-docs/Tech-Tree_v1.html_files/icons/forward.png -text
+shipsimu-docs/Tech-Tree_v1.html_files/icons/full-1.png -text
+shipsimu-docs/Tech-Tree_v1.html_files/icons/full-2.png -text
+shipsimu-docs/Tech-Tree_v1.html_files/icons/full-3.png -text
+shipsimu-docs/Tech-Tree_v1.html_files/icons/full-4.png -text
+shipsimu-docs/Tech-Tree_v1.html_files/icons/full-5.png -text
+shipsimu-docs/Tech-Tree_v1.html_files/icons/full-6.png -text
+shipsimu-docs/Tech-Tree_v1.html_files/icons/full-7.png -text
+shipsimu-docs/Tech-Tree_v1.html_files/icons/gohome.png -text
+shipsimu-docs/Tech-Tree_v1.html_files/icons/help.png -text
+shipsimu-docs/Tech-Tree_v1.html_files/icons/idea.png -text
+shipsimu-docs/Tech-Tree_v1.html_files/icons/kaddressbook.png -text
+shipsimu-docs/Tech-Tree_v1.html_files/icons/knotify.png -text
+shipsimu-docs/Tech-Tree_v1.html_files/icons/korn.png -text
+shipsimu-docs/Tech-Tree_v1.html_files/icons/ksmiletris.png -text
+shipsimu-docs/Tech-Tree_v1.html_files/icons/licq.png -text
+shipsimu-docs/Tech-Tree_v1.html_files/icons/messagebox_warning.png -text
+shipsimu-docs/Tech-Tree_v1.html_files/icons/password.png -text
+shipsimu-docs/Tech-Tree_v1.html_files/icons/pencil.png -text
+shipsimu-docs/Tech-Tree_v1.html_files/icons/penguin.png -text
+shipsimu-docs/Tech-Tree_v1.html_files/icons/stop.png -text
+shipsimu-docs/Tech-Tree_v1.html_files/icons/wizard.png -text
+shipsimu-docs/Tech-Tree_v1.html_files/icons/xmag.png -text
+shipsimu-docs/Tech-Tree_v1.html_files/marktree.js -text
+shipsimu-docs/Tech-Tree_v1.html_files/minus.png -text
+shipsimu-docs/Tech-Tree_v1.html_files/plus.png -text
+shipsimu-docs/Tech-Tree_v1.html_files/treestyles.css -text
shipsimu-docs/Tech-Tree_v1.mm -text
-shipsimu-docs/Tech-Tree_v1.mm.html -text
shipsimu-docs/historical/mindmap_20080517.html -text
shipsimu-docs/historical/mindmap_20080522.html -text
shipsimu-docs/historical/mindmap_20080523.html -text
--- /dev/null
+<?xml version="1.0" encoding="iso-8859-1"?><?xml-stylesheet href="treestyles.css" type="text/css"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xml:lang="fi" xmlns="http://www.w3.org/1999/xhtml"><head><title>Browser-Game</title><link rel="stylesheet" href="Browser-Game.html_files/treestyles.css" type="text/css"/><script type="text/javascript" src="Browser-Game.html_files/marktree.js"> </script></head><body><div class="basetop"><a href="#" onclick="expandAll(document.getElementById('base'))">Expand</a> - <a href="#" onclick="collapseAll(document.getElementById('base'))">Collapse</a></div><div id="base" class="basetext"><ul><li class="col" style="" id="FMFreemind_Link_1680848234FM"><img src="Browser-Game.html_files/icons/messagebox_warning.png" alt="messagebox_warning"/> <span style="font-size:150%;font-weight:bold;"><a href="Ship-Simu-Ship-Simulator.mm">Browser-Game</a> <a href="Ship-Simu-Ship-Simulator.mm"><img src="Browser-Game.html_files/icons/Link.png" alt="" style="border-width:0"/></a></span><ul class="subexp"><li class="col" style=""><span style="font-size:117%;font-weight:bold;">Procedures</span><ul class="subexp"><li class="col" style=""><span style="font-size:100%;font-weight:bold;">Registration procedure</span><ul class="subexp"><li class="col" style=""><span style="">Make sure the user account is only used once</span><ul class="subexp"><li class="basic" style=""><span style="">An AJAX request may give the user faster feedback</span></li></ul></li><li class="col" style=""><span style="">If required make also sure that the email is used once</span><ul class="subexp"><li class="basic" style=""><span style="">Another AJAX request might be helpful here</span></li></ul></li><li class="basic" style=""><span style="">Both passwords must match as verification</span></li><li class="basic" style=""><span style="">Non-required form fields are checked only if there is content for XSS or other bad things</span></li><li class="basic" style=""><span style="">Encrypt/hash the password (should always be performed)</span></li><li class="basic" style=""><span style="">Complete the registration by adding the user account to the database</span></li><li class="col" style=""><span style="">Registered partners shall be notified with different ways</span><ul class="subexp"><li class="basic" style=""><span style="">XML-RPC is the default</span></li><li class="basic" style=""><span style="">Different notifiers shall also be possible</span></li><li class="basic" style=""><img src="Browser-Game.html_files/icons/xmag.png" alt="xmag"/> <img src="Browser-Game.html_files/icons/messagebox_warning.png" alt="messagebox_warning"/> <span style="">This might be queueable to avoid long waiting times for slow partner pages</span></li></ul></li><li class="basic" style=""><span style="">Send out confirmation mail if requested by configuration</span></li><li class="col" style=""><span style="">Redirect the user to a new page</span><ul class="subexp"><li class="basic" style=""><span style="">Default is the "Registration completed" page</span></li><li class="basic" style=""><span style="">Home page shall be chooseable</span></li><li class="basic" style=""><span style="">Other URLs can be used as well</span></li></ul></li><li class="col" style=""><span style="">Alternatively login to the internal area</span><ul class="subexp"><li class="basic" style=""><span style="">The account is not useable if email is not confirmed</span></li></ul></li></ul></li><li class="basic" style="" id="FMFreemind_Link_1638061895FM"><span style="font-size:100%;font-weight:bold;">Login procedure</span></li><li class="col" style=""><span style="font-size:100%;font-weight:bold;">General</span><ul class="subexp"><li class="basic" style=""><span style="">Most steps shall be done by an intercepting filter pattern</span></li></ul></li></ul></li><li class="col" style=""><span style="">Pseudo-3D graphics</span><ul class="subexp"><li class="col" style=""><span style="">Still graphics</span><ul class="subexp"><li class="col" style=""><span style="">Different ships</span><ul class="subexp"><li class="basic" style=""><span style="">Passenger ship</span></li><li class="basic" style=""><span style="">Oil tanker</span></li><li class="basic" style=""><span style="">Container ship</span></li><li class="basic" style=""><span style="">Misc small ships</span></li></ul></li><li class="col" style=""><span style="">Buildings</span><ul class="subexp"><li class="basic" style=""><span style="">Shipyard</span></li><li class="basic" style=""><span style="">Dry dock</span></li><li class="basic" style=""><span style="">Terminal building</span></li></ul></li><li class="col" style=""><span style="">Vehicles</span><ul class="subexp"><li class="basic" style=""><span style="">Container carrier</span></li><li class="basic" style=""><span style="">Crane</span></li></ul></li><li class="col" style=""><span style="">All pics should be self-shooted</span><ul class="subexp"><li class="basic" style=""><span style="">This avoids copyright conflicts</span></li><li class="basic" style=""><span style="">The requested buildings/vehicles must be found in reality</span></li></ul></li></ul></li><li class="col" style=""><span style="">Slightly moved graphics (GIF)</span><ul class="subexp"><li class="basic" style=""><span style="">Water surface</span></li><li class="basic" style=""><span style="">Sky texture</span></li></ul></li></ul></li><li class="col" style=""><span style="">Tick-based simulation</span><ul class="subexp"><li class="col" style=""><span style="">Cronological job (cron)</span><ul class="subexp"><li class="basic" style=""><span style="">Addional requirement for installation</span></li></ul></li></ul></li><li class="col" style=""><span style="">Click-based simulation</span><ul class="subexp"><li class="basic" style=""><span style="">User clicks a button, action performed</span></li></ul></li><li class="col" style=""><span style="">Fully XHTML 1.0</span><ul class="subexp"><li class="basic" style=""><span style="">Latest Internet standard</span></li><li class="basic" style=""><span style="">Older browsers will make lesser trouble</span></li><li class="col" style=""><span style="">Should validate with the W3C HTML Validator</span><ul class="subexp"><li class="basic" style=""><img src="Browser-Game.html_files/icons/attach.png" alt="attach"/> <span style=""><a href="http://validator.w3.org">http://validator.w3.org</a> <a href="http://validator.w3.org"><img src="Browser-Game.html_files/icons/Link.png" alt="" style="border-width:0"/></a></span></li></ul></li></ul></li><li class="col" style=""><span style="font-size:100%;">Design is CSS-based</span><ul class="subexp"><li class="basic" style=""><span style="">Themes are possible</span></li></ul></li><li class="basic" style=""><img src="Browser-Game.html_files/icons/idea.png" alt="idea"/> <img src="Browser-Game.html_files/icons/desktop_new.png" alt="desktop_new"/> <span style="">Nice AJAX features</span></li><li class="col" style="" id="FMFreemind_Link_1491280472FM"><span style="font-size:117%;font-weight:bold;">Website structure</span><ul class="subexp"><li class="col" style="" id="FMFreemind_Link_1521419096FM"><span style="font-size:100%;font-weight:bold;">External guest area</span><ul class="subexp"><li class="col" style=""><span style="">News on the front page (home)</span><ul class="subexp"><li class="col" style=""><span style="">The news source can be choosen from different</span><ul class="subexp"><li class="basic" style=""><span style="">Previously typed and stored in database</span></li><li class="col" style=""><span style="">Local XML files</span><ul class="subexp"><li class="basic" style=""><span style="font-size:100%;">Hint: Created by external generators</span></li></ul></li><li class="basic" style=""><span style="">Remote XMLs like RSS feeds</span></li></ul></li><li class="col" style=""><span style="">The typer can choose a category</span><ul class="subexp"><li class="basic" style=""><span style="">New categories can be suggested by the typer</span></li><li class="basic" style=""><span style="">An admin can create new categories</span></li></ul></li><li class="col" style=""><span style="">Comments are allowable</span><ul class="subexp"><li class="basic" style=""><span style="">Logged-in users</span></li><li class="col" style=""><img src="Browser-Game.html_files/icons/clanbomber.png" alt="clanbomber"/> <span style="">Guests as well</span><ul class="subexp"><li class="basic" style=""><img src="Browser-Game.html_files/icons/messagebox_warning.png" alt="messagebox_warning"/> <span style="">Secured with CAPTCHA</span></li></ul></li></ul></li><li class="col" style=""><span style="">One object for all news should be fine</span><ul class="subexp"><li class="basic" style=""><img src="Browser-Game.html_files/icons/clanbomber.png" alt="clanbomber"/> <img src="Browser-Game.html_files/icons/stop.png" alt="stop"/> <span style="">Do not use one object per news entry!</span></li><li class="col" style=""><span style="">The object receives a "Requestable" object</span><ul class="subexp"><li class="basic" style=""><span style="">Obtain page number and sent comment data from it</span></li></ul></li></ul></li></ul></li><li class="col" style=""><span style="">Registration form</span><ul class="subexp"><li class="basic" style=""><span style="">One single page</span></li><li class="basic" style=""><span style="">Multiple pages</span></li></ul></li><li class="col" style=""><span style="">Login form</span><ul class="subexp"><li class="basic" style=""><img src="Browser-Game.html_files/icons/bell.png" alt="bell"/> <img src="Browser-Game.html_files/icons/idea.png" alt="idea"/> <span style="">With guest login (disable by the admin)</span></li><li class="basic" style=""><span style="">Password reminder</span></li><li class="basic" style=""><span style="">Link to the registration form</span></li><li class="col" style=""><span style="">Different login methods configureable by admin:</span><ul class="subexp"><li class="basic" style=""><span style="">By username+password</span></li><li class="basic" style=""><span style="">By email+password</span></li><li class="basic" style=""><span style="">By username/email+password</span></li></ul></li><li class="col" style=""><span style="">Wether cookie-based or session-based login</span><ul class="subexp"><li class="basic" style=""><img src="Browser-Game.html_files/icons/messagebox_warning.png" alt="messagebox_warning"/> <span style="">This shall be configureable by admin</span></li></ul></li></ul></li><li class="col" style=""><span style="">Screenshot gallery</span><ul class="subexp"><li class="basic" style=""><span style="">Comments are allowable</span></li><li class="basic" style=""><span style="">Should be kept simple</span></li></ul></li><li class="basic" style=""><span style="">List of enabled features</span></li><li class="basic" style=""><span style="">Statistics of the game (not whole network!)</span></li><li class="col" style=""><span style="">List of playing users</span><ul class="subexp"><li class="basic" style=""><span style="">With link to their public profiles</span></li></ul></li><li class="col" style="" id="FMFreemind_Link_1307618947FM"><span style="">Pillory</span><ul class="subexp"><li class="col" style="" id="FM_FM"><img src="Browser-Game.html_files/icons/idea.png" alt="idea"/> <span style="">Should be used to combat abuse</span><ul class="subexp"><li class="basic" style="" id="FMFreemind_Link_1670057335FM"><span style="">Child pornography</span></li><li class="basic" style="" id="FMFreemind_Link_1276984970FM"><span style="">Nacy activities</span></li><li class="basic" style="" id="FMFreemind_Link_805679314FM"><span style="">Spam attempts</span></li></ul></li><li class="basic" style="" id="FMFreemind_Link_292927111FM"><span style="">Username (who got locked)</span></li><li class="basic" style=""><span style="">Date&Time</span></li><li class="basic" style=""><span style="">The admin</span></li><li class="basic" style=""><span style="">Stated reason</span></li></ul></li><li class="col" style="" id="FMFreemind_Link_1776800199FM"><span style="">Small extra pages</span><ul class="subexp"><li class="basic" style=""><span style="">Imprint (required in Germany)</span></li><li class="basic" style=""><span style="">Privacy policy (required in some countries)</span></li></ul></li></ul></li><li class="col" style=""><span style="font-size:100%;font-weight:bold;">Internal game area</span><ul class="subexp"><li class="col" style=""><span style="">News on first login page</span><ul class="subexp"><li class="basic" style=""><span style="">Like on "home" page except that there is no captcha required</span></li><li class="basic" style=""><span style="">Including history of recent events since last login</span></li><li class="basic" style=""><span style="">Announcements in special sub-category for newly founded shipping/travel companies</span></li></ul></li><li class="col" style=""><img src="Browser-Game.html_files/icons/password.png" alt="password"/> <span style="font-size:100%;">Create new game character</span><ul class="subexp"><li class="col" style=""><span style="">The gamer can have all varriants</span><ul class="subexp"><li class="basic" style=""><span style="">This may be limitable by admin</span></li><li class="basic" style=""><img src="Browser-Game.html_files/icons/messagebox_warning.png" alt="messagebox_warning"/> <span style="">The player still cannot make contracts with own characters</span></li></ul></li><li class="col" style=""><span style="">It should cost somewhere a fee</span><ul class="subexp"><li class="basic" style=""><span style="">The fee shall be payed from user account</span></li></ul></li><li class="basic" style=""><span style="">For first character creation he shall have enougth game money plus some extra</span></li><li class="col" style=""><span style="">Types of characters</span><ul class="subexp"><li class="col" style=""><span style="">Shipping company founder</span><ul class="subexp"><li class="basic" style=""><span style="">This includes the fee for funding new company</span></li><li class="col" style=""><span style="">A news for the community shall be placed</span><ul class="subexp"><li class="basic" style=""><span style="">The admin/mod can still moderate it</span></li></ul></li></ul></li><li class="col" style=""><span style="">Travel company founder</span><ul class="subexp"><li class="basic" style=""><span style="">Like shipping company...</span></li></ul></li><li class="col" style=""><span style="">Jobholder</span><ul class="subexp"><li class="basic" style=""><span style="">Starts unemployed</span></li><li class="basic" style=""><span style="">Some money left for sending applications out</span></li><li class="basic" style=""><span style="">May ask goverment for financial help</span></li><li class="col" style=""><img src="Browser-Game.html_files/icons/stop.png" alt="stop"/> <span style="">Has to pay monthly fees</span><ul class="subexp"><li class="basic" style=""><span style="">Rent for a "fake" house</span></li><li class="basic" style=""><span style="">Meal and drinks (faked)</span></li><li class="basic" style=""><span style="">Others costs like phone,electricity</span></li></ul></li></ul></li><li class="col" style=""><span style="">Merchant</span><ul class="subexp"><li class="basic" style=""><span style="">Raw resources</span></li><li class="basic" style=""><span style="">Constructed ship parts</span></li><li class="basic" style=""><span style="">Smaller complete ships</span></li></ul></li><li class="col" style=""><span style="">Marketing Agency</span><ul class="subexp"><li class="basic" style=""><span style="">Sells marketing/merchandising products</span></li></ul></li></ul></li><li class="basic" style=""><img src="Browser-Game.html_files/icons/messagebox_warning.png" alt="messagebox_warning"/> <span style="font-size:100%;font-style:italic;">This is only possible if account is activated</span></li></ul></li><li class="col" style=""><img src="Browser-Game.html_files/icons/password.png" alt="password"/> <span style="font-size:100%;">"Load" existing character</span><ul class="subexp"><li class="basic" style=""><span style="">Contains link to "Create new character"</span></li><li class="basic" style=""><span style="">Player sees some basic data about listed characters</span></li><li class="basic" style=""><img src="Browser-Game.html_files/icons/idea.png" alt="idea"/> <span style="">Locked characters should not be removed instead marked with "Locked"</span></li></ul></li><li class="col" style=""><span style="">Refill account points</span><ul class="subexp"><li class="basic" style=""><span style="">The admin may choose if the in-game can be converted with a low rate to account points</span></li><li class="col" style=""><span style="">This option might be disabled by admin</span><ul class="subexp"><li class="basic" style=""><span style="">Then the gamer can only refill in-game money per character</span></li></ul></li></ul></li><li class="col" style=""><span style="">Update gamer/user profile</span><ul class="subexp"><li class="basic" style=""><span style="">Enter the current account password</span></li><li class="basic" style=""><span style="">Send email to the user only if no email has changed, or if ...</span></li><li class="col" style=""><img src="Browser-Game.html_files/icons/help.png" alt="help"/> <span style="">Has the email been changed?</span><ul class="subexp"><li class="basic" style=""><span style="">Send new confirmation to new email</span></li><li class="basic" style=""><span style="">Send notifier to old email</span></li></ul></li><li class="col" style=""><span style="">Change account password</span><ul class="subexp"><li class="basic" style=""><span style="">Enter current account password</span></li><li class="basic" style=""><span style="">Enter new password twice</span></li><li class="basic" style=""><span style="">Send an email to the user</span></li></ul></li></ul></li></ul></li><li class="col" style=""><span style="font-size:100%;font-weight:bold;">General infrastructures</span><ul class="subexp"><li class="basic" style=""><img src="Browser-Game.html_files/icons/password.png" alt="password"/> <span style="font-size:100%;">Point system (in-game money)</span></li><li class="col" style=""><img src="Browser-Game.html_files/icons/flag.png" alt="flag"/> <img src="Browser-Game.html_files/icons/password.png" alt="password"/> <span style="">A.I. goverment</span><ul class="subexp"><li class="basic" style=""><span style="">Shall help unemployed gamers staying alive (but not becoming rich)</span></li><li class="col" style=""><span style="">May later on collect taxes from companies</span><ul class="subexp"><li class="basic" style=""><span style="">For paying unemployed people</span></li><li class="basic" style=""><span style="">Financial support for broken companies</span></li></ul></li><li class="basic" style=""><img src="Browser-Game.html_files/icons/xmag.png" alt="xmag"/> <img src="Browser-Game.html_files/icons/pencil.png" alt="pencil"/> <span style="">May ofer social security services</span></li><li class="col" style=""><img src="Browser-Game.html_files/icons/messagebox_warning.png" alt="messagebox_warning"/> <span style="font-size:100%;">Goverment is not playable at the moment</span><ul class="subexp"><li class="basic" style=""><span style="">It should be "played" abstractly by the server</span></li><li class="basic" style=""><span style="">Gamers may help each other with financial support</span></li></ul></li></ul></li></ul></li></ul></li><li class="col" style="" id="FMFreemind_Link_463540660FM"><img src="Browser-Game.html_files/icons/xmag.png" alt="xmag"/> <span style="font-size:117%;font-weight:bold;">Strict coding guidelines for clean PHP code</span><ul class="subexp"><li class="col" style=""><img src="Browser-Game.html_files/icons/messagebox_warning.png" alt="messagebox_warning"/> <span style="font-size:100%;font-weight:bold;">General code structure</span><ul class="subexp"><li class="col" style=""><span style="">Fully object-oriented</span><ul class="subexp"><li class="col" style=""><span style="">Use of different but practical design patterns</span><ul class="subexp"><li class="basic" style=""><span style="">Factory-method pattern for smother initializing of objects</span></li><li class="basic" style=""><span style="">Template method pattern where it matches</span></li><li class="basic" style=""><span style="">MVC pattern for the website core</span></li></ul></li><li class="basic" style=""><span style="">Only one index.php shall provide access to the whole game</span></li><li class="basic" style=""><img src="Browser-Game.html_files/icons/clanbomber.png" alt="clanbomber"/> <span style="">Slower in PHP5</span></li></ul></li></ul></li><li class="col" style=""><span style="font-size:100%;font-weight:bold;">Documentation</span><ul class="subexp"><li class="col" style=""><span style="">In-line documentation</span><ul class="subexp"><li class="basic" style=""><span style="">Script header with full copyright and license as requested by GNU GPL 3</span></li><li class="basic" style=""><span style="">Method headers with Doxygen compatible tags</span></li><li class="basic" style=""><span style="">Comments above single lines for better understanding what is happening</span></li></ul></li><li class="col" style=""><span style="">Files in directory "docs"</span><ul class="subexp"><li class="col" style=""><span style="">COPYING*</span><ul class="subexp"><li class="basic" style=""><span style="">License files</span></li></ul></li><li class="col" style=""><span style="">Conception</span><ul class="subexp"><li class="basic" style=""><span style="">As OpenDocument and later PDF as well</span></li></ul></li><li class="col" style=""><span style="">NEWS</span><ul class="subexp"><li class="basic" style=""><span style="">Latest news around the game (coeer and gamer)</span></li></ul></li><li class="col" style=""><span style="">README</span><ul class="subexp"><li class="basic" style=""><span style="">Includes installation instructions and general gaming guidelines</span></li></ul></li><li class="col" style=""><span style="">ArgoUML diagram</span><ul class="subexp"><li class="basic" style=""><span style="">For visualization of the class structure</span></li></ul></li><li class="col" style=""><span style="">FreeMind document</span><ul class="subexp"><li class="basic" style=""><img src="Browser-Game.html_files/icons/ksmiletris.png" alt="ksmiletris"/> <span style="">...</span></li></ul></li><li class="col" style=""><span style="">THANKS</span><ul class="subexp"><li class="basic" style=""><span style="">All people helped in some direct or indirect way, less or more.</span></li></ul></li><li class="col" style=""><span style="">minmap_yyyymmdd.html</span><ul class="subexp"><li class="basic" style=""><span style="">Exported FreeMind maps to HTML with CSS and JavaScript</span></li></ul></li></ul></li></ul></li><li class="basic" style=""><span style="font-size:100%;font-weight:bold;">Folding of the code</span></li><li class="basic" style=""><span style="font-size:100%;font-weight:bold;">Tabs and spaces</span></li></ul></li></ul></li></ul></div></body></html>
\ No newline at end of file
--- /dev/null
+/* MarkTree JavaScript code\r
+ * \r
+ * The contents of this file are subject to the Mozilla Public License Version\r
+ * 1.1 (the "License"); you may not use this file except in compliance with\r
+ * the License. You may obtain a copy of the License at\r
+ * http://www.mozilla.org/MPL/\r
+ *\r
+ * Software distributed under the License is distributed on an "AS IS" basis,\r
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License\r
+ * for the specific language governing rights and limitations under the\r
+ * License.\r
+ * \r
+ * Miika Nurminen, 12.7.2004.\r
+ */\r
+\r
+/* cross-browser (tested with ie5, mozilla 1 and opera 5) keypress detection */\r
+function get_keycode(evt) {\r
+ // IE\r
+ code = document.layers ? evt.which\r
+ : document.all ? event.keyCode // event.keyCode!=evt.keyCode!\r
+ : evt.keyCode;\r
+\r
+ if (code==0) \r
+ code=evt.which; // for NS\r
+ return code;\r
+}\r
+\r
+var lastnode=null;\r
+var listnodes = null;\r
+var list_index=1;\r
+var lastnodetype=''; // determines if node is a link, input or text;\r
+\r
+// up, left, down, right, keypress codes\r
+//ijkl\r
+//var keys = new Array(105,106,107,108);\r
+//num arrows\r
+//var keys = new Array(56,52,50,54);\r
+//wasd\r
+// var press2 = new Array(119,97,115,100);\r
+ var press = new Array(47,45,42,43);\r
+\r
+// keydown codes\r
+ // var keys2=new Array(87,65,83,68);\r
+ var keys= new Array(38,37,40,39);\r
+\r
+ // keyset 1 = keydown, otherwise press\r
+function checkup(keyset,n) {\r
+ if (keyset==1) return (n==keys[0]);\r
+ return ((n==press[0]) /*|| (n==press2[0])*/)\r
+}\r
+\r
+function checkdn(keyset,n) {\r
+ if (keyset==1) return (n==keys[2]);\r
+ return ((n==press[2]) /*|| (n==press2[2])*/)\r
+}\r
+\r
+function checkl(keyset,n) {\r
+ if (keyset==1) return (n==keys[1]);\r
+ return ((n==press[1]) /*|| (n==press2[1])*/)\r
+}\r
+\r
+function checkr(keyset,n) {\r
+ if (keyset==1) return (n==keys[3]);\r
+ return ((n==press[3]) /*|| (n==press2[3])*/)\r
+}\r
+\r
+\r
+\r
+\r
+\r
+function is_exp(n) {\r
+ if (n==null) return false;\r
+ return ((n.className=='exp') || (n.className=='exp_active'));\r
+}\r
+\r
+function is_col(n) {\r
+ if (n==null) return false;\r
+ return ((n.className=='col') || (n.className=='col_active'));\r
+}\r
+\r
+function is_basic(n) {\r
+ if (n==null) return false;\r
+ return ((n.className=='basic') || (n.className=='basic_active'));\r
+}\r
+\r
+\r
+\r
+/* returns i>=0 if true */\r
+function is_active(node) {\r
+ if (node.className==null) return false\r
+ return node.className.indexOf('_active');\r
+}\r
+\r
+function toggle_class(node) {\r
+ if ((node==null) || (node.className==null)) return;\r
+ str=node.className;\r
+ result="";\r
+ i = str.indexOf('_active');\r
+ if (i>0)\r
+ result= str.substr(0,i);\r
+ else\r
+ result= str+"_active";\r
+ node.className=result; \r
+ return node;\r
+}\r
+\r
+function activate(node) {\r
+ node.style.backgroundColor='#eeeeff';\r
+}\r
+\r
+function deactivate(node) {\r
+ node.style.backgroundColor='#ffffff';\r
+}\r
+\r
+function is_list_node(n) {\r
+ if (n==null) return false;\r
+ if (n.className==null) return false;\r
+ if ( (is_exp(n)) || \r
+ (is_col(n)) ||\r
+ (is_basic(n)) )\r
+ return true; else return false;\r
+}\r
+\r
+\r
+function get_href(n) {\r
+ alist=n.attributes;\r
+ if (alist!=null) {\r
+ hr = alist.getNamedItem('href');\r
+ if (hr!=null) return hr.nodeValue;\r
+ }\r
+ if (n.childNodes.length==0) return '';\r
+ for (var i=0; i<n.childNodes.length; i++) {\r
+ s = get_href(n.childNodes[i]);\r
+ if (s!='') return s;\r
+ }\r
+ return '';\r
+}\r
+\r
+function get_link(n) {\r
+ if (n==null) return null;\r
+ if (n.style==null) return null;\r
+\r
+ // disabling uncontrolled recursion to prevent error messages on IE\r
+ // when trying to focus to invisible links (readonly mode)\r
+// alert(n.nodeName+' '+n.className);\r
+ if ((n.nodeName=='UL') && (n.className=='sub')) return null;\r
+\r
+ if (n.nodeName=='A') return n;\r
+ if (n.childNodes.length==0) return null;\r
+ for (var i=0; i<n.childNodes.length; i++) {\r
+ s = get_link(n.childNodes[i]);\r
+ if (s!=null) return s;\r
+ }\r
+ return null;\r
+}\r
+\r
+function set_lastnode(n) {\r
+/*var d = new Date();\r
+var t_mil = d.getMilliseconds();*/\r
+// testattu nopeuksia explorerilla, ei merkittäviä eroja\r
+ if (lastnode==n) return; \r
+/* deactivate(lastnode)\r
+ lastnode=n;\r
+ activate(lastnode);*/\r
+\r
+ if (is_active(lastnode)>=0)\r
+ toggle_class(lastnode);\r
+ lastnode=n;\r
+ if (!(is_active(lastnode)>=0))\r
+ toggle_class(lastnode);\r
+\r
+\r
+/*var d2 = new Date();\r
+var t_mil2 = d2.getMilliseconds();\r
+ window.alert(t_mil2-t_mil);*/\r
+}\r
+\r
+function next_list_node() {\r
+ tempIndex = list_index;\r
+ while (tempIndex<listnodes.length-1) {\r
+ tempIndex++;\r
+ var x = listnodes[tempIndex];\r
+ if (is_list_node(x)) {\r
+ list_index=tempIndex;\r
+ return;\r
+ }\r
+ }\r
+}\r
+\r
+function prev_list_node() {\r
+ tempIndex = list_index;\r
+ while (tempIndex>0) {\r
+ tempIndex--;\r
+ var x = listnodes[tempIndex];\r
+ if (is_list_node(x)) {\r
+ list_index=tempIndex;\r
+ return;\r
+ }\r
+ }\r
+}\r
+\r
+\r
+\r
+function getsub (li) {\r
+ if (li.childNodes.length==0) return null;\r
+ for (var c = 0; c < li.childNodes.length; c++)\r
+ if ( (li.childNodes[c].className == 'sub') || (li.childNodes[c].className == 'subexp') ) \r
+ return li.childNodes[c];\r
+}\r
+\r
+function find_listnode_recursive (li) {\r
+ if (is_list_node(li)) return li; \r
+ if (li.childNodes.length==0) return null;\r
+ result=null;\r
+ for (var c = 0; c < li.childNodes.length; c++) {\r
+ result=find_listnode_recursive(li.childNodes[c]);\r
+ if (result!=null) return result;\r
+ }\r
+ return null;\r
+}\r
+\r
+function next_child_listnode(li) {\r
+ var result=null;\r
+ for (var i=0; i<li.childNodes.length; i++) {\r
+ result=find_listnode_recursive(li.childNodes[i]);\r
+ if (result!=null) return result;\r
+ }\r
+ return null; \r
+}\r
+\r
+function next_actual_sibling_listnode(li) {\r
+ if (li==null) return null;\r
+ var temp=li;\r
+ while (1) { \r
+ var n = temp.nextSibling;\r
+ if (n==null) {\r
+ n=parent_listnode(temp);\r
+ return next_actual_sibling_listnode(n);\r
+ }\r
+ if (is_list_node(n)) return n;\r
+ temp=n;\r
+ }\r
+}\r
+\r
+function next_sibling_listnode(li) {\r
+if (li==null) return null; \r
+ var result=null;\r
+ var temp=li;\r
+ if (is_col(temp)) return next_child_listnode(temp);\r
+ while (1) { \r
+ var n = temp.nextSibling;\r
+ if (n==null) {\r
+ n=parent_listnode(temp);\r
+ return next_actual_sibling_listnode(n);\r
+ }\r
+ if (is_list_node(n)) return n;\r
+ temp=n;\r
+ }\r
+}\r
+\r
+function last_sibling_listnode(li) {\r
+ if (li==null) return null;\r
+ var temp=li;\r
+ var last=null;\r
+ while(1) {\r
+ var n = temp.nextSibling;\r
+ if (is_list_node(temp)) \r
+ last = temp;\r
+ if (n==null) {\r
+ if (is_col(last)) return last_sibling_listnode(next_child_listnode(last));\r
+ else return last;\r
+ }\r
+ temp = n;\r
+ }\r
+}\r
+\r
+function prev_sibling_listnode(li) { \r
+ if (li==null) return null;\r
+ var temp=li;\r
+ var n = null;\r
+ while (1) { \r
+ n = temp.previousSibling;\r
+ if (n==null) {\r
+ return parent_listnode(li);\r
+ }\r
+ if (is_list_node(n)) {\r
+ if (is_col(n)) { \r
+ return last_sibling_listnode(next_child_listnode(n));\r
+ }\r
+ else {\r
+ return n;\r
+ }\r
+ }\r
+ temp=n;\r
+ }\r
+}\r
+\r
+\r
+function parent_listnode(li) {\r
+ // added 12.7.2004 to prevent IE error when readonly mode==true\r
+ if (li==null) return null;\r
+ n=li;\r
+ while (1) {\r
+ n=n.parentNode;\r
+ if (n==null) return null;\r
+ if (is_list_node(n)) return n;\r
+ }\r
+}\r
+\r
+function getVisibleParents(id) {\r
+ var n = document.getElementById(id);\r
+ while(1) {\r
+ expand(n);\r
+ n = parent_listnode(n);\r
+ if (n==null) return;\r
+ }\r
+}\r
+\r
+function onClickHandler (evt) {\r
+if (lastnode==null) \r
+{\r
+listnodes = document.getElementsByTagName('li');\r
+lastnode=listnodes[1];\r
+temp=listnodes[1];\r
+}\r
+\r
+\r
+ var target = evt ? evt.target : event.srcElement;\r
+ if (!is_list_node(target)) return;\r
+ toggle(target);\r
+ set_lastnode(target);\r
+}\r
+\r
+\r
+function expand(node) {\r
+ if (!is_exp(node)) return;\r
+ if (node.className=='exp_active') \r
+ node.className='col_active';\r
+ else \r
+ node.className='col';\r
+ setSubClass(node,'subexp');\r
+ // getsub(node).className='subexp';\r
+}\r
+\r
+function collapse(node) {\r
+ if (!is_col(node)) return;\r
+ \r
+if (node.className=='col_active')\r
+ node.className='exp_active'\r
+ else \r
+ node.className='exp';\r
+\r
+ setSubClass(node,'sub');\r
+// getsub(node).className='sub';\r
+\r
+}\r
+\r
+function setSubClass(node,name) {\r
+ sub = getsub(node);\r
+ if (sub==null) return;\r
+ sub.className=name; \r
+}\r
+\r
+function toggle(target) {\r
+ if (!is_list_node(target)) return;\r
+ if (is_col(target)) {\r
+ target.className='exp';\r
+ setSubClass(target,'sub');\r
+ // getsub(target).className='sub';\r
+ }\r
+ else if (is_exp(target)) {\r
+ target.className='col';\r
+ setSubClass(target,'subexp');\r
+ // getsub(target).className='subexp';\r
+ }\r
+ \r
+}\r
+\r
+function expandAll(node) {\r
+ if (node.className=='exp') {\r
+ node.className='col';\r
+ setSubClass(node,'subexp');\r
+// getsub(node).className='subexp';\r
+ }\r
+ var i;\r
+ if (node.childNodes!=null) \r
+// if (node.hasChildNodes()) \r
+ for ( i = 0; i<node.childNodes.length; i++)\r
+ expandAll(node.childNodes[i]);\r
+}\r
+\r
+function collapseAll(node) {\r
+ if (node.className=='col') {\r
+ node.className='exp';\r
+ setSubClass(node,'sub');\r
+// getsub(node).className='sub';\r
+ }\r
+ var i; \r
+ if (node.childNodes!=null) \r
+// for opera if (node.hasChildNodes()) \r
+ for ( i = 0; i<node.childNodes.length; i++)\r
+ collapseAll(node.childNodes[i]);\r
+}\r
+\r
+\r
+\r
+function unFocus(node) {\r
+ // unfocuses potential link that is to be hidden (if a==null there is no link so it should not be blurred).\r
+ // tested with mozilla 1.7, 12.7.2004. /mn (\r
+ intemp=parent_listnode(node); \r
+ a = get_link(intemp); // added 6.4. to get keyboard working with\r
+ // moved before collapse to prevent an error message with IE when readonly==true \r
+ if (a!=null) a.blur(); // netscape after collapsing a focused node\r
+ return intemp;\r
+}\r
+\r
+// mode: 0==keypress, 1==keyup\r
+function keyfunc(evt,mode) {\r
+ var c = get_keycode(evt);\r
+ var temp = null;\r
+ var a = null;\r
+\r
+ if (lastnode==null) {\r
+ listnodes = document.getElementsByTagName('li');\r
+ lastnode=listnodes[1];\r
+ temp=listnodes[1];\r
+ }\r
+\r
+ //window.alert(c);\r
+ if (checkup(mode,c)) { // i \r
+ temp=prev_sibling_listnode(lastnode);\r
+ }\r
+ else if (checkdn(mode,c)) { // k\r
+ temp=next_sibling_listnode(lastnode);\r
+ }\r
+ else if (checkr(mode,c)) { // l\r
+ expand(lastnode);\r
+ // temp=next_child_listnode(lastnode);\r
+ // if (temp==null) {\r
+ a = get_link(lastnode);\r
+ if (a!=null) a.focus(); else self.focus(); \r
+ //}\r
+ }\r
+ else if (checkl(mode,c)) { // j\r
+ if (is_col(lastnode)) {\r
+ unFocus(lastnode);\r
+ collapse(lastnode);\r
+ }\r
+ else {\r
+ temp=unFocus(lastnode);\r
+ collapse(temp);\r
+ }\r
+ // if (temp==null) lastnode.focus(); // forces focus to correct div (try mozilla typesearch) (doesn't seem to work -mn/6.4.2004)\r
+ }\r
+ else return;\r
+ if (temp!=null) set_lastnode(temp);\r
+\r
+ // alert('pressed ' + String.fromCharCode(c) + '(' + c + ')');\r
+ return true;\r
+}\r
+\r
+\r
+function keytest (evt) {\r
+ return keyfunc(evt,1);\r
+};\r
+\r
+\r
+function presstest (evt) {\r
+ return keyfunc(evt,0);\r
+};\r
+\r
+\r
+ document.onclick = onClickHandler;\r
+ document.onkeypress = presstest;\r
+ document.onkeyup = keytest;\r
--- /dev/null
+\r
+body {\r
+ background-color: #eeeeee;\r
+ color: #000000;\r
+ font-family:sans-serif;\r
+}\r
+\r
+:link { color: #0000ff; text-decoration:none;}\r
+:visited { color: #6666ff; text-decoration:none; }\r
+a:active { color: #0000ff; text-decoration:none;}\r
+a:hover {color: #0000ff; text-decoration:underline; }\r
+\r
+div.basetext {\r
+ background-color:#ffffff;\r
+ margin-top:11px;\r
+ margin-bottom:11px;\r
+ margin-left:1%;\r
+ margin-right:1%;\r
+ padding-top:11px;\r
+ padding-left:11px;\r
+ padding-right:11px;\r
+ padding-bottom:11px;\r
+ text-align:left;\r
+ font-weight:normal;\r
+ border-width:thin;\r
+ border-style:solid;\r
+ border-color:#dddddd;\r
+}\r
+\r
+div.basetop {\r
+ position: fixed;\r
+ width:auto;\r
+ height:auto;\r
+ right:0em;\r
+ top:0em;\r
+ left:auto; \r
+ top:0;\r
+ background-color:#ffffff;\r
+ margin-top:0;\r
+ margin-bottom:0;\r
+ margin-left:1%;\r
+ margin-right:1%;\r
+ padding-top:2px;\r
+ padding-left:11px;\r
+ padding-right:11px;\r
+ padding-bottom:2px;\r
+ text-align:left;\r
+ font-weight:normal;\r
+text-align:right;\r
+ border-width:thin;\r
+ border-style:solid;\r
+ border-color:#dddddd;\r
+}\r
+\r
+h1 {\r
+ text-align:center;\r
+}\r
+\r
+span.h2 {\r
+ font-family:sans-serif;\r
+ font-weight:bold;\r
+}\r
+\r
+div.year {\r
+ margin-right:2%;\r
+ background-color:#eeeeee;\r
+}\r
+\r
+div.form {\r
+}\r
+\r
+span.cpt {\r
+ color:#005500;\r
+ font-weight:bold;\r
+}\r
+\r
+span.cm {\r
+ color:#666666;\r
+}\r
+\r
+.fl {\r
+ color:#0000FF; \r
+ font-style:italic;\r
+}\r
+\r
+ul {\r
+ margin-top:1px;\r
+ margin-bottom:1px;\r
+ margin-left:0px;\r
+ padding-left:3%;\r
+}\r
+\r
+li {\r
+ list-style:outside;\r
+ margin-top:10px; \r
+ margin-bottom:10px;\r
+}\r
+\r
+ul li {\r
+ list-style:square;\r
+ font-family:sans-serif;\r
+ font-weight:normal;\r
+}\r
+\r
+li.basic {\r
+ list-style:square;\r
+ list-style-image:none;\r
+ margin-top:2px;\r
+ margin-bottom:2px;\r
+}\r
+\r
+span.links {\r
+}\r
+\r
+\r
+\r
+\r
+.sub { display: none; }\r
+.subexp {display: block; }\r
+.sub { display: none; } \r
+\r
+.subexp {display: block; } \r
+\r
+li.exp {\r
+ list-style-image:url("plus.png");\r
+ margin-top:10px;\r
+ margin-bottom:10px;\r
+ cursor:pointer;\r
+}\r
+\r
+li.col {\r
+ list-style-image:url("minus.png");\r
+ margin-top:10px;\r
+ margin-bottom:10px;\r
+ cursor:pointer;\r
+}\r
+\r
+li.exp_active {\r
+ list-style-image:url("plus.png");\r
+ margin-top:10px; \r
+ margin-bottom:10px;\r
+ background-color:#eeeeff;\r
+ cursor:pointer;\r
+}\r
+\r
+li.col_active {\r
+ list-style-image:url("minus.png");\r
+ margin-top:10px;\r
+ margin-bottom:10px;\r
+ background-color:#eeeeff;\r
+ cursor:pointer; /* if not included, bullets are not shown right in moz*/\r
+}\r
+\r
+\r
+li.basic_active {\r
+ list-style:square;\r
+ list-style-image:none;\r
+ background-color:#eeeeff;\r
+ margin-top:2px;\r
+ margin-bottom:2px;\r
+}\r
-<map version="0.7.1">
-<node LINK="Ship-Simu Ship-Simulator.mm" TEXT="Browser-Game">
-<font NAME="SansSerif" BOLD="true" SIZE="18"/>
+<map version="0.8.1">
+<!-- To view this file, download free mind mapping software FreeMind from http://freemind.sourceforge.net -->
+<node CREATED="1236734370947" ID="Freemind_Link_1680848234" LINK="Ship-Simu-Ship-Simulator.mm" MODIFIED="1236734732381" TEXT="Browser-Game">
+<font BOLD="true" NAME="SansSerif" SIZE="18"/>
<icon BUILTIN="messagebox_warning"/>
-<node TEXT="Procedures" POSITION="right">
-<font NAME="SansSerif" BOLD="true" SIZE="14"/>
-<node TEXT="Registration procedure">
-<font NAME="SansSerif" BOLD="true" SIZE="12"/>
-<node TEXT="Make sure the user account is only used once">
-<node TEXT="An AJAX request may give the user faster feedback"/>
-</node>
-<node TEXT="If required make also sure that the email is used once">
-<node TEXT="Another AJAX request might be helpful here"/>
-</node>
-<node TEXT="Both passwords must match as verification"/>
-<node TEXT="Non-required form fields are checked only if there is content for XSS or other bad things"/>
-<node TEXT="Encrypt/hash the password (should always be performed)"/>
-<node TEXT="Complete the registration by adding the user account to the database"/>
-<node TEXT="Registered partners shall be notified with different ways">
-<node TEXT="XML-RPC is the default"/>
-<node TEXT="Different notifiers shall also be possible"/>
-<node TEXT="This might be queueable to avoid long waiting times for slow partner pages">
+<node CREATED="1236734370947" MODIFIED="1236734370947" POSITION="right" TEXT="Procedures">
+<font BOLD="true" NAME="SansSerif" SIZE="14"/>
+<node CREATED="1236734370947" MODIFIED="1236734370947" TEXT="Registration procedure">
+<font BOLD="true" NAME="SansSerif" SIZE="12"/>
+<node CREATED="1236734370947" MODIFIED="1236734370947" TEXT="Make sure the user account is only used once">
+<node CREATED="1236734370947" MODIFIED="1236734370947" TEXT="An AJAX request may give the user faster feedback"/>
+</node>
+<node CREATED="1236734370947" MODIFIED="1236734370947" TEXT="If required make also sure that the email is used once">
+<node CREATED="1236734370948" MODIFIED="1236734370948" TEXT="Another AJAX request might be helpful here"/>
+</node>
+<node CREATED="1236734370948" MODIFIED="1236734370948" TEXT="Both passwords must match as verification"/>
+<node CREATED="1236734370948" MODIFIED="1236734370948" TEXT="Non-required form fields are checked only if there is content for XSS or other bad things"/>
+<node CREATED="1236734370948" MODIFIED="1236734370948" TEXT="Encrypt/hash the password (should always be performed)"/>
+<node CREATED="1236734370948" MODIFIED="1236734370948" TEXT="Complete the registration by adding the user account to the database"/>
+<node CREATED="1236734370948" MODIFIED="1236734370948" TEXT="Registered partners shall be notified with different ways">
+<node CREATED="1236734370948" MODIFIED="1236734370948" TEXT="XML-RPC is the default"/>
+<node CREATED="1236734370948" MODIFIED="1236734370948" TEXT="Different notifiers shall also be possible"/>
+<node CREATED="1236734370948" MODIFIED="1236734370948" TEXT="This might be queueable to avoid long waiting times for slow partner pages">
<icon BUILTIN="xmag"/>
<icon BUILTIN="messagebox_warning"/>
</node>
</node>
-<node TEXT="Send out confirmation mail if requested by configuration"/>
-<node TEXT="Redirect the user to a new page">
-<node TEXT="Default is the "Registration completed" page"/>
-<node TEXT="Home page shall be chooseable"/>
-<node TEXT="Other URLs can be used as well"/>
+<node CREATED="1236734370948" MODIFIED="1236734370948" TEXT="Send out confirmation mail if requested by configuration"/>
+<node CREATED="1236734370948" MODIFIED="1236734370948" TEXT="Redirect the user to a new page">
+<node CREATED="1236734370948" MODIFIED="1236734370948" TEXT="Default is the "Registration completed" page"/>
+<node CREATED="1236734370948" MODIFIED="1236734370948" TEXT="Home page shall be chooseable"/>
+<node CREATED="1236734370948" MODIFIED="1236734370948" TEXT="Other URLs can be used as well"/>
</node>
-<node TEXT="Alternatively login to the internal area">
-<node TEXT="The account is not useable if email is not confirmed"/>
+<node CREATED="1236734370948" MODIFIED="1236734370948" TEXT="Alternatively login to the internal area">
+<node CREATED="1236734370948" MODIFIED="1236734370948" TEXT="The account is not useable if email is not confirmed"/>
</node>
</node>
-<node TEXT="Login procedure">
-<font NAME="SansSerif" BOLD="true" SIZE="12"/>
+<node CREATED="1236734370948" ID="Freemind_Link_1638061895" MODIFIED="1236734370948" TEXT="Login procedure">
+<font BOLD="true" NAME="SansSerif" SIZE="12"/>
</node>
-<node TEXT="General">
-<font NAME="SansSerif" BOLD="true" SIZE="12"/>
-<node TEXT="Most steps shall be done by an intercepting filter pattern"/>
+<node CREATED="1236734370948" MODIFIED="1236734370948" TEXT="General">
+<font BOLD="true" NAME="SansSerif" SIZE="12"/>
+<node CREATED="1236734370948" MODIFIED="1236734370948" TEXT="Most steps shall be done by an intercepting filter pattern"/>
</node>
</node>
-<node TEXT="Pseudo-3D graphics" POSITION="right">
-<node TEXT="Still graphics">
-<node TEXT="Different ships">
-<node TEXT="Passenger ship"/>
-<node TEXT="Oil tanker"/>
-<node TEXT="Container ship"/>
-<node TEXT="Misc small ships"/>
+<node CREATED="1236734370948" MODIFIED="1236734370948" POSITION="right" TEXT="Pseudo-3D graphics">
+<node CREATED="1236734370948" MODIFIED="1236734370948" TEXT="Still graphics">
+<node CREATED="1236734370948" MODIFIED="1236734370948" TEXT="Different ships">
+<node CREATED="1236734370948" MODIFIED="1236734370948" TEXT="Passenger ship"/>
+<node CREATED="1236734370948" MODIFIED="1236734370948" TEXT="Oil tanker"/>
+<node CREATED="1236734370948" MODIFIED="1236734370948" TEXT="Container ship"/>
+<node CREATED="1236734370948" MODIFIED="1236734370948" TEXT="Misc small ships"/>
</node>
-<node TEXT="Buildings">
-<node TEXT="Shipyard"/>
-<node TEXT="Dry dock"/>
-<node TEXT="Terminal building"/>
+<node CREATED="1236734370948" MODIFIED="1236734370948" TEXT="Buildings">
+<node CREATED="1236734370948" MODIFIED="1236734370948" TEXT="Shipyard"/>
+<node CREATED="1236734370948" MODIFIED="1236734370948" TEXT="Dry dock"/>
+<node CREATED="1236734370948" MODIFIED="1236734370948" TEXT="Terminal building"/>
</node>
-<node TEXT="Vehicles">
-<node TEXT="Container carrier"/>
-<node TEXT="Crane"/>
+<node CREATED="1236734370948" MODIFIED="1236734370948" TEXT="Vehicles">
+<node CREATED="1236734370948" MODIFIED="1236734370948" TEXT="Container carrier"/>
+<node CREATED="1236734370948" MODIFIED="1236734370948" TEXT="Crane"/>
</node>
-<node TEXT="All pics should be self-shooted">
-<node TEXT="This avoids copyright conflicts"/>
-<node TEXT="The requested buildings/vehicles must be found in reality"/>
+<node CREATED="1236734370948" MODIFIED="1236734370948" TEXT="All pics should be self-shooted">
+<node CREATED="1236734370948" MODIFIED="1236734370948" TEXT="This avoids copyright conflicts"/>
+<node CREATED="1236734370948" MODIFIED="1236734370948" TEXT="The requested buildings/vehicles must be found in reality"/>
</node>
</node>
-<node TEXT="Slightly moved graphics (GIF)">
-<node TEXT="Water surface"/>
-<node TEXT="Sky texture"/>
+<node CREATED="1236734370948" MODIFIED="1236734370948" TEXT="Slightly moved graphics (GIF)">
+<node CREATED="1236734370948" MODIFIED="1236734370948" TEXT="Water surface"/>
+<node CREATED="1236734370948" MODIFIED="1236734370948" TEXT="Sky texture"/>
</node>
</node>
-<node TEXT="Tick-based simulation" POSITION="right">
-<node TEXT="Cronological job (cron)">
-<node TEXT="Addional requirement for installation"/>
+<node CREATED="1236734370948" MODIFIED="1236734370948" POSITION="right" TEXT="Tick-based simulation">
+<node CREATED="1236734370948" MODIFIED="1236734370948" TEXT="Cronological job (cron)">
+<node CREATED="1236734370948" MODIFIED="1236734370948" TEXT="Addional requirement for installation"/>
</node>
</node>
-<node TEXT="Click-based simulation" POSITION="right">
-<node TEXT="User clicks a button, action performed"/>
+<node CREATED="1236734370948" MODIFIED="1236734370948" POSITION="right" TEXT="Click-based simulation">
+<node CREATED="1236734370948" MODIFIED="1236734370948" TEXT="User clicks a button, action performed"/>
</node>
-<node TEXT="Fully XHTML 1.0" POSITION="right">
-<node TEXT="Latest Internet standard"/>
-<node TEXT="Older browsers will make lesser trouble"/>
-<node TEXT="Should validate with the W3C HTML Validator">
-<node LINK="http://validator.w3.org" TEXT="http://validator.w3.org">
+<node CREATED="1236734370948" MODIFIED="1236734370948" POSITION="right" TEXT="Fully XHTML 1.0">
+<node CREATED="1236734370949" MODIFIED="1236734370949" TEXT="Latest Internet standard"/>
+<node CREATED="1236734370949" MODIFIED="1236734370949" TEXT="Older browsers will make lesser trouble"/>
+<node CREATED="1236734370949" MODIFIED="1236734370949" TEXT="Should validate with the W3C HTML Validator">
+<node CREATED="1236734370949" LINK="http://validator.w3.org" MODIFIED="1236734370949" TEXT="http://validator.w3.org">
<icon BUILTIN="attach"/>
</node>
</node>
</node>
-<node TEXT="Design is CSS-based" POSITION="right">
+<node CREATED="1236734370949" MODIFIED="1236734370949" POSITION="right" TEXT="Design is CSS-based">
<font NAME="SansSerif" SIZE="12"/>
-<node TEXT="Themes are possible"/>
+<node CREATED="1236734370949" MODIFIED="1236734370949" TEXT="Themes are possible"/>
</node>
-<node TEXT="Nice AJAX features" POSITION="right">
+<node CREATED="1236734370949" MODIFIED="1236734370949" POSITION="right" TEXT="Nice AJAX features">
<icon BUILTIN="idea"/>
<icon BUILTIN="desktop_new"/>
</node>
-<node TEXT="Website structure" POSITION="left">
-<font NAME="SansSerif" BOLD="true" SIZE="14"/>
-<node TEXT="External guest area">
+<node CREATED="1236734370949" ID="Freemind_Link_1491280472" MODIFIED="1236734370949" POSITION="left" TEXT="Website structure">
+<font BOLD="true" NAME="SansSerif" SIZE="14"/>
+<node CREATED="1236734370949" ID="Freemind_Link_1521419096" MODIFIED="1236734370949" TEXT="External guest area">
<cloud/>
-<font NAME="SansSerif" BOLD="true" SIZE="12"/>
-<node TEXT="News on the front page (home)">
-<node TEXT="The news source can be choosen from different">
-<node TEXT="Previously typed and stored in database"/>
-<node TEXT="Local XML files">
-<node TEXT="Hint: Created by external generators">
+<font BOLD="true" NAME="SansSerif" SIZE="12"/>
+<node CREATED="1236734370949" MODIFIED="1236734370949" TEXT="News on the front page (home)">
+<node CREATED="1236734370949" MODIFIED="1236734370949" TEXT="The news source can be choosen from different">
+<node CREATED="1236734370949" MODIFIED="1236734370949" TEXT="Previously typed and stored in database"/>
+<node CREATED="1236734370949" MODIFIED="1236734370949" TEXT="Local XML files">
+<node CREATED="1236734370949" MODIFIED="1236734370949" TEXT="Hint: Created by external generators">
<font NAME="SansSerif" SIZE="12"/>
</node>
</node>
-<node TEXT="Remote XMLs like RSS feeds"/>
+<node CREATED="1236734370949" MODIFIED="1236734370949" TEXT="Remote XMLs like RSS feeds"/>
</node>
-<node TEXT="The typer can choose a category">
-<node TEXT="New categories can be suggested by the typer"/>
-<node TEXT="An admin can create new categories"/>
+<node CREATED="1236734370949" MODIFIED="1236734370949" TEXT="The typer can choose a category">
+<node CREATED="1236734370949" MODIFIED="1236734370949" TEXT="New categories can be suggested by the typer"/>
+<node CREATED="1236734370949" MODIFIED="1236734370949" TEXT="An admin can create new categories"/>
</node>
-<node TEXT="Comments are allowable">
-<node TEXT="Logged-in users"/>
-<node TEXT="Guests as well">
+<node CREATED="1236734370949" MODIFIED="1236734370949" TEXT="Comments are allowable">
+<node CREATED="1236734370949" MODIFIED="1236734370949" TEXT="Logged-in users"/>
+<node CREATED="1236734370949" MODIFIED="1236734370949" TEXT="Guests as well">
<icon BUILTIN="clanbomber"/>
-<node TEXT="Secured with CAPTCHA">
+<node CREATED="1236734370949" MODIFIED="1236734370949" TEXT="Secured with CAPTCHA">
<icon BUILTIN="messagebox_warning"/>
</node>
</node>
</node>
-<node TEXT="One object for all news should be fine">
-<node TEXT="Do not use one object per news entry!">
+<node CREATED="1236734370949" MODIFIED="1236734370949" TEXT="One object for all news should be fine">
+<node CREATED="1236734370949" MODIFIED="1236734370949" TEXT="Do not use one object per news entry!">
<icon BUILTIN="clanbomber"/>
<icon BUILTIN="stop"/>
</node>
-<node TEXT="The object receives a "Requestable" object">
-<node TEXT="Obtain page number and sent comment data from it"/>
+<node CREATED="1236734370949" MODIFIED="1236734370949" TEXT="The object receives a "Requestable" object">
+<node CREATED="1236734370949" MODIFIED="1236734370949" TEXT="Obtain page number and sent comment data from it"/>
</node>
</node>
</node>
-<node TEXT="Registration form" STYLE="fork">
-<node TEXT="One single page"/>
-<node TEXT="Multiple pages"/>
+<node CREATED="1236734370949" MODIFIED="1236734370949" STYLE="fork" TEXT="Registration form">
+<node CREATED="1236734370949" MODIFIED="1236734370949" TEXT="One single page"/>
+<node CREATED="1236734370949" MODIFIED="1236734370949" TEXT="Multiple pages"/>
</node>
-<node TEXT="Login form">
-<node TEXT="With guest login (disable by the admin)">
+<node CREATED="1236734370949" MODIFIED="1236734370949" TEXT="Login form">
+<node CREATED="1236734370949" MODIFIED="1236734370949" TEXT="With guest login (disable by the admin)">
<icon BUILTIN="bell"/>
<icon BUILTIN="idea"/>
</node>
-<node TEXT="Password reminder"/>
-<node TEXT="Link to the registration form"/>
-<node TEXT="Different login methods configureable by admin:">
-<node TEXT="By username+password"/>
-<node TEXT="By email+password"/>
-<node TEXT="By username/email+password"/>
+<node CREATED="1236734370949" MODIFIED="1236734370949" TEXT="Password reminder"/>
+<node CREATED="1236734370949" MODIFIED="1236734370949" TEXT="Link to the registration form"/>
+<node CREATED="1236734370950" MODIFIED="1236734370950" TEXT="Different login methods configureable by admin:">
+<node CREATED="1236734370950" MODIFIED="1236734370950" TEXT="By username+password"/>
+<node CREATED="1236734370950" MODIFIED="1236734370950" TEXT="By email+password"/>
+<node CREATED="1236734370950" MODIFIED="1236734370950" TEXT="By username/email+password"/>
</node>
-<node TEXT="Wether cookie-based or session-based login">
-<node TEXT="This shall be configureable by admin">
+<node CREATED="1236734370950" MODIFIED="1236734370950" TEXT="Wether cookie-based or session-based login">
+<node CREATED="1236734370950" MODIFIED="1236734370950" TEXT="This shall be configureable by admin">
<icon BUILTIN="messagebox_warning"/>
</node>
</node>
</node>
-<node TEXT="Screenshot gallery">
-<node TEXT="Comments are allowable"/>
-<node TEXT="Should be kept simple"/>
+<node CREATED="1236734370950" MODIFIED="1236734370950" TEXT="Screenshot gallery">
+<node CREATED="1236734370950" MODIFIED="1236734370950" TEXT="Comments are allowable"/>
+<node CREATED="1236734370950" MODIFIED="1236734370950" TEXT="Should be kept simple"/>
</node>
-<node TEXT="List of enabled features" STYLE="fork"/>
-<node TEXT="Statistics of the game (not whole network!)"/>
-<node TEXT="List of playing users">
-<node TEXT="With link to their public profiles"/>
+<node CREATED="1236734370950" MODIFIED="1236734370950" STYLE="fork" TEXT="List of enabled features"/>
+<node CREATED="1236734370950" MODIFIED="1236734370950" TEXT="Statistics of the game (not whole network!)"/>
+<node CREATED="1236734370950" MODIFIED="1236734370950" TEXT="List of playing users">
+<node CREATED="1236734370950" MODIFIED="1236734370950" TEXT="With link to their public profiles"/>
</node>
-<node TEXT="Pillory">
-<node TEXT="Username (who got locked)"/>
-<node TEXT="Date&Time"/>
-<node TEXT="The admin"/>
-<node TEXT="Stated reason"/>
+<node CREATED="1236734370950" ID="Freemind_Link_1307618947" MODIFIED="1236734370950" TEXT="Pillory">
+<node CREATED="1236734614966" ID="_" MODIFIED="1236734669803" TEXT="Should be used to combat abuse">
+<icon BUILTIN="idea"/>
+<node CREATED="1236734625758" ID="Freemind_Link_1670057335" MODIFIED="1236734634270" TEXT="Child pornography"/>
+<node CREATED="1236734635478" ID="Freemind_Link_1276984970" MODIFIED="1236734641555" TEXT="Nacy activities"/>
+<node CREATED="1236734650267" ID="Freemind_Link_805679314" MODIFIED="1236734654325" TEXT="Spam attempts"/>
+</node>
+<node CREATED="1236734370950" ID="Freemind_Link_292927111" MODIFIED="1236734370950" TEXT="Username (who got locked)"/>
+<node CREATED="1236734370950" MODIFIED="1236734370950" TEXT="Date&Time"/>
+<node CREATED="1236734370950" MODIFIED="1236734370950" TEXT="The admin"/>
+<node CREATED="1236734370950" MODIFIED="1236734370950" TEXT="Stated reason"/>
</node>
-<node TEXT="Small extra pages">
-<node TEXT="Imprint (required in Germany)"/>
-<node TEXT="Privacy policy (required in some countries)"/>
+<node CREATED="1236734370950" ID="Freemind_Link_1776800199" MODIFIED="1236734370950" TEXT="Small extra pages">
+<node CREATED="1236734370950" MODIFIED="1236734370950" TEXT="Imprint (required in Germany)"/>
+<node CREATED="1236734370950" MODIFIED="1236734370950" TEXT="Privacy policy (required in some countries)"/>
</node>
</node>
-<node TEXT="Internal game area">
-<font NAME="SansSerif" BOLD="true" SIZE="12"/>
-<node TEXT="News on first login page">
-<node TEXT="Like on "home" page except that there is no captcha required"/>
-<node TEXT="Including history of recent events since last login"/>
-<node TEXT="Announcements in special sub-category for newly founded shipping/travel companies"/>
+<node CREATED="1236734370950" MODIFIED="1236734370950" TEXT="Internal game area">
+<font BOLD="true" NAME="SansSerif" SIZE="12"/>
+<node CREATED="1236734370950" MODIFIED="1236734370950" TEXT="News on first login page">
+<node CREATED="1236734370950" MODIFIED="1236734370950" TEXT="Like on "home" page except that there is no captcha required"/>
+<node CREATED="1236734370950" MODIFIED="1236734370950" TEXT="Including history of recent events since last login"/>
+<node CREATED="1236734370950" MODIFIED="1236734370950" TEXT="Announcements in special sub-category for newly founded shipping/travel companies"/>
</node>
-<node TEXT="Create new game character">
+<node CREATED="1236734370950" MODIFIED="1236734370950" TEXT="Create new game character">
<edge STYLE="bezier"/>
<cloud/>
<font NAME="SansSerif" SIZE="12"/>
<icon BUILTIN="password"/>
-<node TEXT="The gamer can have all varriants">
-<node TEXT="This may be limitable by admin"/>
-<node TEXT="The player still cannot make contracts with own characters">
+<node CREATED="1236734370950" MODIFIED="1236734370950" TEXT="The gamer can have all varriants">
+<node CREATED="1236734370950" MODIFIED="1236734370950" TEXT="This may be limitable by admin"/>
+<node CREATED="1236734370950" MODIFIED="1236734370950" TEXT="The player still cannot make contracts with own characters">
<icon BUILTIN="messagebox_warning"/>
</node>
</node>
-<node TEXT="It should cost somewhere a fee">
-<node TEXT="The fee shall be payed from user account"/>
+<node CREATED="1236734370950" MODIFIED="1236734370950" TEXT="It should cost somewhere a fee">
+<node CREATED="1236734370950" MODIFIED="1236734370950" TEXT="The fee shall be payed from user account"/>
</node>
-<node TEXT="For first character creation he shall have enougth game money plus some extra"/>
-<node TEXT="Types of characters">
-<node TEXT="Shipping company founder">
-<node TEXT="This includes the fee for funding new company"/>
-<node TEXT="A news for the community shall be placed">
-<node TEXT="The admin/mod can still moderate it"/>
+<node CREATED="1236734370950" MODIFIED="1236734370950" TEXT="For first character creation he shall have enougth game money plus some extra"/>
+<node CREATED="1236734370950" MODIFIED="1236734370950" TEXT="Types of characters">
+<node CREATED="1236734370950" MODIFIED="1236734370950" TEXT="Shipping company founder">
+<node CREATED="1236734370950" MODIFIED="1236734370950" TEXT="This includes the fee for funding new company"/>
+<node CREATED="1236734370950" MODIFIED="1236734370950" TEXT="A news for the community shall be placed">
+<node CREATED="1236734370950" MODIFIED="1236734370950" TEXT="The admin/mod can still moderate it"/>
</node>
</node>
-<node TEXT="Travel company founder">
-<node TEXT="Like shipping company..."/>
+<node CREATED="1236734370950" MODIFIED="1236734370950" TEXT="Travel company founder">
+<node CREATED="1236734370950" MODIFIED="1236734370950" TEXT="Like shipping company..."/>
</node>
-<node TEXT="Jobholder">
-<node TEXT="Starts unemployed"/>
-<node TEXT="Some money left for sending applications out"/>
-<node TEXT="May ask goverment for financial help"/>
-<node TEXT="Has to pay monthly fees">
+<node CREATED="1236734370950" MODIFIED="1236734370950" TEXT="Jobholder">
+<node CREATED="1236734370950" MODIFIED="1236734370950" TEXT="Starts unemployed"/>
+<node CREATED="1236734370950" MODIFIED="1236734370950" TEXT="Some money left for sending applications out"/>
+<node CREATED="1236734370951" MODIFIED="1236734370951" TEXT="May ask goverment for financial help"/>
+<node CREATED="1236734370951" MODIFIED="1236734370951" TEXT="Has to pay monthly fees">
<icon BUILTIN="stop"/>
-<node TEXT="Rent for a "fake" house"/>
-<node TEXT="Meal and drinks (faked)"/>
-<node TEXT="Others costs like phone,electricity"/>
+<node CREATED="1236734370951" MODIFIED="1236734370951" TEXT="Rent for a "fake" house"/>
+<node CREATED="1236734370951" MODIFIED="1236734370951" TEXT="Meal and drinks (faked)"/>
+<node CREATED="1236734370951" MODIFIED="1236734370951" TEXT="Others costs like phone,electricity"/>
</node>
</node>
-<node TEXT="Merchant">
-<node TEXT="Raw resources"/>
-<node TEXT="Constructed ship parts"/>
-<node TEXT="Smaller complete ships"/>
+<node CREATED="1236734370951" MODIFIED="1236734370951" TEXT="Merchant">
+<node CREATED="1236734370951" MODIFIED="1236734370951" TEXT="Raw resources"/>
+<node CREATED="1236734370951" MODIFIED="1236734370951" TEXT="Constructed ship parts"/>
+<node CREATED="1236734370951" MODIFIED="1236734370951" TEXT="Smaller complete ships"/>
</node>
-<node TEXT="Marketing Agency">
-<node TEXT="Sells marketing/merchandising products"/>
+<node CREATED="1236734370951" MODIFIED="1236734370951" TEXT="Marketing Agency">
+<node CREATED="1236734370951" MODIFIED="1236734370951" TEXT="Sells marketing/merchandising products"/>
</node>
</node>
-<node TEXT="This is only possible if account is activated">
+<node CREATED="1236734370951" MODIFIED="1236734370951" TEXT="This is only possible if account is activated">
<font ITALIC="true" NAME="SansSerif" SIZE="12"/>
<icon BUILTIN="messagebox_warning"/>
</node>
</node>
-<node TEXT=""Load" existing character">
+<node CREATED="1236734370951" MODIFIED="1236734370951" TEXT=""Load" existing character">
<cloud/>
<font NAME="SansSerif" SIZE="12"/>
<icon BUILTIN="password"/>
-<node TEXT="Contains link to "Create new character""/>
-<node TEXT="Player sees some basic data about listed characters"/>
-<node TEXT="Locked characters should not be removed instead marked with "Locked"">
+<node CREATED="1236734370951" MODIFIED="1236734370951" TEXT="Contains link to "Create new character""/>
+<node CREATED="1236734370951" MODIFIED="1236734370951" TEXT="Player sees some basic data about listed characters"/>
+<node CREATED="1236734370951" MODIFIED="1236734370951" TEXT="Locked characters should not be removed instead marked with "Locked"">
<icon BUILTIN="idea"/>
</node>
</node>
-<node TEXT="Refill account points">
-<node TEXT="The admin may choose if the in-game can be converted with a low rate to account points"/>
-<node TEXT="This option might be disabled by admin">
-<node TEXT="Then the gamer can only refill in-game money per character"/>
+<node CREATED="1236734370951" MODIFIED="1236734370951" TEXT="Refill account points">
+<node CREATED="1236734370951" MODIFIED="1236734370951" TEXT="The admin may choose if the in-game can be converted with a low rate to account points"/>
+<node CREATED="1236734370951" MODIFIED="1236734370951" TEXT="This option might be disabled by admin">
+<node CREATED="1236734370951" MODIFIED="1236734370951" TEXT="Then the gamer can only refill in-game money per character"/>
</node>
</node>
-<node TEXT="Update gamer/user profile">
-<node TEXT="Enter the current account password"/>
-<node TEXT="Send email to the user only if no email has changed, or if ..."/>
-<node TEXT="Has the email been changed?">
+<node CREATED="1236734370951" MODIFIED="1236734370951" TEXT="Update gamer/user profile">
+<node CREATED="1236734370951" MODIFIED="1236734370951" TEXT="Enter the current account password"/>
+<node CREATED="1236734370951" MODIFIED="1236734370951" TEXT="Send email to the user only if no email has changed, or if ..."/>
+<node CREATED="1236734370951" MODIFIED="1236734370951" TEXT="Has the email been changed?">
<icon BUILTIN="help"/>
-<node TEXT="Send new confirmation to new email"/>
-<node TEXT="Send notifier to old email"/>
+<node CREATED="1236734370951" MODIFIED="1236734370951" TEXT="Send new confirmation to new email"/>
+<node CREATED="1236734370951" MODIFIED="1236734370951" TEXT="Send notifier to old email"/>
</node>
-<node TEXT="Change account password">
-<node TEXT="Enter current account password"/>
-<node TEXT="Enter new password twice"/>
-<node TEXT="Send an email to the user"/>
+<node CREATED="1236734370951" MODIFIED="1236734370951" TEXT="Change account password">
+<node CREATED="1236734370951" MODIFIED="1236734370951" TEXT="Enter current account password"/>
+<node CREATED="1236734370951" MODIFIED="1236734370951" TEXT="Enter new password twice"/>
+<node CREATED="1236734370951" MODIFIED="1236734370951" TEXT="Send an email to the user"/>
</node>
</node>
</node>
-<node TEXT="General infrastructures">
-<font NAME="SansSerif" BOLD="true" SIZE="12"/>
-<node TEXT="Point system (in-game money)">
+<node CREATED="1236734370951" MODIFIED="1236734370951" TEXT="General infrastructures">
+<font BOLD="true" NAME="SansSerif" SIZE="12"/>
+<node CREATED="1236734370951" MODIFIED="1236734370951" TEXT="Point system (in-game money)">
<font NAME="SansSerif" SIZE="12"/>
<icon BUILTIN="password"/>
</node>
-<node TEXT="A.I. goverment">
+<node CREATED="1236734370951" MODIFIED="1236734370951" TEXT="A.I. goverment">
<cloud/>
<icon BUILTIN="flag"/>
<icon BUILTIN="password"/>
-<node TEXT="Shall help unemployed gamers staying alive (but not becoming rich)"/>
-<node TEXT="May later on collect taxes from companies">
-<node TEXT="For paying unemployed people"/>
-<node TEXT="Financial support for broken companies"/>
+<node CREATED="1236734370952" MODIFIED="1236734370952" TEXT="Shall help unemployed gamers staying alive (but not becoming rich)"/>
+<node CREATED="1236734370952" MODIFIED="1236734370952" TEXT="May later on collect taxes from companies">
+<node CREATED="1236734370952" MODIFIED="1236734370952" TEXT="For paying unemployed people"/>
+<node CREATED="1236734370952" MODIFIED="1236734370952" TEXT="Financial support for broken companies"/>
</node>
-<node TEXT="May ofer social security services">
+<node CREATED="1236734370952" MODIFIED="1236734370952" TEXT="May ofer social security services">
<icon BUILTIN="xmag"/>
<icon BUILTIN="pencil"/>
</node>
-<node TEXT="Goverment is not playable at the moment">
+<node CREATED="1236734370952" MODIFIED="1236734370952" TEXT="Goverment is not playable at the moment">
<font NAME="SansSerif" SIZE="12"/>
<icon BUILTIN="messagebox_warning"/>
-<node TEXT="It should be "played" abstractly by the server"/>
-<node TEXT="Gamers may help each other with financial support"/>
+<node CREATED="1236734370952" MODIFIED="1236734370952" TEXT="It should be "played" abstractly by the server"/>
+<node CREATED="1236734370952" MODIFIED="1236734370952" TEXT="Gamers may help each other with financial support"/>
</node>
</node>
</node>
</node>
-<node TEXT="Strict coding guidelines for clean PHP code" POSITION="left">
-<font NAME="SansSerif" BOLD="true" SIZE="14"/>
+<node CREATED="1236734370952" ID="Freemind_Link_463540660" MODIFIED="1236734370952" POSITION="left" TEXT="Strict coding guidelines for clean PHP code">
+<font BOLD="true" NAME="SansSerif" SIZE="14"/>
<icon BUILTIN="xmag"/>
-<node TEXT="General code structure">
-<font NAME="SansSerif" BOLD="true" SIZE="12"/>
+<node CREATED="1236734370952" MODIFIED="1236734370952" TEXT="General code structure">
+<font BOLD="true" NAME="SansSerif" SIZE="12"/>
<icon BUILTIN="messagebox_warning"/>
-<node TEXT="Fully object-oriented">
-<node TEXT="Use of different but practical design patterns">
-<node TEXT="Factory-method pattern for smother initializing of objects"/>
-<node TEXT="Template method pattern where it matches"/>
-<node TEXT="MVC pattern for the website core"/>
-</node>
-<node TEXT="Only one index.php shall provide access to the whole game"/>
-<node TEXT="Slower in PHP5">
+<node CREATED="1236734370952" MODIFIED="1236734370952" TEXT="Fully object-oriented">
+<node CREATED="1236734370952" MODIFIED="1236734370952" TEXT="Use of different but practical design patterns">
+<node CREATED="1236734370952" MODIFIED="1236734370952" TEXT="Factory-method pattern for smother initializing of objects"/>
+<node CREATED="1236734370952" MODIFIED="1236734370952" TEXT="Template method pattern where it matches"/>
+<node CREATED="1236734370952" MODIFIED="1236734370952" TEXT="MVC pattern for the website core"/>
+</node>
+<node CREATED="1236734370952" MODIFIED="1236734370952" TEXT="Only one index.php shall provide access to the whole game"/>
+<node CREATED="1236734370952" MODIFIED="1236734370952" TEXT="Slower in PHP5">
<icon BUILTIN="clanbomber"/>
</node>
</node>
</node>
-<node TEXT="Documentation">
-<font NAME="SansSerif" BOLD="true" SIZE="12"/>
-<node TEXT="In-line documentation">
-<node TEXT="Script header with full copyright and license as requested by GNU GPL 3"/>
-<node TEXT="Method headers with Doxygen compatible tags"/>
-<node TEXT="Comments above single lines for better understanding what is happening"/>
+<node CREATED="1236734370952" MODIFIED="1236734370952" TEXT="Documentation">
+<font BOLD="true" NAME="SansSerif" SIZE="12"/>
+<node CREATED="1236734370952" MODIFIED="1236734370952" TEXT="In-line documentation">
+<node CREATED="1236734370952" MODIFIED="1236734370952" TEXT="Script header with full copyright and license as requested by GNU GPL 3"/>
+<node CREATED="1236734370952" MODIFIED="1236734370952" TEXT="Method headers with Doxygen compatible tags"/>
+<node CREATED="1236734370952" MODIFIED="1236734370952" TEXT="Comments above single lines for better understanding what is happening"/>
</node>
-<node TEXT="Files in directory "docs"">
-<node TEXT="COPYING*">
-<node TEXT="License files"/>
+<node CREATED="1236734370952" MODIFIED="1236734370952" TEXT="Files in directory "docs"">
+<node CREATED="1236734370952" MODIFIED="1236734370952" TEXT="COPYING*">
+<node CREATED="1236734370952" MODIFIED="1236734370952" TEXT="License files"/>
</node>
-<node TEXT="Conception">
-<node TEXT="As OpenDocument and later PDF as well"/>
+<node CREATED="1236734370952" MODIFIED="1236734370952" TEXT="Conception">
+<node CREATED="1236734370952" MODIFIED="1236734370952" TEXT="As OpenDocument and later PDF as well"/>
</node>
-<node TEXT="NEWS">
-<node TEXT="Latest news around the game (coeer and gamer)"/>
+<node CREATED="1236734370952" MODIFIED="1236734370952" TEXT="NEWS">
+<node CREATED="1236734370952" MODIFIED="1236734370952" TEXT="Latest news around the game (coeer and gamer)"/>
</node>
-<node TEXT="README">
-<node TEXT="Includes installation instructions and general gaming guidelines"/>
+<node CREATED="1236734370952" MODIFIED="1236734370952" TEXT="README">
+<node CREATED="1236734370952" MODIFIED="1236734370952" TEXT="Includes installation instructions and general gaming guidelines"/>
</node>
-<node TEXT="ArgoUML diagram">
-<node TEXT="For visualization of the class structure"/>
+<node CREATED="1236734370952" MODIFIED="1236734370952" TEXT="ArgoUML diagram">
+<node CREATED="1236734370952" MODIFIED="1236734370952" TEXT="For visualization of the class structure"/>
</node>
-<node TEXT="FreeMind document">
-<node TEXT="...">
+<node CREATED="1236734370952" MODIFIED="1236734370952" TEXT="FreeMind document">
+<node CREATED="1236734370952" MODIFIED="1236734370952" TEXT="...">
<icon BUILTIN="ksmiletris"/>
</node>
</node>
-<node TEXT="THANKS">
-<node TEXT="All people helped in some direct or indirect way, less or more."/>
+<node CREATED="1236734370952" MODIFIED="1236734370952" TEXT="THANKS">
+<node CREATED="1236734370953" MODIFIED="1236734370953" TEXT="All people helped in some direct or indirect way, less or more."/>
</node>
-<node TEXT="minmap_yyyymmdd.html">
-<node TEXT="Exported FreeMind maps to HTML with CSS and JavaScript"/>
+<node CREATED="1236734370956" MODIFIED="1236734370956" TEXT="minmap_yyyymmdd.html">
+<node CREATED="1236734370956" MODIFIED="1236734370956" TEXT="Exported FreeMind maps to HTML with CSS and JavaScript"/>
</node>
</node>
</node>
-<node TEXT="Folding of the code">
-<font NAME="SansSerif" BOLD="true" SIZE="12"/>
+<node CREATED="1236734370956" MODIFIED="1236734370956" TEXT="Folding of the code">
+<font BOLD="true" NAME="SansSerif" SIZE="12"/>
</node>
-<node TEXT="Tabs and spaces">
-<font NAME="SansSerif" BOLD="true" SIZE="12"/>
+<node CREATED="1236734370956" MODIFIED="1236734370956" TEXT="Tabs and spaces">
+<font BOLD="true" NAME="SansSerif" SIZE="12"/>
</node>
</node>
</node>
+++ /dev/null
-<html>
-<head>
-<title>Browser-Game</title>
-<style type="text/css">
- span.foldopened { color: white; font-size: xx-small;
- border-width: 1; font-family: monospace; padding: 0em 0.25em 0em 0.25em; background: #e0e0e0;
- VISIBILITY: visible;
- cursor:pointer; }
-
-
- span.foldclosed { color: #666666; font-size: xx-small;
- border-width: 1; font-family: monospace; padding: 0em 0.25em 0em 0.25em; background: #e0e0e0;
- VISIBILITY: hidden;
- cursor:pointer; }
-
- span.foldspecial { color: #666666; font-size: xx-small; border-style: none solid solid none;
- border-color: #CCCCCC; border-width: 1; font-family: sans-serif; padding: 0em 0.1em 0em 0.1em; background: #e0e0e0;
- cursor:pointer; }
-
- li { list-style: none; }
-
- span.l { color: red; font-weight: bold; }
-
- a:link {text-decoration: none; color: black; }
- a:visited {text-decoration: none; color: black; }
- a:active {text-decoration: none; color: black; }
- a:hover {text-decoration: none; color: black; background: #eeeee0; }
-
-</style>
-<!-- ^ Position is not set to relative / absolute here because of Mozilla -->
-</head>
-<body>
-
-<script language="JavaScript">
- // Here we implement folding. It works fine with MSIE5.5, MSIE6.0 and
- // Mozilla 0.9.6.
-
- if (document.layers) {
- //Netscape 4 specific code
- pre = 'document.';
- post = ''; }
- if (document.getElementById) {
- //Netscape 6 specific code
- pre = 'document.getElementById("';
- post = '").style'; }
- if (document.all) {
- //IE4+ specific code
- pre = 'document.all.';
- post = '.style'; }
-
-function layer_exists(layer) {
- try {
- eval(pre + layer + post);
- return true; }
- catch (error) {
- return false; }}
-
-function show_layer(layer) {
- eval(pre + layer + post).position = 'relative';
- eval(pre + layer + post).visibility = 'visible'; }
-
-function hide_layer(layer) {
- eval(pre + layer + post).visibility = 'hidden';
- eval(pre + layer + post).position = 'absolute'; }
-
-function hide_folder(folder) {
- hide_folding_layer(folder)
- show_layer('show'+folder);
-
- scrollBy(0,0); // This is a work around to make it work in Browsers (Explorer, Mozilla)
-}
-
-function show_folder(folder) {
- // Precondition: all subfolders are folded
-
- show_layer('hide'+folder);
- hide_layer('show'+folder);
- show_layer('fold'+folder);
-
- scrollBy(0,0); // This is a work around to make it work in Browsers (Explorer, Mozilla)
-
- var i;
- for (i=1; layer_exists('fold'+folder+'_'+i); ++i) {
- show_layer('show'+folder+'_'+i); }
-}
-function show_folder_completely(folder) {
- // Precondition: all subfolders are folded
-
- show_layer('hide'+folder);
- hide_layer('show'+folder);
- show_layer('fold'+folder);
-
- scrollBy(0,0); // This is a work around to make it work in Browsers (Explorer, Mozilla)
-
- var i;
- for (i=1; layer_exists('fold'+folder+'_'+i); ++i) {
- show_folder_completely(folder+'_'+i); }
-}
-
-
-
-function hide_folding_layer(folder) {
- var i;
- for (i=1; layer_exists('fold'+folder+'_'+i); ++i) {
- hide_folding_layer(folder+'_'+i); }
-
- hide_layer('hide'+folder);
- hide_layer('show'+folder);
- hide_layer('fold'+folder);
-
- scrollBy(0,0); // This is a work around to make it work in Browsers (Explorer, Mozilla)
-}
-
-function fold_document() {
- var i;
- var folder = '1';
- for (i=1; layer_exists('fold'+folder+'_'+i); ++i) {
- hide_folder(folder+'_'+i); }
-}
-
-function unfold_document() {
- var i;
- var folder = '1';
- for (i=1; layer_exists('fold'+folder+'_'+i); ++i) {
- show_folder_completely(folder+'_'+i); }
-}
-
-</script>
-<SPAN class=foldspecial onclick="fold_document()">All +</SPAN>
-<SPAN class=foldspecial onclick="unfold_document()">All -</SPAN>
-<p><a href="Ship-Simu-Ship-Simulator.mm.html" target="_blank"><span class=l>~</span> <span style="font-size: 150%;font-family: SansSerif, sans-serif; font-weight: bold; ">Browser-Game</span>
-</a>
-<ul><li><span id="show1_1" class="foldclosed" onClick="show_folder('1_1')" style="POSITION: absolute">+</span> <span id="hide1_1" class="foldopened" onClick="hide_folder('1_1')">-</Span>
-<span style="font-size: 116%;font-family: SansSerif, sans-serif; font-weight: bold; ">Procedures</span>
-<ul id="fold1_1" style="POSITION: relative; VISIBILITY: visible;"><li><span id="show1_1_1" class="foldclosed" onClick="show_folder('1_1_1')" style="POSITION: absolute">+</span> <span id="hide1_1_1" class="foldopened" onClick="hide_folder('1_1_1')">-</Span>
-<span style="font-family: SansSerif, sans-serif; font-weight: bold; ">Registration procedure</span>
-<ul id="fold1_1_1" style="POSITION: relative; VISIBILITY: visible;"><li><span id="show1_1_1_1" class="foldclosed" onClick="show_folder('1_1_1_1')" style="POSITION: absolute">+</span> <span id="hide1_1_1_1" class="foldopened" onClick="hide_folder('1_1_1_1')">-</Span>
-Make sure the user account is only used once
-<ul id="fold1_1_1_1" style="POSITION: relative; VISIBILITY: visible;"><li>An AJAX request may give the user faster feedback
-
-</li>
-
-</ul>
-</li>
-<li><span id="show1_1_1_2" class="foldclosed" onClick="show_folder('1_1_1_2')" style="POSITION: absolute">+</span> <span id="hide1_1_1_2" class="foldopened" onClick="hide_folder('1_1_1_2')">-</Span>
-If required make also sure that the email is used once
-<ul id="fold1_1_1_2" style="POSITION: relative; VISIBILITY: visible;"><li>Another AJAX request might be helpful here
-
-</li>
-
-</ul>
-</li>
-<li>Both passwords must match as verification
-
-</li>
-<li>Non-required form fields are checked only if there is content for XSS or other bad things
-
-</li>
-<li>Encrypt/hash the password (should always be performed)
-
-</li>
-<li>Complete the registration by adding the user account to the database
-
-</li>
-<li><span id="show1_1_1_3" class="foldclosed" onClick="show_folder('1_1_1_3')" style="POSITION: absolute">+</span> <span id="hide1_1_1_3" class="foldopened" onClick="hide_folder('1_1_1_3')">-</Span>
-Registered partners shall be notified with different ways
-<ul id="fold1_1_1_3" style="POSITION: relative; VISIBILITY: visible;"><li>XML-RPC is the default
-
-</li>
-<li>Different notifiers shall also be possible
-
-</li>
-<li>This might be queueable to avoid long waiting times for slow partner pages
-
-</li>
-
-</ul>
-</li>
-<li>Send out confirmation mail if requested by configuration
-
-</li>
-<li><span id="show1_1_1_4" class="foldclosed" onClick="show_folder('1_1_1_4')" style="POSITION: absolute">+</span> <span id="hide1_1_1_4" class="foldopened" onClick="hide_folder('1_1_1_4')">-</Span>
-Redirect the user to a new page
-<ul id="fold1_1_1_4" style="POSITION: relative; VISIBILITY: visible;"><li>Default is the "Registration completed" page
-
-</li>
-<li>Home page shall be chooseable
-
-</li>
-<li>Other URLs can be used as well
-
-</li>
-
-</ul>
-</li>
-<li><span id="show1_1_1_5" class="foldclosed" onClick="show_folder('1_1_1_5')" style="POSITION: absolute">+</span> <span id="hide1_1_1_5" class="foldopened" onClick="hide_folder('1_1_1_5')">-</Span>
-Alternatively login to the internal area
-<ul id="fold1_1_1_5" style="POSITION: relative; VISIBILITY: visible;"><li>The account is not useable if email is not confirmed
-
-</li>
-
-</ul>
-</li>
-
-</ul>
-</li>
-<li><span style="font-family: SansSerif, sans-serif; font-weight: bold; ">Login procedure</span>
-
-</li>
-<li><span id="show1_1_2" class="foldclosed" onClick="show_folder('1_1_2')" style="POSITION: absolute">+</span> <span id="hide1_1_2" class="foldopened" onClick="hide_folder('1_1_2')">-</Span>
-<span style="font-family: SansSerif, sans-serif; font-weight: bold; ">General</span>
-<ul id="fold1_1_2" style="POSITION: relative; VISIBILITY: visible;"><li>Most steps shall be done by an intercepting filter pattern
-
-</li>
-
-</ul>
-</li>
-
-</ul>
-</li>
-<li><span id="show1_2" class="foldclosed" onClick="show_folder('1_2')" style="POSITION: absolute">+</span> <span id="hide1_2" class="foldopened" onClick="hide_folder('1_2')">-</Span>
-Pseudo-3D graphics
-<ul id="fold1_2" style="POSITION: relative; VISIBILITY: visible;"><li><span id="show1_2_1" class="foldclosed" onClick="show_folder('1_2_1')" style="POSITION: absolute">+</span> <span id="hide1_2_1" class="foldopened" onClick="hide_folder('1_2_1')">-</Span>
-Still graphics
-<ul id="fold1_2_1" style="POSITION: relative; VISIBILITY: visible;"><li><span id="show1_2_1_1" class="foldclosed" onClick="show_folder('1_2_1_1')" style="POSITION: absolute">+</span> <span id="hide1_2_1_1" class="foldopened" onClick="hide_folder('1_2_1_1')">-</Span>
-Different ships
-<ul id="fold1_2_1_1" style="POSITION: relative; VISIBILITY: visible;"><li>Passenger ship
-
-</li>
-<li>Oil tanker
-
-</li>
-<li>Container ship
-
-</li>
-<li>Misc small ships
-
-</li>
-
-</ul>
-</li>
-<li><span id="show1_2_1_2" class="foldclosed" onClick="show_folder('1_2_1_2')" style="POSITION: absolute">+</span> <span id="hide1_2_1_2" class="foldopened" onClick="hide_folder('1_2_1_2')">-</Span>
-Buildings
-<ul id="fold1_2_1_2" style="POSITION: relative; VISIBILITY: visible;"><li>Shipyard
-
-</li>
-<li>Dry dock
-
-</li>
-<li>Terminal building
-
-</li>
-
-</ul>
-</li>
-<li><span id="show1_2_1_3" class="foldclosed" onClick="show_folder('1_2_1_3')" style="POSITION: absolute">+</span> <span id="hide1_2_1_3" class="foldopened" onClick="hide_folder('1_2_1_3')">-</Span>
-Vehicles
-<ul id="fold1_2_1_3" style="POSITION: relative; VISIBILITY: visible;"><li>Container carrier
-
-</li>
-<li>Crane
-
-</li>
-
-</ul>
-</li>
-<li><span id="show1_2_1_4" class="foldclosed" onClick="show_folder('1_2_1_4')" style="POSITION: absolute">+</span> <span id="hide1_2_1_4" class="foldopened" onClick="hide_folder('1_2_1_4')">-</Span>
-All pics should be self-shooted
-<ul id="fold1_2_1_4" style="POSITION: relative; VISIBILITY: visible;"><li>This avoids copyright conflicts
-
-</li>
-<li>The requested buildings/vehicles must be found in reality
-
-</li>
-
-</ul>
-</li>
-
-</ul>
-</li>
-<li><span id="show1_2_2" class="foldclosed" onClick="show_folder('1_2_2')" style="POSITION: absolute">+</span> <span id="hide1_2_2" class="foldopened" onClick="hide_folder('1_2_2')">-</Span>
-Slightly moved graphics (GIF)
-<ul id="fold1_2_2" style="POSITION: relative; VISIBILITY: visible;"><li>Water surface
-
-</li>
-<li>Sky texture
-
-</li>
-
-</ul>
-</li>
-
-</ul>
-</li>
-<li><span id="show1_3" class="foldclosed" onClick="show_folder('1_3')" style="POSITION: absolute">+</span> <span id="hide1_3" class="foldopened" onClick="hide_folder('1_3')">-</Span>
-Tick-based simulation
-<ul id="fold1_3" style="POSITION: relative; VISIBILITY: visible;"><li><span id="show1_3_1" class="foldclosed" onClick="show_folder('1_3_1')" style="POSITION: absolute">+</span> <span id="hide1_3_1" class="foldopened" onClick="hide_folder('1_3_1')">-</Span>
-Cronological job (cron)
-<ul id="fold1_3_1" style="POSITION: relative; VISIBILITY: visible;"><li>Addional requirement for installation
-
-</li>
-
-</ul>
-</li>
-
-</ul>
-</li>
-<li><span id="show1_4" class="foldclosed" onClick="show_folder('1_4')" style="POSITION: absolute">+</span> <span id="hide1_4" class="foldopened" onClick="hide_folder('1_4')">-</Span>
-Click-based simulation
-<ul id="fold1_4" style="POSITION: relative; VISIBILITY: visible;"><li>User clicks a button, action performed
-
-</li>
-
-</ul>
-</li>
-<li><span id="show1_5" class="foldclosed" onClick="show_folder('1_5')" style="POSITION: absolute">+</span> <span id="hide1_5" class="foldopened" onClick="hide_folder('1_5')">-</Span>
-Fully XHTML 1.0
-<ul id="fold1_5" style="POSITION: relative; VISIBILITY: visible;"><li>Latest Internet standard
-
-</li>
-<li>Older browsers will make lesser trouble
-
-</li>
-<li><span id="show1_5_1" class="foldclosed" onClick="show_folder('1_5_1')" style="POSITION: absolute">+</span> <span id="hide1_5_1" class="foldopened" onClick="hide_folder('1_5_1')">-</Span>
-Should validate with the W3C HTML Validator
-<ul id="fold1_5_1" style="POSITION: relative; VISIBILITY: visible;"><li><a href="http://validator.w3.org" target="_blank"><span class=l>~</span> http://validator.w3.org
-</a>
-
-</li>
-
-</ul>
-</li>
-
-</ul>
-</li>
-<li><span id="show1_6" class="foldclosed" onClick="show_folder('1_6')" style="POSITION: absolute">+</span> <span id="hide1_6" class="foldopened" onClick="hide_folder('1_6')">-</Span>
-<span style="font-family: SansSerif, sans-serif; ">Design is CSS-based</span>
-<ul id="fold1_6" style="POSITION: relative; VISIBILITY: visible;"><li>Themes are possible
-
-</li>
-
-</ul>
-</li>
-<li>Nice AJAX features
-
-</li>
-<li><span id="show1_7" class="foldclosed" onClick="show_folder('1_7')" style="POSITION: absolute">+</span> <span id="hide1_7" class="foldopened" onClick="hide_folder('1_7')">-</Span>
-<span style="font-size: 116%;font-family: SansSerif, sans-serif; font-weight: bold; ">Website structure</span>
-<ul id="fold1_7" style="POSITION: relative; VISIBILITY: visible;"><li><span id="show1_7_1" class="foldclosed" onClick="show_folder('1_7_1')" style="POSITION: absolute">+</span> <span id="hide1_7_1" class="foldopened" onClick="hide_folder('1_7_1')">-</Span>
-<span style="font-family: SansSerif, sans-serif; font-weight: bold; ">External guest area</span>
-<ul id="fold1_7_1" style="POSITION: relative; VISIBILITY: visible;"><li><span id="show1_7_1_1" class="foldclosed" onClick="show_folder('1_7_1_1')" style="POSITION: absolute">+</span> <span id="hide1_7_1_1" class="foldopened" onClick="hide_folder('1_7_1_1')">-</Span>
-News on the front page (home)
-<ul id="fold1_7_1_1" style="POSITION: relative; VISIBILITY: visible;"><li><span id="show1_7_1_1_1" class="foldclosed" onClick="show_folder('1_7_1_1_1')" style="POSITION: absolute">+</span> <span id="hide1_7_1_1_1" class="foldopened" onClick="hide_folder('1_7_1_1_1')">-</Span>
-The news source can be choosen from different
-<ul id="fold1_7_1_1_1" style="POSITION: relative; VISIBILITY: visible;"><li>Previously typed and stored in database
-
-</li>
-<li><span id="show1_7_1_1_1_1" class="foldclosed" onClick="show_folder('1_7_1_1_1_1')" style="POSITION: absolute">+</span> <span id="hide1_7_1_1_1_1" class="foldopened" onClick="hide_folder('1_7_1_1_1_1')">-</Span>
-Local XML files
-<ul id="fold1_7_1_1_1_1" style="POSITION: relative; VISIBILITY: visible;"><li><span style="font-family: SansSerif, sans-serif; ">Hint: Created by external generators</span>
-
-</li>
-
-</ul>
-</li>
-<li>Remote XMLs like RSS feeds
-
-</li>
-
-</ul>
-</li>
-<li><span id="show1_7_1_1_2" class="foldclosed" onClick="show_folder('1_7_1_1_2')" style="POSITION: absolute">+</span> <span id="hide1_7_1_1_2" class="foldopened" onClick="hide_folder('1_7_1_1_2')">-</Span>
-The typer can choose a category
-<ul id="fold1_7_1_1_2" style="POSITION: relative; VISIBILITY: visible;"><li>New categories can be suggested by the typer
-
-</li>
-<li>An admin can create new categories
-
-</li>
-
-</ul>
-</li>
-<li><span id="show1_7_1_1_3" class="foldclosed" onClick="show_folder('1_7_1_1_3')" style="POSITION: absolute">+</span> <span id="hide1_7_1_1_3" class="foldopened" onClick="hide_folder('1_7_1_1_3')">-</Span>
-Comments are allowable
-<ul id="fold1_7_1_1_3" style="POSITION: relative; VISIBILITY: visible;"><li>Logged-in users
-
-</li>
-<li><span id="show1_7_1_1_3_1" class="foldclosed" onClick="show_folder('1_7_1_1_3_1')" style="POSITION: absolute">+</span> <span id="hide1_7_1_1_3_1" class="foldopened" onClick="hide_folder('1_7_1_1_3_1')">-</Span>
-Guests as well
-<ul id="fold1_7_1_1_3_1" style="POSITION: relative; VISIBILITY: visible;"><li>Secured with CAPTCHA
-
-</li>
-
-</ul>
-</li>
-
-</ul>
-</li>
-<li><span id="show1_7_1_1_4" class="foldclosed" onClick="show_folder('1_7_1_1_4')" style="POSITION: absolute">+</span> <span id="hide1_7_1_1_4" class="foldopened" onClick="hide_folder('1_7_1_1_4')">-</Span>
-One object for all news should be fine
-<ul id="fold1_7_1_1_4" style="POSITION: relative; VISIBILITY: visible;"><li>Do not use one object per news entry!
-
-</li>
-<li><span id="show1_7_1_1_4_1" class="foldclosed" onClick="show_folder('1_7_1_1_4_1')" style="POSITION: absolute">+</span> <span id="hide1_7_1_1_4_1" class="foldopened" onClick="hide_folder('1_7_1_1_4_1')">-</Span>
-The object receives a "Requestable" object
-<ul id="fold1_7_1_1_4_1" style="POSITION: relative; VISIBILITY: visible;"><li>Obtain page number and sent comment data from it
-
-</li>
-
-</ul>
-</li>
-
-</ul>
-</li>
-
-</ul>
-</li>
-<li><span id="show1_7_1_2" class="foldclosed" onClick="show_folder('1_7_1_2')" style="POSITION: absolute">+</span> <span id="hide1_7_1_2" class="foldopened" onClick="hide_folder('1_7_1_2')">-</Span>
-Registration form
-<ul id="fold1_7_1_2" style="POSITION: relative; VISIBILITY: visible;"><li>One single page
-
-</li>
-<li>Multiple pages
-
-</li>
-
-</ul>
-</li>
-<li><span id="show1_7_1_3" class="foldclosed" onClick="show_folder('1_7_1_3')" style="POSITION: absolute">+</span> <span id="hide1_7_1_3" class="foldopened" onClick="hide_folder('1_7_1_3')">-</Span>
-Login form
-<ul id="fold1_7_1_3" style="POSITION: relative; VISIBILITY: visible;"><li>With guest login (disable by the admin)
-
-</li>
-<li>Password reminder
-
-</li>
-<li>Link to the registration form
-
-</li>
-<li><span id="show1_7_1_3_1" class="foldclosed" onClick="show_folder('1_7_1_3_1')" style="POSITION: absolute">+</span> <span id="hide1_7_1_3_1" class="foldopened" onClick="hide_folder('1_7_1_3_1')">-</Span>
-Different login methods configureable by admin:
-<ul id="fold1_7_1_3_1" style="POSITION: relative; VISIBILITY: visible;"><li>By username+password
-
-</li>
-<li>By email+password
-
-</li>
-<li>By username/email+password
-
-</li>
-
-</ul>
-</li>
-<li><span id="show1_7_1_3_2" class="foldclosed" onClick="show_folder('1_7_1_3_2')" style="POSITION: absolute">+</span> <span id="hide1_7_1_3_2" class="foldopened" onClick="hide_folder('1_7_1_3_2')">-</Span>
-Wether cookie-based or session-based login
-<ul id="fold1_7_1_3_2" style="POSITION: relative; VISIBILITY: visible;"><li>This shall be configureable by admin
-
-</li>
-
-</ul>
-</li>
-
-</ul>
-</li>
-<li><span id="show1_7_1_4" class="foldclosed" onClick="show_folder('1_7_1_4')" style="POSITION: absolute">+</span> <span id="hide1_7_1_4" class="foldopened" onClick="hide_folder('1_7_1_4')">-</Span>
-Screenshot gallery
-<ul id="fold1_7_1_4" style="POSITION: relative; VISIBILITY: visible;"><li>Comments are allowable
-
-</li>
-<li>Should be kept simple
-
-</li>
-
-</ul>
-</li>
-<li>List of enabled features
-
-</li>
-<li>Statistics of the game (not whole network!)
-
-</li>
-<li><span id="show1_7_1_5" class="foldclosed" onClick="show_folder('1_7_1_5')" style="POSITION: absolute">+</span> <span id="hide1_7_1_5" class="foldopened" onClick="hide_folder('1_7_1_5')">-</Span>
-List of playing users
-<ul id="fold1_7_1_5" style="POSITION: relative; VISIBILITY: visible;"><li>With link to their public profiles
-
-</li>
-
-</ul>
-</li>
-<li><span id="show1_7_1_6" class="foldclosed" onClick="show_folder('1_7_1_6')" style="POSITION: absolute">+</span> <span id="hide1_7_1_6" class="foldopened" onClick="hide_folder('1_7_1_6')">-</Span>
-Pillory
-<ul id="fold1_7_1_6" style="POSITION: relative; VISIBILITY: visible;"><li>Username (who got locked)
-
-</li>
-<li>Date&Time
-
-</li>
-<li>The admin
-
-</li>
-<li>Stated reason
-
-</li>
-
-</ul>
-</li>
-<li><span id="show1_7_1_7" class="foldclosed" onClick="show_folder('1_7_1_7')" style="POSITION: absolute">+</span> <span id="hide1_7_1_7" class="foldopened" onClick="hide_folder('1_7_1_7')">-</Span>
-Small extra pages
-<ul id="fold1_7_1_7" style="POSITION: relative; VISIBILITY: visible;"><li>Imprint (required in Germany)
-
-</li>
-<li>Privacy policy (required in some countries)
-
-</li>
-
-</ul>
-</li>
-
-</ul>
-</li>
-<li><span id="show1_7_2" class="foldclosed" onClick="show_folder('1_7_2')" style="POSITION: absolute">+</span> <span id="hide1_7_2" class="foldopened" onClick="hide_folder('1_7_2')">-</Span>
-<span style="font-family: SansSerif, sans-serif; font-weight: bold; ">Internal game area</span>
-<ul id="fold1_7_2" style="POSITION: relative; VISIBILITY: visible;"><li><span id="show1_7_2_1" class="foldclosed" onClick="show_folder('1_7_2_1')" style="POSITION: absolute">+</span> <span id="hide1_7_2_1" class="foldopened" onClick="hide_folder('1_7_2_1')">-</Span>
-News on first login page
-<ul id="fold1_7_2_1" style="POSITION: relative; VISIBILITY: visible;"><li>Like on "home" page except that there is no captcha required
-
-</li>
-<li>Including history of recent events since last login
-
-</li>
-<li>Announcements in special sub-category for newly founded shipping/travel companies
-
-</li>
-
-</ul>
-</li>
-<li><span id="show1_7_2_2" class="foldclosed" onClick="show_folder('1_7_2_2')" style="POSITION: absolute">+</span> <span id="hide1_7_2_2" class="foldopened" onClick="hide_folder('1_7_2_2')">-</Span>
-<span style="font-family: SansSerif, sans-serif; ">Create new game character</span>
-<ul id="fold1_7_2_2" style="POSITION: relative; VISIBILITY: visible;"><li><span id="show1_7_2_2_1" class="foldclosed" onClick="show_folder('1_7_2_2_1')" style="POSITION: absolute">+</span> <span id="hide1_7_2_2_1" class="foldopened" onClick="hide_folder('1_7_2_2_1')">-</Span>
-The gamer can have all varriants
-<ul id="fold1_7_2_2_1" style="POSITION: relative; VISIBILITY: visible;"><li>This may be limitable by admin
-
-</li>
-<li>The player still cannot make contracts with own characters
-
-</li>
-
-</ul>
-</li>
-<li><span id="show1_7_2_2_2" class="foldclosed" onClick="show_folder('1_7_2_2_2')" style="POSITION: absolute">+</span> <span id="hide1_7_2_2_2" class="foldopened" onClick="hide_folder('1_7_2_2_2')">-</Span>
-It should cost somewhere a fee
-<ul id="fold1_7_2_2_2" style="POSITION: relative; VISIBILITY: visible;"><li>The fee shall be payed from user account
-
-</li>
-
-</ul>
-</li>
-<li>For first character creation he shall have enougth game money plus some extra
-
-</li>
-<li><span id="show1_7_2_2_3" class="foldclosed" onClick="show_folder('1_7_2_2_3')" style="POSITION: absolute">+</span> <span id="hide1_7_2_2_3" class="foldopened" onClick="hide_folder('1_7_2_2_3')">-</Span>
-Types of characters
-<ul id="fold1_7_2_2_3" style="POSITION: relative; VISIBILITY: visible;"><li><span id="show1_7_2_2_3_1" class="foldclosed" onClick="show_folder('1_7_2_2_3_1')" style="POSITION: absolute">+</span> <span id="hide1_7_2_2_3_1" class="foldopened" onClick="hide_folder('1_7_2_2_3_1')">-</Span>
-Shipping company founder
-<ul id="fold1_7_2_2_3_1" style="POSITION: relative; VISIBILITY: visible;"><li>This includes the fee for funding new company
-
-</li>
-<li><span id="show1_7_2_2_3_1_1" class="foldclosed" onClick="show_folder('1_7_2_2_3_1_1')" style="POSITION: absolute">+</span> <span id="hide1_7_2_2_3_1_1" class="foldopened" onClick="hide_folder('1_7_2_2_3_1_1')">-</Span>
-A news for the community shall be placed
-<ul id="fold1_7_2_2_3_1_1" style="POSITION: relative; VISIBILITY: visible;"><li>The admin/mod can still moderate it
-
-</li>
-
-</ul>
-</li>
-
-</ul>
-</li>
-<li><span id="show1_7_2_2_3_2" class="foldclosed" onClick="show_folder('1_7_2_2_3_2')" style="POSITION: absolute">+</span> <span id="hide1_7_2_2_3_2" class="foldopened" onClick="hide_folder('1_7_2_2_3_2')">-</Span>
-Travel company founder
-<ul id="fold1_7_2_2_3_2" style="POSITION: relative; VISIBILITY: visible;"><li>Like shipping company...
-
-</li>
-
-</ul>
-</li>
-<li><span id="show1_7_2_2_3_3" class="foldclosed" onClick="show_folder('1_7_2_2_3_3')" style="POSITION: absolute">+</span> <span id="hide1_7_2_2_3_3" class="foldopened" onClick="hide_folder('1_7_2_2_3_3')">-</Span>
-Jobholder
-<ul id="fold1_7_2_2_3_3" style="POSITION: relative; VISIBILITY: visible;"><li>Starts unemployed
-
-</li>
-<li>Some money left for sending applications out
-
-</li>
-<li>May ask goverment for financial help
-
-</li>
-<li><span id="show1_7_2_2_3_3_1" class="foldclosed" onClick="show_folder('1_7_2_2_3_3_1')" style="POSITION: absolute">+</span> <span id="hide1_7_2_2_3_3_1" class="foldopened" onClick="hide_folder('1_7_2_2_3_3_1')">-</Span>
-Has to pay monthly fees
-<ul id="fold1_7_2_2_3_3_1" style="POSITION: relative; VISIBILITY: visible;"><li>Rent for a "fake" house
-
-</li>
-<li>Meal and drinks (faked)
-
-</li>
-<li>Others costs like phone,electricity
-
-</li>
-
-</ul>
-</li>
-
-</ul>
-</li>
-<li><span id="show1_7_2_2_3_4" class="foldclosed" onClick="show_folder('1_7_2_2_3_4')" style="POSITION: absolute">+</span> <span id="hide1_7_2_2_3_4" class="foldopened" onClick="hide_folder('1_7_2_2_3_4')">-</Span>
-Merchant
-<ul id="fold1_7_2_2_3_4" style="POSITION: relative; VISIBILITY: visible;"><li>Raw resources
-
-</li>
-<li>Constructed ship parts
-
-</li>
-<li>Smaller complete ships
-
-</li>
-
-</ul>
-</li>
-<li><span id="show1_7_2_2_3_5" class="foldclosed" onClick="show_folder('1_7_2_2_3_5')" style="POSITION: absolute">+</span> <span id="hide1_7_2_2_3_5" class="foldopened" onClick="hide_folder('1_7_2_2_3_5')">-</Span>
-Marketing Agency
-<ul id="fold1_7_2_2_3_5" style="POSITION: relative; VISIBILITY: visible;"><li>Sells marketing/merchandising products
-
-</li>
-
-</ul>
-</li>
-
-</ul>
-</li>
-<li><span style="font-family: SansSerif, sans-serif; font-style: italic; ">This is only possible if account is activated</span>
-
-</li>
-
-</ul>
-</li>
-<li><span id="show1_7_2_3" class="foldclosed" onClick="show_folder('1_7_2_3')" style="POSITION: absolute">+</span> <span id="hide1_7_2_3" class="foldopened" onClick="hide_folder('1_7_2_3')">-</Span>
-<span style="font-family: SansSerif, sans-serif; ">"Load" existing character</span>
-<ul id="fold1_7_2_3" style="POSITION: relative; VISIBILITY: visible;"><li>Contains link to "Create new character"
-
-</li>
-<li>Player sees some basic data about listed characters
-
-</li>
-<li>Locked characters should not be removed instead marked with "Locked"
-
-</li>
-
-</ul>
-</li>
-<li><span id="show1_7_2_4" class="foldclosed" onClick="show_folder('1_7_2_4')" style="POSITION: absolute">+</span> <span id="hide1_7_2_4" class="foldopened" onClick="hide_folder('1_7_2_4')">-</Span>
-Refill account points
-<ul id="fold1_7_2_4" style="POSITION: relative; VISIBILITY: visible;"><li>The admin may choose if the in-game can be converted with a low rate to account points
-
-</li>
-<li><span id="show1_7_2_4_1" class="foldclosed" onClick="show_folder('1_7_2_4_1')" style="POSITION: absolute">+</span> <span id="hide1_7_2_4_1" class="foldopened" onClick="hide_folder('1_7_2_4_1')">-</Span>
-This option might be disabled by admin
-<ul id="fold1_7_2_4_1" style="POSITION: relative; VISIBILITY: visible;"><li>Then the gamer can only refill in-game money per character
-
-</li>
-
-</ul>
-</li>
-
-</ul>
-</li>
-<li><span id="show1_7_2_5" class="foldclosed" onClick="show_folder('1_7_2_5')" style="POSITION: absolute">+</span> <span id="hide1_7_2_5" class="foldopened" onClick="hide_folder('1_7_2_5')">-</Span>
-Update gamer/user profile
-<ul id="fold1_7_2_5" style="POSITION: relative; VISIBILITY: visible;"><li>Enter the current account password
-
-</li>
-<li>Send email to the user only if no email has changed, or if ...
-
-</li>
-<li><span id="show1_7_2_5_1" class="foldclosed" onClick="show_folder('1_7_2_5_1')" style="POSITION: absolute">+</span> <span id="hide1_7_2_5_1" class="foldopened" onClick="hide_folder('1_7_2_5_1')">-</Span>
-Has the email been changed?
-<ul id="fold1_7_2_5_1" style="POSITION: relative; VISIBILITY: visible;"><li>Send new confirmation to new email
-
-</li>
-<li>Send notifier to old email
-
-</li>
-
-</ul>
-</li>
-<li><span id="show1_7_2_5_2" class="foldclosed" onClick="show_folder('1_7_2_5_2')" style="POSITION: absolute">+</span> <span id="hide1_7_2_5_2" class="foldopened" onClick="hide_folder('1_7_2_5_2')">-</Span>
-Change account password
-<ul id="fold1_7_2_5_2" style="POSITION: relative; VISIBILITY: visible;"><li>Enter current account password
-
-</li>
-<li>Enter new password twice
-
-</li>
-<li>Send an email to the user
-
-</li>
-
-</ul>
-</li>
-
-</ul>
-</li>
-
-</ul>
-</li>
-<li><span id="show1_7_3" class="foldclosed" onClick="show_folder('1_7_3')" style="POSITION: absolute">+</span> <span id="hide1_7_3" class="foldopened" onClick="hide_folder('1_7_3')">-</Span>
-<span style="font-family: SansSerif, sans-serif; font-weight: bold; ">General infrastructures</span>
-<ul id="fold1_7_3" style="POSITION: relative; VISIBILITY: visible;"><li><span style="font-family: SansSerif, sans-serif; ">Point system (in-game money)</span>
-
-</li>
-<li><span id="show1_7_3_1" class="foldclosed" onClick="show_folder('1_7_3_1')" style="POSITION: absolute">+</span> <span id="hide1_7_3_1" class="foldopened" onClick="hide_folder('1_7_3_1')">-</Span>
-A.I. goverment
-<ul id="fold1_7_3_1" style="POSITION: relative; VISIBILITY: visible;"><li>Shall help unemployed gamers staying alive (but not becoming rich)
-
-</li>
-<li><span id="show1_7_3_1_1" class="foldclosed" onClick="show_folder('1_7_3_1_1')" style="POSITION: absolute">+</span> <span id="hide1_7_3_1_1" class="foldopened" onClick="hide_folder('1_7_3_1_1')">-</Span>
-May later on collect taxes from companies
-<ul id="fold1_7_3_1_1" style="POSITION: relative; VISIBILITY: visible;"><li>For paying unemployed people
-
-</li>
-<li>Financial support for broken companies
-
-</li>
-
-</ul>
-</li>
-<li>May ofer social security services
-
-</li>
-<li><span id="show1_7_3_1_2" class="foldclosed" onClick="show_folder('1_7_3_1_2')" style="POSITION: absolute">+</span> <span id="hide1_7_3_1_2" class="foldopened" onClick="hide_folder('1_7_3_1_2')">-</Span>
-<span style="font-family: SansSerif, sans-serif; ">Goverment is not playable at the moment</span>
-<ul id="fold1_7_3_1_2" style="POSITION: relative; VISIBILITY: visible;"><li>It should be "played" abstractly by the server
-
-</li>
-<li>Gamers may help each other with financial support
-
-</li>
-
-</ul>
-</li>
-
-</ul>
-</li>
-
-</ul>
-</li>
-
-</ul>
-</li>
-<li><span id="show1_8" class="foldclosed" onClick="show_folder('1_8')" style="POSITION: absolute">+</span> <span id="hide1_8" class="foldopened" onClick="hide_folder('1_8')">-</Span>
-<span style="font-size: 116%;font-family: SansSerif, sans-serif; font-weight: bold; ">Strict coding guidelines for clean PHP code</span>
-<ul id="fold1_8" style="POSITION: relative; VISIBILITY: visible;"><li><span id="show1_8_1" class="foldclosed" onClick="show_folder('1_8_1')" style="POSITION: absolute">+</span> <span id="hide1_8_1" class="foldopened" onClick="hide_folder('1_8_1')">-</Span>
-<span style="font-family: SansSerif, sans-serif; font-weight: bold; ">General code structure</span>
-<ul id="fold1_8_1" style="POSITION: relative; VISIBILITY: visible;"><li><span id="show1_8_1_1" class="foldclosed" onClick="show_folder('1_8_1_1')" style="POSITION: absolute">+</span> <span id="hide1_8_1_1" class="foldopened" onClick="hide_folder('1_8_1_1')">-</Span>
-Fully object-oriented
-<ul id="fold1_8_1_1" style="POSITION: relative; VISIBILITY: visible;"><li><span id="show1_8_1_1_1" class="foldclosed" onClick="show_folder('1_8_1_1_1')" style="POSITION: absolute">+</span> <span id="hide1_8_1_1_1" class="foldopened" onClick="hide_folder('1_8_1_1_1')">-</Span>
-Use of different but practical design patterns
-<ul id="fold1_8_1_1_1" style="POSITION: relative; VISIBILITY: visible;"><li>Factory-method pattern for smother initializing of objects
-
-</li>
-<li>Template method pattern where it matches
-
-</li>
-<li>MVC pattern for the website core
-
-</li>
-
-</ul>
-</li>
-<li>Only one index.php shall provide access to the whole game
-
-</li>
-<li>Slower in PHP5
-
-</li>
-
-</ul>
-</li>
-
-</ul>
-</li>
-<li><span id="show1_8_2" class="foldclosed" onClick="show_folder('1_8_2')" style="POSITION: absolute">+</span> <span id="hide1_8_2" class="foldopened" onClick="hide_folder('1_8_2')">-</Span>
-<span style="font-family: SansSerif, sans-serif; font-weight: bold; ">Documentation</span>
-<ul id="fold1_8_2" style="POSITION: relative; VISIBILITY: visible;"><li><span id="show1_8_2_1" class="foldclosed" onClick="show_folder('1_8_2_1')" style="POSITION: absolute">+</span> <span id="hide1_8_2_1" class="foldopened" onClick="hide_folder('1_8_2_1')">-</Span>
-In-line documentation
-<ul id="fold1_8_2_1" style="POSITION: relative; VISIBILITY: visible;"><li>Script header with full copyright and license as requested by GNU GPL 3
-
-</li>
-<li>Method headers with Doxygen compatible tags
-
-</li>
-<li>Comments above single lines for better understanding what is happening
-
-</li>
-
-</ul>
-</li>
-<li><span id="show1_8_2_2" class="foldclosed" onClick="show_folder('1_8_2_2')" style="POSITION: absolute">+</span> <span id="hide1_8_2_2" class="foldopened" onClick="hide_folder('1_8_2_2')">-</Span>
-Files in directory "docs"
-<ul id="fold1_8_2_2" style="POSITION: relative; VISIBILITY: visible;"><li><span id="show1_8_2_2_1" class="foldclosed" onClick="show_folder('1_8_2_2_1')" style="POSITION: absolute">+</span> <span id="hide1_8_2_2_1" class="foldopened" onClick="hide_folder('1_8_2_2_1')">-</Span>
-COPYING*
-<ul id="fold1_8_2_2_1" style="POSITION: relative; VISIBILITY: visible;"><li>License files
-
-</li>
-
-</ul>
-</li>
-<li><span id="show1_8_2_2_2" class="foldclosed" onClick="show_folder('1_8_2_2_2')" style="POSITION: absolute">+</span> <span id="hide1_8_2_2_2" class="foldopened" onClick="hide_folder('1_8_2_2_2')">-</Span>
-Conception
-<ul id="fold1_8_2_2_2" style="POSITION: relative; VISIBILITY: visible;"><li>As OpenDocument and later PDF as well
-
-</li>
-
-</ul>
-</li>
-<li><span id="show1_8_2_2_3" class="foldclosed" onClick="show_folder('1_8_2_2_3')" style="POSITION: absolute">+</span> <span id="hide1_8_2_2_3" class="foldopened" onClick="hide_folder('1_8_2_2_3')">-</Span>
-NEWS
-<ul id="fold1_8_2_2_3" style="POSITION: relative; VISIBILITY: visible;"><li>Latest news around the game (coeer and gamer)
-
-</li>
-
-</ul>
-</li>
-<li><span id="show1_8_2_2_4" class="foldclosed" onClick="show_folder('1_8_2_2_4')" style="POSITION: absolute">+</span> <span id="hide1_8_2_2_4" class="foldopened" onClick="hide_folder('1_8_2_2_4')">-</Span>
-README
-<ul id="fold1_8_2_2_4" style="POSITION: relative; VISIBILITY: visible;"><li>Includes installation instructions and general gaming guidelines
-
-</li>
-
-</ul>
-</li>
-<li><span id="show1_8_2_2_5" class="foldclosed" onClick="show_folder('1_8_2_2_5')" style="POSITION: absolute">+</span> <span id="hide1_8_2_2_5" class="foldopened" onClick="hide_folder('1_8_2_2_5')">-</Span>
-ArgoUML diagram
-<ul id="fold1_8_2_2_5" style="POSITION: relative; VISIBILITY: visible;"><li>For visualization of the class structure
-
-</li>
-
-</ul>
-</li>
-<li><span id="show1_8_2_2_6" class="foldclosed" onClick="show_folder('1_8_2_2_6')" style="POSITION: absolute">+</span> <span id="hide1_8_2_2_6" class="foldopened" onClick="hide_folder('1_8_2_2_6')">-</Span>
-FreeMind document
-<ul id="fold1_8_2_2_6" style="POSITION: relative; VISIBILITY: visible;"><li>...
-
-</li>
-
-</ul>
-</li>
-<li><span id="show1_8_2_2_7" class="foldclosed" onClick="show_folder('1_8_2_2_7')" style="POSITION: absolute">+</span> <span id="hide1_8_2_2_7" class="foldopened" onClick="hide_folder('1_8_2_2_7')">-</Span>
-THANKS
-<ul id="fold1_8_2_2_7" style="POSITION: relative; VISIBILITY: visible;"><li>All people helped in some direct or indirect way, less or more.
-
-</li>
-
-</ul>
-</li>
-<li><span id="show1_8_2_2_8" class="foldclosed" onClick="show_folder('1_8_2_2_8')" style="POSITION: absolute">+</span> <span id="hide1_8_2_2_8" class="foldopened" onClick="hide_folder('1_8_2_2_8')">-</Span>
-minmap_yyyymmdd.html
-<ul id="fold1_8_2_2_8" style="POSITION: relative; VISIBILITY: visible;"><li>Exported FreeMind maps to HTML with CSS and JavaScript
-
-</li>
-
-</ul>
-</li>
-
-</ul>
-</li>
-
-</ul>
-</li>
-<li><span style="font-family: SansSerif, sans-serif; font-weight: bold; ">Folding of the code</span>
-
-</li>
-<li><span style="font-family: SansSerif, sans-serif; font-weight: bold; ">Tabs and spaces</span>
-
-</li>
-
-</ul>
-</li>
-
-</ul><SCRIPT language=JavaScript>
-fold_document();
-</SCRIPT>
-</body>
-</html>
--- /dev/null
+<?xml version="1.0" encoding="iso-8859-1"?><?xml-stylesheet href="treestyles.css" type="text/css"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xml:lang="fi" xmlns="http://www.w3.org/1999/xhtml"><head><title>Payment System</title><link rel="stylesheet" href="Payment-System.html_files/treestyles.css" type="text/css"/><script type="text/javascript" src="Payment-System.html_files/marktree.js"> </script></head><body><div class="basetop"><a href="#" onclick="expandAll(document.getElementById('base'))">Expand</a> - <a href="#" onclick="collapseAll(document.getElementById('base'))">Collapse</a></div><div id="base" class="basetext"><ul><li class="col" style="" id="FMFreemind_Link_1071165854FM"><span style="font-size:150%;font-weight:bold;"><a href="Ship-Simu-Ship-Simulator.mm">Payment System</a> <a href="Ship-Simu-Ship-Simulator.mm"><img src="Payment-System.html_files/icons/Link.png" alt="" style="border-width:0"/></a></span><ul class="subexp"><li class="basic" style=""><span style="">They all must be queued if a user orders something</span></li><li class="col" style=""><span style="">The ordered item must be validated if it is being sold</span><ul class="subexp"><li class="basic" style=""><span style="">This should be done by a composite filter pattern (composite combined with filter)</span></li></ul></li><li class="col" style=""><img src="Payment-System.html_files/icons/idea.png" alt="idea"/> <span style="">An other pattern shall e.g. only book the item/money if the API gives positive reply</span><ul class="subexp"><li class="basic" style=""><img src="Payment-System.html_files/icons/help.png" alt="help"/> <span style="">State-depending pattern?</span></li></ul></li><li class="col" style=""><span style="">Different payment APIs exists</span><ul class="subexp"><li class="col" style=""><span style="">Wernis API</span><ul class="subexp"><li class="basic" style=""><span style="">Request: GET,POST</span></li><li class="basic" style=""><span style="">Response: Own format</span></li></ul></li><li class="col" style=""><span style="">Primera API</span><ul class="subexp"><li class="basic" style=""><img src="Payment-System.html_files/icons/clanbomber.png" alt="clanbomber"/> <span style="">Need special agreement here!</span></li><li class="basic" style=""><span style="">Request: POST</span></li><li class="basic" style=""><img src="Payment-System.html_files/icons/help.png" alt="help"/> <span style="">Response: Own format (?)</span></li></ul></li><li class="col" style=""><span style="">(Paypal)</span><ul class="subexp"><li class="basic" style=""><img src="Payment-System.html_files/icons/messagebox_warning.png" alt="messagebox_warning"/> <span style="font-size:100%;font-weight:bold;">Has expensive fees for sender</span></li></ul></li><li class="col" style=""><img src="Payment-System.html_files/icons/attach.png" alt="attach"/> <span style=""><a href="http://www.moneybookers.com/merchant/en/automated_payments_interface_manual.pdf">Moneybookers</a> <a href="http://www.moneybookers.com/merchant/en/automated_payments_interface_manual.pdf"><img src="Payment-System.html_files/icons/Link.png" alt="" style="border-width:0"/></a></span><ul class="subexp"><li class="col" style=""><span style="">Request: GET</span><ul class="subexp"><li class="basic" style=""><img src="Payment-System.html_files/icons/help.png" alt="help"/> <span style="">POST also?</span></li></ul></li><li class="basic" style=""><span style="">Response: XML</span></li></ul></li><li class="basic" style=""><span style="">Rambler?</span></li></ul></li></ul></li></ul></div></body></html>
\ No newline at end of file
--- /dev/null
+/* MarkTree JavaScript code\r
+ * \r
+ * The contents of this file are subject to the Mozilla Public License Version\r
+ * 1.1 (the "License"); you may not use this file except in compliance with\r
+ * the License. You may obtain a copy of the License at\r
+ * http://www.mozilla.org/MPL/\r
+ *\r
+ * Software distributed under the License is distributed on an "AS IS" basis,\r
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License\r
+ * for the specific language governing rights and limitations under the\r
+ * License.\r
+ * \r
+ * Miika Nurminen, 12.7.2004.\r
+ */\r
+\r
+/* cross-browser (tested with ie5, mozilla 1 and opera 5) keypress detection */\r
+function get_keycode(evt) {\r
+ // IE\r
+ code = document.layers ? evt.which\r
+ : document.all ? event.keyCode // event.keyCode!=evt.keyCode!\r
+ : evt.keyCode;\r
+\r
+ if (code==0) \r
+ code=evt.which; // for NS\r
+ return code;\r
+}\r
+\r
+var lastnode=null;\r
+var listnodes = null;\r
+var list_index=1;\r
+var lastnodetype=''; // determines if node is a link, input or text;\r
+\r
+// up, left, down, right, keypress codes\r
+//ijkl\r
+//var keys = new Array(105,106,107,108);\r
+//num arrows\r
+//var keys = new Array(56,52,50,54);\r
+//wasd\r
+// var press2 = new Array(119,97,115,100);\r
+ var press = new Array(47,45,42,43);\r
+\r
+// keydown codes\r
+ // var keys2=new Array(87,65,83,68);\r
+ var keys= new Array(38,37,40,39);\r
+\r
+ // keyset 1 = keydown, otherwise press\r
+function checkup(keyset,n) {\r
+ if (keyset==1) return (n==keys[0]);\r
+ return ((n==press[0]) /*|| (n==press2[0])*/)\r
+}\r
+\r
+function checkdn(keyset,n) {\r
+ if (keyset==1) return (n==keys[2]);\r
+ return ((n==press[2]) /*|| (n==press2[2])*/)\r
+}\r
+\r
+function checkl(keyset,n) {\r
+ if (keyset==1) return (n==keys[1]);\r
+ return ((n==press[1]) /*|| (n==press2[1])*/)\r
+}\r
+\r
+function checkr(keyset,n) {\r
+ if (keyset==1) return (n==keys[3]);\r
+ return ((n==press[3]) /*|| (n==press2[3])*/)\r
+}\r
+\r
+\r
+\r
+\r
+\r
+function is_exp(n) {\r
+ if (n==null) return false;\r
+ return ((n.className=='exp') || (n.className=='exp_active'));\r
+}\r
+\r
+function is_col(n) {\r
+ if (n==null) return false;\r
+ return ((n.className=='col') || (n.className=='col_active'));\r
+}\r
+\r
+function is_basic(n) {\r
+ if (n==null) return false;\r
+ return ((n.className=='basic') || (n.className=='basic_active'));\r
+}\r
+\r
+\r
+\r
+/* returns i>=0 if true */\r
+function is_active(node) {\r
+ if (node.className==null) return false\r
+ return node.className.indexOf('_active');\r
+}\r
+\r
+function toggle_class(node) {\r
+ if ((node==null) || (node.className==null)) return;\r
+ str=node.className;\r
+ result="";\r
+ i = str.indexOf('_active');\r
+ if (i>0)\r
+ result= str.substr(0,i);\r
+ else\r
+ result= str+"_active";\r
+ node.className=result; \r
+ return node;\r
+}\r
+\r
+function activate(node) {\r
+ node.style.backgroundColor='#eeeeff';\r
+}\r
+\r
+function deactivate(node) {\r
+ node.style.backgroundColor='#ffffff';\r
+}\r
+\r
+function is_list_node(n) {\r
+ if (n==null) return false;\r
+ if (n.className==null) return false;\r
+ if ( (is_exp(n)) || \r
+ (is_col(n)) ||\r
+ (is_basic(n)) )\r
+ return true; else return false;\r
+}\r
+\r
+\r
+function get_href(n) {\r
+ alist=n.attributes;\r
+ if (alist!=null) {\r
+ hr = alist.getNamedItem('href');\r
+ if (hr!=null) return hr.nodeValue;\r
+ }\r
+ if (n.childNodes.length==0) return '';\r
+ for (var i=0; i<n.childNodes.length; i++) {\r
+ s = get_href(n.childNodes[i]);\r
+ if (s!='') return s;\r
+ }\r
+ return '';\r
+}\r
+\r
+function get_link(n) {\r
+ if (n==null) return null;\r
+ if (n.style==null) return null;\r
+\r
+ // disabling uncontrolled recursion to prevent error messages on IE\r
+ // when trying to focus to invisible links (readonly mode)\r
+// alert(n.nodeName+' '+n.className);\r
+ if ((n.nodeName=='UL') && (n.className=='sub')) return null;\r
+\r
+ if (n.nodeName=='A') return n;\r
+ if (n.childNodes.length==0) return null;\r
+ for (var i=0; i<n.childNodes.length; i++) {\r
+ s = get_link(n.childNodes[i]);\r
+ if (s!=null) return s;\r
+ }\r
+ return null;\r
+}\r
+\r
+function set_lastnode(n) {\r
+/*var d = new Date();\r
+var t_mil = d.getMilliseconds();*/\r
+// testattu nopeuksia explorerilla, ei merkittäviä eroja\r
+ if (lastnode==n) return; \r
+/* deactivate(lastnode)\r
+ lastnode=n;\r
+ activate(lastnode);*/\r
+\r
+ if (is_active(lastnode)>=0)\r
+ toggle_class(lastnode);\r
+ lastnode=n;\r
+ if (!(is_active(lastnode)>=0))\r
+ toggle_class(lastnode);\r
+\r
+\r
+/*var d2 = new Date();\r
+var t_mil2 = d2.getMilliseconds();\r
+ window.alert(t_mil2-t_mil);*/\r
+}\r
+\r
+function next_list_node() {\r
+ tempIndex = list_index;\r
+ while (tempIndex<listnodes.length-1) {\r
+ tempIndex++;\r
+ var x = listnodes[tempIndex];\r
+ if (is_list_node(x)) {\r
+ list_index=tempIndex;\r
+ return;\r
+ }\r
+ }\r
+}\r
+\r
+function prev_list_node() {\r
+ tempIndex = list_index;\r
+ while (tempIndex>0) {\r
+ tempIndex--;\r
+ var x = listnodes[tempIndex];\r
+ if (is_list_node(x)) {\r
+ list_index=tempIndex;\r
+ return;\r
+ }\r
+ }\r
+}\r
+\r
+\r
+\r
+function getsub (li) {\r
+ if (li.childNodes.length==0) return null;\r
+ for (var c = 0; c < li.childNodes.length; c++)\r
+ if ( (li.childNodes[c].className == 'sub') || (li.childNodes[c].className == 'subexp') ) \r
+ return li.childNodes[c];\r
+}\r
+\r
+function find_listnode_recursive (li) {\r
+ if (is_list_node(li)) return li; \r
+ if (li.childNodes.length==0) return null;\r
+ result=null;\r
+ for (var c = 0; c < li.childNodes.length; c++) {\r
+ result=find_listnode_recursive(li.childNodes[c]);\r
+ if (result!=null) return result;\r
+ }\r
+ return null;\r
+}\r
+\r
+function next_child_listnode(li) {\r
+ var result=null;\r
+ for (var i=0; i<li.childNodes.length; i++) {\r
+ result=find_listnode_recursive(li.childNodes[i]);\r
+ if (result!=null) return result;\r
+ }\r
+ return null; \r
+}\r
+\r
+function next_actual_sibling_listnode(li) {\r
+ if (li==null) return null;\r
+ var temp=li;\r
+ while (1) { \r
+ var n = temp.nextSibling;\r
+ if (n==null) {\r
+ n=parent_listnode(temp);\r
+ return next_actual_sibling_listnode(n);\r
+ }\r
+ if (is_list_node(n)) return n;\r
+ temp=n;\r
+ }\r
+}\r
+\r
+function next_sibling_listnode(li) {\r
+if (li==null) return null; \r
+ var result=null;\r
+ var temp=li;\r
+ if (is_col(temp)) return next_child_listnode(temp);\r
+ while (1) { \r
+ var n = temp.nextSibling;\r
+ if (n==null) {\r
+ n=parent_listnode(temp);\r
+ return next_actual_sibling_listnode(n);\r
+ }\r
+ if (is_list_node(n)) return n;\r
+ temp=n;\r
+ }\r
+}\r
+\r
+function last_sibling_listnode(li) {\r
+ if (li==null) return null;\r
+ var temp=li;\r
+ var last=null;\r
+ while(1) {\r
+ var n = temp.nextSibling;\r
+ if (is_list_node(temp)) \r
+ last = temp;\r
+ if (n==null) {\r
+ if (is_col(last)) return last_sibling_listnode(next_child_listnode(last));\r
+ else return last;\r
+ }\r
+ temp = n;\r
+ }\r
+}\r
+\r
+function prev_sibling_listnode(li) { \r
+ if (li==null) return null;\r
+ var temp=li;\r
+ var n = null;\r
+ while (1) { \r
+ n = temp.previousSibling;\r
+ if (n==null) {\r
+ return parent_listnode(li);\r
+ }\r
+ if (is_list_node(n)) {\r
+ if (is_col(n)) { \r
+ return last_sibling_listnode(next_child_listnode(n));\r
+ }\r
+ else {\r
+ return n;\r
+ }\r
+ }\r
+ temp=n;\r
+ }\r
+}\r
+\r
+\r
+function parent_listnode(li) {\r
+ // added 12.7.2004 to prevent IE error when readonly mode==true\r
+ if (li==null) return null;\r
+ n=li;\r
+ while (1) {\r
+ n=n.parentNode;\r
+ if (n==null) return null;\r
+ if (is_list_node(n)) return n;\r
+ }\r
+}\r
+\r
+function getVisibleParents(id) {\r
+ var n = document.getElementById(id);\r
+ while(1) {\r
+ expand(n);\r
+ n = parent_listnode(n);\r
+ if (n==null) return;\r
+ }\r
+}\r
+\r
+function onClickHandler (evt) {\r
+if (lastnode==null) \r
+{\r
+listnodes = document.getElementsByTagName('li');\r
+lastnode=listnodes[1];\r
+temp=listnodes[1];\r
+}\r
+\r
+\r
+ var target = evt ? evt.target : event.srcElement;\r
+ if (!is_list_node(target)) return;\r
+ toggle(target);\r
+ set_lastnode(target);\r
+}\r
+\r
+\r
+function expand(node) {\r
+ if (!is_exp(node)) return;\r
+ if (node.className=='exp_active') \r
+ node.className='col_active';\r
+ else \r
+ node.className='col';\r
+ setSubClass(node,'subexp');\r
+ // getsub(node).className='subexp';\r
+}\r
+\r
+function collapse(node) {\r
+ if (!is_col(node)) return;\r
+ \r
+if (node.className=='col_active')\r
+ node.className='exp_active'\r
+ else \r
+ node.className='exp';\r
+\r
+ setSubClass(node,'sub');\r
+// getsub(node).className='sub';\r
+\r
+}\r
+\r
+function setSubClass(node,name) {\r
+ sub = getsub(node);\r
+ if (sub==null) return;\r
+ sub.className=name; \r
+}\r
+\r
+function toggle(target) {\r
+ if (!is_list_node(target)) return;\r
+ if (is_col(target)) {\r
+ target.className='exp';\r
+ setSubClass(target,'sub');\r
+ // getsub(target).className='sub';\r
+ }\r
+ else if (is_exp(target)) {\r
+ target.className='col';\r
+ setSubClass(target,'subexp');\r
+ // getsub(target).className='subexp';\r
+ }\r
+ \r
+}\r
+\r
+function expandAll(node) {\r
+ if (node.className=='exp') {\r
+ node.className='col';\r
+ setSubClass(node,'subexp');\r
+// getsub(node).className='subexp';\r
+ }\r
+ var i;\r
+ if (node.childNodes!=null) \r
+// if (node.hasChildNodes()) \r
+ for ( i = 0; i<node.childNodes.length; i++)\r
+ expandAll(node.childNodes[i]);\r
+}\r
+\r
+function collapseAll(node) {\r
+ if (node.className=='col') {\r
+ node.className='exp';\r
+ setSubClass(node,'sub');\r
+// getsub(node).className='sub';\r
+ }\r
+ var i; \r
+ if (node.childNodes!=null) \r
+// for opera if (node.hasChildNodes()) \r
+ for ( i = 0; i<node.childNodes.length; i++)\r
+ collapseAll(node.childNodes[i]);\r
+}\r
+\r
+\r
+\r
+function unFocus(node) {\r
+ // unfocuses potential link that is to be hidden (if a==null there is no link so it should not be blurred).\r
+ // tested with mozilla 1.7, 12.7.2004. /mn (\r
+ intemp=parent_listnode(node); \r
+ a = get_link(intemp); // added 6.4. to get keyboard working with\r
+ // moved before collapse to prevent an error message with IE when readonly==true \r
+ if (a!=null) a.blur(); // netscape after collapsing a focused node\r
+ return intemp;\r
+}\r
+\r
+// mode: 0==keypress, 1==keyup\r
+function keyfunc(evt,mode) {\r
+ var c = get_keycode(evt);\r
+ var temp = null;\r
+ var a = null;\r
+\r
+ if (lastnode==null) {\r
+ listnodes = document.getElementsByTagName('li');\r
+ lastnode=listnodes[1];\r
+ temp=listnodes[1];\r
+ }\r
+\r
+ //window.alert(c);\r
+ if (checkup(mode,c)) { // i \r
+ temp=prev_sibling_listnode(lastnode);\r
+ }\r
+ else if (checkdn(mode,c)) { // k\r
+ temp=next_sibling_listnode(lastnode);\r
+ }\r
+ else if (checkr(mode,c)) { // l\r
+ expand(lastnode);\r
+ // temp=next_child_listnode(lastnode);\r
+ // if (temp==null) {\r
+ a = get_link(lastnode);\r
+ if (a!=null) a.focus(); else self.focus(); \r
+ //}\r
+ }\r
+ else if (checkl(mode,c)) { // j\r
+ if (is_col(lastnode)) {\r
+ unFocus(lastnode);\r
+ collapse(lastnode);\r
+ }\r
+ else {\r
+ temp=unFocus(lastnode);\r
+ collapse(temp);\r
+ }\r
+ // if (temp==null) lastnode.focus(); // forces focus to correct div (try mozilla typesearch) (doesn't seem to work -mn/6.4.2004)\r
+ }\r
+ else return;\r
+ if (temp!=null) set_lastnode(temp);\r
+\r
+ // alert('pressed ' + String.fromCharCode(c) + '(' + c + ')');\r
+ return true;\r
+}\r
+\r
+\r
+function keytest (evt) {\r
+ return keyfunc(evt,1);\r
+};\r
+\r
+\r
+function presstest (evt) {\r
+ return keyfunc(evt,0);\r
+};\r
+\r
+\r
+ document.onclick = onClickHandler;\r
+ document.onkeypress = presstest;\r
+ document.onkeyup = keytest;\r
--- /dev/null
+\r
+body {\r
+ background-color: #eeeeee;\r
+ color: #000000;\r
+ font-family:sans-serif;\r
+}\r
+\r
+:link { color: #0000ff; text-decoration:none;}\r
+:visited { color: #6666ff; text-decoration:none; }\r
+a:active { color: #0000ff; text-decoration:none;}\r
+a:hover {color: #0000ff; text-decoration:underline; }\r
+\r
+div.basetext {\r
+ background-color:#ffffff;\r
+ margin-top:11px;\r
+ margin-bottom:11px;\r
+ margin-left:1%;\r
+ margin-right:1%;\r
+ padding-top:11px;\r
+ padding-left:11px;\r
+ padding-right:11px;\r
+ padding-bottom:11px;\r
+ text-align:left;\r
+ font-weight:normal;\r
+ border-width:thin;\r
+ border-style:solid;\r
+ border-color:#dddddd;\r
+}\r
+\r
+div.basetop {\r
+ position: fixed;\r
+ width:auto;\r
+ height:auto;\r
+ right:0em;\r
+ top:0em;\r
+ left:auto; \r
+ top:0;\r
+ background-color:#ffffff;\r
+ margin-top:0;\r
+ margin-bottom:0;\r
+ margin-left:1%;\r
+ margin-right:1%;\r
+ padding-top:2px;\r
+ padding-left:11px;\r
+ padding-right:11px;\r
+ padding-bottom:2px;\r
+ text-align:left;\r
+ font-weight:normal;\r
+text-align:right;\r
+ border-width:thin;\r
+ border-style:solid;\r
+ border-color:#dddddd;\r
+}\r
+\r
+h1 {\r
+ text-align:center;\r
+}\r
+\r
+span.h2 {\r
+ font-family:sans-serif;\r
+ font-weight:bold;\r
+}\r
+\r
+div.year {\r
+ margin-right:2%;\r
+ background-color:#eeeeee;\r
+}\r
+\r
+div.form {\r
+}\r
+\r
+span.cpt {\r
+ color:#005500;\r
+ font-weight:bold;\r
+}\r
+\r
+span.cm {\r
+ color:#666666;\r
+}\r
+\r
+.fl {\r
+ color:#0000FF; \r
+ font-style:italic;\r
+}\r
+\r
+ul {\r
+ margin-top:1px;\r
+ margin-bottom:1px;\r
+ margin-left:0px;\r
+ padding-left:3%;\r
+}\r
+\r
+li {\r
+ list-style:outside;\r
+ margin-top:10px; \r
+ margin-bottom:10px;\r
+}\r
+\r
+ul li {\r
+ list-style:square;\r
+ font-family:sans-serif;\r
+ font-weight:normal;\r
+}\r
+\r
+li.basic {\r
+ list-style:square;\r
+ list-style-image:none;\r
+ margin-top:2px;\r
+ margin-bottom:2px;\r
+}\r
+\r
+span.links {\r
+}\r
+\r
+\r
+\r
+\r
+.sub { display: none; }\r
+.subexp {display: block; }\r
+.sub { display: none; } \r
+\r
+.subexp {display: block; } \r
+\r
+li.exp {\r
+ list-style-image:url("plus.png");\r
+ margin-top:10px;\r
+ margin-bottom:10px;\r
+ cursor:pointer;\r
+}\r
+\r
+li.col {\r
+ list-style-image:url("minus.png");\r
+ margin-top:10px;\r
+ margin-bottom:10px;\r
+ cursor:pointer;\r
+}\r
+\r
+li.exp_active {\r
+ list-style-image:url("plus.png");\r
+ margin-top:10px; \r
+ margin-bottom:10px;\r
+ background-color:#eeeeff;\r
+ cursor:pointer;\r
+}\r
+\r
+li.col_active {\r
+ list-style-image:url("minus.png");\r
+ margin-top:10px;\r
+ margin-bottom:10px;\r
+ background-color:#eeeeff;\r
+ cursor:pointer; /* if not included, bullets are not shown right in moz*/\r
+}\r
+\r
+\r
+li.basic_active {\r
+ list-style:square;\r
+ list-style-image:none;\r
+ background-color:#eeeeff;\r
+ margin-top:2px;\r
+ margin-bottom:2px;\r
+}\r
-<map version="0.7.1">
-<node LINK="Ship-Simu Ship-Simulator.mm" TEXT="Payment System">
-<font NAME="SansSerif" BOLD="true" SIZE="18"/>
-<node TEXT="They all must be queued if a user orders something" POSITION="right"/>
-<node TEXT="The ordered item must be validated if it is being sold" POSITION="right">
-<node TEXT="This should be done by a composite filter pattern (composite combined with filter)"/>
-</node>
-<node TEXT="An other pattern shall e.g. only book the item/money if the API gives positive reply" POSITION="right">
+<map version="0.8.1">
+<!-- To view this file, download free mind mapping software FreeMind from http://freemind.sourceforge.net -->
+<node CREATED="1236734887514" ID="Freemind_Link_1071165854" LINK="Ship-Simu-Ship-Simulator.mm" MODIFIED="1236734899315" TEXT="Payment System">
+<font BOLD="true" NAME="SansSerif" SIZE="18"/>
+<node CREATED="1236734887514" MODIFIED="1236734887514" POSITION="right" TEXT="They all must be queued if a user orders something"/>
+<node CREATED="1236734887514" MODIFIED="1236734887514" POSITION="right" TEXT="The ordered item must be validated if it is being sold">
+<node CREATED="1236734887514" MODIFIED="1236734887514" TEXT="This should be done by a composite filter pattern (composite combined with filter)"/>
+</node>
+<node CREATED="1236734887514" MODIFIED="1236734887514" POSITION="right" TEXT="An other pattern shall e.g. only book the item/money if the API gives positive reply">
<icon BUILTIN="idea"/>
-<node TEXT="State-depending pattern?">
+<node CREATED="1236734887514" MODIFIED="1236734887514" TEXT="State-depending pattern?">
<icon BUILTIN="help"/>
</node>
</node>
-<node TEXT="Different payment APIs exists" POSITION="left">
-<node TEXT="Wernis API">
-<node TEXT="Request: GET,POST"/>
-<node TEXT="Response: Own format"/>
+<node CREATED="1236734887514" MODIFIED="1236734887514" POSITION="left" TEXT="Different payment APIs exists">
+<node CREATED="1236734887514" MODIFIED="1236734887514" TEXT="Wernis API">
+<node CREATED="1236734887514" MODIFIED="1236734887514" TEXT="Request: GET,POST"/>
+<node CREATED="1236734887514" MODIFIED="1236734887514" TEXT="Response: Own format"/>
</node>
-<node TEXT="Primera API">
-<node TEXT="Need special agreement here!">
+<node CREATED="1236734887514" MODIFIED="1236734887514" TEXT="Primera API">
+<node CREATED="1236734887514" MODIFIED="1236734887514" TEXT="Need special agreement here!">
<icon BUILTIN="clanbomber"/>
</node>
-<node TEXT="Request: POST"/>
-<node TEXT="Response: Own format (?)">
+<node CREATED="1236734887514" MODIFIED="1236734887514" TEXT="Request: POST"/>
+<node CREATED="1236734887514" MODIFIED="1236734887514" TEXT="Response: Own format (?)">
<icon BUILTIN="help"/>
</node>
</node>
-<node TEXT="(Paypal)">
-<node TEXT="Has expensive fees for sender">
-<font NAME="SansSerif" BOLD="true" SIZE="12"/>
+<node CREATED="1236734887514" MODIFIED="1236734887514" TEXT="(Paypal)">
+<node CREATED="1236734887514" MODIFIED="1236734887514" TEXT="Has expensive fees for sender">
+<font BOLD="true" NAME="SansSerif" SIZE="12"/>
<icon BUILTIN="messagebox_warning"/>
</node>
</node>
-<node LINK="http://www.moneybookers.com/merchant/en/automated_payments_interface_manual.pdf" TEXT="Moneybookers">
+<node CREATED="1236734887514" LINK="http://www.moneybookers.com/merchant/en/automated_payments_interface_manual.pdf" MODIFIED="1236734887514" TEXT="Moneybookers">
<icon BUILTIN="attach"/>
-<node TEXT="Request: GET">
-<node TEXT="POST also?">
+<node CREATED="1236734887514" MODIFIED="1236734887514" TEXT="Request: GET">
+<node CREATED="1236734887514" MODIFIED="1236734887514" TEXT="POST also?">
<icon BUILTIN="help"/>
</node>
</node>
-<node TEXT="Response: XML"/>
+<node CREATED="1236734887514" MODIFIED="1236734887514" TEXT="Response: XML"/>
</node>
-<node TEXT="Rambler?"/>
+<node CREATED="1236734887514" MODIFIED="1236734887514" TEXT="Rambler?"/>
</node>
</node>
</map>
+++ /dev/null
-<html>
-<head>
-<title>Payment System</title>
-<style type="text/css">
- span.foldopened { color: white; font-size: xx-small;
- border-width: 1; font-family: monospace; padding: 0em 0.25em 0em 0.25em; background: #e0e0e0;
- VISIBILITY: visible;
- cursor:pointer; }
-
-
- span.foldclosed { color: #666666; font-size: xx-small;
- border-width: 1; font-family: monospace; padding: 0em 0.25em 0em 0.25em; background: #e0e0e0;
- VISIBILITY: hidden;
- cursor:pointer; }
-
- span.foldspecial { color: #666666; font-size: xx-small; border-style: none solid solid none;
- border-color: #CCCCCC; border-width: 1; font-family: sans-serif; padding: 0em 0.1em 0em 0.1em; background: #e0e0e0;
- cursor:pointer; }
-
- li { list-style: none; }
-
- span.l { color: red; font-weight: bold; }
-
- a:link {text-decoration: none; color: black; }
- a:visited {text-decoration: none; color: black; }
- a:active {text-decoration: none; color: black; }
- a:hover {text-decoration: none; color: black; background: #eeeee0; }
-
-</style>
-<!-- ^ Position is not set to relative / absolute here because of Mozilla -->
-</head>
-<body>
-
-<script language="JavaScript">
- // Here we implement folding. It works fine with MSIE5.5, MSIE6.0 and
- // Mozilla 0.9.6.
-
- if (document.layers) {
- //Netscape 4 specific code
- pre = 'document.';
- post = ''; }
- if (document.getElementById) {
- //Netscape 6 specific code
- pre = 'document.getElementById("';
- post = '").style'; }
- if (document.all) {
- //IE4+ specific code
- pre = 'document.all.';
- post = '.style'; }
-
-function layer_exists(layer) {
- try {
- eval(pre + layer + post);
- return true; }
- catch (error) {
- return false; }}
-
-function show_layer(layer) {
- eval(pre + layer + post).position = 'relative';
- eval(pre + layer + post).visibility = 'visible'; }
-
-function hide_layer(layer) {
- eval(pre + layer + post).visibility = 'hidden';
- eval(pre + layer + post).position = 'absolute'; }
-
-function hide_folder(folder) {
- hide_folding_layer(folder)
- show_layer('show'+folder);
-
- scrollBy(0,0); // This is a work around to make it work in Browsers (Explorer, Mozilla)
-}
-
-function show_folder(folder) {
- // Precondition: all subfolders are folded
-
- show_layer('hide'+folder);
- hide_layer('show'+folder);
- show_layer('fold'+folder);
-
- scrollBy(0,0); // This is a work around to make it work in Browsers (Explorer, Mozilla)
-
- var i;
- for (i=1; layer_exists('fold'+folder+'_'+i); ++i) {
- show_layer('show'+folder+'_'+i); }
-}
-function show_folder_completely(folder) {
- // Precondition: all subfolders are folded
-
- show_layer('hide'+folder);
- hide_layer('show'+folder);
- show_layer('fold'+folder);
-
- scrollBy(0,0); // This is a work around to make it work in Browsers (Explorer, Mozilla)
-
- var i;
- for (i=1; layer_exists('fold'+folder+'_'+i); ++i) {
- show_folder_completely(folder+'_'+i); }
-}
-
-
-
-function hide_folding_layer(folder) {
- var i;
- for (i=1; layer_exists('fold'+folder+'_'+i); ++i) {
- hide_folding_layer(folder+'_'+i); }
-
- hide_layer('hide'+folder);
- hide_layer('show'+folder);
- hide_layer('fold'+folder);
-
- scrollBy(0,0); // This is a work around to make it work in Browsers (Explorer, Mozilla)
-}
-
-function fold_document() {
- var i;
- var folder = '1';
- for (i=1; layer_exists('fold'+folder+'_'+i); ++i) {
- hide_folder(folder+'_'+i); }
-}
-
-function unfold_document() {
- var i;
- var folder = '1';
- for (i=1; layer_exists('fold'+folder+'_'+i); ++i) {
- show_folder_completely(folder+'_'+i); }
-}
-
-</script>
-<SPAN class=foldspecial onclick="fold_document()">All +</SPAN>
-<SPAN class=foldspecial onclick="unfold_document()">All -</SPAN>
-<p><a href="Ship-Simu-Ship-Simulator.mm.html" target="_blank"><span class=l>~</span> <span style="font-size: 150%;font-family: SansSerif, sans-serif; font-weight: bold; ">Payment System</span>
-</a>
-<ul><li>They all must be queued if a user orders something
-
-</li>
-<li><span id="show1_1" class="foldclosed" onClick="show_folder('1_1')" style="POSITION: absolute">+</span> <span id="hide1_1" class="foldopened" onClick="hide_folder('1_1')">-</Span>
-The ordered item must be validated if it is being sold
-<ul id="fold1_1" style="POSITION: relative; VISIBILITY: visible;"><li>This should be done by a composite filter pattern (composite combined with filter)
-
-</li>
-
-</ul>
-</li>
-<li><span id="show1_2" class="foldclosed" onClick="show_folder('1_2')" style="POSITION: absolute">+</span> <span id="hide1_2" class="foldopened" onClick="hide_folder('1_2')">-</Span>
-An other pattern shall e.g. only book the item/money if the API gives positive reply
-<ul id="fold1_2" style="POSITION: relative; VISIBILITY: visible;"><li>State-depending pattern?
-
-</li>
-
-</ul>
-</li>
-<li><span id="show1_3" class="foldclosed" onClick="show_folder('1_3')" style="POSITION: absolute">+</span> <span id="hide1_3" class="foldopened" onClick="hide_folder('1_3')">-</Span>
-Different payment APIs exists
-<ul id="fold1_3" style="POSITION: relative; VISIBILITY: visible;"><li><span id="show1_3_1" class="foldclosed" onClick="show_folder('1_3_1')" style="POSITION: absolute">+</span> <span id="hide1_3_1" class="foldopened" onClick="hide_folder('1_3_1')">-</Span>
-Wernis API
-<ul id="fold1_3_1" style="POSITION: relative; VISIBILITY: visible;"><li>Request: GET,POST
-
-</li>
-<li>Response: Own format
-
-</li>
-
-</ul>
-</li>
-<li><span id="show1_3_2" class="foldclosed" onClick="show_folder('1_3_2')" style="POSITION: absolute">+</span> <span id="hide1_3_2" class="foldopened" onClick="hide_folder('1_3_2')">-</Span>
-Primera API
-<ul id="fold1_3_2" style="POSITION: relative; VISIBILITY: visible;"><li>Need special agreement here!
-
-</li>
-<li>Request: POST
-
-</li>
-<li>Response: Own format (?)
-
-</li>
-
-</ul>
-</li>
-<li><span id="show1_3_3" class="foldclosed" onClick="show_folder('1_3_3')" style="POSITION: absolute">+</span> <span id="hide1_3_3" class="foldopened" onClick="hide_folder('1_3_3')">-</Span>
-(Paypal)
-<ul id="fold1_3_3" style="POSITION: relative; VISIBILITY: visible;"><li><span style="font-family: SansSerif, sans-serif; font-weight: bold; ">Has expensive fees for sender</span>
-
-</li>
-
-</ul>
-</li>
-<li><span id="show1_3_4" class="foldclosed" onClick="show_folder('1_3_4')" style="POSITION: absolute">+</span> <span id="hide1_3_4" class="foldopened" onClick="hide_folder('1_3_4')">-</Span>
-<a href="http://www.moneybookers.com/merchant/en/automated_payments_interface_manual.pdf" target="_blank"><span class=l>~</span> Moneybookers
-</a>
-<ul id="fold1_3_4" style="POSITION: relative; VISIBILITY: visible;"><li><span id="show1_3_4_1" class="foldclosed" onClick="show_folder('1_3_4_1')" style="POSITION: absolute">+</span> <span id="hide1_3_4_1" class="foldopened" onClick="hide_folder('1_3_4_1')">-</Span>
-Request: GET
-<ul id="fold1_3_4_1" style="POSITION: relative; VISIBILITY: visible;"><li>POST also?
-
-</li>
-
-</ul>
-</li>
-<li>Response: XML
-
-</li>
-
-</ul>
-</li>
-<li>Rambler?
-
-</li>
-
-</ul>
-</li>
-
-</ul><SCRIPT language=JavaScript>
-fold_document();
-</SCRIPT>
-</body>
-</html>
--- /dev/null
+<?xml version="1.0" encoding="iso-8859-1"?><?xml-stylesheet href="treestyles.css" type="text/css"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xml:lang="fi" xmlns="http://www.w3.org/1999/xhtml"><head><title>Ship-Simu Ship-Simulation</title><link rel="stylesheet" href="Ship-Simu-Ship-Simulator.html_files/treestyles.css" type="text/css"/><script type="text/javascript" src="Ship-Simu-Ship-Simulator.html_files/marktree.js"> </script></head><body><div class="basetop"><a href="#" onclick="expandAll(document.getElementById('base'))">Expand</a> - <a href="#" onclick="collapseAll(document.getElementById('base'))">Collapse</a></div><div id="base" class="basetext"><ul><li class="col" style=""><span style="font-size:150%;font-weight:bold;">Ship-Simu Ship-Simulation</span><ul class="subexp"><li class="col" style=""><img src="Ship-Simu-Ship-Simulator.html_files/icons/messagebox_warning.png" alt="messagebox_warning"/> <span style="font-size:133%;font-weight:bold;">How does a shipping/travel company work?</span><ul class="subexp"><li class="exp" style=""><span style="">Start as a founder by selecting a harbor</span><ul class="sub"><li class="col" style=""><span style="">Shipping company</span><ul class="subexp"><li class="col" style=""><span style="">Construct neccessary buildings</span><ul class="subexp"><li class="basic" style=""><span style="">Make contract with construction companies</span></li></ul></li><li class="basic" style=""><span style="">Build ship parts and trade them</span></li><li class="col" style=""><span style="">Order ship parts</span><ul class="subexp"><li class="basic" style=""><span style="">Fron your partners</span></li><li class="basic" style=""><span style="">On global market</span></li></ul></li></ul></li><li class="col" style=""><span style="">Traveling company</span><ul class="subexp"><li class="basic" style=""><span style="">May select between shipping companies and make special ofers to customers</span></li><li class="basic" style=""><span style="">Manage a journey</span></li></ul></li><li class="col" style=""><span style="">General (all)</span><ul class="subexp"><li class="col" style=""><span style="">Make contracts with other companies</span><ul class="subexp"><li class="basic" style=""><span style="">Construct ships for partner</span></li><li class="basic" style=""><span style="">Drive by your partner constructed ships</span></li></ul></li><li class="col" style=""><span style="">Become CEO and manage your company</span><ul class="subexp"><li class="basic" style=""><span style="">Nominate department managers</span></li><li class="basic" style=""><span style="">Recruit new employees</span></li><li class="basic" style=""><span style="">Pay salery to your employees</span></li></ul></li><li class="basic" style=""><span style="">Let other gamer manage your company</span></li><li class="col" style=""><span style="">Compare prices</span><ul class="subexp"><li class="basic" style=""><span style="">Make a purchase computation system</span></li></ul></li></ul></li></ul></li><li class="exp" style=""><span style="">Or start as an employee</span><ul class="sub"><li class="col" style=""><span style="">Start as a simple sailor</span><ul class="subexp"><li class="col" style=""><span style="">And end up as a captain</span><ul class="subexp"><li class="basic" style=""><span style="">Control your ship (depends on client)</span></li></ul></li></ul></li><li class="col" style=""><span style="">Or as a shipbuilder</span><ul class="subexp"><li class="col" style=""><span style="">Repair ships</span><ul class="subexp"><li class="basic" style=""><span style="">Renew the painting</span></li><li class="basic" style=""><span style="">Fix broken things</span></li></ul></li><li class="basic" style=""><span style="">Build up new ships</span></li></ul></li><li class="basic" style=""><img src="Ship-Simu-Ship-Simulator.html_files/icons/idea.png" alt="idea"/> <img src="Ship-Simu-Ship-Simulator.html_files/icons/help.png" alt="help"/> <span style="">As an officer</span></li><li class="basic" style=""><span style="">As a cleaner</span></li></ul></li><li class="col" style=""><img src="Ship-Simu-Ship-Simulator.html_files/icons/idea.png" alt="idea"/> <img src="Ship-Simu-Ship-Simulator.html_files/icons/help.png" alt="help"/> <span style="">Create a board of managers</span><ul class="subexp"><li class="basic" style=""><span style="">Only for bigger companies</span></li></ul></li><li class="col" style=""><span style="">Design your own ships</span><ul class="subexp"><li class="basic" style=""><span style="">From templates (default ships)</span></li><li class="basic" style=""><span style="">Or your complete freely designed layout</span></li></ul></li><li class="col" style=""><span style="">Ride constructed ships</span><ul class="subexp"><li class="basic" style=""><span style="">Make sail plans</span></li><li class="col" style=""><span style="">Transportate cargo or passengers</span><ul class="subexp"><li class="col" style=""><span style="">Make your passengers happy/comfortable</span><ul class="subexp"><li class="basic" style=""><span style="">Discos</span></li><li class="basic" style=""><span style="">Shops</span></li><li class="basic" style=""><span style="">Kinder garden</span></li><li class="basic" style=""><span style="">Cinema</span></li><li class="basic" style=""><span style="">Baby station</span></li><li class="basic" style=""><span style="">Internet Cafe</span></li><li class="basic" style=""><span style="">Gambling Hall</span></li></ul></li><li class="col" style=""><span style="">Load containers and bring them to other harbors</span><ul class="subexp"><li class="col" style=""><span style="font-size:100%;font-style:italic;">Containers content</span><ul class="subexp"><li class="basic" style=""><span style="">Raw material</span></li><li class="col" style=""><span style="">Lifestock</span><ul class="subexp"><li class="basic" style=""><span style="">Exotic animals like dolphines et cetera</span></li><li class="basic" style=""><span style="">Cows</span></li><li class="basic" style=""><span style="">Horses</span></li><li class="basic" style=""><span style="">Sheeps</span></li></ul></li><li class="basic" style=""><span style="">Electronics</span></li><li class="basic" style=""><span style="">Foods</span></li></ul></li><li class="basic" style=""><span style="">Special container terminal</span></li><li class="col" style=""><span style="">May have temperatur control</span><ul class="subexp"><li class="basic" style=""><span style="">Organic frozen cargo</span></li></ul></li></ul></li><li class="col" style=""><span style="">Transportate oil from ricks to the refineries</span><ul class="subexp"><li class="basic" style=""><span style="">Or natural gas</span></li></ul></li></ul></li><li class="basic" style=""><span style="">Depends on used client</span></li></ul></li><li class="col" style=""><span style="">Earn a lot (virtual/real) money</span><ul class="subexp"><li class="basic" style=""><span style="">Sell a journey</span></li><li class="basic" style=""><span style="">Trade with goods</span></li><li class="basic" style=""><span style="">Construct ships for other companies</span></li></ul></li><li class="col" style=""><span style="">Play as a passenger</span><ul class="subexp"><li class="basic" style=""><span style="">Order a jorney to your desired destionation</span></li></ul></li></ul></li><li class="basic" style=""><span style="font-size:133%;font-weight:bold;"><a href="Tech-Tree_v1.mm">Tech-Tree v1.0</a> <a href="Tech-Tree_v1.mm"><img src="Ship-Simu-Ship-Simulator.html_files/icons/Link.png" alt="" style="border-width:0"/></a></span></li><li class="col" style=""><img src="Ship-Simu-Ship-Simulator.html_files/icons/idea.png" alt="idea"/> <span style="">Java client</span><ul class="subexp"><li class="basic" style=""><span style="">Real-time simulation</span></li><li class="col" style=""><span style="">OpenGL (3D Graphics)</span><ul class="subexp"><li class="basic" style=""><span style="">JOGL</span></li></ul></li><li class="basic" style=""><span style="">OpenAL (3D sound)</span></li></ul></li><li class="basic" style=""><img src="Ship-Simu-Ship-Simulator.html_files/icons/idea.png" alt="idea"/> <span style="font-size:133%;font-weight:bold;"><a href="Browser-Game.mm">Browser-Game</a> <a href="Browser-Game.mm"><img src="Ship-Simu-Ship-Simulator.html_files/icons/Link.png" alt="" style="border-width:0"/></a></span></li><li class="col" style=""><span style="font-size:133%;font-weight:bold;">Multi-Player Mode</span><ul class="subexp"><li class="basic" style=""><span style="">Networked over hubs</span></li><li class="col" style=""><span style="">Big map which holds all harbors</span><ul class="subexp"><li class="basic" style=""><span style="">Seperated into small maps to cluster the load over the network</span></li></ul></li></ul></li><li class="col" style=""><span style="font-size:133%;font-weight:bold;">"Faked" Single-Player</span><ul class="subexp"><li class="basic" style=""><span style="">Locally installed version</span></li><li class="basic" style=""><span style="">Does not connect to other hubs</span></li><li class="col" style=""><span style="">"Save games" should be incompatible with MP mode</span><ul class="subexp"><li class="basic" style=""><span style="">Avoids cheating</span></li></ul></li></ul></li><li class="col" style=""><span style="font-size:133%;font-weight:bold;">Sand-Box Mode</span><ul class="subexp"><li class="col" style=""><span style="">The player can test the game</span><ul class="subexp"><li class="basic" style=""><span style="">Some people like to "explore" the game</span></li><li class="basic" style=""><span style="">Or just wanna have a look</span></li></ul></li><li class="basic" style=""><span style="font-size:100%;">There are no competitors</span></li><li class="basic" style=""><span style="">Creating characters is for free</span></li><li class="basic" style=""><span style="">The game will not connect to network</span></li><li class="col" style=""><span style="">Characters are invalid to multi/single-player characters</span><ul class="subexp"><li class="basic" style=""><img src="Ship-Simu-Ship-Simulator.html_files/icons/clanbomber.png" alt="clanbomber"/> <span style="">Prevents cheating a bit</span></li></ul></li></ul></li><li class="col" style=""><span style="">Modern-epoche game</span><ul class="subexp"><li class="basic" style=""><span style="">Age: 1950+</span></li><li class="basic" style=""><span style="">The abstraction level is kept low</span></li></ul></li><li class="col" style=""><span style="">Licences</span><ul class="subexp"><li class="col" style=""><span style="">The game</span><ul class="subexp"><li class="col" style=""><span style="">Ship-Simu is licensed under the GNU GPL 3 or any newer version</span><ul class="subexp"><li class="basic" style=""><span style="">See docs/COPYING.software</span></li></ul></li></ul></li><li class="col" style=""><span style="">This document</span><ul class="subexp"><li class="col" style=""><span style="">This mind-map is licensed under the GNU FDL 1.2 or any newer version</span><ul class="subexp"><li class="basic" style=""><span style="">See docs/COPYING.documents</span></li></ul></li></ul></li><li class="col" style=""><span style="">Artworks like sounds/graphics</span><ul class="subexp"><li class="basic" style=""><img src="Ship-Simu-Ship-Simulator.html_files/icons/xmag.png" alt="xmag"/> <span style="">Some CC license</span></li></ul></li></ul></li><li class="basic" style=""><span style="font-size:133%;font-weight:bold;"><a href="Payment-System.mm">Payment system</a> <a href="Payment-System.mm"><img src="Ship-Simu-Ship-Simulator.html_files/icons/Link.png" alt="" style="border-width:0"/></a></span></li><li class="col" style=""><span style="">Data exchange protocol</span><ul class="subexp"><li class="col" style=""><span style="">Default is an own small format</span><ul class="subexp"><li class="basic" style=""><span style="">Reduces traffic between servers</span></li></ul></li><li class="col" style=""><span style="">Easy rewriteable to e.g. XML</span><ul class="subexp"><li class="basic" style=""><span style="">Other clients (Flash) can also connect</span></li></ul></li><li class="basic" style=""><span style="">Java and browser client can play together</span></li></ul></li><li class="col" style=""><span style="">Optional Pillory</span><ul class="subexp"><li class="basic" style=""><span style="">To make e.g. nazi propaganda activity public</span></li><li class="basic" style=""><span style="">Shall keep bad players away</span></li><li class="col" style=""><span style="">Requires some "game-moderator" access level to manage</span><ul class="subexp"><li class="basic" style=""><span style="">The moderator shall have an extra flag e.g. "pillory_accessable"</span></li></ul></li><li class="col" style=""><span style="">Players, companies et cetera should be lockable</span><ul class="subexp"><li class="basic" style=""><span style="">The moderator can choose wether to lock with pillory entry or just locking down</span></li></ul></li></ul></li><li class="col" style=""><span style="font-size:133%;font-weight:bold;">Misc</span><ul class="subexp"><li class="col" style=""><span style="font-size:117%;font-weight:bold;">Websites</span><ul class="subexp"><li class="basic" style=""><img src="Ship-Simu-Ship-Simulator.html_files/icons/gohome.png" alt="gohome"/> <span style=""><a href="http://www.ship-simu.org">Homepage (www.ship-simu.org)</a> <a href="http://www.ship-simu.org"><img src="Ship-Simu-Ship-Simulator.html_files/icons/Link.png" alt="" style="border-width:0"/></a></span></li><li class="basic" style=""><span style=""><a href="http://forum.ship-simu.org">Forum (forum.ship-simu.org)</a> <a href="http://forum.ship-simu.org"><img src="Ship-Simu-Ship-Simulator.html_files/icons/Link.png" alt="" style="border-width:0"/></a></span></li><li class="basic" style=""><span style=""><a href="http://bugs.ship-simu.org">Bug tracker (bugs.ship-simu.org)</a> <a href="http://bugs.ship-simu.org"><img src="Ship-Simu-Ship-Simulator.html_files/icons/Link.png" alt="" style="border-width:0"/></a></span></li><li class="basic" style=""><span style=""><a href="http://stats.ship-simu.org">SVN-Stats (stats.ship-simu.org)</a> <a href="http://stats.ship-simu.org"><img src="Ship-Simu-Ship-Simulator.html_files/icons/Link.png" alt="" style="border-width:0"/></a></span></li></ul></li><li class="col" style=""><span style="font-size:117%;font-weight:bold;">Author</span><ul class="subexp"><li class="col" style=""><span style="">Roland "Quix0r" Haeder</span><ul class="subexp"><li class="basic" style=""><span style="">Main author</span></li><li class="basic" style=""><span style=""><a href="mailto:webmaster@ship-simu.org">webmaster@ship-simu.org</a> <a href="mailto:webmaster@ship-simu.org"><img src="Ship-Simu-Ship-Simulator.html_files/icons/Link.png" alt="" style="border-width:0"/></a></span></li><li class="basic" style=""><img src="Ship-Simu-Ship-Simulator.html_files/icons/licq.png" alt="licq"/> <span style="">8809296</span></li></ul></li></ul></li><li class="col" style=""><span style="font-size:117%;font-weight:bold;">Ideas</span><ul class="subexp"><li class="col" style=""><span style="">Roland "Quix0r" Haeder</span><ul class="subexp"><li class="basic" style=""><span style="">Main concept</span></li><li class="basic" style=""><span style="">Translation of monakoianar's ideas to english</span></li></ul></li><li class="col" style=""><span style="">Dominik "monakoianar" Schmauder</span><ul class="subexp"><li class="basic" style=""><span style="">Helps finding a lot major ideas</span></li><li class="basic" style=""><span style=""><a href="mailto:dominikschmauder@gmx.de">dominikschmauder@gmx.de</a> <a href="mailto:dominikschmauder@gmx.de"><img src="Ship-Simu-Ship-Simulator.html_files/icons/Link.png" alt="" style="border-width:0"/></a></span></li><li class="basic" style=""><img src="Ship-Simu-Ship-Simulator.html_files/icons/licq.png" alt="licq"/> <span style="">268853027</span></li></ul></li></ul></li></ul></li></ul></li></ul></div></body></html>
\ No newline at end of file
--- /dev/null
+/* MarkTree JavaScript code\r
+ * \r
+ * The contents of this file are subject to the Mozilla Public License Version\r
+ * 1.1 (the "License"); you may not use this file except in compliance with\r
+ * the License. You may obtain a copy of the License at\r
+ * http://www.mozilla.org/MPL/\r
+ *\r
+ * Software distributed under the License is distributed on an "AS IS" basis,\r
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License\r
+ * for the specific language governing rights and limitations under the\r
+ * License.\r
+ * \r
+ * Miika Nurminen, 12.7.2004.\r
+ */\r
+\r
+/* cross-browser (tested with ie5, mozilla 1 and opera 5) keypress detection */\r
+function get_keycode(evt) {\r
+ // IE\r
+ code = document.layers ? evt.which\r
+ : document.all ? event.keyCode // event.keyCode!=evt.keyCode!\r
+ : evt.keyCode;\r
+\r
+ if (code==0) \r
+ code=evt.which; // for NS\r
+ return code;\r
+}\r
+\r
+var lastnode=null;\r
+var listnodes = null;\r
+var list_index=1;\r
+var lastnodetype=''; // determines if node is a link, input or text;\r
+\r
+// up, left, down, right, keypress codes\r
+//ijkl\r
+//var keys = new Array(105,106,107,108);\r
+//num arrows\r
+//var keys = new Array(56,52,50,54);\r
+//wasd\r
+// var press2 = new Array(119,97,115,100);\r
+ var press = new Array(47,45,42,43);\r
+\r
+// keydown codes\r
+ // var keys2=new Array(87,65,83,68);\r
+ var keys= new Array(38,37,40,39);\r
+\r
+ // keyset 1 = keydown, otherwise press\r
+function checkup(keyset,n) {\r
+ if (keyset==1) return (n==keys[0]);\r
+ return ((n==press[0]) /*|| (n==press2[0])*/)\r
+}\r
+\r
+function checkdn(keyset,n) {\r
+ if (keyset==1) return (n==keys[2]);\r
+ return ((n==press[2]) /*|| (n==press2[2])*/)\r
+}\r
+\r
+function checkl(keyset,n) {\r
+ if (keyset==1) return (n==keys[1]);\r
+ return ((n==press[1]) /*|| (n==press2[1])*/)\r
+}\r
+\r
+function checkr(keyset,n) {\r
+ if (keyset==1) return (n==keys[3]);\r
+ return ((n==press[3]) /*|| (n==press2[3])*/)\r
+}\r
+\r
+\r
+\r
+\r
+\r
+function is_exp(n) {\r
+ if (n==null) return false;\r
+ return ((n.className=='exp') || (n.className=='exp_active'));\r
+}\r
+\r
+function is_col(n) {\r
+ if (n==null) return false;\r
+ return ((n.className=='col') || (n.className=='col_active'));\r
+}\r
+\r
+function is_basic(n) {\r
+ if (n==null) return false;\r
+ return ((n.className=='basic') || (n.className=='basic_active'));\r
+}\r
+\r
+\r
+\r
+/* returns i>=0 if true */\r
+function is_active(node) {\r
+ if (node.className==null) return false\r
+ return node.className.indexOf('_active');\r
+}\r
+\r
+function toggle_class(node) {\r
+ if ((node==null) || (node.className==null)) return;\r
+ str=node.className;\r
+ result="";\r
+ i = str.indexOf('_active');\r
+ if (i>0)\r
+ result= str.substr(0,i);\r
+ else\r
+ result= str+"_active";\r
+ node.className=result; \r
+ return node;\r
+}\r
+\r
+function activate(node) {\r
+ node.style.backgroundColor='#eeeeff';\r
+}\r
+\r
+function deactivate(node) {\r
+ node.style.backgroundColor='#ffffff';\r
+}\r
+\r
+function is_list_node(n) {\r
+ if (n==null) return false;\r
+ if (n.className==null) return false;\r
+ if ( (is_exp(n)) || \r
+ (is_col(n)) ||\r
+ (is_basic(n)) )\r
+ return true; else return false;\r
+}\r
+\r
+\r
+function get_href(n) {\r
+ alist=n.attributes;\r
+ if (alist!=null) {\r
+ hr = alist.getNamedItem('href');\r
+ if (hr!=null) return hr.nodeValue;\r
+ }\r
+ if (n.childNodes.length==0) return '';\r
+ for (var i=0; i<n.childNodes.length; i++) {\r
+ s = get_href(n.childNodes[i]);\r
+ if (s!='') return s;\r
+ }\r
+ return '';\r
+}\r
+\r
+function get_link(n) {\r
+ if (n==null) return null;\r
+ if (n.style==null) return null;\r
+\r
+ // disabling uncontrolled recursion to prevent error messages on IE\r
+ // when trying to focus to invisible links (readonly mode)\r
+// alert(n.nodeName+' '+n.className);\r
+ if ((n.nodeName=='UL') && (n.className=='sub')) return null;\r
+\r
+ if (n.nodeName=='A') return n;\r
+ if (n.childNodes.length==0) return null;\r
+ for (var i=0; i<n.childNodes.length; i++) {\r
+ s = get_link(n.childNodes[i]);\r
+ if (s!=null) return s;\r
+ }\r
+ return null;\r
+}\r
+\r
+function set_lastnode(n) {\r
+/*var d = new Date();\r
+var t_mil = d.getMilliseconds();*/\r
+// testattu nopeuksia explorerilla, ei merkittäviä eroja\r
+ if (lastnode==n) return; \r
+/* deactivate(lastnode)\r
+ lastnode=n;\r
+ activate(lastnode);*/\r
+\r
+ if (is_active(lastnode)>=0)\r
+ toggle_class(lastnode);\r
+ lastnode=n;\r
+ if (!(is_active(lastnode)>=0))\r
+ toggle_class(lastnode);\r
+\r
+\r
+/*var d2 = new Date();\r
+var t_mil2 = d2.getMilliseconds();\r
+ window.alert(t_mil2-t_mil);*/\r
+}\r
+\r
+function next_list_node() {\r
+ tempIndex = list_index;\r
+ while (tempIndex<listnodes.length-1) {\r
+ tempIndex++;\r
+ var x = listnodes[tempIndex];\r
+ if (is_list_node(x)) {\r
+ list_index=tempIndex;\r
+ return;\r
+ }\r
+ }\r
+}\r
+\r
+function prev_list_node() {\r
+ tempIndex = list_index;\r
+ while (tempIndex>0) {\r
+ tempIndex--;\r
+ var x = listnodes[tempIndex];\r
+ if (is_list_node(x)) {\r
+ list_index=tempIndex;\r
+ return;\r
+ }\r
+ }\r
+}\r
+\r
+\r
+\r
+function getsub (li) {\r
+ if (li.childNodes.length==0) return null;\r
+ for (var c = 0; c < li.childNodes.length; c++)\r
+ if ( (li.childNodes[c].className == 'sub') || (li.childNodes[c].className == 'subexp') ) \r
+ return li.childNodes[c];\r
+}\r
+\r
+function find_listnode_recursive (li) {\r
+ if (is_list_node(li)) return li; \r
+ if (li.childNodes.length==0) return null;\r
+ result=null;\r
+ for (var c = 0; c < li.childNodes.length; c++) {\r
+ result=find_listnode_recursive(li.childNodes[c]);\r
+ if (result!=null) return result;\r
+ }\r
+ return null;\r
+}\r
+\r
+function next_child_listnode(li) {\r
+ var result=null;\r
+ for (var i=0; i<li.childNodes.length; i++) {\r
+ result=find_listnode_recursive(li.childNodes[i]);\r
+ if (result!=null) return result;\r
+ }\r
+ return null; \r
+}\r
+\r
+function next_actual_sibling_listnode(li) {\r
+ if (li==null) return null;\r
+ var temp=li;\r
+ while (1) { \r
+ var n = temp.nextSibling;\r
+ if (n==null) {\r
+ n=parent_listnode(temp);\r
+ return next_actual_sibling_listnode(n);\r
+ }\r
+ if (is_list_node(n)) return n;\r
+ temp=n;\r
+ }\r
+}\r
+\r
+function next_sibling_listnode(li) {\r
+if (li==null) return null; \r
+ var result=null;\r
+ var temp=li;\r
+ if (is_col(temp)) return next_child_listnode(temp);\r
+ while (1) { \r
+ var n = temp.nextSibling;\r
+ if (n==null) {\r
+ n=parent_listnode(temp);\r
+ return next_actual_sibling_listnode(n);\r
+ }\r
+ if (is_list_node(n)) return n;\r
+ temp=n;\r
+ }\r
+}\r
+\r
+function last_sibling_listnode(li) {\r
+ if (li==null) return null;\r
+ var temp=li;\r
+ var last=null;\r
+ while(1) {\r
+ var n = temp.nextSibling;\r
+ if (is_list_node(temp)) \r
+ last = temp;\r
+ if (n==null) {\r
+ if (is_col(last)) return last_sibling_listnode(next_child_listnode(last));\r
+ else return last;\r
+ }\r
+ temp = n;\r
+ }\r
+}\r
+\r
+function prev_sibling_listnode(li) { \r
+ if (li==null) return null;\r
+ var temp=li;\r
+ var n = null;\r
+ while (1) { \r
+ n = temp.previousSibling;\r
+ if (n==null) {\r
+ return parent_listnode(li);\r
+ }\r
+ if (is_list_node(n)) {\r
+ if (is_col(n)) { \r
+ return last_sibling_listnode(next_child_listnode(n));\r
+ }\r
+ else {\r
+ return n;\r
+ }\r
+ }\r
+ temp=n;\r
+ }\r
+}\r
+\r
+\r
+function parent_listnode(li) {\r
+ // added 12.7.2004 to prevent IE error when readonly mode==true\r
+ if (li==null) return null;\r
+ n=li;\r
+ while (1) {\r
+ n=n.parentNode;\r
+ if (n==null) return null;\r
+ if (is_list_node(n)) return n;\r
+ }\r
+}\r
+\r
+function getVisibleParents(id) {\r
+ var n = document.getElementById(id);\r
+ while(1) {\r
+ expand(n);\r
+ n = parent_listnode(n);\r
+ if (n==null) return;\r
+ }\r
+}\r
+\r
+function onClickHandler (evt) {\r
+if (lastnode==null) \r
+{\r
+listnodes = document.getElementsByTagName('li');\r
+lastnode=listnodes[1];\r
+temp=listnodes[1];\r
+}\r
+\r
+\r
+ var target = evt ? evt.target : event.srcElement;\r
+ if (!is_list_node(target)) return;\r
+ toggle(target);\r
+ set_lastnode(target);\r
+}\r
+\r
+\r
+function expand(node) {\r
+ if (!is_exp(node)) return;\r
+ if (node.className=='exp_active') \r
+ node.className='col_active';\r
+ else \r
+ node.className='col';\r
+ setSubClass(node,'subexp');\r
+ // getsub(node).className='subexp';\r
+}\r
+\r
+function collapse(node) {\r
+ if (!is_col(node)) return;\r
+ \r
+if (node.className=='col_active')\r
+ node.className='exp_active'\r
+ else \r
+ node.className='exp';\r
+\r
+ setSubClass(node,'sub');\r
+// getsub(node).className='sub';\r
+\r
+}\r
+\r
+function setSubClass(node,name) {\r
+ sub = getsub(node);\r
+ if (sub==null) return;\r
+ sub.className=name; \r
+}\r
+\r
+function toggle(target) {\r
+ if (!is_list_node(target)) return;\r
+ if (is_col(target)) {\r
+ target.className='exp';\r
+ setSubClass(target,'sub');\r
+ // getsub(target).className='sub';\r
+ }\r
+ else if (is_exp(target)) {\r
+ target.className='col';\r
+ setSubClass(target,'subexp');\r
+ // getsub(target).className='subexp';\r
+ }\r
+ \r
+}\r
+\r
+function expandAll(node) {\r
+ if (node.className=='exp') {\r
+ node.className='col';\r
+ setSubClass(node,'subexp');\r
+// getsub(node).className='subexp';\r
+ }\r
+ var i;\r
+ if (node.childNodes!=null) \r
+// if (node.hasChildNodes()) \r
+ for ( i = 0; i<node.childNodes.length; i++)\r
+ expandAll(node.childNodes[i]);\r
+}\r
+\r
+function collapseAll(node) {\r
+ if (node.className=='col') {\r
+ node.className='exp';\r
+ setSubClass(node,'sub');\r
+// getsub(node).className='sub';\r
+ }\r
+ var i; \r
+ if (node.childNodes!=null) \r
+// for opera if (node.hasChildNodes()) \r
+ for ( i = 0; i<node.childNodes.length; i++)\r
+ collapseAll(node.childNodes[i]);\r
+}\r
+\r
+\r
+\r
+function unFocus(node) {\r
+ // unfocuses potential link that is to be hidden (if a==null there is no link so it should not be blurred).\r
+ // tested with mozilla 1.7, 12.7.2004. /mn (\r
+ intemp=parent_listnode(node); \r
+ a = get_link(intemp); // added 6.4. to get keyboard working with\r
+ // moved before collapse to prevent an error message with IE when readonly==true \r
+ if (a!=null) a.blur(); // netscape after collapsing a focused node\r
+ return intemp;\r
+}\r
+\r
+// mode: 0==keypress, 1==keyup\r
+function keyfunc(evt,mode) {\r
+ var c = get_keycode(evt);\r
+ var temp = null;\r
+ var a = null;\r
+\r
+ if (lastnode==null) {\r
+ listnodes = document.getElementsByTagName('li');\r
+ lastnode=listnodes[1];\r
+ temp=listnodes[1];\r
+ }\r
+\r
+ //window.alert(c);\r
+ if (checkup(mode,c)) { // i \r
+ temp=prev_sibling_listnode(lastnode);\r
+ }\r
+ else if (checkdn(mode,c)) { // k\r
+ temp=next_sibling_listnode(lastnode);\r
+ }\r
+ else if (checkr(mode,c)) { // l\r
+ expand(lastnode);\r
+ // temp=next_child_listnode(lastnode);\r
+ // if (temp==null) {\r
+ a = get_link(lastnode);\r
+ if (a!=null) a.focus(); else self.focus(); \r
+ //}\r
+ }\r
+ else if (checkl(mode,c)) { // j\r
+ if (is_col(lastnode)) {\r
+ unFocus(lastnode);\r
+ collapse(lastnode);\r
+ }\r
+ else {\r
+ temp=unFocus(lastnode);\r
+ collapse(temp);\r
+ }\r
+ // if (temp==null) lastnode.focus(); // forces focus to correct div (try mozilla typesearch) (doesn't seem to work -mn/6.4.2004)\r
+ }\r
+ else return;\r
+ if (temp!=null) set_lastnode(temp);\r
+\r
+ // alert('pressed ' + String.fromCharCode(c) + '(' + c + ')');\r
+ return true;\r
+}\r
+\r
+\r
+function keytest (evt) {\r
+ return keyfunc(evt,1);\r
+};\r
+\r
+\r
+function presstest (evt) {\r
+ return keyfunc(evt,0);\r
+};\r
+\r
+\r
+ document.onclick = onClickHandler;\r
+ document.onkeypress = presstest;\r
+ document.onkeyup = keytest;\r
--- /dev/null
+\r
+body {\r
+ background-color: #eeeeee;\r
+ color: #000000;\r
+ font-family:sans-serif;\r
+}\r
+\r
+:link { color: #0000ff; text-decoration:none;}\r
+:visited { color: #6666ff; text-decoration:none; }\r
+a:active { color: #0000ff; text-decoration:none;}\r
+a:hover {color: #0000ff; text-decoration:underline; }\r
+\r
+div.basetext {\r
+ background-color:#ffffff;\r
+ margin-top:11px;\r
+ margin-bottom:11px;\r
+ margin-left:1%;\r
+ margin-right:1%;\r
+ padding-top:11px;\r
+ padding-left:11px;\r
+ padding-right:11px;\r
+ padding-bottom:11px;\r
+ text-align:left;\r
+ font-weight:normal;\r
+ border-width:thin;\r
+ border-style:solid;\r
+ border-color:#dddddd;\r
+}\r
+\r
+div.basetop {\r
+ position: fixed;\r
+ width:auto;\r
+ height:auto;\r
+ right:0em;\r
+ top:0em;\r
+ left:auto; \r
+ top:0;\r
+ background-color:#ffffff;\r
+ margin-top:0;\r
+ margin-bottom:0;\r
+ margin-left:1%;\r
+ margin-right:1%;\r
+ padding-top:2px;\r
+ padding-left:11px;\r
+ padding-right:11px;\r
+ padding-bottom:2px;\r
+ text-align:left;\r
+ font-weight:normal;\r
+text-align:right;\r
+ border-width:thin;\r
+ border-style:solid;\r
+ border-color:#dddddd;\r
+}\r
+\r
+h1 {\r
+ text-align:center;\r
+}\r
+\r
+span.h2 {\r
+ font-family:sans-serif;\r
+ font-weight:bold;\r
+}\r
+\r
+div.year {\r
+ margin-right:2%;\r
+ background-color:#eeeeee;\r
+}\r
+\r
+div.form {\r
+}\r
+\r
+span.cpt {\r
+ color:#005500;\r
+ font-weight:bold;\r
+}\r
+\r
+span.cm {\r
+ color:#666666;\r
+}\r
+\r
+.fl {\r
+ color:#0000FF; \r
+ font-style:italic;\r
+}\r
+\r
+ul {\r
+ margin-top:1px;\r
+ margin-bottom:1px;\r
+ margin-left:0px;\r
+ padding-left:3%;\r
+}\r
+\r
+li {\r
+ list-style:outside;\r
+ margin-top:10px; \r
+ margin-bottom:10px;\r
+}\r
+\r
+ul li {\r
+ list-style:square;\r
+ font-family:sans-serif;\r
+ font-weight:normal;\r
+}\r
+\r
+li.basic {\r
+ list-style:square;\r
+ list-style-image:none;\r
+ margin-top:2px;\r
+ margin-bottom:2px;\r
+}\r
+\r
+span.links {\r
+}\r
+\r
+\r
+\r
+\r
+.sub { display: none; }\r
+.subexp {display: block; }\r
+.sub { display: none; } \r
+\r
+.subexp {display: block; } \r
+\r
+li.exp {\r
+ list-style-image:url("plus.png");\r
+ margin-top:10px;\r
+ margin-bottom:10px;\r
+ cursor:pointer;\r
+}\r
+\r
+li.col {\r
+ list-style-image:url("minus.png");\r
+ margin-top:10px;\r
+ margin-bottom:10px;\r
+ cursor:pointer;\r
+}\r
+\r
+li.exp_active {\r
+ list-style-image:url("plus.png");\r
+ margin-top:10px; \r
+ margin-bottom:10px;\r
+ background-color:#eeeeff;\r
+ cursor:pointer;\r
+}\r
+\r
+li.col_active {\r
+ list-style-image:url("minus.png");\r
+ margin-top:10px;\r
+ margin-bottom:10px;\r
+ background-color:#eeeeff;\r
+ cursor:pointer; /* if not included, bullets are not shown right in moz*/\r
+}\r
+\r
+\r
+li.basic_active {\r
+ list-style:square;\r
+ list-style-image:none;\r
+ background-color:#eeeeff;\r
+ margin-top:2px;\r
+ margin-bottom:2px;\r
+}\r
+++ /dev/null
-<html>
-<head>
-<title>Ship-Simu Ship-Simulation</title>
-<style type="text/css">
- span.foldopened { color: white; font-size: xx-small;
- border-width: 1; font-family: monospace; padding: 0em 0.25em 0em 0.25em; background: #e0e0e0;
- VISIBILITY: visible;
- cursor:pointer; }
-
-
- span.foldclosed { color: #666666; font-size: xx-small;
- border-width: 1; font-family: monospace; padding: 0em 0.25em 0em 0.25em; background: #e0e0e0;
- VISIBILITY: hidden;
- cursor:pointer; }
-
- span.foldspecial { color: #666666; font-size: xx-small; border-style: none solid solid none;
- border-color: #CCCCCC; border-width: 1; font-family: sans-serif; padding: 0em 0.1em 0em 0.1em; background: #e0e0e0;
- cursor:pointer; }
-
- li { list-style: none; }
-
- span.l { color: red; font-weight: bold; }
-
- a:link {text-decoration: none; color: black; }
- a:visited {text-decoration: none; color: black; }
- a:active {text-decoration: none; color: black; }
- a:hover {text-decoration: none; color: black; background: #eeeee0; }
-
-</style>
-<!-- ^ Position is not set to relative / absolute here because of Mozilla -->
-</head>
-<body>
-
-<script language="JavaScript">
- // Here we implement folding. It works fine with MSIE5.5, MSIE6.0 and
- // Mozilla 0.9.6.
-
- if (document.layers) {
- //Netscape 4 specific code
- pre = 'document.';
- post = ''; }
- if (document.getElementById) {
- //Netscape 6 specific code
- pre = 'document.getElementById("';
- post = '").style'; }
- if (document.all) {
- //IE4+ specific code
- pre = 'document.all.';
- post = '.style'; }
-
-function layer_exists(layer) {
- try {
- eval(pre + layer + post);
- return true; }
- catch (error) {
- return false; }}
-
-function show_layer(layer) {
- eval(pre + layer + post).position = 'relative';
- eval(pre + layer + post).visibility = 'visible'; }
-
-function hide_layer(layer) {
- eval(pre + layer + post).visibility = 'hidden';
- eval(pre + layer + post).position = 'absolute'; }
-
-function hide_folder(folder) {
- hide_folding_layer(folder)
- show_layer('show'+folder);
-
- scrollBy(0,0); // This is a work around to make it work in Browsers (Explorer, Mozilla)
-}
-
-function show_folder(folder) {
- // Precondition: all subfolders are folded
-
- show_layer('hide'+folder);
- hide_layer('show'+folder);
- show_layer('fold'+folder);
-
- scrollBy(0,0); // This is a work around to make it work in Browsers (Explorer, Mozilla)
-
- var i;
- for (i=1; layer_exists('fold'+folder+'_'+i); ++i) {
- show_layer('show'+folder+'_'+i); }
-}
-function show_folder_completely(folder) {
- // Precondition: all subfolders are folded
-
- show_layer('hide'+folder);
- hide_layer('show'+folder);
- show_layer('fold'+folder);
-
- scrollBy(0,0); // This is a work around to make it work in Browsers (Explorer, Mozilla)
-
- var i;
- for (i=1; layer_exists('fold'+folder+'_'+i); ++i) {
- show_folder_completely(folder+'_'+i); }
-}
-
-
-
-function hide_folding_layer(folder) {
- var i;
- for (i=1; layer_exists('fold'+folder+'_'+i); ++i) {
- hide_folding_layer(folder+'_'+i); }
-
- hide_layer('hide'+folder);
- hide_layer('show'+folder);
- hide_layer('fold'+folder);
-
- scrollBy(0,0); // This is a work around to make it work in Browsers (Explorer, Mozilla)
-}
-
-function fold_document() {
- var i;
- var folder = '1';
- for (i=1; layer_exists('fold'+folder+'_'+i); ++i) {
- hide_folder(folder+'_'+i); }
-}
-
-function unfold_document() {
- var i;
- var folder = '1';
- for (i=1; layer_exists('fold'+folder+'_'+i); ++i) {
- show_folder_completely(folder+'_'+i); }
-}
-
-</script>
-<SPAN class=foldspecial onclick="fold_document()">All +</SPAN>
-<SPAN class=foldspecial onclick="unfold_document()">All -</SPAN>
-<p><span style="font-size: 150%;font-family: SansSerif, sans-serif; font-weight: bold; ">Ship-Simu Ship-Simulation</span>
-<ul><li><span id="show1_1" class="foldclosed" onClick="show_folder('1_1')" style="POSITION: absolute">+</span> <span id="hide1_1" class="foldopened" onClick="hide_folder('1_1')">-</Span>
-<span style="font-size: 133%;font-family: SansSerif, sans-serif; font-weight: bold; ">How does a shipping/travel company work?</span>
-<ul id="fold1_1" style="POSITION: relative; VISIBILITY: visible;"><li><span id="show1_1_1" class="foldclosed" onClick="show_folder('1_1_1')" style="POSITION: absolute">+</span> <span id="hide1_1_1" class="foldopened" onClick="hide_folder('1_1_1')">-</Span>
-Start as a founder by selecting a harbor
-<ul id="fold1_1_1" style="POSITION: relative; VISIBILITY: visible;"><li><span id="show1_1_1_1" class="foldclosed" onClick="show_folder('1_1_1_1')" style="POSITION: absolute">+</span> <span id="hide1_1_1_1" class="foldopened" onClick="hide_folder('1_1_1_1')">-</Span>
-Shipping company
-<ul id="fold1_1_1_1" style="POSITION: relative; VISIBILITY: visible;"><li><span id="show1_1_1_1_1" class="foldclosed" onClick="show_folder('1_1_1_1_1')" style="POSITION: absolute">+</span> <span id="hide1_1_1_1_1" class="foldopened" onClick="hide_folder('1_1_1_1_1')">-</Span>
-Construct neccessary buildings
-<ul id="fold1_1_1_1_1" style="POSITION: relative; VISIBILITY: visible;"><li>Make contract with construction companies
-
-</li>
-
-</ul>
-</li>
-<li>Build ship parts and trade them
-
-</li>
-<li><span id="show1_1_1_1_2" class="foldclosed" onClick="show_folder('1_1_1_1_2')" style="POSITION: absolute">+</span> <span id="hide1_1_1_1_2" class="foldopened" onClick="hide_folder('1_1_1_1_2')">-</Span>
-Order ship parts
-<ul id="fold1_1_1_1_2" style="POSITION: relative; VISIBILITY: visible;"><li>Fron your partners
-
-</li>
-<li>On global market
-
-</li>
-
-</ul>
-</li>
-
-</ul>
-</li>
-<li><span id="show1_1_1_2" class="foldclosed" onClick="show_folder('1_1_1_2')" style="POSITION: absolute">+</span> <span id="hide1_1_1_2" class="foldopened" onClick="hide_folder('1_1_1_2')">-</Span>
-Traveling company
-<ul id="fold1_1_1_2" style="POSITION: relative; VISIBILITY: visible;"><li>May select between shipping companies and make special ofers to customers
-
-</li>
-<li>Manage a journey
-
-</li>
-
-</ul>
-</li>
-<li><span id="show1_1_1_3" class="foldclosed" onClick="show_folder('1_1_1_3')" style="POSITION: absolute">+</span> <span id="hide1_1_1_3" class="foldopened" onClick="hide_folder('1_1_1_3')">-</Span>
-General (all)
-<ul id="fold1_1_1_3" style="POSITION: relative; VISIBILITY: visible;"><li><span id="show1_1_1_3_1" class="foldclosed" onClick="show_folder('1_1_1_3_1')" style="POSITION: absolute">+</span> <span id="hide1_1_1_3_1" class="foldopened" onClick="hide_folder('1_1_1_3_1')">-</Span>
-Make contracts with other companies
-<ul id="fold1_1_1_3_1" style="POSITION: relative; VISIBILITY: visible;"><li>Construct ships for partner
-
-</li>
-<li>Drive by your partner constructed ships
-
-</li>
-
-</ul>
-</li>
-<li><span id="show1_1_1_3_2" class="foldclosed" onClick="show_folder('1_1_1_3_2')" style="POSITION: absolute">+</span> <span id="hide1_1_1_3_2" class="foldopened" onClick="hide_folder('1_1_1_3_2')">-</Span>
-Become CEO and manage your company
-<ul id="fold1_1_1_3_2" style="POSITION: relative; VISIBILITY: visible;"><li>Nominate department managers
-
-</li>
-<li>Recruit new employees
-
-</li>
-<li>Pay salery to your employees
-
-</li>
-
-</ul>
-</li>
-<li>Let other gamer manage your company
-
-</li>
-<li><span id="show1_1_1_3_3" class="foldclosed" onClick="show_folder('1_1_1_3_3')" style="POSITION: absolute">+</span> <span id="hide1_1_1_3_3" class="foldopened" onClick="hide_folder('1_1_1_3_3')">-</Span>
-Compare prices
-<ul id="fold1_1_1_3_3" style="POSITION: relative; VISIBILITY: visible;"><li>Make a purchase computation system
-
-</li>
-
-</ul>
-</li>
-
-</ul>
-</li>
-
-</ul>
-</li>
-<li><span id="show1_1_2" class="foldclosed" onClick="show_folder('1_1_2')" style="POSITION: absolute">+</span> <span id="hide1_1_2" class="foldopened" onClick="hide_folder('1_1_2')">-</Span>
-Or start as an employee
-<ul id="fold1_1_2" style="POSITION: relative; VISIBILITY: visible;"><li><span id="show1_1_2_1" class="foldclosed" onClick="show_folder('1_1_2_1')" style="POSITION: absolute">+</span> <span id="hide1_1_2_1" class="foldopened" onClick="hide_folder('1_1_2_1')">-</Span>
-Start as a simple sailor
-<ul id="fold1_1_2_1" style="POSITION: relative; VISIBILITY: visible;"><li><span id="show1_1_2_1_1" class="foldclosed" onClick="show_folder('1_1_2_1_1')" style="POSITION: absolute">+</span> <span id="hide1_1_2_1_1" class="foldopened" onClick="hide_folder('1_1_2_1_1')">-</Span>
-And end up as a captain
-<ul id="fold1_1_2_1_1" style="POSITION: relative; VISIBILITY: visible;"><li>Control your ship (depends on client)
-
-</li>
-
-</ul>
-</li>
-
-</ul>
-</li>
-<li><span id="show1_1_2_2" class="foldclosed" onClick="show_folder('1_1_2_2')" style="POSITION: absolute">+</span> <span id="hide1_1_2_2" class="foldopened" onClick="hide_folder('1_1_2_2')">-</Span>
-Or as a shipbuilder
-<ul id="fold1_1_2_2" style="POSITION: relative; VISIBILITY: visible;"><li><span id="show1_1_2_2_1" class="foldclosed" onClick="show_folder('1_1_2_2_1')" style="POSITION: absolute">+</span> <span id="hide1_1_2_2_1" class="foldopened" onClick="hide_folder('1_1_2_2_1')">-</Span>
-Repair ships
-<ul id="fold1_1_2_2_1" style="POSITION: relative; VISIBILITY: visible;"><li>Renew the painting
-
-</li>
-<li>Fix broken things
-
-</li>
-
-</ul>
-</li>
-<li>Build up new ships
-
-</li>
-
-</ul>
-</li>
-<li>As an officer
-
-</li>
-<li>As a cleaner
-
-</li>
-
-</ul>
-</li>
-<li><span id="show1_1_3" class="foldclosed" onClick="show_folder('1_1_3')" style="POSITION: absolute">+</span> <span id="hide1_1_3" class="foldopened" onClick="hide_folder('1_1_3')">-</Span>
-Create a board of managers
-<ul id="fold1_1_3" style="POSITION: relative; VISIBILITY: visible;"><li>Only for bigger companies
-
-</li>
-
-</ul>
-</li>
-<li><span id="show1_1_4" class="foldclosed" onClick="show_folder('1_1_4')" style="POSITION: absolute">+</span> <span id="hide1_1_4" class="foldopened" onClick="hide_folder('1_1_4')">-</Span>
-Design your own ships
-<ul id="fold1_1_4" style="POSITION: relative; VISIBILITY: visible;"><li>From templates (default ships)
-
-</li>
-<li>Or your complete freely designed layout
-
-</li>
-
-</ul>
-</li>
-<li><span id="show1_1_5" class="foldclosed" onClick="show_folder('1_1_5')" style="POSITION: absolute">+</span> <span id="hide1_1_5" class="foldopened" onClick="hide_folder('1_1_5')">-</Span>
-Ride constructed ships
-<ul id="fold1_1_5" style="POSITION: relative; VISIBILITY: visible;"><li>Make sail plans
-
-</li>
-<li><span id="show1_1_5_1" class="foldclosed" onClick="show_folder('1_1_5_1')" style="POSITION: absolute">+</span> <span id="hide1_1_5_1" class="foldopened" onClick="hide_folder('1_1_5_1')">-</Span>
-Transportate cargo or passengers
-<ul id="fold1_1_5_1" style="POSITION: relative; VISIBILITY: visible;"><li><span id="show1_1_5_1_1" class="foldclosed" onClick="show_folder('1_1_5_1_1')" style="POSITION: absolute">+</span> <span id="hide1_1_5_1_1" class="foldopened" onClick="hide_folder('1_1_5_1_1')">-</Span>
-Make your passengers happy/comfortable
-<ul id="fold1_1_5_1_1" style="POSITION: relative; VISIBILITY: visible;"><li>Discos
-
-</li>
-<li>Shops
-
-</li>
-<li>Kinder garden
-
-</li>
-<li>Cinema
-
-</li>
-<li>Baby station
-
-</li>
-<li>Internet Cafe
-
-</li>
-<li>Gambling Hall
-
-</li>
-
-</ul>
-</li>
-<li><span id="show1_1_5_1_2" class="foldclosed" onClick="show_folder('1_1_5_1_2')" style="POSITION: absolute">+</span> <span id="hide1_1_5_1_2" class="foldopened" onClick="hide_folder('1_1_5_1_2')">-</Span>
-Load containers and bring them to other harbors
-<ul id="fold1_1_5_1_2" style="POSITION: relative; VISIBILITY: visible;"><li><span id="show1_1_5_1_2_1" class="foldclosed" onClick="show_folder('1_1_5_1_2_1')" style="POSITION: absolute">+</span> <span id="hide1_1_5_1_2_1" class="foldopened" onClick="hide_folder('1_1_5_1_2_1')">-</Span>
-<span style="font-family: SansSerif, sans-serif; font-style: italic; ">Containers content</span>
-<ul id="fold1_1_5_1_2_1" style="POSITION: relative; VISIBILITY: visible;"><li>Raw material
-
-</li>
-<li><span id="show1_1_5_1_2_1_1" class="foldclosed" onClick="show_folder('1_1_5_1_2_1_1')" style="POSITION: absolute">+</span> <span id="hide1_1_5_1_2_1_1" class="foldopened" onClick="hide_folder('1_1_5_1_2_1_1')">-</Span>
-Lifestock
-<ul id="fold1_1_5_1_2_1_1" style="POSITION: relative; VISIBILITY: visible;"><li>Exotic animals like dolphines et cetera
-
-</li>
-<li>Cows
-
-</li>
-<li>Horses
-
-</li>
-<li>Sheeps
-
-</li>
-
-</ul>
-</li>
-<li>Electronics
-
-</li>
-<li>Foods
-
-</li>
-
-</ul>
-</li>
-<li>Special container terminal
-
-</li>
-<li><span id="show1_1_5_1_2_2" class="foldclosed" onClick="show_folder('1_1_5_1_2_2')" style="POSITION: absolute">+</span> <span id="hide1_1_5_1_2_2" class="foldopened" onClick="hide_folder('1_1_5_1_2_2')">-</Span>
-May have temperatur control
-<ul id="fold1_1_5_1_2_2" style="POSITION: relative; VISIBILITY: visible;"><li>Organic frozen cargo
-
-</li>
-
-</ul>
-</li>
-
-</ul>
-</li>
-<li><span id="show1_1_5_1_3" class="foldclosed" onClick="show_folder('1_1_5_1_3')" style="POSITION: absolute">+</span> <span id="hide1_1_5_1_3" class="foldopened" onClick="hide_folder('1_1_5_1_3')">-</Span>
-Transportate oil from ricks to the refineries
-<ul id="fold1_1_5_1_3" style="POSITION: relative; VISIBILITY: visible;"><li>Or natural gas
-
-</li>
-
-</ul>
-</li>
-
-</ul>
-</li>
-<li>Depends on used client
-
-</li>
-
-</ul>
-</li>
-<li><span id="show1_1_6" class="foldclosed" onClick="show_folder('1_1_6')" style="POSITION: absolute">+</span> <span id="hide1_1_6" class="foldopened" onClick="hide_folder('1_1_6')">-</Span>
-Earn a lot (virtual/real) money
-<ul id="fold1_1_6" style="POSITION: relative; VISIBILITY: visible;"><li>Sell a journey
-
-</li>
-<li>Trade with goods
-
-</li>
-<li>Construct ships for other companies
-
-</li>
-
-</ul>
-</li>
-<li><span id="show1_1_7" class="foldclosed" onClick="show_folder('1_1_7')" style="POSITION: absolute">+</span> <span id="hide1_1_7" class="foldopened" onClick="hide_folder('1_1_7')">-</Span>
-Play as a passenger
-<ul id="fold1_1_7" style="POSITION: relative; VISIBILITY: visible;"><li>Order a jorney to your desired destionation
-
-</li>
-
-</ul>
-</li>
-
-</ul>
-</li>
-<li><a href="Tech-Tree_v1.mm.html" target="_blank"><span class=l>~</span> <span style="font-size: 133%;font-family: SansSerif, sans-serif; font-weight: bold; ">Tech-Tree v1.0</span>
-</a>
-
-</li>
-<li><span id="show1_2" class="foldclosed" onClick="show_folder('1_2')" style="POSITION: absolute">+</span> <span id="hide1_2" class="foldopened" onClick="hide_folder('1_2')">-</Span>
-Java client
-<ul id="fold1_2" style="POSITION: relative; VISIBILITY: visible;"><li>Real-time simulation
-
-</li>
-<li><span id="show1_2_1" class="foldclosed" onClick="show_folder('1_2_1')" style="POSITION: absolute">+</span> <span id="hide1_2_1" class="foldopened" onClick="hide_folder('1_2_1')">-</Span>
-OpenGL (3D Graphics)
-<ul id="fold1_2_1" style="POSITION: relative; VISIBILITY: visible;"><li>JOGL
-
-</li>
-
-</ul>
-</li>
-<li>OpenAL (3D sound)
-
-</li>
-
-</ul>
-</li>
-<li><a href="Browser Game.mm.html" target="_blank"><span class=l>~</span> <span style="font-size: 133%;font-family: SansSerif, sans-serif; font-weight: bold; ">Browser-Game</span>
-</a>
-
-</li>
-<li><span id="show1_3" class="foldclosed" onClick="show_folder('1_3')" style="POSITION: absolute">+</span> <span id="hide1_3" class="foldopened" onClick="hide_folder('1_3')">-</Span>
-<span style="font-size: 133%;font-family: SansSerif, sans-serif; font-weight: bold; ">Multi-Player Mode</span>
-<ul id="fold1_3" style="POSITION: relative; VISIBILITY: visible;"><li>Networked over hubs
-
-</li>
-<li><span id="show1_3_1" class="foldclosed" onClick="show_folder('1_3_1')" style="POSITION: absolute">+</span> <span id="hide1_3_1" class="foldopened" onClick="hide_folder('1_3_1')">-</Span>
-Big map which holds all harbors
-<ul id="fold1_3_1" style="POSITION: relative; VISIBILITY: visible;"><li>Seperated into small maps to cluster the load over the network
-
-</li>
-
-</ul>
-</li>
-
-</ul>
-</li>
-<li><span id="show1_4" class="foldclosed" onClick="show_folder('1_4')" style="POSITION: absolute">+</span> <span id="hide1_4" class="foldopened" onClick="hide_folder('1_4')">-</Span>
-<span style="font-size: 133%;font-family: SansSerif, sans-serif; font-weight: bold; ">"Faked" Single-Player</span>
-<ul id="fold1_4" style="POSITION: relative; VISIBILITY: visible;"><li>Locally installed version
-
-</li>
-<li>Does not connect to other hubs
-
-</li>
-<li><span id="show1_4_1" class="foldclosed" onClick="show_folder('1_4_1')" style="POSITION: absolute">+</span> <span id="hide1_4_1" class="foldopened" onClick="hide_folder('1_4_1')">-</Span>
-"Save games" should be incompatible with MP mode
-<ul id="fold1_4_1" style="POSITION: relative; VISIBILITY: visible;"><li>Avoids cheating
-
-</li>
-
-</ul>
-</li>
-
-</ul>
-</li>
-<li><span id="show1_5" class="foldclosed" onClick="show_folder('1_5')" style="POSITION: absolute">+</span> <span id="hide1_5" class="foldopened" onClick="hide_folder('1_5')">-</Span>
-<span style="font-size: 133%;font-family: SansSerif, sans-serif; font-weight: bold; ">Sand-Box Mode</span>
-<ul id="fold1_5" style="POSITION: relative; VISIBILITY: visible;"><li><span id="show1_5_1" class="foldclosed" onClick="show_folder('1_5_1')" style="POSITION: absolute">+</span> <span id="hide1_5_1" class="foldopened" onClick="hide_folder('1_5_1')">-</Span>
-The player can test the game
-<ul id="fold1_5_1" style="POSITION: relative; VISIBILITY: visible;"><li>Some people like to "explore" the game
-
-</li>
-<li>Or just wanna have a look
-
-</li>
-
-</ul>
-</li>
-<li><span style="font-family: SansSerif, sans-serif; ">There are no competitors</span>
-
-</li>
-<li>Creating characters is for free
-
-</li>
-<li>The game will not connect to network
-
-</li>
-<li><span id="show1_5_2" class="foldclosed" onClick="show_folder('1_5_2')" style="POSITION: absolute">+</span> <span id="hide1_5_2" class="foldopened" onClick="hide_folder('1_5_2')">-</Span>
-Characters are invalid to multi/single-player characters
-<ul id="fold1_5_2" style="POSITION: relative; VISIBILITY: visible;"><li>Prevents cheating a bit
-
-</li>
-
-</ul>
-</li>
-
-</ul>
-</li>
-<li><span id="show1_6" class="foldclosed" onClick="show_folder('1_6')" style="POSITION: absolute">+</span> <span id="hide1_6" class="foldopened" onClick="hide_folder('1_6')">-</Span>
-Modern-epoche game
-<ul id="fold1_6" style="POSITION: relative; VISIBILITY: visible;"><li>Age: 1950+
-
-</li>
-<li>The abstraction level is kept low
-
-</li>
-
-</ul>
-</li>
-<li><span id="show1_7" class="foldclosed" onClick="show_folder('1_7')" style="POSITION: absolute">+</span> <span id="hide1_7" class="foldopened" onClick="hide_folder('1_7')">-</Span>
-Licences
-<ul id="fold1_7" style="POSITION: relative; VISIBILITY: visible;"><li><span id="show1_7_1" class="foldclosed" onClick="show_folder('1_7_1')" style="POSITION: absolute">+</span> <span id="hide1_7_1" class="foldopened" onClick="hide_folder('1_7_1')">-</Span>
-The game
-<ul id="fold1_7_1" style="POSITION: relative; VISIBILITY: visible;"><li><span id="show1_7_1_1" class="foldclosed" onClick="show_folder('1_7_1_1')" style="POSITION: absolute">+</span> <span id="hide1_7_1_1" class="foldopened" onClick="hide_folder('1_7_1_1')">-</Span>
-Ship-Simu is licensed under the GNU GPL 3 or any newer version
-<ul id="fold1_7_1_1" style="POSITION: relative; VISIBILITY: visible;"><li>See docs/COPYING.software
-
-</li>
-
-</ul>
-</li>
-
-</ul>
-</li>
-<li><span id="show1_7_2" class="foldclosed" onClick="show_folder('1_7_2')" style="POSITION: absolute">+</span> <span id="hide1_7_2" class="foldopened" onClick="hide_folder('1_7_2')">-</Span>
-This document
-<ul id="fold1_7_2" style="POSITION: relative; VISIBILITY: visible;"><li><span id="show1_7_2_1" class="foldclosed" onClick="show_folder('1_7_2_1')" style="POSITION: absolute">+</span> <span id="hide1_7_2_1" class="foldopened" onClick="hide_folder('1_7_2_1')">-</Span>
-This mind-map is licensed under the GNU FDL 1.2 or any newer version
-<ul id="fold1_7_2_1" style="POSITION: relative; VISIBILITY: visible;"><li>See docs/COPYING.documents
-
-</li>
-
-</ul>
-</li>
-
-</ul>
-</li>
-<li><span id="show1_7_3" class="foldclosed" onClick="show_folder('1_7_3')" style="POSITION: absolute">+</span> <span id="hide1_7_3" class="foldopened" onClick="hide_folder('1_7_3')">-</Span>
-Artworks like sounds/graphics
-<ul id="fold1_7_3" style="POSITION: relative; VISIBILITY: visible;"><li>Some CC license
-
-</li>
-
-</ul>
-</li>
-
-</ul>
-</li>
-<li><a href="Payment-System.mm.html" target="_blank"><span class=l>~</span> <span style="font-size: 133%;font-family: SansSerif, sans-serif; font-weight: bold; ">Payment system</span>
-</a>
-
-</li>
-<li><span id="show1_8" class="foldclosed" onClick="show_folder('1_8')" style="POSITION: absolute">+</span> <span id="hide1_8" class="foldopened" onClick="hide_folder('1_8')">-</Span>
-Data exchange protocol
-<ul id="fold1_8" style="POSITION: relative; VISIBILITY: visible;"><li><span id="show1_8_1" class="foldclosed" onClick="show_folder('1_8_1')" style="POSITION: absolute">+</span> <span id="hide1_8_1" class="foldopened" onClick="hide_folder('1_8_1')">-</Span>
-Default is an own small format
-<ul id="fold1_8_1" style="POSITION: relative; VISIBILITY: visible;"><li>Reduces traffic between servers
-
-</li>
-
-</ul>
-</li>
-<li><span id="show1_8_2" class="foldclosed" onClick="show_folder('1_8_2')" style="POSITION: absolute">+</span> <span id="hide1_8_2" class="foldopened" onClick="hide_folder('1_8_2')">-</Span>
-Easy rewriteable to e.g. XML
-<ul id="fold1_8_2" style="POSITION: relative; VISIBILITY: visible;"><li>Other clients (Flash) can also connect
-
-</li>
-
-</ul>
-</li>
-<li>Java and browser client can play together
-
-</li>
-
-</ul>
-</li>
-<li><span id="show1_9" class="foldclosed" onClick="show_folder('1_9')" style="POSITION: absolute">+</span> <span id="hide1_9" class="foldopened" onClick="hide_folder('1_9')">-</Span>
-Optional Pillory
-<ul id="fold1_9" style="POSITION: relative; VISIBILITY: visible;"><li>To make e.g. nazi propaganda activity public
-
-</li>
-<li>Shall keep bad players away
-
-</li>
-<li><span id="show1_9_1" class="foldclosed" onClick="show_folder('1_9_1')" style="POSITION: absolute">+</span> <span id="hide1_9_1" class="foldopened" onClick="hide_folder('1_9_1')">-</Span>
-Requires some "game-moderator" access level to manage
-<ul id="fold1_9_1" style="POSITION: relative; VISIBILITY: visible;"><li>The moderator shall have an extra flag e.g. "pillory_accessable"
-
-</li>
-
-</ul>
-</li>
-<li><span id="show1_9_2" class="foldclosed" onClick="show_folder('1_9_2')" style="POSITION: absolute">+</span> <span id="hide1_9_2" class="foldopened" onClick="hide_folder('1_9_2')">-</Span>
-Players, companies et cetera should be lockable
-<ul id="fold1_9_2" style="POSITION: relative; VISIBILITY: visible;"><li>The moderator can choose wether to lock with pillory entry or just locking down
-
-</li>
-
-</ul>
-</li>
-
-</ul>
-</li>
-<li><span id="show1_10" class="foldclosed" onClick="show_folder('1_10')" style="POSITION: absolute">+</span> <span id="hide1_10" class="foldopened" onClick="hide_folder('1_10')">-</Span>
-<span style="font-size: 133%;font-family: SansSerif, sans-serif; font-weight: bold; ">Misc</span>
-<ul id="fold1_10" style="POSITION: relative; VISIBILITY: visible;"><li><span id="show1_10_1" class="foldclosed" onClick="show_folder('1_10_1')" style="POSITION: absolute">+</span> <span id="hide1_10_1" class="foldopened" onClick="hide_folder('1_10_1')">-</Span>
-<span style="font-size: 116%;font-family: SansSerif, sans-serif; font-weight: bold; ">Websites</span>
-<ul id="fold1_10_1" style="POSITION: relative; VISIBILITY: visible;"><li><a href="http://www.ship-simu.org" target="_blank"><span class=l>~</span> Homepage (www.ship-simu.org)
-</a>
-
-</li>
-<li><a href="http://forum.ship-simu.org" target="_blank"><span class=l>~</span> Forum (forum.ship-simu.org)
-</a>
-
-</li>
-<li><a href="http://bugs.ship-simu.org" target="_blank"><span class=l>~</span> Bug tracker (bugs.ship-simu.org)
-</a>
-
-</li>
-<li><a href="http://stats.ship-simu.org" target="_blank"><span class=l>~</span> SVN-Stats (stats.ship-simu.org)
-</a>
-
-</li>
-
-</ul>
-</li>
-<li><span id="show1_10_2" class="foldclosed" onClick="show_folder('1_10_2')" style="POSITION: absolute">+</span> <span id="hide1_10_2" class="foldopened" onClick="hide_folder('1_10_2')">-</Span>
-<span style="font-size: 116%;font-family: SansSerif, sans-serif; font-weight: bold; ">Author</span>
-<ul id="fold1_10_2" style="POSITION: relative; VISIBILITY: visible;"><li><span id="show1_10_2_1" class="foldclosed" onClick="show_folder('1_10_2_1')" style="POSITION: absolute">+</span> <span id="hide1_10_2_1" class="foldopened" onClick="hide_folder('1_10_2_1')">-</Span>
-Roland "Quix0r" Haeder
-<ul id="fold1_10_2_1" style="POSITION: relative; VISIBILITY: visible;"><li>Main author
-
-</li>
-<li><a href="mailto:webmaster@ship-simu.org" target="_blank"><span class=l>~</span> webmaster@ship-simu.org
-</a>
-
-</li>
-<li>8809296
-
-</li>
-
-</ul>
-</li>
-
-</ul>
-</li>
-<li><span id="show1_10_3" class="foldclosed" onClick="show_folder('1_10_3')" style="POSITION: absolute">+</span> <span id="hide1_10_3" class="foldopened" onClick="hide_folder('1_10_3')">-</Span>
-<span style="font-size: 116%;font-family: SansSerif, sans-serif; font-weight: bold; ">Ideas</span>
-<ul id="fold1_10_3" style="POSITION: relative; VISIBILITY: visible;"><li><span id="show1_10_3_1" class="foldclosed" onClick="show_folder('1_10_3_1')" style="POSITION: absolute">+</span> <span id="hide1_10_3_1" class="foldopened" onClick="hide_folder('1_10_3_1')">-</Span>
-Roland "Quix0r" Haeder
-<ul id="fold1_10_3_1" style="POSITION: relative; VISIBILITY: visible;"><li>Main concept
-
-</li>
-<li>Translation of monakoianar's ideas to english
-
-</li>
-
-</ul>
-</li>
-<li><span id="show1_10_3_2" class="foldclosed" onClick="show_folder('1_10_3_2')" style="POSITION: absolute">+</span> <span id="hide1_10_3_2" class="foldopened" onClick="hide_folder('1_10_3_2')">-</Span>
-Dominik "monakoianar" Schmauder
-<ul id="fold1_10_3_2" style="POSITION: relative; VISIBILITY: visible;"><li>Helps finding a lot major ideas
-
-</li>
-<li><a href="mailto:dominikschmauder@gmx.de" target="_blank"><span class=l>~</span> dominikschmauder@gmx.de
-</a>
-
-</li>
-<li>268853027
-
-</li>
-
-</ul>
-</li>
-
-</ul>
-</li>
-
-</ul>
-</li>
-
-</ul><SCRIPT language=JavaScript>
-fold_document();
-</SCRIPT>
-</body>
-</html>
--- /dev/null
+<?xml version="1.0" encoding="iso-8859-1"?><?xml-stylesheet href="treestyles.css" type="text/css"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xml:lang="fi" xmlns="http://www.w3.org/1999/xhtml"><head><title>Tech-Tree v1.0</title><link rel="stylesheet" href="Tech-Tree_v1.html_files/treestyles.css" type="text/css"/><script type="text/javascript" src="Tech-Tree_v1.html_files/marktree.js"> </script></head><body><div class="basetop"><a href="#" onclick="expandAll(document.getElementById('base'))">Expand</a> - <a href="#" onclick="collapseAll(document.getElementById('base'))">Collapse</a></div><div id="base" class="basetext"><ul><li class="col" style=""><span style="font-size:133%;font-weight:bold;"><a href="Ship-Simu-Ship-Simulator.mm">Tech-Tree v1.0</a> <a href="Ship-Simu-Ship-Simulator.mm"><img src="Tech-Tree_v1.html_files/icons/Link.png" alt="" style="border-width:0"/></a></span><ul class="subexp"><li class="col" style=""><span style="">The Technology</span><ul class="subexp"><li class="exp" style=""><span style="">Ship</span><ul class="sub"><li class="basic" style=""><span style="">Size</span></li><li class="col" style=""><span style="">Construction</span><ul class="subexp"><li class="basic" style=""><span style="">Hull</span></li><li class="basic" style=""><span style="">Wheel house</span></li><li class="basic" style=""><span style="">Support (meal) for crew/passenger</span></li><li class="col" style=""><span style="">Rooms</span><ul class="subexp"><li class="basic" style=""><span style="">Canteen</span></li><li class="col" style=""><span style="">Cabin</span><ul class="subexp"><li class="basic" style=""><span style="">Luxury cabin</span></li><li class="basic" style=""><span style="">Premier cabin</span></li><li class="basic" style=""><span style="">Economy cabin</span></li><li class="basic" style=""><span style="">Low cabin</span></li></ul></li><li class="basic" style=""><span style="">Motor room</span></li><li class="col" style=""><span style="">Special rooms</span><ul class="subexp"><li class="basic" style=""><span style="">Cinema</span></li><li class="basic" style=""><span style="">Theatre</span></li><li class="basic" style=""><span style="">Disco</span></li><li class="basic" style=""><span style="">Bars/Cafes</span></li></ul></li></ul></li><li class="col" style=""><span style="">Engine</span><ul class="subexp"><li class="basic" style=""><span style="">Sail</span></li><li class="basic" style=""><span style="">Propeller</span></li></ul></li><li class="col" style=""><span style="">Decks</span><ul class="subexp"><li class="basic" style=""><span style="">Car deck</span></li><li class="basic" style=""><span style="">Truck deck</span></li><li class="basic" style=""><span style="">Train deck</span></li></ul></li></ul></li><li class="col" style=""><span style="">Crew (depending on ship type)</span><ul class="subexp"><li class="basic" style=""><span style="">Sailor/captain</span></li><li class="basic" style=""><span style="">Cleaners</span></li><li class="basic" style=""><span style="">Security service</span></li><li class="basic" style=""><span style="">Maintenance staff</span></li><li class="col" style=""><span style="">Catering staff</span><ul class="subexp"><li class="basic" style=""><span style="">Cook</span></li><li class="basic" style=""><span style="">Steward (passenger ship)</span></li></ul></li></ul></li></ul></li><li class="col" style=""><span style="">Required Buildings / Facilities</span><ul class="subexp"><li class="col" style=""><span style="">River Attachment</span><ul class="subexp"><li class="col" style=""><span style="">Resources</span><ul class="subexp"><li class="basic" style=""><span style="">Stones</span></li><li class="basic" style=""><span style="">Wood</span></li><li class="basic" style=""><span style="">Nets</span></li></ul></li></ul></li><li class="col" style=""><span style="">Quay Wall</span><ul class="subexp"><li class="col" style=""><span style="">Resources</span><ul class="subexp"><li class="basic" style=""><span style="">Stones</span></li><li class="basic" style=""><span style="">Steel</span></li></ul></li><li class="col" style=""><span style="">Advanced</span><ul class="subexp"><li class="col" style=""><span style="">Poller attached</span><ul class="subexp"><li class="col" style=""><span style="">Wharf / Landing Place</span><ul class="subexp"><li class="col" style=""><span style="">Resources</span><ul class="subexp"><li class="basic" style=""><span style="">Steel</span></li><li class="basic" style=""><span style="">Wood</span></li><li class="basic" style=""><span style="">Thaws</span></li><li class="basic" style=""><span style="">Concrete</span></li></ul></li><li class="col" style=""><span style="">Advanced</span><ul class="subexp"><li class="col" style=""><span style="">Terminal-Bridge</span><ul class="subexp"><li class="col" style=""><span style="">Resources</span><ul class="subexp"><li class="basic" style=""><span style="">Wood</span></li><li class="basic" style=""><span style="">Steel</span></li><li class="basic" style=""><span style="">Glas</span></li><li class="basic" style=""><span style="">Concrete</span></li></ul></li><li class="col" style=""><span style="">Advanced</span><ul class="subexp"><li class="col" style=""><span style="">Terminal Building</span><ul class="subexp"><li class="col" style=""><span style="">Extended</span><ul class="subexp"><li class="basic" style=""><span style="">Box Office</span></li><li class="basic" style=""><span style="">Kiosk</span></li><li class="col" style=""><span style="">Toilets</span><ul class="subexp"><li class="col" style=""><span style="">Extended</span><ul class="subexp"><li class="basic" style=""><span style="">Handicapped accessible</span></li><li class="basic" style=""><span style="">Baby station</span></li><li class="basic" style=""><span style="">Pay machine</span></li></ul></li></ul></li><li class="basic" style=""><span style="">Phone boxes</span></li><li class="basic" style=""><span style="">Shops</span></li><li class="basic" style=""><span style="">Post office</span></li><li class="basic" style=""><span style="">Check-in counter</span></li><li class="basic" style=""><span style="">Silence / office area</span></li><li class="basic" style=""><span style="">Restaurants / Cafes</span></li><li class="basic" style=""><span style="">Internet-access point</span></li><li class="basic" style=""><span style="">Security / Staff offices</span></li><li class="basic" style=""><span style="">Multi-story car park</span></li><li class="basic" style=""><span style="">Customs clearence</span></li></ul></li></ul></li></ul></li></ul></li></ul></li><li class="col" style=""><span style="">Extended</span><ul class="subexp"><li class="basic" style=""><span style="">Box Office</span></li><li class="basic" style=""><span style="">Kiosk</span></li></ul></li></ul></li><li class="col" style=""><span style="">Resources</span><ul class="subexp"><li class="basic" style=""><span style="">Steel</span></li><li class="basic" style=""><span style="">Concrete</span></li></ul></li></ul></li></ul></li></ul></li><li class="basic" style=""><span style=""> River Straightening</span></li><li class="col" style=""><span style="">Canal Construction</span><ul class="subexp"><li class="col" style=""><span style="">Different types of bridges</span><ul class="subexp"><li class="col" style=""><span style="">Resources</span><ul class="subexp"><li class="basic" style=""><span style="">Wood</span></li><li class="basic" style=""><span style="">Steel</span></li><li class="basic" style=""><span style="">Stone</span></li><li class="basic" style=""><span style="">Concrete</span></li></ul></li><li class="col" style=""><span style="">Advanced</span><ul class="subexp"><li class="basic" style=""><span style="">Car bridge</span></li><li class="basic" style=""><span style="">Railway bridge</span></li></ul></li></ul></li></ul></li><li class="col" style=""><span style="">Lock construction</span><ul class="subexp"><li class="col" style=""><span style="">Advanced</span><ul class="subexp"><li class="col" style=""><span style="">Lock lift</span><ul class="subexp"><li class="col" style=""><span style="">Resource</span><ul class="subexp"><li class="basic" style=""><span style="">Steel</span></li></ul></li></ul></li></ul></li></ul></li></ul></li></ul></li><li class="basic" style=""><span style="">The Research</span></li><li class="col" style=""><span style="">The Economics</span><ul class="subexp"><li class="col" style=""><span style="">Costs</span><ul class="subexp"><li class="col" style=""><span style="">Ressources</span><ul class="subexp"><li class="col" style=""><span style="">Wood</span><ul class="subexp"><li class="basic" style=""><span style="">Coverage</span></li><li class="basic" style=""><span style="">Constructuon (all)</span></li></ul></li><li class="basic" style=""><span style="">Financials</span></li><li class="col" style=""><span style="">Iron</span><ul class="subexp"><li class="basic" style=""><span style="">Steel</span></li></ul></li><li class="basic" style=""><span style="">Marmor</span></li><li class="basic" style=""><span style="">Color</span></li><li class="basic" style=""><span style="">Carpets</span></li></ul></li><li class="col" style=""><span style="">Work</span><ul class="subexp"><li class="col" style=""><span style="">Worker</span><ul class="subexp"><li class="col" style=""><span style="">Qualified</span><ul class="subexp"><li class="basic" style=""><span style="">Fast</span></li><li class="basic" style=""><span style="">Hight-quality work</span></li><li class="basic" style=""><span style="">Expensive</span></li></ul></li><li class="col" style=""><span style="">Helper (non-qualified)</span><ul class="subexp"><li class="basic" style=""><span style="">Slow</span></li><li class="basic" style=""><span style="">Low-quality work</span></li><li class="basic" style=""><span style="">Cheap</span></li></ul></li></ul></li><li class="basic" style=""><span style="">Employee morale</span></li><li class="basic" style=""><span style="">Salary</span></li></ul></li></ul></li></ul></li><li class="col" style=""><img src="Tech-Tree_v1.html_files/icons/pencil.png" alt="pencil"/> <span style="">Unsorted ideas</span><ul class="subexp"><li class="basic" style=""><span style="">All buildings shall gain a basic tech-level</span></li><li class="basic" style=""><span style="">Some parts of the ship or building are only available at or above a tech-level</span></li><li class="basic" style=""><span style="">Tech levels can be improved by research</span></li><li class="basic" style=""><span style="">General research complexes can increase tech-level of all types of buildings and ship parts</span></li><li class="basic" style=""><span style="">Doing resarch requires a lot money</span></li><li class="basic" style=""><span style="">Specialists must be hired for doing the research</span></li><li class="col" style=""><span style="">Ship yards are highly required to construct ships</span><ul class="subexp"><li class="basic" style=""><span style="">Without these facilities the gamer shall never be able to construct ships</span></li></ul></li><li class="basic" style=""><span style="">Hired workers must be trained to do simple steps</span></li></ul></li></ul></li></ul></div></body></html>
\ No newline at end of file
--- /dev/null
+/* MarkTree JavaScript code\r
+ * \r
+ * The contents of this file are subject to the Mozilla Public License Version\r
+ * 1.1 (the "License"); you may not use this file except in compliance with\r
+ * the License. You may obtain a copy of the License at\r
+ * http://www.mozilla.org/MPL/\r
+ *\r
+ * Software distributed under the License is distributed on an "AS IS" basis,\r
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License\r
+ * for the specific language governing rights and limitations under the\r
+ * License.\r
+ * \r
+ * Miika Nurminen, 12.7.2004.\r
+ */\r
+\r
+/* cross-browser (tested with ie5, mozilla 1 and opera 5) keypress detection */\r
+function get_keycode(evt) {\r
+ // IE\r
+ code = document.layers ? evt.which\r
+ : document.all ? event.keyCode // event.keyCode!=evt.keyCode!\r
+ : evt.keyCode;\r
+\r
+ if (code==0) \r
+ code=evt.which; // for NS\r
+ return code;\r
+}\r
+\r
+var lastnode=null;\r
+var listnodes = null;\r
+var list_index=1;\r
+var lastnodetype=''; // determines if node is a link, input or text;\r
+\r
+// up, left, down, right, keypress codes\r
+//ijkl\r
+//var keys = new Array(105,106,107,108);\r
+//num arrows\r
+//var keys = new Array(56,52,50,54);\r
+//wasd\r
+// var press2 = new Array(119,97,115,100);\r
+ var press = new Array(47,45,42,43);\r
+\r
+// keydown codes\r
+ // var keys2=new Array(87,65,83,68);\r
+ var keys= new Array(38,37,40,39);\r
+\r
+ // keyset 1 = keydown, otherwise press\r
+function checkup(keyset,n) {\r
+ if (keyset==1) return (n==keys[0]);\r
+ return ((n==press[0]) /*|| (n==press2[0])*/)\r
+}\r
+\r
+function checkdn(keyset,n) {\r
+ if (keyset==1) return (n==keys[2]);\r
+ return ((n==press[2]) /*|| (n==press2[2])*/)\r
+}\r
+\r
+function checkl(keyset,n) {\r
+ if (keyset==1) return (n==keys[1]);\r
+ return ((n==press[1]) /*|| (n==press2[1])*/)\r
+}\r
+\r
+function checkr(keyset,n) {\r
+ if (keyset==1) return (n==keys[3]);\r
+ return ((n==press[3]) /*|| (n==press2[3])*/)\r
+}\r
+\r
+\r
+\r
+\r
+\r
+function is_exp(n) {\r
+ if (n==null) return false;\r
+ return ((n.className=='exp') || (n.className=='exp_active'));\r
+}\r
+\r
+function is_col(n) {\r
+ if (n==null) return false;\r
+ return ((n.className=='col') || (n.className=='col_active'));\r
+}\r
+\r
+function is_basic(n) {\r
+ if (n==null) return false;\r
+ return ((n.className=='basic') || (n.className=='basic_active'));\r
+}\r
+\r
+\r
+\r
+/* returns i>=0 if true */\r
+function is_active(node) {\r
+ if (node.className==null) return false\r
+ return node.className.indexOf('_active');\r
+}\r
+\r
+function toggle_class(node) {\r
+ if ((node==null) || (node.className==null)) return;\r
+ str=node.className;\r
+ result="";\r
+ i = str.indexOf('_active');\r
+ if (i>0)\r
+ result= str.substr(0,i);\r
+ else\r
+ result= str+"_active";\r
+ node.className=result; \r
+ return node;\r
+}\r
+\r
+function activate(node) {\r
+ node.style.backgroundColor='#eeeeff';\r
+}\r
+\r
+function deactivate(node) {\r
+ node.style.backgroundColor='#ffffff';\r
+}\r
+\r
+function is_list_node(n) {\r
+ if (n==null) return false;\r
+ if (n.className==null) return false;\r
+ if ( (is_exp(n)) || \r
+ (is_col(n)) ||\r
+ (is_basic(n)) )\r
+ return true; else return false;\r
+}\r
+\r
+\r
+function get_href(n) {\r
+ alist=n.attributes;\r
+ if (alist!=null) {\r
+ hr = alist.getNamedItem('href');\r
+ if (hr!=null) return hr.nodeValue;\r
+ }\r
+ if (n.childNodes.length==0) return '';\r
+ for (var i=0; i<n.childNodes.length; i++) {\r
+ s = get_href(n.childNodes[i]);\r
+ if (s!='') return s;\r
+ }\r
+ return '';\r
+}\r
+\r
+function get_link(n) {\r
+ if (n==null) return null;\r
+ if (n.style==null) return null;\r
+\r
+ // disabling uncontrolled recursion to prevent error messages on IE\r
+ // when trying to focus to invisible links (readonly mode)\r
+// alert(n.nodeName+' '+n.className);\r
+ if ((n.nodeName=='UL') && (n.className=='sub')) return null;\r
+\r
+ if (n.nodeName=='A') return n;\r
+ if (n.childNodes.length==0) return null;\r
+ for (var i=0; i<n.childNodes.length; i++) {\r
+ s = get_link(n.childNodes[i]);\r
+ if (s!=null) return s;\r
+ }\r
+ return null;\r
+}\r
+\r
+function set_lastnode(n) {\r
+/*var d = new Date();\r
+var t_mil = d.getMilliseconds();*/\r
+// testattu nopeuksia explorerilla, ei merkittäviä eroja\r
+ if (lastnode==n) return; \r
+/* deactivate(lastnode)\r
+ lastnode=n;\r
+ activate(lastnode);*/\r
+\r
+ if (is_active(lastnode)>=0)\r
+ toggle_class(lastnode);\r
+ lastnode=n;\r
+ if (!(is_active(lastnode)>=0))\r
+ toggle_class(lastnode);\r
+\r
+\r
+/*var d2 = new Date();\r
+var t_mil2 = d2.getMilliseconds();\r
+ window.alert(t_mil2-t_mil);*/\r
+}\r
+\r
+function next_list_node() {\r
+ tempIndex = list_index;\r
+ while (tempIndex<listnodes.length-1) {\r
+ tempIndex++;\r
+ var x = listnodes[tempIndex];\r
+ if (is_list_node(x)) {\r
+ list_index=tempIndex;\r
+ return;\r
+ }\r
+ }\r
+}\r
+\r
+function prev_list_node() {\r
+ tempIndex = list_index;\r
+ while (tempIndex>0) {\r
+ tempIndex--;\r
+ var x = listnodes[tempIndex];\r
+ if (is_list_node(x)) {\r
+ list_index=tempIndex;\r
+ return;\r
+ }\r
+ }\r
+}\r
+\r
+\r
+\r
+function getsub (li) {\r
+ if (li.childNodes.length==0) return null;\r
+ for (var c = 0; c < li.childNodes.length; c++)\r
+ if ( (li.childNodes[c].className == 'sub') || (li.childNodes[c].className == 'subexp') ) \r
+ return li.childNodes[c];\r
+}\r
+\r
+function find_listnode_recursive (li) {\r
+ if (is_list_node(li)) return li; \r
+ if (li.childNodes.length==0) return null;\r
+ result=null;\r
+ for (var c = 0; c < li.childNodes.length; c++) {\r
+ result=find_listnode_recursive(li.childNodes[c]);\r
+ if (result!=null) return result;\r
+ }\r
+ return null;\r
+}\r
+\r
+function next_child_listnode(li) {\r
+ var result=null;\r
+ for (var i=0; i<li.childNodes.length; i++) {\r
+ result=find_listnode_recursive(li.childNodes[i]);\r
+ if (result!=null) return result;\r
+ }\r
+ return null; \r
+}\r
+\r
+function next_actual_sibling_listnode(li) {\r
+ if (li==null) return null;\r
+ var temp=li;\r
+ while (1) { \r
+ var n = temp.nextSibling;\r
+ if (n==null) {\r
+ n=parent_listnode(temp);\r
+ return next_actual_sibling_listnode(n);\r
+ }\r
+ if (is_list_node(n)) return n;\r
+ temp=n;\r
+ }\r
+}\r
+\r
+function next_sibling_listnode(li) {\r
+if (li==null) return null; \r
+ var result=null;\r
+ var temp=li;\r
+ if (is_col(temp)) return next_child_listnode(temp);\r
+ while (1) { \r
+ var n = temp.nextSibling;\r
+ if (n==null) {\r
+ n=parent_listnode(temp);\r
+ return next_actual_sibling_listnode(n);\r
+ }\r
+ if (is_list_node(n)) return n;\r
+ temp=n;\r
+ }\r
+}\r
+\r
+function last_sibling_listnode(li) {\r
+ if (li==null) return null;\r
+ var temp=li;\r
+ var last=null;\r
+ while(1) {\r
+ var n = temp.nextSibling;\r
+ if (is_list_node(temp)) \r
+ last = temp;\r
+ if (n==null) {\r
+ if (is_col(last)) return last_sibling_listnode(next_child_listnode(last));\r
+ else return last;\r
+ }\r
+ temp = n;\r
+ }\r
+}\r
+\r
+function prev_sibling_listnode(li) { \r
+ if (li==null) return null;\r
+ var temp=li;\r
+ var n = null;\r
+ while (1) { \r
+ n = temp.previousSibling;\r
+ if (n==null) {\r
+ return parent_listnode(li);\r
+ }\r
+ if (is_list_node(n)) {\r
+ if (is_col(n)) { \r
+ return last_sibling_listnode(next_child_listnode(n));\r
+ }\r
+ else {\r
+ return n;\r
+ }\r
+ }\r
+ temp=n;\r
+ }\r
+}\r
+\r
+\r
+function parent_listnode(li) {\r
+ // added 12.7.2004 to prevent IE error when readonly mode==true\r
+ if (li==null) return null;\r
+ n=li;\r
+ while (1) {\r
+ n=n.parentNode;\r
+ if (n==null) return null;\r
+ if (is_list_node(n)) return n;\r
+ }\r
+}\r
+\r
+function getVisibleParents(id) {\r
+ var n = document.getElementById(id);\r
+ while(1) {\r
+ expand(n);\r
+ n = parent_listnode(n);\r
+ if (n==null) return;\r
+ }\r
+}\r
+\r
+function onClickHandler (evt) {\r
+if (lastnode==null) \r
+{\r
+listnodes = document.getElementsByTagName('li');\r
+lastnode=listnodes[1];\r
+temp=listnodes[1];\r
+}\r
+\r
+\r
+ var target = evt ? evt.target : event.srcElement;\r
+ if (!is_list_node(target)) return;\r
+ toggle(target);\r
+ set_lastnode(target);\r
+}\r
+\r
+\r
+function expand(node) {\r
+ if (!is_exp(node)) return;\r
+ if (node.className=='exp_active') \r
+ node.className='col_active';\r
+ else \r
+ node.className='col';\r
+ setSubClass(node,'subexp');\r
+ // getsub(node).className='subexp';\r
+}\r
+\r
+function collapse(node) {\r
+ if (!is_col(node)) return;\r
+ \r
+if (node.className=='col_active')\r
+ node.className='exp_active'\r
+ else \r
+ node.className='exp';\r
+\r
+ setSubClass(node,'sub');\r
+// getsub(node).className='sub';\r
+\r
+}\r
+\r
+function setSubClass(node,name) {\r
+ sub = getsub(node);\r
+ if (sub==null) return;\r
+ sub.className=name; \r
+}\r
+\r
+function toggle(target) {\r
+ if (!is_list_node(target)) return;\r
+ if (is_col(target)) {\r
+ target.className='exp';\r
+ setSubClass(target,'sub');\r
+ // getsub(target).className='sub';\r
+ }\r
+ else if (is_exp(target)) {\r
+ target.className='col';\r
+ setSubClass(target,'subexp');\r
+ // getsub(target).className='subexp';\r
+ }\r
+ \r
+}\r
+\r
+function expandAll(node) {\r
+ if (node.className=='exp') {\r
+ node.className='col';\r
+ setSubClass(node,'subexp');\r
+// getsub(node).className='subexp';\r
+ }\r
+ var i;\r
+ if (node.childNodes!=null) \r
+// if (node.hasChildNodes()) \r
+ for ( i = 0; i<node.childNodes.length; i++)\r
+ expandAll(node.childNodes[i]);\r
+}\r
+\r
+function collapseAll(node) {\r
+ if (node.className=='col') {\r
+ node.className='exp';\r
+ setSubClass(node,'sub');\r
+// getsub(node).className='sub';\r
+ }\r
+ var i; \r
+ if (node.childNodes!=null) \r
+// for opera if (node.hasChildNodes()) \r
+ for ( i = 0; i<node.childNodes.length; i++)\r
+ collapseAll(node.childNodes[i]);\r
+}\r
+\r
+\r
+\r
+function unFocus(node) {\r
+ // unfocuses potential link that is to be hidden (if a==null there is no link so it should not be blurred).\r
+ // tested with mozilla 1.7, 12.7.2004. /mn (\r
+ intemp=parent_listnode(node); \r
+ a = get_link(intemp); // added 6.4. to get keyboard working with\r
+ // moved before collapse to prevent an error message with IE when readonly==true \r
+ if (a!=null) a.blur(); // netscape after collapsing a focused node\r
+ return intemp;\r
+}\r
+\r
+// mode: 0==keypress, 1==keyup\r
+function keyfunc(evt,mode) {\r
+ var c = get_keycode(evt);\r
+ var temp = null;\r
+ var a = null;\r
+\r
+ if (lastnode==null) {\r
+ listnodes = document.getElementsByTagName('li');\r
+ lastnode=listnodes[1];\r
+ temp=listnodes[1];\r
+ }\r
+\r
+ //window.alert(c);\r
+ if (checkup(mode,c)) { // i \r
+ temp=prev_sibling_listnode(lastnode);\r
+ }\r
+ else if (checkdn(mode,c)) { // k\r
+ temp=next_sibling_listnode(lastnode);\r
+ }\r
+ else if (checkr(mode,c)) { // l\r
+ expand(lastnode);\r
+ // temp=next_child_listnode(lastnode);\r
+ // if (temp==null) {\r
+ a = get_link(lastnode);\r
+ if (a!=null) a.focus(); else self.focus(); \r
+ //}\r
+ }\r
+ else if (checkl(mode,c)) { // j\r
+ if (is_col(lastnode)) {\r
+ unFocus(lastnode);\r
+ collapse(lastnode);\r
+ }\r
+ else {\r
+ temp=unFocus(lastnode);\r
+ collapse(temp);\r
+ }\r
+ // if (temp==null) lastnode.focus(); // forces focus to correct div (try mozilla typesearch) (doesn't seem to work -mn/6.4.2004)\r
+ }\r
+ else return;\r
+ if (temp!=null) set_lastnode(temp);\r
+\r
+ // alert('pressed ' + String.fromCharCode(c) + '(' + c + ')');\r
+ return true;\r
+}\r
+\r
+\r
+function keytest (evt) {\r
+ return keyfunc(evt,1);\r
+};\r
+\r
+\r
+function presstest (evt) {\r
+ return keyfunc(evt,0);\r
+};\r
+\r
+\r
+ document.onclick = onClickHandler;\r
+ document.onkeypress = presstest;\r
+ document.onkeyup = keytest;\r
--- /dev/null
+\r
+body {\r
+ background-color: #eeeeee;\r
+ color: #000000;\r
+ font-family:sans-serif;\r
+}\r
+\r
+:link { color: #0000ff; text-decoration:none;}\r
+:visited { color: #6666ff; text-decoration:none; }\r
+a:active { color: #0000ff; text-decoration:none;}\r
+a:hover {color: #0000ff; text-decoration:underline; }\r
+\r
+div.basetext {\r
+ background-color:#ffffff;\r
+ margin-top:11px;\r
+ margin-bottom:11px;\r
+ margin-left:1%;\r
+ margin-right:1%;\r
+ padding-top:11px;\r
+ padding-left:11px;\r
+ padding-right:11px;\r
+ padding-bottom:11px;\r
+ text-align:left;\r
+ font-weight:normal;\r
+ border-width:thin;\r
+ border-style:solid;\r
+ border-color:#dddddd;\r
+}\r
+\r
+div.basetop {\r
+ position: fixed;\r
+ width:auto;\r
+ height:auto;\r
+ right:0em;\r
+ top:0em;\r
+ left:auto; \r
+ top:0;\r
+ background-color:#ffffff;\r
+ margin-top:0;\r
+ margin-bottom:0;\r
+ margin-left:1%;\r
+ margin-right:1%;\r
+ padding-top:2px;\r
+ padding-left:11px;\r
+ padding-right:11px;\r
+ padding-bottom:2px;\r
+ text-align:left;\r
+ font-weight:normal;\r
+text-align:right;\r
+ border-width:thin;\r
+ border-style:solid;\r
+ border-color:#dddddd;\r
+}\r
+\r
+h1 {\r
+ text-align:center;\r
+}\r
+\r
+span.h2 {\r
+ font-family:sans-serif;\r
+ font-weight:bold;\r
+}\r
+\r
+div.year {\r
+ margin-right:2%;\r
+ background-color:#eeeeee;\r
+}\r
+\r
+div.form {\r
+}\r
+\r
+span.cpt {\r
+ color:#005500;\r
+ font-weight:bold;\r
+}\r
+\r
+span.cm {\r
+ color:#666666;\r
+}\r
+\r
+.fl {\r
+ color:#0000FF; \r
+ font-style:italic;\r
+}\r
+\r
+ul {\r
+ margin-top:1px;\r
+ margin-bottom:1px;\r
+ margin-left:0px;\r
+ padding-left:3%;\r
+}\r
+\r
+li {\r
+ list-style:outside;\r
+ margin-top:10px; \r
+ margin-bottom:10px;\r
+}\r
+\r
+ul li {\r
+ list-style:square;\r
+ font-family:sans-serif;\r
+ font-weight:normal;\r
+}\r
+\r
+li.basic {\r
+ list-style:square;\r
+ list-style-image:none;\r
+ margin-top:2px;\r
+ margin-bottom:2px;\r
+}\r
+\r
+span.links {\r
+}\r
+\r
+\r
+\r
+\r
+.sub { display: none; }\r
+.subexp {display: block; }\r
+.sub { display: none; } \r
+\r
+.subexp {display: block; } \r
+\r
+li.exp {\r
+ list-style-image:url("plus.png");\r
+ margin-top:10px;\r
+ margin-bottom:10px;\r
+ cursor:pointer;\r
+}\r
+\r
+li.col {\r
+ list-style-image:url("minus.png");\r
+ margin-top:10px;\r
+ margin-bottom:10px;\r
+ cursor:pointer;\r
+}\r
+\r
+li.exp_active {\r
+ list-style-image:url("plus.png");\r
+ margin-top:10px; \r
+ margin-bottom:10px;\r
+ background-color:#eeeeff;\r
+ cursor:pointer;\r
+}\r
+\r
+li.col_active {\r
+ list-style-image:url("minus.png");\r
+ margin-top:10px;\r
+ margin-bottom:10px;\r
+ background-color:#eeeeff;\r
+ cursor:pointer; /* if not included, bullets are not shown right in moz*/\r
+}\r
+\r
+\r
+li.basic_active {\r
+ list-style:square;\r
+ list-style-image:none;\r
+ background-color:#eeeeff;\r
+ margin-top:2px;\r
+ margin-bottom:2px;\r
+}\r
+++ /dev/null
-<html>
-<head>
-<title>Tech-Tree v1.0</title>
-<style type="text/css">
- span.foldopened { color: white; font-size: xx-small;
- border-width: 1; font-family: monospace; padding: 0em 0.25em 0em 0.25em; background: #e0e0e0;
- VISIBILITY: visible;
- cursor:pointer; }
-
-
- span.foldclosed { color: #666666; font-size: xx-small;
- border-width: 1; font-family: monospace; padding: 0em 0.25em 0em 0.25em; background: #e0e0e0;
- VISIBILITY: hidden;
- cursor:pointer; }
-
- span.foldspecial { color: #666666; font-size: xx-small; border-style: none solid solid none;
- border-color: #CCCCCC; border-width: 1; font-family: sans-serif; padding: 0em 0.1em 0em 0.1em; background: #e0e0e0;
- cursor:pointer; }
-
- li { list-style: none; }
-
- span.l { color: red; font-weight: bold; }
-
- a:link {text-decoration: none; color: black; }
- a:visited {text-decoration: none; color: black; }
- a:active {text-decoration: none; color: black; }
- a:hover {text-decoration: none; color: black; background: #eeeee0; }
-
-</style>
-<!-- ^ Position is not set to relative / absolute here because of Mozilla -->
-</head>
-<body>
-
-<script language="JavaScript">
- // Here we implement folding. It works fine with MSIE5.5, MSIE6.0 and
- // Mozilla 0.9.6.
-
- if (document.layers) {
- //Netscape 4 specific code
- pre = 'document.';
- post = ''; }
- if (document.getElementById) {
- //Netscape 6 specific code
- pre = 'document.getElementById("';
- post = '").style'; }
- if (document.all) {
- //IE4+ specific code
- pre = 'document.all.';
- post = '.style'; }
-
-function layer_exists(layer) {
- try {
- eval(pre + layer + post);
- return true; }
- catch (error) {
- return false; }}
-
-function show_layer(layer) {
- eval(pre + layer + post).position = 'relative';
- eval(pre + layer + post).visibility = 'visible'; }
-
-function hide_layer(layer) {
- eval(pre + layer + post).visibility = 'hidden';
- eval(pre + layer + post).position = 'absolute'; }
-
-function hide_folder(folder) {
- hide_folding_layer(folder)
- show_layer('show'+folder);
-
- scrollBy(0,0); // This is a work around to make it work in Browsers (Explorer, Mozilla)
-}
-
-function show_folder(folder) {
- // Precondition: all subfolders are folded
-
- show_layer('hide'+folder);
- hide_layer('show'+folder);
- show_layer('fold'+folder);
-
- scrollBy(0,0); // This is a work around to make it work in Browsers (Explorer, Mozilla)
-
- var i;
- for (i=1; layer_exists('fold'+folder+'_'+i); ++i) {
- show_layer('show'+folder+'_'+i); }
-}
-function show_folder_completely(folder) {
- // Precondition: all subfolders are folded
-
- show_layer('hide'+folder);
- hide_layer('show'+folder);
- show_layer('fold'+folder);
-
- scrollBy(0,0); // This is a work around to make it work in Browsers (Explorer, Mozilla)
-
- var i;
- for (i=1; layer_exists('fold'+folder+'_'+i); ++i) {
- show_folder_completely(folder+'_'+i); }
-}
-
-
-
-function hide_folding_layer(folder) {
- var i;
- for (i=1; layer_exists('fold'+folder+'_'+i); ++i) {
- hide_folding_layer(folder+'_'+i); }
-
- hide_layer('hide'+folder);
- hide_layer('show'+folder);
- hide_layer('fold'+folder);
-
- scrollBy(0,0); // This is a work around to make it work in Browsers (Explorer, Mozilla)
-}
-
-function fold_document() {
- var i;
- var folder = '1';
- for (i=1; layer_exists('fold'+folder+'_'+i); ++i) {
- hide_folder(folder+'_'+i); }
-}
-
-function unfold_document() {
- var i;
- var folder = '1';
- for (i=1; layer_exists('fold'+folder+'_'+i); ++i) {
- show_folder_completely(folder+'_'+i); }
-}
-
-</script>
-<SPAN class=foldspecial onclick="fold_document()">All +</SPAN>
-<SPAN class=foldspecial onclick="unfold_document()">All -</SPAN>
-<p><a href="Ship-Simu-Ship-Simulator.mm.html" target="_blank"><span class=l>~</span> <span style="font-size: 133%;font-family: SansSerif, sans-serif; font-weight: bold; ">Tech-Tree v1.0</span>
-</a>
-<ul><li><span id="show1_1" class="foldclosed" onClick="show_folder('1_1')" style="POSITION: absolute">+</span> <span id="hide1_1" class="foldopened" onClick="hide_folder('1_1')">-</Span>
-The Technology
-<ul id="fold1_1" style="POSITION: relative; VISIBILITY: visible;"><li><span id="show1_1_1" class="foldclosed" onClick="show_folder('1_1_1')" style="POSITION: absolute">+</span> <span id="hide1_1_1" class="foldopened" onClick="hide_folder('1_1_1')">-</Span>
-Ship
-<ul id="fold1_1_1" style="POSITION: relative; VISIBILITY: visible;"><li>Size
-
-</li>
-<li><span id="show1_1_1_1" class="foldclosed" onClick="show_folder('1_1_1_1')" style="POSITION: absolute">+</span> <span id="hide1_1_1_1" class="foldopened" onClick="hide_folder('1_1_1_1')">-</Span>
-Construction
-<ul id="fold1_1_1_1" style="POSITION: relative; VISIBILITY: visible;"><li>Hull
-
-</li>
-<li>Wheel house
-
-</li>
-<li>Support (meal) for crew/passenger
-
-</li>
-<li><span id="show1_1_1_1_1" class="foldclosed" onClick="show_folder('1_1_1_1_1')" style="POSITION: absolute">+</span> <span id="hide1_1_1_1_1" class="foldopened" onClick="hide_folder('1_1_1_1_1')">-</Span>
-Rooms
-<ul id="fold1_1_1_1_1" style="POSITION: relative; VISIBILITY: visible;"><li>Canteen
-
-</li>
-<li><span id="show1_1_1_1_1_1" class="foldclosed" onClick="show_folder('1_1_1_1_1_1')" style="POSITION: absolute">+</span> <span id="hide1_1_1_1_1_1" class="foldopened" onClick="hide_folder('1_1_1_1_1_1')">-</Span>
-Cabin
-<ul id="fold1_1_1_1_1_1" style="POSITION: relative; VISIBILITY: visible;"><li>Luxury cabin
-
-</li>
-<li>Premier cabin
-
-</li>
-<li>Economy cabin
-
-</li>
-<li>Low cabin
-
-</li>
-
-</ul>
-</li>
-<li>Motor room
-
-</li>
-<li><span id="show1_1_1_1_1_2" class="foldclosed" onClick="show_folder('1_1_1_1_1_2')" style="POSITION: absolute">+</span> <span id="hide1_1_1_1_1_2" class="foldopened" onClick="hide_folder('1_1_1_1_1_2')">-</Span>
-Special rooms
-<ul id="fold1_1_1_1_1_2" style="POSITION: relative; VISIBILITY: visible;"><li>Cinema
-
-</li>
-<li>Theatre
-
-</li>
-<li>Disco
-
-</li>
-<li>Bars/Cafes
-
-</li>
-
-</ul>
-</li>
-
-</ul>
-</li>
-<li><span id="show1_1_1_1_2" class="foldclosed" onClick="show_folder('1_1_1_1_2')" style="POSITION: absolute">+</span> <span id="hide1_1_1_1_2" class="foldopened" onClick="hide_folder('1_1_1_1_2')">-</Span>
-Engine
-<ul id="fold1_1_1_1_2" style="POSITION: relative; VISIBILITY: visible;"><li>Sail
-
-</li>
-<li>Propeller
-
-</li>
-
-</ul>
-</li>
-<li><span id="show1_1_1_1_3" class="foldclosed" onClick="show_folder('1_1_1_1_3')" style="POSITION: absolute">+</span> <span id="hide1_1_1_1_3" class="foldopened" onClick="hide_folder('1_1_1_1_3')">-</Span>
-Decks
-<ul id="fold1_1_1_1_3" style="POSITION: relative; VISIBILITY: visible;"><li>Car deck
-
-</li>
-<li>Truck deck
-
-</li>
-<li>Train deck
-
-</li>
-
-</ul>
-</li>
-
-</ul>
-</li>
-<li><span id="show1_1_1_2" class="foldclosed" onClick="show_folder('1_1_1_2')" style="POSITION: absolute">+</span> <span id="hide1_1_1_2" class="foldopened" onClick="hide_folder('1_1_1_2')">-</Span>
-Crew (depending on ship type)
-<ul id="fold1_1_1_2" style="POSITION: relative; VISIBILITY: visible;"><li>Sailor/captain
-
-</li>
-<li>Cleaners
-
-</li>
-<li>Security service
-
-</li>
-<li>Maintenance staff
-
-</li>
-<li><span id="show1_1_1_2_1" class="foldclosed" onClick="show_folder('1_1_1_2_1')" style="POSITION: absolute">+</span> <span id="hide1_1_1_2_1" class="foldopened" onClick="hide_folder('1_1_1_2_1')">-</Span>
-Catering staff
-<ul id="fold1_1_1_2_1" style="POSITION: relative; VISIBILITY: visible;"><li>Cook
-
-</li>
-<li>Steward (passenger ship)
-
-</li>
-
-</ul>
-</li>
-
-</ul>
-</li>
-
-</ul>
-</li>
-<li><span id="show1_1_2" class="foldclosed" onClick="show_folder('1_1_2')" style="POSITION: absolute">+</span> <span id="hide1_1_2" class="foldopened" onClick="hide_folder('1_1_2')">-</Span>
-Required Buildings / Facilities
-<ul id="fold1_1_2" style="POSITION: relative; VISIBILITY: visible;"><li><span id="show1_1_2_1" class="foldclosed" onClick="show_folder('1_1_2_1')" style="POSITION: absolute">+</span> <span id="hide1_1_2_1" class="foldopened" onClick="hide_folder('1_1_2_1')">-</Span>
-River Attachment
-<ul id="fold1_1_2_1" style="POSITION: relative; VISIBILITY: visible;"><li><span id="show1_1_2_1_1" class="foldclosed" onClick="show_folder('1_1_2_1_1')" style="POSITION: absolute">+</span> <span id="hide1_1_2_1_1" class="foldopened" onClick="hide_folder('1_1_2_1_1')">-</Span>
-Resources
-<ul id="fold1_1_2_1_1" style="POSITION: relative; VISIBILITY: visible;"><li>Stones
-
-</li>
-<li>Wood
-
-</li>
-<li>Nets
-
-</li>
-
-</ul>
-</li>
-
-</ul>
-</li>
-<li><span id="show1_1_2_2" class="foldclosed" onClick="show_folder('1_1_2_2')" style="POSITION: absolute">+</span> <span id="hide1_1_2_2" class="foldopened" onClick="hide_folder('1_1_2_2')">-</Span>
-Quay Wall
-<ul id="fold1_1_2_2" style="POSITION: relative; VISIBILITY: visible;"><li><span id="show1_1_2_2_1" class="foldclosed" onClick="show_folder('1_1_2_2_1')" style="POSITION: absolute">+</span> <span id="hide1_1_2_2_1" class="foldopened" onClick="hide_folder('1_1_2_2_1')">-</Span>
-Resources
-<ul id="fold1_1_2_2_1" style="POSITION: relative; VISIBILITY: visible;"><li>Stones
-
-</li>
-<li>Steel
-
-</li>
-
-</ul>
-</li>
-<li><span id="show1_1_2_2_2" class="foldclosed" onClick="show_folder('1_1_2_2_2')" style="POSITION: absolute">+</span> <span id="hide1_1_2_2_2" class="foldopened" onClick="hide_folder('1_1_2_2_2')">-</Span>
-Advanced
-<ul id="fold1_1_2_2_2" style="POSITION: relative; VISIBILITY: visible;"><li><span id="show1_1_2_2_2_1" class="foldclosed" onClick="show_folder('1_1_2_2_2_1')" style="POSITION: absolute">+</span> <span id="hide1_1_2_2_2_1" class="foldopened" onClick="hide_folder('1_1_2_2_2_1')">-</Span>
-Poller attached
-<ul id="fold1_1_2_2_2_1" style="POSITION: relative; VISIBILITY: visible;"><li><span id="show1_1_2_2_2_1_1" class="foldclosed" onClick="show_folder('1_1_2_2_2_1_1')" style="POSITION: absolute">+</span> <span id="hide1_1_2_2_2_1_1" class="foldopened" onClick="hide_folder('1_1_2_2_2_1_1')">-</Span>
-Wharf / Landing Place
-<ul id="fold1_1_2_2_2_1_1" style="POSITION: relative; VISIBILITY: visible;"><li><span id="show1_1_2_2_2_1_1_1" class="foldclosed" onClick="show_folder('1_1_2_2_2_1_1_1')" style="POSITION: absolute">+</span> <span id="hide1_1_2_2_2_1_1_1" class="foldopened" onClick="hide_folder('1_1_2_2_2_1_1_1')">-</Span>
-Resources
-<ul id="fold1_1_2_2_2_1_1_1" style="POSITION: relative; VISIBILITY: visible;"><li>Steel
-
-</li>
-<li>Wood
-
-</li>
-<li>Thaws
-
-</li>
-<li>Concrete
-
-</li>
-
-</ul>
-</li>
-<li><span id="show1_1_2_2_2_1_1_2" class="foldclosed" onClick="show_folder('1_1_2_2_2_1_1_2')" style="POSITION: absolute">+</span> <span id="hide1_1_2_2_2_1_1_2" class="foldopened" onClick="hide_folder('1_1_2_2_2_1_1_2')">-</Span>
-Advanced
-<ul id="fold1_1_2_2_2_1_1_2" style="POSITION: relative; VISIBILITY: visible;"><li><span id="show1_1_2_2_2_1_1_2_1" class="foldclosed" onClick="show_folder('1_1_2_2_2_1_1_2_1')" style="POSITION: absolute">+</span> <span id="hide1_1_2_2_2_1_1_2_1" class="foldopened" onClick="hide_folder('1_1_2_2_2_1_1_2_1')">-</Span>
-Terminal-Bridge
-<ul id="fold1_1_2_2_2_1_1_2_1" style="POSITION: relative; VISIBILITY: visible;"><li><span id="show1_1_2_2_2_1_1_2_1_1" class="foldclosed" onClick="show_folder('1_1_2_2_2_1_1_2_1_1')" style="POSITION: absolute">+</span> <span id="hide1_1_2_2_2_1_1_2_1_1" class="foldopened" onClick="hide_folder('1_1_2_2_2_1_1_2_1_1')">-</Span>
-Resources
-<ul id="fold1_1_2_2_2_1_1_2_1_1" style="POSITION: relative; VISIBILITY: visible;"><li>Wood
-
-</li>
-<li>Steel
-
-</li>
-<li>Glas
-
-</li>
-<li>Concrete
-
-</li>
-
-</ul>
-</li>
-<li><span id="show1_1_2_2_2_1_1_2_1_2" class="foldclosed" onClick="show_folder('1_1_2_2_2_1_1_2_1_2')" style="POSITION: absolute">+</span> <span id="hide1_1_2_2_2_1_1_2_1_2" class="foldopened" onClick="hide_folder('1_1_2_2_2_1_1_2_1_2')">-</Span>
-Advanced
-<ul id="fold1_1_2_2_2_1_1_2_1_2" style="POSITION: relative; VISIBILITY: visible;"><li><span id="show1_1_2_2_2_1_1_2_1_2_1" class="foldclosed" onClick="show_folder('1_1_2_2_2_1_1_2_1_2_1')" style="POSITION: absolute">+</span> <span id="hide1_1_2_2_2_1_1_2_1_2_1" class="foldopened" onClick="hide_folder('1_1_2_2_2_1_1_2_1_2_1')">-</Span>
-Terminal Building
-<ul id="fold1_1_2_2_2_1_1_2_1_2_1" style="POSITION: relative; VISIBILITY: visible;"><li><span id="show1_1_2_2_2_1_1_2_1_2_1_1" class="foldclosed" onClick="show_folder('1_1_2_2_2_1_1_2_1_2_1_1')" style="POSITION: absolute">+</span> <span id="hide1_1_2_2_2_1_1_2_1_2_1_1" class="foldopened" onClick="hide_folder('1_1_2_2_2_1_1_2_1_2_1_1')">-</Span>
-Extended
-<ul id="fold1_1_2_2_2_1_1_2_1_2_1_1" style="POSITION: relative; VISIBILITY: visible;"><li>Box Office
-
-</li>
-<li>Kiosk
-
-</li>
-<li><span id="show1_1_2_2_2_1_1_2_1_2_1_1_1" class="foldclosed" onClick="show_folder('1_1_2_2_2_1_1_2_1_2_1_1_1')" style="POSITION: absolute">+</span> <span id="hide1_1_2_2_2_1_1_2_1_2_1_1_1" class="foldopened" onClick="hide_folder('1_1_2_2_2_1_1_2_1_2_1_1_1')">-</Span>
-Toilets
-<ul id="fold1_1_2_2_2_1_1_2_1_2_1_1_1" style="POSITION: relative; VISIBILITY: visible;"><li><span id="show1_1_2_2_2_1_1_2_1_2_1_1_1_1" class="foldclosed" onClick="show_folder('1_1_2_2_2_1_1_2_1_2_1_1_1_1')" style="POSITION: absolute">+</span> <span id="hide1_1_2_2_2_1_1_2_1_2_1_1_1_1" class="foldopened" onClick="hide_folder('1_1_2_2_2_1_1_2_1_2_1_1_1_1')">-</Span>
-Extended
-<ul id="fold1_1_2_2_2_1_1_2_1_2_1_1_1_1" style="POSITION: relative; VISIBILITY: visible;"><li>Handicapped accessible
-
-</li>
-<li>Baby station
-
-</li>
-<li>Pay machine
-
-</li>
-
-</ul>
-</li>
-
-</ul>
-</li>
-<li>Phone boxes
-
-</li>
-<li>Shops
-
-</li>
-<li>Post office
-
-</li>
-<li>Check-in counter
-
-</li>
-<li>Silence / office area
-
-</li>
-<li>Restaurants / Cafes
-
-</li>
-<li>Internet-access point
-
-</li>
-<li>Security / Staff offices
-
-</li>
-<li>Multi-story car park
-
-</li>
-<li>Customs clearence
-
-</li>
-
-</ul>
-</li>
-
-</ul>
-</li>
-
-</ul>
-</li>
-
-</ul>
-</li>
-
-</ul>
-</li>
-<li><span id="show1_1_2_2_2_1_1_3" class="foldclosed" onClick="show_folder('1_1_2_2_2_1_1_3')" style="POSITION: absolute">+</span> <span id="hide1_1_2_2_2_1_1_3" class="foldopened" onClick="hide_folder('1_1_2_2_2_1_1_3')">-</Span>
-Extended
-<ul id="fold1_1_2_2_2_1_1_3" style="POSITION: relative; VISIBILITY: visible;"><li>Box Office
-
-</li>
-<li>Kiosk
-
-</li>
-
-</ul>
-</li>
-
-</ul>
-</li>
-<li><span id="show1_1_2_2_2_1_2" class="foldclosed" onClick="show_folder('1_1_2_2_2_1_2')" style="POSITION: absolute">+</span> <span id="hide1_1_2_2_2_1_2" class="foldopened" onClick="hide_folder('1_1_2_2_2_1_2')">-</Span>
-Resources
-<ul id="fold1_1_2_2_2_1_2" style="POSITION: relative; VISIBILITY: visible;"><li>Steel
-
-</li>
-<li>Concrete
-
-</li>
-
-</ul>
-</li>
-
-</ul>
-</li>
-
-</ul>
-</li>
-
-</ul>
-</li>
-<li> River Straightening
-
-</li>
-<li><span id="show1_1_2_3" class="foldclosed" onClick="show_folder('1_1_2_3')" style="POSITION: absolute">+</span> <span id="hide1_1_2_3" class="foldopened" onClick="hide_folder('1_1_2_3')">-</Span>
-Canal Construction
-<ul id="fold1_1_2_3" style="POSITION: relative; VISIBILITY: visible;"><li><span id="show1_1_2_3_1" class="foldclosed" onClick="show_folder('1_1_2_3_1')" style="POSITION: absolute">+</span> <span id="hide1_1_2_3_1" class="foldopened" onClick="hide_folder('1_1_2_3_1')">-</Span>
-Different types of bridges
-<ul id="fold1_1_2_3_1" style="POSITION: relative; VISIBILITY: visible;"><li><span id="show1_1_2_3_1_1" class="foldclosed" onClick="show_folder('1_1_2_3_1_1')" style="POSITION: absolute">+</span> <span id="hide1_1_2_3_1_1" class="foldopened" onClick="hide_folder('1_1_2_3_1_1')">-</Span>
-Resources
-<ul id="fold1_1_2_3_1_1" style="POSITION: relative; VISIBILITY: visible;"><li>Wood
-
-</li>
-<li>Steel
-
-</li>
-<li>Stone
-
-</li>
-<li>Concrete
-
-</li>
-
-</ul>
-</li>
-<li><span id="show1_1_2_3_1_2" class="foldclosed" onClick="show_folder('1_1_2_3_1_2')" style="POSITION: absolute">+</span> <span id="hide1_1_2_3_1_2" class="foldopened" onClick="hide_folder('1_1_2_3_1_2')">-</Span>
-Advanced
-<ul id="fold1_1_2_3_1_2" style="POSITION: relative; VISIBILITY: visible;"><li>Car bridge
-
-</li>
-<li>Railway bridge
-
-</li>
-
-</ul>
-</li>
-
-</ul>
-</li>
-
-</ul>
-</li>
-<li><span id="show1_1_2_4" class="foldclosed" onClick="show_folder('1_1_2_4')" style="POSITION: absolute">+</span> <span id="hide1_1_2_4" class="foldopened" onClick="hide_folder('1_1_2_4')">-</Span>
-Lock construction
-<ul id="fold1_1_2_4" style="POSITION: relative; VISIBILITY: visible;"><li><span id="show1_1_2_4_1" class="foldclosed" onClick="show_folder('1_1_2_4_1')" style="POSITION: absolute">+</span> <span id="hide1_1_2_4_1" class="foldopened" onClick="hide_folder('1_1_2_4_1')">-</Span>
-Advanced
-<ul id="fold1_1_2_4_1" style="POSITION: relative; VISIBILITY: visible;"><li><span id="show1_1_2_4_1_1" class="foldclosed" onClick="show_folder('1_1_2_4_1_1')" style="POSITION: absolute">+</span> <span id="hide1_1_2_4_1_1" class="foldopened" onClick="hide_folder('1_1_2_4_1_1')">-</Span>
-Lock lift
-<ul id="fold1_1_2_4_1_1" style="POSITION: relative; VISIBILITY: visible;"><li><span id="show1_1_2_4_1_1_1" class="foldclosed" onClick="show_folder('1_1_2_4_1_1_1')" style="POSITION: absolute">+</span> <span id="hide1_1_2_4_1_1_1" class="foldopened" onClick="hide_folder('1_1_2_4_1_1_1')">-</Span>
-Resource
-<ul id="fold1_1_2_4_1_1_1" style="POSITION: relative; VISIBILITY: visible;"><li>Steel
-
-</li>
-
-</ul>
-</li>
-
-</ul>
-</li>
-
-</ul>
-</li>
-
-</ul>
-</li>
-
-</ul>
-</li>
-
-</ul>
-</li>
-<li>The Research
-
-</li>
-<li><span id="show1_2" class="foldclosed" onClick="show_folder('1_2')" style="POSITION: absolute">+</span> <span id="hide1_2" class="foldopened" onClick="hide_folder('1_2')">-</Span>
-The Economics
-<ul id="fold1_2" style="POSITION: relative; VISIBILITY: visible;"><li><span id="show1_2_1" class="foldclosed" onClick="show_folder('1_2_1')" style="POSITION: absolute">+</span> <span id="hide1_2_1" class="foldopened" onClick="hide_folder('1_2_1')">-</Span>
-Costs
-<ul id="fold1_2_1" style="POSITION: relative; VISIBILITY: visible;"><li><span id="show1_2_1_1" class="foldclosed" onClick="show_folder('1_2_1_1')" style="POSITION: absolute">+</span> <span id="hide1_2_1_1" class="foldopened" onClick="hide_folder('1_2_1_1')">-</Span>
-Ressources
-<ul id="fold1_2_1_1" style="POSITION: relative; VISIBILITY: visible;"><li><span id="show1_2_1_1_1" class="foldclosed" onClick="show_folder('1_2_1_1_1')" style="POSITION: absolute">+</span> <span id="hide1_2_1_1_1" class="foldopened" onClick="hide_folder('1_2_1_1_1')">-</Span>
-Wood
-<ul id="fold1_2_1_1_1" style="POSITION: relative; VISIBILITY: visible;"><li>Coverage
-
-</li>
-<li>Constructuon (all)
-
-</li>
-
-</ul>
-</li>
-<li>Financials
-
-</li>
-<li><span id="show1_2_1_1_2" class="foldclosed" onClick="show_folder('1_2_1_1_2')" style="POSITION: absolute">+</span> <span id="hide1_2_1_1_2" class="foldopened" onClick="hide_folder('1_2_1_1_2')">-</Span>
-Iron
-<ul id="fold1_2_1_1_2" style="POSITION: relative; VISIBILITY: visible;"><li>Steel
-
-</li>
-
-</ul>
-</li>
-<li>Marmor
-
-</li>
-<li>Color
-
-</li>
-<li>Carpets
-
-</li>
-
-</ul>
-</li>
-<li><span id="show1_2_1_2" class="foldclosed" onClick="show_folder('1_2_1_2')" style="POSITION: absolute">+</span> <span id="hide1_2_1_2" class="foldopened" onClick="hide_folder('1_2_1_2')">-</Span>
-Work
-<ul id="fold1_2_1_2" style="POSITION: relative; VISIBILITY: visible;"><li><span id="show1_2_1_2_1" class="foldclosed" onClick="show_folder('1_2_1_2_1')" style="POSITION: absolute">+</span> <span id="hide1_2_1_2_1" class="foldopened" onClick="hide_folder('1_2_1_2_1')">-</Span>
-Worker
-<ul id="fold1_2_1_2_1" style="POSITION: relative; VISIBILITY: visible;"><li><span id="show1_2_1_2_1_1" class="foldclosed" onClick="show_folder('1_2_1_2_1_1')" style="POSITION: absolute">+</span> <span id="hide1_2_1_2_1_1" class="foldopened" onClick="hide_folder('1_2_1_2_1_1')">-</Span>
-Qualified
-<ul id="fold1_2_1_2_1_1" style="POSITION: relative; VISIBILITY: visible;"><li>Fast
-
-</li>
-<li>Hight-quality work
-
-</li>
-<li>Expensive
-
-</li>
-
-</ul>
-</li>
-<li><span id="show1_2_1_2_1_2" class="foldclosed" onClick="show_folder('1_2_1_2_1_2')" style="POSITION: absolute">+</span> <span id="hide1_2_1_2_1_2" class="foldopened" onClick="hide_folder('1_2_1_2_1_2')">-</Span>
-Helper (non-qualified)
-<ul id="fold1_2_1_2_1_2" style="POSITION: relative; VISIBILITY: visible;"><li>Slow
-
-</li>
-<li>Low-quality work
-
-</li>
-<li>Cheap
-
-</li>
-
-</ul>
-</li>
-
-</ul>
-</li>
-<li>Employee morale
-
-</li>
-<li>Salary
-
-</li>
-
-</ul>
-</li>
-
-</ul>
-</li>
-
-</ul>
-</li>
-<li><span id="show1_3" class="foldclosed" onClick="show_folder('1_3')" style="POSITION: absolute">+</span> <span id="hide1_3" class="foldopened" onClick="hide_folder('1_3')">-</Span>
-Unsorted ideas
-<ul id="fold1_3" style="POSITION: relative; VISIBILITY: visible;"><li>All buildings shall gain a basic tech-level
-
-</li>
-<li>Some parts of the ship or building are only available at or above a tech-level
-
-</li>
-<li>Tech levels can be improved by research
-
-</li>
-<li>General research complexes can increase tech-level of all types of buildings and ship parts
-
-</li>
-<li>Doing resarch requires a lot money
-
-</li>
-<li>Specialists must be hired for doing the research
-
-</li>
-<li><span id="show1_3_1" class="foldclosed" onClick="show_folder('1_3_1')" style="POSITION: absolute">+</span> <span id="hide1_3_1" class="foldopened" onClick="hide_folder('1_3_1')">-</Span>
-Ship yards are highly required to construct ships
-<ul id="fold1_3_1" style="POSITION: relative; VISIBILITY: visible;"><li>Without these facilities the gamer shall never be able to construct ships
-
-</li>
-
-</ul>
-</li>
-<li>Hired workers must be trained to do simple steps
-
-</li>
-
-</ul>
-</li>
-
-</ul><SCRIPT language=JavaScript>
-fold_document();
-</SCRIPT>
-</body>
-</html>