");
   for (index = 0; index < length; index++)
   {
     if (table[index].Line_type == '-')
@@ -326,9 +337,21 @@ static int Export_help(const char * path)
   fprintf(findex, "
GrafX2 Help\n");
   fprintf(findex, "
\n");
   fprintf(findex, "
\n");
+  fprintf(findex, "
\n");
+  fprintf(findex, "\n");
   fprintf(findex, "\n");
 
   fprintf(findex, "\n");
+  fprintf(findex, "
\n");
+  fprintf(findex, "
\n");
+  fprintf(findex, "Choose your skin :\n");
+  for (i = 0; skins[i] != NULL; i++)
+  {
+    fprintf(findex, "
%s\n", skins[i], skins[i]);
+  }
+  fprintf(findex, "
\n");
   fprintf(findex, "
");
   fprintf(findex, "
\n");
@@ -357,6 +380,7 @@ static int Export_help(const char * path)
     fprintf(findex, "\n");
   }
   fprintf(findex, "
\n");
+  fprintf(findex, "
\n");
   fprintf(findex, "\n");
   fclose(findex);
 
@@ -370,10 +394,60 @@ static int Export_help(const char * path)
     fprintf(f, "}\n");
     fprintf(f, "div.button {\n");
     fprintf(f, "display: inline-block;\n");
-    fprintf(f, "background-image: url(\"skin_classic.png\");\n");
     fprintf(f, "width: 16px;\n");
     fprintf(f, "height: 16px;\n");
     fprintf(f, "}\n");
+    for (i = 0; skins[i] != NULL; i++)
+    {
+      fprintf(f, ".skin_%s .button {\n", skins[i]);
+      fprintf(f, "background-image: url(\"skin_%s.png\");\n", skins[i]);
+      fprintf(f, "}\n");
+    }
+    fprintf(f, "@media print {\n");
+    fprintf(f, " .skinselector {\n");
+    fprintf(f, "  display: none;\n");
+    fprintf(f, " }\n");
+    fprintf(f, " body {\n");
+    fprintf(f, "  -webkit-print-color-adjust: exact; /*Chrome, Safari */\n");
+    fprintf(f, "  color-adjust: exact; /*Firefox*/\n");
+    fprintf(f, " }\n");
+    fprintf(f, "}\n");
+    fclose(f);
+  }
+
+  snprintf(filename, sizeof(filename), "%s/grafx2.js", path);
+  f = fopen(filename, "w");
+  if (f != NULL)
+  {
+    fprintf(f, "function setCookie(cname, cvalue) {\n"
+               "  document.cookie = cname + '=' + cvalue /*+ ';path=/'*/;\n"
+               "}\n");
+    fprintf(f, "function getCookie(cname) {\n"
+               "  var name = cname + '=';\n"
+               "  var ca = decodeURIComponent(document.cookie).split(';');\n"
+               "  for (var i = 0; i < ca.length; i++) {\n"
+               "    var c = ca[i];\n"
+               "    while (c.charAt(0) == ' ') c = c.substring(1);\n"
+               "    if (c.indexOf(name) == 0) {\n"
+               "      return c.substring(name.length);\n"
+               "    }\n"
+               "  }\n"
+               "  return '';\n"
+               "}\n");
+    fprintf(f, "function change_skin(newskin) {\n"
+               "  var elts = document.getElementsByClassName('skin');\n"
+               "  for (var i = 0; i < elts.length; i++) {\n"
+               "    elts[0].className = elts[0].className.replace(/skin_.*/, newskin);\n"
+               "  }\n"
+               "}\n");
+    fprintf(f, "function choose_skin(skin) {\n"
+               "  setCookie('skin', skin);\n"
+               "  change_skin('skin_' + skin);\n"
+               "}\n");
+    fprintf(f, "window.onload = function () {\n"
+               "  var skin = getCookie('skin');\n"
+               "  if (skin != '') choose_skin(skin);\n"
+               "}\n");
     fclose(f);
   }
   return 0;