// This file contains the pseudo "CSS" for the puzzle and menu.
// In addition it contains message text that may be translated as well as
// options for controlling the startup and operation of the puzzle

// The file is format and case sensitive and follows Javascript conventions for defining objects
// Be careful in modifying since Javascript error messages are not very helpful......
// Best approach is to change only valüs within quotes.......
//___________________________________________________________________________________________________________//
// S_Options defines the options for how the puzzle will be started and what menu items will be shown
// The format is tag:  ["valü"] or tag: ["valü", "last"]
//         where tag is an internal tag used to identify the option and "valü" is one of the predefined valüs for this option
//         the "last" tag defines whether the last selected valü by the user should be used the next time the puzzle is loaded
//         if "last" is specified the valü is stored in a cookie and retrieved during loading.
//         The format is IMPORTANT, please note the brackets and commas and the fact that the last entry dös not have a comma
//         All entries are case sensitive and should be lower case letters...
S_Options =
  { StartupPuzzleDifficulty: ["1", "last"],                 // startup puzzle difficulty where 1=easy, 2=difficult, 3=fiendish and 4=superior
    StartupPuzzleSize: ["2", "last"],                       // startup puzzle size where 1=very small, 2=small, 3=medium and 4=large
    ShowCellCandidates: ["all", "last"],                    // Possible values are "all" , "single" or "none" for showing cell candidates when menu selected
    AutoUpdateCellCandidates: ["yes", "last"],              // Automatically update cell candidates when entry made. Values are "yes" or "no"
    FlyoverCellEntryHints:    ["yes", "last"],              // Show entry option hints for cells. Values are "yes" or "no"
    FlyoverHintTechniques:    ["yes", "last"],              // Show flyover hint techiques when hint requested. Values are "yes" or "no"
    RandomSeed: ["random"],                                 // Random number generator seed, either "random", "today" or 6 digit number .., "last" not a useful option here
    HelpFile: ["Sudoku_HelpD.html"],                         // The name of the Sudoku help file ...   "last" not a useful option here
    HintDelay: [3000],                                       // delay for showing hints in milliseconds ... "last" not a useful option here
    ShowMenu:["yes"],                                       // Show menu - option to not show menu at all ... "last" not a useful option here
    ShowMenuControls:["yes"],                               // Show "Controls"  menu item ... "last" not a useful option here
    ShowMenuSaveRestore: ["yes"],                           // Show "Save" and "Restore Saved" menu items ... "last" not a useful option here;
    ShowMenuCreate:    ["yes"],                             // Show "New" menu item ... "last" not a useful option here
    ShowMenuReset:    ["yes"],                              // Show "Reset" menu item ... "last" not a useful option here
    ShowMenuHints:     ["yes"],                             // Show "Hints" menu item ... "last" not a useful option here
    ShowMenuValidate: ["yes"],                              // Show "Validate" menu item ... "last" not a useful option here
    ShowMenuCandidates: ["yes"],                            // Show "Cell Candidates" menu item ... "last" not a useful option here
    ShowMenuSingleStep: ["yes"],                            // Show "Single Step" menu item ... "last" not a useful option here
    ShowMenuSolution: ["yes"],                              // Show "Solution" menu item ... "last" not a useful option here
    ShowMenuSolutionSteps: ["yes"],                         // Show "Solution Steps" menu item ... "last" not a useful option here
    ShowMenuPrint: ["yes"],                                 // Show "Print" menu item ... "last" not a useful option here
    ShowMenuKeypad: ["yes"],                                // Show "Keypad" menu item ... "last" not a useful option here
    ShowMenuOptions:["yes"],                                // Show "Options" menu item ... "last" not a useful option here
    ShowMenuPuzzleSize: ["yes"],                            // Show "Puzzle Size" menu item ... "last" not a useful option here
    ShowMenuCandidateOptions:["yes"],                       // Show "Show Candidates " menu item ... "last" not a useful option here
    ShowMenuFlyoverOptions:["yes"],                         // Show "Show Flyover Hints " menu item ... "last" not a useful option here
    ShowMenuTimer:["yes"]                                   // Show timer ... "last" not a useful option here
  };


//___________________________________________________________________________________________________________//
// S_Puzzle defines the formatting of the Sudoku Puzzle
// The format is tag: "style" where tag is internal label for attribute and "style" is the pseudo "CSS" attribute
// Styles must be enclosed in quotes and followed by a comma, except for the last entry in the S_Puzzle object
S_Puzzle =                                      // this defines the puzzle style
    {width:  "550px",                           // width must be specified in pixels, height is determined by width automatically
     fontFamily: "arial, helvectia",            // any font family or group of font families generally available on the web may be specified
     backgroundColor: "white",                  // any valid html,css color definition for a border is permissible.
     InitialValuesColor: "#006EA5",                // the font color used to render the initial puzzle values.
     EnteredValuesColor: "black",               // the font color used to render the entered puzzle values.
     puzzleBorderWidth: "4px",                  // puzzle border width must be specified in pixels, the default is one pixel border
     puzzleBorderStyle: "solid",                // any valid html,css style definition for a border is permissible.
     puzzleBorderColor: "#7Ab6E8",  // any valid html,css color definition for a border is permissible.
     focusCellColor: "RGB(234,234,234)",        // the background color used to show focus on cell.
     oddBlockAttributes:                        // odd block attributes.
        {backgroundColor: "#E8F8FF",            // any valid html,css color definition is permissible.
         blockBorderWidth: "3px",               // puzzle border width must be specified in pixels, the default is one pixel border
         blockBorderStyle: "solid",             // any valid html,css style definition for a border is permissible.
         blockBorderColor: "#7Ab6E8"            // any valid html,css color definition for a border is permissible.
        },
     evenBlockAttributes:                       // even block attributes.
        {backgroundColor: "white",              // any valid html,css color definition is permissible.
         blockBorderWidth: "3px",               // puzzle border width must be specified in pixels, the default is one pixel border
         blockBorderStyle: "solid",             // any valid html,css style definition for a border is permissible.
         blockBorderColor: "#7Ab6E8"   // any valid html,css color definition for a border is permissible.
        },
     cellAttributes:                            // cell attributes.
        {backgroundColor: "transparent",        // any valid html,css color definition is permissible.
         cellBorderWidth: "1px",                // puzzle border width must be specified in pixels, the default is one pixel border
         cellBorderStyle: "solid",              // any valid html,css style definition for a border is permissible.
         cellBorderColor: "#dAdAf2 #7A7Aa2 #7A7Aa2 #dAdAf2" // any valid html,css color definition for a border is permissible.
        },
     subCellAttributes:                         // sub cell attributes.
        {backgroundColor: "transparent",        // any valid html,css color definition is permissible.
         subCellBorderWidth: "1px",             // puzzle border width must be specified in pixels, the default is one pixel border
         subCellBorderStyle: "solid",           // any valid html,css style definition for a border is permissible.
         subCellBorderColor: "RGB(224,224,240)" // any valid html,css color definition for a border is permissible.
        },
     floatingWindows:                           // popup windows for Solution Steps and Keypad.
        {backgroundColor: "#3270A0",               // any valid html,css color definition is permissible.
         fontColor: "white"                     // any valid html,css color definition is permissible.
        },
     hintAttributes:                            // sub cell attributes.
        {backgroundColor: "#FFFF78",             // any valid html,css color definition is permissible.
         fontColor: "#004669"                       // any valid html,css color definition is permissible.
        }
    };

//___________________________________________________________________________________________________________//
// S_MenuCSS defines the formatting of the Sudoku Menu
// The format is tag: "style" where tag is internal label for style attribute and "style" is the pseudo "CSS" attribute
// Styles must be enclosed in quotes and followed by a comma, except for the last entry in S_MenuCSS object
S_MenuCSS =                                     // this defines the format of the memu used by Sudoku puzzle
    {backgroundColor: "RGB(234,234,234)",        // background color must be specified in RGB format... sorry about that...
     menuAlignment: "vertical",                 // This value cannot be changed
     menuSize:  "100%",                         // This value cannot be changed
     menuItemWidth:  "fit",                     // This value cannot be changed
     borderSize: "5px",                         // border size around main menu
     fontSize: "14px",                          // font size is only limited to space available on screen
     fontFamily: "arial, helvectia",            // any font family or group of font families generally available on the web may be specified
     textAlign: "center",                       // alignment may be "left", "center" or "right"
     headingAttributes:                         // heading attributes.
        {backgroundColor: "#3270A0",            // any valid html,css color definition is permissible.
         fontWeight: "bold",                    // any valid css fontWeight definition
         fontColor: "#D4D4D4"                     // any valid html,css color definition is permissible.
        },
     defaultAttributes:                         // default menu attributes.
        {backgroundColor: "#EAEAEA",            // any valid html,css color definition is permissible.
         fontWeight: "normal",                  // any valid css fontWeight definition
         fontColor: "#004887"                     // any valid html,css color definition is permissible.
        },
     activeAttributes:                          // active menu attributes.
        {backgroundColor: "white",              // any valid html,css color definition is permissible.
         fontWeight: "bold",                    // any valid css fontWeight definition
         fontColor: "RGB(66,126,176)"           // any valid html,css color definition  is permissible.
        },
     hoverAttributes:                           // hover menu attributes.
        {backgroundColor: "RGB(66,126,176)",   // any valid html,css color definition is permissible.
         fontWeight: "bold",                    // any valid css fontWeight definition
         fontColor: "white"                   // any valid html,css color definition is permissible.
        },
     hintAttributes:                            // sub cell attributes.
        {backgroundColor: "#FFFF78",             // any valid html,css color definition is permissible.
         fontWeight: "normal",                  // any valid css fontWeight definition
         fontColor: "#004669"                       // any valid html,css color definition is permissible.
        },
     subMenus:[                                 // left square bracket begins definition of sub menu unique elements
        {menuSuffix: "",                        // This value cannot be changed
         textAlign: "center",                   // This value cannot be changed
         fontWeight: "bold",                    // any valid css fontWeight definition
         menusPerRow: "1"                       // This value cannot be changed
        },
        {menuSuffix: "_N",
         textAlign: "center",                   // This value cannot be changed
         menusPerRow: "3"                       // This value cannot be changed
        },
        {menuSuffix: "_N1",
         textAlign: "center",                   // This value cannot be changed
         menusPerRow: "1"                       // This value cannot be changed
        },
        {menuSuffix: "_C2",
         textAlign: "center",                   // This value cannot be changed
         menusPerRow: "2"                       // This value cannot be changed
        },
        {menuSuffix: "_S",
         textAlign: "left",                     // This value cannot be changed
         menusPerRow: "1"                       // This value cannot be changed
        }
     ]                                          // right square bracket ends definition of sub menu unique elements

    };                                          // right curly bracket ends definition of menu

//___________________________________________________________________________________________________________//
//S_Messages is an object to facilitate message translation
// The format for Sudoku messages is tag: "text" where tag is internal label for message text
// All "text" must be enclosed in quotes and followed by a comma, except for the last entry in message object
// The percent sign(%) followed by a number are parameters that are replaced in the translation process.
S_Messages =
    {men000: "M I C H E L - S U D O K U",
     men100: "       Sudoku starten",         // spaces are for centering with other items without submenus
     men100s: "",
     men200: "Wenn es hakt ...",
     men200s: "",
     men210: "Neues Sudoku",
     men210s: "",
     men211: "Leicht",
     men211s:"",
     men212: "Mittelschwer",
     men212s:"",
     men213: "Vertrackt",
     men213s:"",
     men214: "Professionell",
     men214s:"",
     men215: "Eigene Eingabe",
     men215s:"",
     men216: "Spielstand speichern",
     men216s:"",
     men217: "Laden",
     men217s: "",
     men217a:"Browser-Cookies sind nicht aktiviert.",
     men217b:"Die Speicheroption funktioniert nur bei aktivierten Cookies",
     men217c:"Sudoku wurde nicht gespeichert",
     men217d:"Sudoku wurde gespeichert",
     men217e:"Nur bei aktivierten Cookies zwischen Browsersitzungen",
     men217f:"Kein gespeichertes Sudoku vorhanden",
     men220: "Neustart",
     men220s:"",
     men230: "Tipp",
     men230s:"",
     men240: "Überprüfen",
     men240s:"",
     men250: "Mögliche Zahlen anzeigen",
     men250s:"",
     men257: "Lösen",
     men257s:"",
     men258: "Nächster Schritt",
     men258s:"",
     men260: "Komplette Lösung",
     men260s:"",
     men270: "Lösungsschritte auflisten",
     men270s:"",
     men280: "Sudoku drucken",
     men280s:"",
     men300: "Tastenfeld",
     men300s:"",
     men310: "Clear",
     men400: "Einstellungen",
     men400s:"",
     men410: "Sudokugröße",
     men410s:"",
     men411: "Groß",
     men411s:"",
     men412: "Mittel",
     men412s:"",
     men413: "Klein",
     men413s:"",
     men414: "Sehr klein",
     men414s:"",
     men420: "Mögliche Zahlen anzeigen",
     men420s:"",
     men421: "Nur in Einzelfeldern",
     men421s:"",
     men422: "In allen Feldern",
     men422s:"",
     men423: "Automatische Anpassung",
     men423s:"",
     men430: "Number cell slider???",
     men430s:"",
     men440: "Zusatzhinweise",
     men440s:"",
     men441: "Bei Maus im Einzelfeld",
     men441s:"",
     men442: "Bei Tippauswahl",
     men442s: "Angabe der Lösungstechnik im Tippauswahlfeld",
     men500: "        Hilfe",         // spaces are for centering with other items without submenus
     men500s:"",
     men510: "Anleitung",
     men510s:"",
     men520: "Über...",
     men520s:"",
     time1:  "Timer starten",
     time1s: "",
     time2:  "Timer stoppen",
     time2s: "",
     time3:  "Zurücksetzen",
     time3s: "",
     time4:  "Timer",
     solver: "Solver",
     row:    "Zeile",
     column: "Spalte",
     block:  "Block",
     scs1:   "Sole Candidate",                       // used to describe solver technique
     scs2:   "Zeile=%1, Spalte=%2, Zahlwert auf %3",
     nss1:   "Naked Singles",                       // used to describe solver technique
     nss2:   "Zeile=%1, Spalte=%2, Zahlwert auf %3",
     hss1:   "Hidden Singles",                      // used to describe solver technique
     hss2:   "Zeile=%1, Spalte=%2, Zahlwert auf %3",
     bcris1: "Block and Column/Row Interactions", // used to describe solver technique
     bcris3: "Zahlwert %1 muss in Spalte %2 in Block %3 vorkommen. Daher kann %4 keine Lösung in dieser Spalte der anderen Blöcke sein.",  // sequence bcris2/3 inverted (KH)
     bcris2: "Zahlwert %1 muss in Zeile %2 in Block %3 vorkommen. Daher kann %4 keine Lösung in dieser Zeile der anderen Blöcke sein.",
     bbis1:  "Block and Block Interaction",         // used to describe solver technique
     bbis2:  "Zahlwert %1 in Block %2 und %3 eliminiert %4 in entsprechenden Zeilen von Block %5",
     bbis3:  "Zahlwert %1 in Block %2 und %3 eliminiert %4 in entsprechenden Spalten von Block %5",
     xws1:   "X Wing",                                // used to describe solver technique
     xws2:   "Zahlpaare mit Wert %1 in Felder (zl:sp) ",
     xws3:   "eliminieren %1 in Zeile %2, Spalte %3",
     sdf1:   "Swordfish",                             // used to describe solver technique
     fcs1:   "Forcing Chain",
     fcs2:   "Verkettungen in Felder (zl:sp) ",
     fcs3:   "eliminieren %1 in Zeile %2, Spalte %3",
     xyw1:   "XY Wing",
     xyw2:   "Kurze Kette in Felder (zl:sp)",
     xyw3:   "eliminiert %1 in Zeile %2, Spalte %3",
     ccs1:   "Colouring",
     ccs2:   "Paarkette in Felder (zl:sp)",
     ccs3:   "eliminiert %1 in Zeile %2, Spalte %3",
     nsubss1:"Naked Subset",
     nsubss2:"Zahlwerte aus %1 in %2 %3 eliminieren %4 in den anderen Feldern der %5.",
     hsss1:  "Hidden Subset",
     hsss2:  "Zahlwerte aus %1 in %2 %3 eliminieren andere Zahlwerte in diese Feldern",
     solList:"Sudoku ist mit %1 bewertet und enthält %2.",
     create1:"Generiere eindeutiges Sudoku, No. %1",
     finish1: "Gratuliere!",
     finish2: "Sudoku erfolgreich gelöst!",
     copyr1:  "Copyright ©",
     copyr2:  "A freely distributable web based Sudoku puzzle program.",
     copyr3:  "Questions, comments and suggestions may be sent to",
     copyr4:  "Die deutsche Version wurde von K. Hermann (Berlin) übersetzt und für die Michaelschule Papenburg von H.-H. Sellere modifiziert.",     // text for another bullet on the "About" dialog.
     print1:  "Ausdruck wird bearbeitet",
     print2:  "Michel-Sudoku",
     ssteps1:"Lösungsschritte des Sudokus",
     ssteps2:"Nr.",
     ssteps3:"Technik",
     ssteps4:"Beschreibung",
     ssteps5:"Sudoku Lösungsschritte (bewegliches Fenster)",
     val1:   "Keine Fehler gefunden!",
     val2:   "Keine Lösung mit diesen Zahlen gefunden.",
     val3:   "Fehler gefunden, keine Lösung möglich.",
     focus1: "Kein Feld ausgewählt!",
     hint1:  "Maustaste drücken zur Zahlauswahl",
     hint2:  "Maus doppelklicken zur letzten Feldauswahl",
     hint3:  "Maus doppelklicken zur Zahlauswahl",
     hint4:  "Keine Hinweise bei Puzzle mit Fehlern!"       // note that last entry does not have a comma following
    };
