]> git.mxchange.org Git - shipsimu-docs.git/commitdiff
Documentation more splitted into smaller mind maps
authorRoland Häder <roland@mxchange.org>
Wed, 8 Oct 2008 16:41:28 +0000 (16:41 +0000)
committerRoland Häder <roland@mxchange.org>
Wed, 8 Oct 2008 16:41:28 +0000 (16:41 +0000)
.gitattributes
shipsimu-docs/Browser-Game.mm [new file with mode: 0644]
shipsimu-docs/Browser-Game.mm.html [new file with mode: 0644]
shipsimu-docs/Payment-System.mm
shipsimu-docs/Payment-System.mm.html [new file with mode: 0644]
shipsimu-docs/Ship-Simu Ship-Simulator.mm
shipsimu-docs/mindmap_20081008.html [new file with mode: 0644]

index d28dbe0b58ce271019bc157ab2727810176a4028..e2a199ee1b89037f98f373fdd455159d8b77744d 100644 (file)
@@ -1,9 +1,12 @@
 * text=auto !eol
+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.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.mm -text
@@ -16,3 +19,4 @@ shipsimu-docs/mindmap_20080606.html -text
 shipsimu-docs/mindmap_20080611.html -text
 shipsimu-docs/mindmap_20080705.html -text
 shipsimu-docs/mindmap_20081002.html -text
+shipsimu-docs/mindmap_20081008.html -text
diff --git a/shipsimu-docs/Browser-Game.mm b/shipsimu-docs/Browser-Game.mm
new file mode 100644 (file)
index 0000000..14fbd1d
--- /dev/null
@@ -0,0 +1,355 @@
+<map version="0.7.1">
+<node LINK="Ship-Simu Ship-Simulator.mm" TEXT="Browser-Game">
+<font NAME="SansSerif" BOLD="true" 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">
+<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 &quot;Registration completed&quot; page"/>
+<node TEXT="Home page shall be chooseable"/>
+<node 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>
+</node>
+<node TEXT="Login procedure">
+<font NAME="SansSerif" BOLD="true" 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>
+</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>
+<node TEXT="Buildings">
+<node TEXT="Shipyard"/>
+<node TEXT="Dry dock"/>
+<node TEXT="Terminal building"/>
+</node>
+<node TEXT="Vehicles">
+<node TEXT="Container carrier"/>
+<node 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>
+</node>
+<node TEXT="Slightly moved graphics (GIF)">
+<node TEXT="Water surface"/>
+<node TEXT="Sky texture"/>
+</node>
+</node>
+<node TEXT="Tick-based simulation" POSITION="right">
+<node TEXT="Cronological job (cron)">
+<node TEXT="Addional requirement for installation"/>
+</node>
+</node>
+<node TEXT="Click-based simulation" POSITION="right">
+<node 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">
+<icon BUILTIN="attach"/>
+</node>
+</node>
+</node>
+<node TEXT="Design is CSS-based" POSITION="right">
+<font NAME="SansSerif" SIZE="12"/>
+<node TEXT="Themes are possible"/>
+</node>
+<node TEXT="Nice AJAX features" POSITION="right">
+<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">
+<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 NAME="SansSerif" SIZE="12"/>
+</node>
+</node>
+<node 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>
+<node TEXT="Comments are allowable">
+<node TEXT="Logged-in users"/>
+<node TEXT="Guests as well">
+<icon BUILTIN="clanbomber"/>
+<node 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!">
+<icon BUILTIN="clanbomber"/>
+<icon BUILTIN="stop"/>
+</node>
+<node TEXT="The object receives a &quot;Requestable&quot; object">
+<node 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>
+<node TEXT="Login form">
+<node 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>
+<node TEXT="Wether cookie-based or session-based login">
+<node 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>
+<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>
+<node TEXT="Pillory">
+<node TEXT="Username (who got locked)"/>
+<node TEXT="Date&amp;Time"/>
+<node TEXT="The admin"/>
+<node TEXT="Stated reason"/>
+</node>
+<node TEXT="Small extra pages">
+<node TEXT="Imprint (required in Germany)"/>
+<node 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 &quot;home&quot; 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>
+<node 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">
+<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>
+<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>
+</node>
+<node TEXT="Travel company founder">
+<node 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">
+<icon BUILTIN="stop"/>
+<node TEXT="Rent for a &quot;fake&quot; house"/>
+<node TEXT="Meal and drinks (faked)"/>
+<node 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>
+<node TEXT="Marketing Agency">
+<node TEXT="Sells marketing/merchandising products"/>
+</node>
+</node>
+<node TEXT="This is only possible if account is activated">
+<font ITALIC="true" NAME="SansSerif" SIZE="12"/>
+<icon BUILTIN="messagebox_warning"/>
+</node>
+</node>
+<node TEXT="&quot;Load&quot; existing character">
+<cloud/>
+<font NAME="SansSerif" SIZE="12"/>
+<icon BUILTIN="password"/>
+<node TEXT="Contains link to &quot;Create new character&quot;"/>
+<node TEXT="Player sees some basic data about listed characters"/>
+<node TEXT="Locked characters should not be removed instead marked with &quot;Locked&quot;">
+<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>
+</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?">
+<icon BUILTIN="help"/>
+<node TEXT="Send new confirmation to new email"/>
+<node 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>
+</node>
+</node>
+<node TEXT="General infrastructures">
+<font NAME="SansSerif" BOLD="true" SIZE="12"/>
+<node TEXT="Point system (in-game money)">
+<font NAME="SansSerif" SIZE="12"/>
+<icon BUILTIN="password"/>
+</node>
+<node 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>
+<node TEXT="May ofer social security services">
+<icon BUILTIN="xmag"/>
+<icon BUILTIN="pencil"/>
+</node>
+<node TEXT="Goverment is not playable at the moment">
+<font NAME="SansSerif" SIZE="12"/>
+<icon BUILTIN="messagebox_warning"/>
+<node TEXT="It should be &quot;played&quot; abstractly by the server"/>
+<node 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"/>
+<icon BUILTIN="xmag"/>
+<node TEXT="General code structure">
+<font NAME="SansSerif" BOLD="true" 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">
+<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>
+<node TEXT="Files in directory &quot;docs&quot;">
+<node TEXT="COPYING*">
+<node TEXT="License files"/>
+</node>
+<node TEXT="Conception">
+<node TEXT="As OpenDocument and later PDF as well"/>
+</node>
+<node TEXT="NEWS">
+<node TEXT="Latest news around the game (coeer and gamer)"/>
+</node>
+<node TEXT="README">
+<node TEXT="Includes installation instructions and general gaming guidelines"/>
+</node>
+<node TEXT="ArgoUML diagram">
+<node TEXT="For visualization of the class structure"/>
+</node>
+<node TEXT="FreeMind document">
+<node TEXT="...">
+<icon BUILTIN="ksmiletris"/>
+</node>
+</node>
+<node TEXT="THANKS">
+<node 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>
+</node>
+</node>
+<node TEXT="Folding of the code">
+<font NAME="SansSerif" BOLD="true" SIZE="12"/>
+</node>
+<node TEXT="Tabs and spaces">
+<font NAME="SansSerif" BOLD="true" SIZE="12"/>
+</node>
+</node>
+</node>
+</map>
diff --git a/shipsimu-docs/Browser-Game.mm.html b/shipsimu-docs/Browser-Game.mm.html
new file mode 100644 (file)
index 0000000..36f4129
--- /dev/null
@@ -0,0 +1,893 @@
+<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>&nbsp;<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>&nbsp;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&amp;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>
index 38a19bae1ab8628ab1c5ac55f2620d1a1155f373..6fd06b33b68481cb6343c5f975192f71adc009d3 100644 (file)
@@ -1,7 +1,17 @@
 <map version="0.7.1">
 <node LINK="Ship-Simu Ship-Simulator.mm" TEXT="Payment System">
-<font NAME="SansSerif" BOLD="true" SIZE="14"/>
-<node TEXT="Different payment APIs exists" POSITION="right">
+<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">
+<icon BUILTIN="idea"/>
+<node 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>
 <node TEXT="Rambler?"/>
 </node>
-<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">
-<icon BUILTIN="idea"/>
-<node TEXT="State-depending pattern?">
-<icon BUILTIN="help"/>
-</node>
-</node>
 </node>
 </map>
diff --git a/shipsimu-docs/Payment-System.mm.html b/shipsimu-docs/Payment-System.mm.html
new file mode 100644 (file)
index 0000000..844b0d1
--- /dev/null
@@ -0,0 +1,215 @@
+<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>&nbsp;<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>&nbsp;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>
index f910e69031d92ac8b06b326664257310434386e4..a78614fdcb0e8f3e6f6d36dc24316498ed35d256 100644 (file)
@@ -1,403 +1,9 @@
 <map version="0.7.1">
 <node TEXT="Ship-Simu Ship-Simulation">
 <font NAME="SansSerif" BOLD="true" SIZE="18"/>
-<node TEXT="Browser-Game" POSITION="right">
+<node LINK="Browser Game.mm" TEXT="Browser-Game" POSITION="right">
 <font NAME="SansSerif" BOLD="true" SIZE="16"/>
-<icon BUILTIN="messagebox_warning"/>
-<node LINK="Payment-System.mm" TEXT="Payment System"/>
-<node TEXT="Tick-based simulation">
-<node TEXT="Cronological job (cron)">
-<node TEXT="Addional requirement for installation"/>
-</node>
-</node>
-<node TEXT="Click-based simulation">
-<node TEXT="User clicks a button, action performed"/>
-</node>
-<node TEXT="Pseudo-3D graphics" FOLDED="true">
-<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>
-<node TEXT="Buildings">
-<node TEXT="Shipyard"/>
-<node TEXT="Dry dock"/>
-<node TEXT="Terminal building"/>
-</node>
-<node TEXT="Vehicles">
-<node TEXT="Container carrier"/>
-<node 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>
-</node>
-<node TEXT="Slightly moved graphics (GIF)">
-<node TEXT="Water surface"/>
-<node TEXT="Sky texture"/>
-</node>
-</node>
-<node TEXT="Fully XHTML 1.0">
-<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">
-<icon BUILTIN="attach"/>
-</node>
-</node>
-</node>
-<node TEXT="Design is CSS-based">
-<font NAME="SansSerif" SIZE="12"/>
-<node TEXT="Themes are possible"/>
-</node>
-<node TEXT="Nice AJAX features">
-<icon BUILTIN="idea"/>
-<icon BUILTIN="desktop_new"/>
-</node>
-<node TEXT="Website structure">
-<font NAME="SansSerif" BOLD="true" SIZE="14"/>
-<node TEXT="External guest area" FOLDED="true">
-<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 NAME="SansSerif" SIZE="12"/>
-</node>
-</node>
-<node 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>
-<node TEXT="Comments are allowable">
-<node TEXT="Logged-in users"/>
-<node TEXT="Guests as well">
-<icon BUILTIN="clanbomber"/>
-<node 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!">
-<icon BUILTIN="clanbomber"/>
-<icon BUILTIN="stop"/>
-</node>
-<node TEXT="The object receives a &quot;Requestable&quot; object">
-<node 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>
-<node TEXT="Login form">
-<node 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>
-<node TEXT="Wether cookie-based or session-based login">
-<node 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>
-<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>
-<node TEXT="Pillory">
-<node TEXT="Username (who got locked)"/>
-<node TEXT="Date&amp;Time"/>
-<node TEXT="The admin"/>
-<node TEXT="Stated reason"/>
-</node>
-<node TEXT="Small extra pages">
-<node TEXT="Imprint (required in Germany)"/>
-<node TEXT="Privacy policy (required in some countries)"/>
-</node>
-</node>
-<node TEXT="Internal game area" FOLDED="true">
-<font NAME="SansSerif" BOLD="true" SIZE="12"/>
-<node TEXT="News on first login page">
-<node TEXT="Like on &quot;home&quot; 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>
-<node 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">
-<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>
-<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>
-</node>
-<node TEXT="Travel company founder">
-<node 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">
-<icon BUILTIN="stop"/>
-<node TEXT="Rent for a &quot;fake&quot; house"/>
-<node TEXT="Meal and drinks (faked)"/>
-<node 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>
-<node TEXT="Marketing Agency">
-<node TEXT="Sells marketing/merchandising products"/>
-</node>
-</node>
-<node TEXT="This is only possible if account is activated">
-<font ITALIC="true" NAME="SansSerif" SIZE="12"/>
-<icon BUILTIN="messagebox_warning"/>
-</node>
-</node>
-<node TEXT="&quot;Load&quot; existing character">
-<cloud/>
-<font NAME="SansSerif" SIZE="12"/>
-<icon BUILTIN="password"/>
-<node TEXT="Contains link to &quot;Create new character&quot;"/>
-<node TEXT="Player sees some basic data about listed characters"/>
-<node TEXT="Locked characters should not be removed instead marked with &quot;Locked&quot;">
-<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>
-</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?">
-<icon BUILTIN="help"/>
-<node TEXT="Send new confirmation to new email"/>
-<node 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>
-</node>
-</node>
-<node TEXT="General infrastructures" FOLDED="true">
-<font NAME="SansSerif" BOLD="true" SIZE="12"/>
-<node TEXT="Point system (in-game money)">
-<font NAME="SansSerif" SIZE="12"/>
-<icon BUILTIN="password"/>
-</node>
-<node 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>
-<node TEXT="May ofer social security services">
-<icon BUILTIN="xmag"/>
-<icon BUILTIN="pencil"/>
-</node>
-<node TEXT="Goverment is not playable at the moment">
-<font NAME="SansSerif" SIZE="12"/>
-<icon BUILTIN="messagebox_warning"/>
-<node TEXT="It should be &quot;played&quot; abstractly by the server"/>
-<node TEXT="Gamers may help each other with financial support"/>
-</node>
-</node>
-</node>
-</node>
-<node TEXT="Procedures">
-<font NAME="SansSerif" BOLD="true" SIZE="14"/>
-<node TEXT="Registration procedure" FOLDED="true">
-<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">
-<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 &quot;Registration completed&quot; page"/>
-<node TEXT="Home page shall be chooseable"/>
-<node 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>
-</node>
-<node TEXT="Login procedure">
-<font NAME="SansSerif" BOLD="true" 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>
-</node>
-<node TEXT="Strict coding guidelines for clean PHP code" FOLDED="true">
-<font NAME="SansSerif" BOLD="true" SIZE="14"/>
-<icon BUILTIN="xmag"/>
-<node TEXT="General code structure">
-<font NAME="SansSerif" BOLD="true" 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">
-<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>
-<node TEXT="Files in directory &quot;docs&quot;">
-<node TEXT="COPYING*">
-<node TEXT="License files"/>
-</node>
-<node TEXT="Conception">
-<node TEXT="As OpenDocument and later PDF as well"/>
-</node>
-<node TEXT="NEWS">
-<node TEXT="Latest news around the game (coeer and gamer)"/>
-</node>
-<node TEXT="README">
-<node TEXT="Includes installation instructions and general gaming guidelines"/>
-</node>
-<node TEXT="ArgoUML diagram">
-<node TEXT="For visualization of the class structure"/>
-</node>
-<node TEXT="FreeMind document">
-<node TEXT="...">
-<icon BUILTIN="ksmiletris"/>
-</node>
-</node>
-<node TEXT="THANKS">
-<node 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>
-</node>
-</node>
-<node TEXT="Folding of the code">
-<font NAME="SansSerif" BOLD="true" SIZE="12"/>
-</node>
-<node TEXT="Tabs and spaces">
-<font NAME="SansSerif" BOLD="true" SIZE="12"/>
-</node>
-</node>
-<node LINK="Ship-Simu Ship-Simulator.mm" TEXT="Payment System">
-<font NAME="SansSerif" BOLD="true" SIZE="14"/>
-<node TEXT="Different payment APIs exists">
-<node TEXT="Wernis API">
-<node TEXT="Request: GET,POST"/>
-<node TEXT="Response: Own format"/>
-</node>
-<node TEXT="Primera API">
-<node TEXT="Need special agreement here!">
-<icon BUILTIN="clanbomber"/>
-</node>
-<node TEXT="Request: POST"/>
-<node 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"/>
-<icon BUILTIN="messagebox_warning"/>
-</node>
-</node>
-<node LINK="http://www.moneybookers.com/merchant/en/automated_payments_interface_manual.pdf" TEXT="Moneybookers">
-<icon BUILTIN="attach"/>
-<node TEXT="Request: GET">
-<node TEXT="POST also?">
-<icon BUILTIN="help"/>
-</node>
-</node>
-<node TEXT="Response: XML"/>
-</node>
-<node TEXT="Rambler?"/>
-</node>
-<node TEXT="They all must be queued if a user orders something"/>
-<node TEXT="The ordered item must be validated if it is being sold">
-<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">
 <icon BUILTIN="idea"/>
-<node TEXT="State-depending pattern?">
-<icon BUILTIN="help"/>
-</node>
-</node>
-</node>
 </node>
 <node TEXT="How does a shipping/travel company work?" POSITION="left">
 <font NAME="SansSerif" BOLD="true" SIZE="16"/>
 </node>
 <node TEXT="Ride constructed ships">
 <node TEXT="Make sail plans"/>
-<node TEXT="Transportate cargo or humans">
-<node TEXT="Make your passengers happy"/>
-<node TEXT="Load containers and bring them to other harbors"/>
-<node TEXT="Transportate oil from ricks to the refineries"/>
+<node TEXT="Transportate cargo or passengers">
+<node TEXT="Make your passengers happy/comfortable">
+<node TEXT="Discos"/>
+<node TEXT="Shops"/>
+<node TEXT="Kinder garden"/>
+<node TEXT="Cinema"/>
+<node TEXT="Baby station"/>
+<node TEXT="Internet Cafe"/>
+<node TEXT="Gambling Hall"/>
+</node>
+<node TEXT="Load containers and bring them to other harbors">
+<node TEXT="Containers content">
+<font ITALIC="true" NAME="SansSerif" SIZE="12"/>
+<node TEXT="Raw material"/>
+<node TEXT="Lifestock">
+<edge STYLE="bezier"/>
+<node TEXT="Exotic animals like dolphines et cetera"/>
+<node TEXT="Cows"/>
+<node TEXT="Horses"/>
+<node TEXT="Sheeps"/>
+</node>
+<node TEXT="Electronics"/>
+<node TEXT="Foods"/>
+</node>
+<node TEXT="Special container terminal"/>
+<node TEXT="May have temperatur control">
+<node TEXT="Organic frozen cargo"/>
+</node>
+</node>
+<node TEXT="Transportate oil from ricks to the refineries">
+<node TEXT="Or natural gas"/>
+</node>
 </node>
 <node TEXT="Depends on used client"/>
 </node>
 <node TEXT="Order a jorney to your desired destionation"/>
 </node>
 </node>
-<node TEXT="Multi-Player Mode" FOLDED="true" POSITION="right">
+<node TEXT="Multi-Player Mode" POSITION="right">
 <font NAME="SansSerif" BOLD="true" SIZE="16"/>
 <node TEXT="Networked over hubs"/>
 <node TEXT="Big map which holds all harbors">
 <node TEXT="Seperated into small maps to cluster the load over the network"/>
 </node>
 </node>
-<node TEXT="Java client" FOLDED="true" POSITION="left">
+<node TEXT="Java client" POSITION="left">
 <cloud/>
 <icon BUILTIN="idea"/>
 <node TEXT="Real-time simulation"/>
 </node>
 <node TEXT="OpenAL (3D sound)"/>
 </node>
-<node TEXT="&quot;Faked&quot; Single-Player" FOLDED="true" POSITION="right">
+<node TEXT="&quot;Faked&quot; Single-Player" POSITION="right">
 <font NAME="SansSerif" BOLD="true" SIZE="16"/>
 <node TEXT="Locally installed version"/>
 <node TEXT="Does not connect to other hubs"/>
 <node TEXT="Avoids cheating"/>
 </node>
 </node>
-<node TEXT="Sand-Box Mode" FOLDED="true" POSITION="right">
+<node TEXT="Sand-Box Mode" POSITION="right">
 <font NAME="SansSerif" BOLD="true" SIZE="16"/>
 <node TEXT="The player can test the game">
 <node TEXT="Some people like to &quot;explore&quot; the game"/>
 </node>
 </node>
 </node>
-<node TEXT="Data exchange protocol" FOLDED="true" POSITION="right">
+<node LINK="Payment-System.mm" TEXT="Payment system" POSITION="right">
+<font NAME="SansSerif" BOLD="true" SIZE="16"/>
+</node>
+<node TEXT="Data exchange protocol" POSITION="right">
 <node TEXT="Default is an own small format">
 <node TEXT="Reduces traffic between servers"/>
 </node>
 <node TEXT="The moderator can choose wether to lock with pillory entry or just locking down"/>
 </node>
 </node>
-<node TEXT="How do you construct a ship?" FOLDED="true" POSITION="left">
+<node TEXT="How do you construct a ship?" POSITION="left">
 <font NAME="SansSerif" BOLD="true" SIZE="16"/>
-<node TEXT="The technology" FOLDED="true">
+<node TEXT="The technology">
 <node ID="_Freemind_Link_34058737" TEXT="Ship">
 <node ID="_Freemind_Link_970552884" TEXT="Size"/>
 <node ID="_Freemind_Link_446463585" TEXT="Construction">
 </node>
 </node>
 </node>
-<node TEXT="The economics" FOLDED="true">
+<node TEXT="The economics">
 <node ID="_Freemind_Link_554040694" TEXT="Costs">
 <node ID="_Freemind_Link_1671691099" TEXT="Ressources">
 <node ID="_Freemind_Link_1385368958" TEXT="Wood">
diff --git a/shipsimu-docs/mindmap_20081008.html b/shipsimu-docs/mindmap_20081008.html
new file mode 100644 (file)
index 0000000..f7bee7f
--- /dev/null
@@ -0,0 +1,937 @@
+<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><a href="Browser-Game.mm.html" target="_blank"><span class=l>~</span>&nbsp;<span style="font-size: 133%;font-family: SansSerif, sans-serif; font-weight: bold; ">Browser-Game</span>
+</a>
+
+</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>
+<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><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>
+<span style="font-size: 133%;font-family: SansSerif, sans-serif; font-weight: bold; ">Multi-Player Mode</span>
+<ul id="fold1_2" style="POSITION: relative; VISIBILITY: visible;"><li>Networked over hubs
+
+</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>
+Big map which holds all harbors
+<ul id="fold1_2_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_3" class="foldclosed" onClick="show_folder('1_3')" style="POSITION: absolute">+</span> <span id="hide1_3" class="foldopened" onClick="hide_folder('1_3')">-</Span>
+Java client
+<ul id="fold1_3" style="POSITION: relative; VISIBILITY: visible;"><li>Real-time simulation
+
+</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>
+OpenGL (3D Graphics)
+<ul id="fold1_3_1" style="POSITION: relative; VISIBILITY: visible;"><li>JOGL
+
+</li>
+
+</ul>
+</li>
+<li>OpenAL (3D sound)
+
+</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>&nbsp;<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; ">How do you construct a ship?</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>
+The technology
+<ul id="fold1_10_1" style="POSITION: relative; VISIBILITY: visible;"><li><span id="show1_10_1_1" class="foldclosed" onClick="show_folder('1_10_1_1')" style="POSITION: absolute">+</span> <span id="hide1_10_1_1" class="foldopened" onClick="hide_folder('1_10_1_1')">-</Span>
+Ship
+<ul id="fold1_10_1_1" style="POSITION: relative; VISIBILITY: visible;"><li>Size
+
+</li>
+<li><span id="show1_10_1_1_1" class="foldclosed" onClick="show_folder('1_10_1_1_1')" style="POSITION: absolute">+</span> <span id="hide1_10_1_1_1" class="foldopened" onClick="hide_folder('1_10_1_1_1')">-</Span>
+Construction
+<ul id="fold1_10_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_10_1_1_1_1" class="foldclosed" onClick="show_folder('1_10_1_1_1_1')" style="POSITION: absolute">+</span> <span id="hide1_10_1_1_1_1" class="foldopened" onClick="hide_folder('1_10_1_1_1_1')">-</Span>
+Rooms
+<ul id="fold1_10_1_1_1_1" style="POSITION: relative; VISIBILITY: visible;"><li>Canteen
+
+</li>
+<li><span id="show1_10_1_1_1_1_1" class="foldclosed" onClick="show_folder('1_10_1_1_1_1_1')" style="POSITION: absolute">+</span> <span id="hide1_10_1_1_1_1_1" class="foldopened" onClick="hide_folder('1_10_1_1_1_1_1')">-</Span>
+Cabin
+<ul id="fold1_10_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_10_1_1_1_1_2" class="foldclosed" onClick="show_folder('1_10_1_1_1_1_2')" style="POSITION: absolute">+</span> <span id="hide1_10_1_1_1_1_2" class="foldopened" onClick="hide_folder('1_10_1_1_1_1_2')">-</Span>
+Special rooms
+<ul id="fold1_10_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_10_1_1_1_2" class="foldclosed" onClick="show_folder('1_10_1_1_1_2')" style="POSITION: absolute">+</span> <span id="hide1_10_1_1_1_2" class="foldopened" onClick="hide_folder('1_10_1_1_1_2')">-</Span>
+Engine
+<ul id="fold1_10_1_1_1_2" style="POSITION: relative; VISIBILITY: visible;"><li>Sail
+
+</li>
+<li>Propeller
+
+</li>
+
+</ul>
+</li>
+<li><span id="show1_10_1_1_1_3" class="foldclosed" onClick="show_folder('1_10_1_1_1_3')" style="POSITION: absolute">+</span> <span id="hide1_10_1_1_1_3" class="foldopened" onClick="hide_folder('1_10_1_1_1_3')">-</Span>
+Decks
+<ul id="fold1_10_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_10_1_1_2" class="foldclosed" onClick="show_folder('1_10_1_1_2')" style="POSITION: absolute">+</span> <span id="hide1_10_1_1_2" class="foldopened" onClick="hide_folder('1_10_1_1_2')">-</Span>
+Crew (depending on ship type)
+<ul id="fold1_10_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_10_1_1_2_1" class="foldclosed" onClick="show_folder('1_10_1_1_2_1')" style="POSITION: absolute">+</span> <span id="hide1_10_1_1_2_1" class="foldopened" onClick="hide_folder('1_10_1_1_2_1')">-</Span>
+Catering staff
+<ul id="fold1_10_1_1_2_1" style="POSITION: relative; VISIBILITY: visible;"><li>Cook
+
+</li>
+<li>Steward (passenger ship)
+
+</li>
+
+</ul>
+</li>
+
+</ul>
+</li>
+
+</ul>
+</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>
+The economics
+<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>
+Costs
+<ul id="fold1_10_2_1" style="POSITION: relative; VISIBILITY: visible;"><li><span id="show1_10_2_1_1" class="foldclosed" onClick="show_folder('1_10_2_1_1')" style="POSITION: absolute">+</span> <span id="hide1_10_2_1_1" class="foldopened" onClick="hide_folder('1_10_2_1_1')">-</Span>
+Ressources
+<ul id="fold1_10_2_1_1" style="POSITION: relative; VISIBILITY: visible;"><li><span id="show1_10_2_1_1_1" class="foldclosed" onClick="show_folder('1_10_2_1_1_1')" style="POSITION: absolute">+</span> <span id="hide1_10_2_1_1_1" class="foldopened" onClick="hide_folder('1_10_2_1_1_1')">-</Span>
+Wood
+<ul id="fold1_10_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_10_2_1_1_2" class="foldclosed" onClick="show_folder('1_10_2_1_1_2')" style="POSITION: absolute">+</span> <span id="hide1_10_2_1_1_2" class="foldopened" onClick="hide_folder('1_10_2_1_1_2')">-</Span>
+Iron
+<ul id="fold1_10_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_10_2_1_2" class="foldclosed" onClick="show_folder('1_10_2_1_2')" style="POSITION: absolute">+</span> <span id="hide1_10_2_1_2" class="foldopened" onClick="hide_folder('1_10_2_1_2')">-</Span>
+Work
+<ul id="fold1_10_2_1_2" style="POSITION: relative; VISIBILITY: visible;"><li><span id="show1_10_2_1_2_1" class="foldclosed" onClick="show_folder('1_10_2_1_2_1')" style="POSITION: absolute">+</span> <span id="hide1_10_2_1_2_1" class="foldopened" onClick="hide_folder('1_10_2_1_2_1')">-</Span>
+Worker
+<ul id="fold1_10_2_1_2_1" style="POSITION: relative; VISIBILITY: visible;"><li><span id="show1_10_2_1_2_1_1" class="foldclosed" onClick="show_folder('1_10_2_1_2_1_1')" style="POSITION: absolute">+</span> <span id="hide1_10_2_1_2_1_1" class="foldopened" onClick="hide_folder('1_10_2_1_2_1_1')">-</Span>
+Qualified
+<ul id="fold1_10_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_10_2_1_2_1_2" class="foldclosed" onClick="show_folder('1_10_2_1_2_1_2')" style="POSITION: absolute">+</span> <span id="hide1_10_2_1_2_1_2" class="foldopened" onClick="hide_folder('1_10_2_1_2_1_2')">-</Span>
+Helper (non-qualified)
+<ul id="fold1_10_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>The research
+
+</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>
+Unsorted ideas
+<ul id="fold1_10_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_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>
+Ship yards are highly required to construct ships
+<ul id="fold1_10_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>
+</li>
+<li><span id="show1_11" class="foldclosed" onClick="show_folder('1_11')" style="POSITION: absolute">+</span> <span id="hide1_11" class="foldopened" onClick="hide_folder('1_11')">-</Span>
+<span style="font-size: 133%;font-family: SansSerif, sans-serif; font-weight: bold; ">Misc</span>
+<ul id="fold1_11" style="POSITION: relative; VISIBILITY: visible;"><li><span id="show1_11_1" class="foldclosed" onClick="show_folder('1_11_1')" style="POSITION: absolute">+</span> <span id="hide1_11_1" class="foldopened" onClick="hide_folder('1_11_1')">-</Span>
+<span style="font-size: 116%;font-family: SansSerif, sans-serif; font-weight: bold; ">Websites</span>
+<ul id="fold1_11_1" style="POSITION: relative; VISIBILITY: visible;"><li><a href="http://www.ship-simu.org" target="_blank"><span class=l>~</span>&nbsp;Homepage (www.ship-simu.org)
+</a>
+
+</li>
+<li><a href="http://forum.ship-simu.org" target="_blank"><span class=l>~</span>&nbsp;Forum (forum.ship-simu.org)
+</a>
+
+</li>
+<li><a href="http://bugs.ship-simu.org" target="_blank"><span class=l>~</span>&nbsp;Bug tracker (bugs.ship-simu.org)
+</a>
+
+</li>
+<li><a href="http://stats.ship-simu.org" target="_blank"><span class=l>~</span>&nbsp;SVN-Stats (stats.ship-simu.org)
+</a>
+
+</li>
+
+</ul>
+</li>
+<li><span id="show1_11_2" class="foldclosed" onClick="show_folder('1_11_2')" style="POSITION: absolute">+</span> <span id="hide1_11_2" class="foldopened" onClick="hide_folder('1_11_2')">-</Span>
+<span style="font-size: 116%;font-family: SansSerif, sans-serif; font-weight: bold; ">Author</span>
+<ul id="fold1_11_2" style="POSITION: relative; VISIBILITY: visible;"><li><span id="show1_11_2_1" class="foldclosed" onClick="show_folder('1_11_2_1')" style="POSITION: absolute">+</span> <span id="hide1_11_2_1" class="foldopened" onClick="hide_folder('1_11_2_1')">-</Span>
+Roland "Quix0r" Haeder
+<ul id="fold1_11_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>&nbsp;webmaster@ship-simu.org
+</a>
+
+</li>
+<li>8809296
+
+</li>
+
+</ul>
+</li>
+
+</ul>
+</li>
+<li><span id="show1_11_3" class="foldclosed" onClick="show_folder('1_11_3')" style="POSITION: absolute">+</span> <span id="hide1_11_3" class="foldopened" onClick="hide_folder('1_11_3')">-</Span>
+<span style="font-size: 116%;font-family: SansSerif, sans-serif; font-weight: bold; ">Ideas</span>
+<ul id="fold1_11_3" style="POSITION: relative; VISIBILITY: visible;"><li><span id="show1_11_3_1" class="foldclosed" onClick="show_folder('1_11_3_1')" style="POSITION: absolute">+</span> <span id="hide1_11_3_1" class="foldopened" onClick="hide_folder('1_11_3_1')">-</Span>
+Roland "Quix0r" Haeder
+<ul id="fold1_11_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_11_3_2" class="foldclosed" onClick="show_folder('1_11_3_2')" style="POSITION: absolute">+</span> <span id="hide1_11_3_2" class="foldopened" onClick="hide_folder('1_11_3_2')">-</Span>
+Dominik "monakoianar" Schmauder
+<ul id="fold1_11_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>&nbsp;dominikschmauder@gmx.de
+</a>
+
+</li>
+<li>268853027
+
+</li>
+
+</ul>
+</li>
+
+</ul>
+</li>
+
+</ul>
+</li>
+
+</ul><SCRIPT language=JavaScript>
+fold_document();
+</SCRIPT>
+</body>
+</html>