// 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 values 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:  ["value"] or tag: ["value", "last"] 
//         where tag is an internal tag used to identify the option and "value" is one of the predefined values for this option
//         the "last" tag defines whether the last selected value by the user should be used the next time the puzzle is loaded
//         if "last" is specified the value 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 does 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_Help.html"],                         // The name of the Sudoku help file ...   "last" not a useful option here
    HintDelay: [2000],                                       // 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 
    ShowMenuCreate:    ["yes"],                             // Show "Create New Puzzle" 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
    ShowMenuSolution: ["yes"],                              // Show "Solution" menu item ... "last" not a useful option here
    ShowMenuSolutionSteps: ["no"],                         // 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:["no"],                       // Show "Show Candidates " menu item ... "last" not a useful option here
    ShowMenuFlyoverOptions:["no"],                         // 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
    {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 definitionis permissible.
     InitialValuesColor: "blue",                // the font color used to render the initial puzzle values.
     EnteredValuesColor: "black",               // the font color used to render the entered puzzle values.
     puzzleBorderWidth: "5px",                  // puzzle border width must be specified in pixels, the default is one pixel border
     puzzleBorderStyle: "outset",                // any valid html,css style definition for a border is permissible.
     puzzleBorderColor: "RGB(208,208,224)",     // any valid html,css color definition for a border is permissible.
     focusCellColor: "RGB(208,208,224)",                    // the background color used to show focus on cell.
     oddBlockAttributes:                        // odd block attributes.
        {backgroundColor: "#F0F0FF",            // any valid html,css color definitionis permissible.
         blockBorderWidth: "1px",               // puzzle border width must be specified in pixels, the default is one pixel border
         blockBorderStyle: "inset",             // any valid html,css style definition for a border is permissible.
         blockBorderColor: "RGB(208,208,255)"                // 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: "1px",               // puzzle border width must be specified in pixels, the default is one pixel border
         blockBorderStyle: "inset",             // any valid html,css style definition for a border is permissible.
         blockBorderColor: "RGB(255,255,204)"   // any valid html,css color definition for a border is permissible.
        }, 
     cellAttributes:                            // cell attributes.
        {backgroundColor: "transparent",        // any valid html,css color definition for a border 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: "RGB(224,224,160)"              // 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: "RGB(255,255,204)",   // any valid html,css color definition for a border is permissible.
         fontColor: "white"                     // any valid html,css color definition is permissible.
        }, 
     hintAttributes:                            // sub cell attributes.
        {backgroundColor: "yellow",             // any valid html,css color definition is permissible.
         fontColor: "red"                       // 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(255,255,204)",       // 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: "3px",                         // 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: "RGB(220,220,240)",   // any valid html,css color definition for a border is permissible.
         fontWeight: "bold",                    // any valid css fontWeight definition 
         fontColor: "#202060"                   // any valid html,css color definition is permissible.
        }, 
     defaultAttributes:                         // default menu attributes.
        {backgroundColor: "RGB(224,224,232)",   // any valid html,css color definition for a border is permissible.
         fontWeight: "normal",                  // any valid css fontWeight definition 
         fontColor: "black"                     // any valid html,css color definition is permissible.
        }, 
     activeAttributes:                          // active menu attributes
        {backgroundColor: "RGB(242,242,252)",   // any valid html,css color definition for a border is permissible.
         fontWeight: "bold",                    // any valid css fontWeight definition 
         fontColor: "green"                       // any valid html,css color definition is permissible.
        }, 
     hoverAttributes:                           // hover menu attributes.
        {backgroundColor: "RGB(222,222,242)",   // any valid html,css color definition for a border is permissible.
         fontWeight: "bold",                    // any valid css fontWeight definition 
         fontColor: "#000040"                   // any valid html,css color definition is permissible.
        }, 
     hintAttributes:                            // sub cell attributes.
        {backgroundColor: "yellow",             // any valid html,css color definition for a border is permissible.
         fontWeight: "normal",                  // any valid css fontWeight definition 
         fontColor: "red"                       // 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
         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: "_C1",
         textAlign: "center",                   // This value cannot be changed
         menusPerRow: "4"                       // 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: "Puzzel menu",
     men100: "-----------------------------------",
     men100s: "",
     men200: "Handelingen",
     men200s: "Toon Handelingen",
     men210: "Nieuwe Puzzel",
     men210s: "Opties om nieuwe puzzels te maken",
     men211: "Beginner",
     men211s:"Maak een gemakkelijke puzzel",
     men212: "Beginner1",
     men212s:"Maak een puzzel voor beginner1",
     men213: "Gevorderden",
     men213s:"Maak een puzzel voor gevorderden",
     men214: "Expert",
     men214s:"Maak een puzzel met hoge moeilijkheidsgraad",
     men215: "Maak eigen puzzel",
     men215s:"Maak een lege puzzel om zelf in te vullen",
     men220: "Opnieuw",
     men220s:"Zet de puzzel terug in zijn beginstadium", 
     men230: "Hint",
     men230s:"Geef een hint om het volgende veld op te lossen", 
     men240: "Controleer",
     men240s:"Controleer de huidige status van de puzzel", 
     men250: "Veld mogelijkheden",
     men250s:"Klik om de veld mogelijkheden wel of niet te tonen", 
     men260: "Oplossing",
     men260s:"Klik om de oplossing van deze puzzel wel of niet te tonen",
     men270: "Oplossing in stappen",
     men270s:"Klik om de oplossing in stappen voor deze puzzel te tonen", 
     men280: "Print de puzzel",
     men280s:"Print alleen deze puzzel", 
     men300: "Cijfer Blok",
     men300s:"Gebruik cijfer blok om de cijfers in te geven",
     men310: "Wissen",
     men400: "Opties",
     men400s:"Geef gebruikmogelijkheden",
     men410: "Puzzel grote",
     men410s:"Selecteer de grote van de puzzel geschikt voor uw scherm", 
     men411: "Groot",
     men411s:"Selecteer grote puzzel layout",
     men412: "Medium",
     men412s:"Selecteer medium puzzel layout",
     men413: "Klein",
     men413s:"Selecteer kleine puzzel layout",
     men414: "Miniversie",
     men414s:"Selecteer mini puzzel layout",
     men420: "Toon cijfers",
     men420s:"Toon beschikbare veld mogelijkheden", 
     men421: "Een veld",
     men421s:"Toon de veldmogelijkheden voor het geselecteerde veld als veldmogelijkheden geselecteerd is", 
     men422: "Alle velden",
     men422s:"Toon de veldmogelijkheden voor alle velden als veldmogelijkheden geselecteerd is",
     men423: "Auto update",
     men423s:"Automatische update van de veldmogelijkheden als het veld opgelost is", 
     men430: "Number cell slider",
     men430s:"Enable the ability to use the mouse to select numbers for cells", 
     men440: "Hints tonen",
     men440s:"Opties om hints te tonen",
     men441: "Beginveld opties",
     men441s:"Toon hints om hoe je de veldinhoud kan veranderen", 
     men442: "Hint methodes",
     men442s: "Toon de mogelijke hint methode als de optie Hint geselecteerd is", 
     men500: "Help",
     men500s:"Toon help opties", 
     men510: "Uitleg",
     men510s: "Uitleg over hoe je deze puzzel moet oplossen", 
     men520: "Over ons...",
     men520s:"Toon informatie over www.sudoku-puzzels.be", 
     time1:  "Start",
     time1s: "Start de klok",
     time2:  "Stop",
     time2s: "Stop de klok",
     time3:  "Reset",
     time3s: "Reset de klok",
     time4:  "Klok",  
     solver: "Hint",
     row:    "Row",
     column: "Column",
     block:  "Block", 
     scs1:   "",                       // used to describe solver technique
     scs2:   "Row=%1, column=%2, value set to %3", 
     nss1:   "",                       // used to describe solver technique
     nss2:   "Row=%1, column=%2, value set to %3", 
     hss1:   "",                      // used to describe solver technique 
     hss2:   "Row=%1, column=%2, value set to %3", 
     bcris1: "", // used to describe solver technique
     bcris2: "Value of %1 must be in column %2 of block %3, therefore %4 can not be solution in this column for other blocks.",
     bcris3: "Value of %1 must be in row %2 of block %3, therefore %4 can not be solution in this row for other blocks.",
     bbis1:  "Block and Block Interaction",         // used to describe solver technique
     bbis2:  "Value of %1 in tables %2 and %3 can eliminate %4 from corresponding rows in table %5",
     bbis3:  "Value of %1 in tables %2 and %3 can eliminate %4 from corresponding columns in table %5", 
     xws1:   "",                                // used to describe solver technique
     xws2:   "Value of %1 must be in columns %2 or %3 of rows %4 and %5, therefore %6 can not be solution in this column for other rows.",
     xws3:   "Value of %1 must be in rows %2 or %3 of columns %4 and %5, therefore %6 can not be solution in this row for other columns.",
     nsubss1:"",
     nsubss2:"Candidates with %1 in %2 %3 can eliminate %4 from other cells in this %5.",
     hsss1:  "",
     hsss2:  "Candidates of %1 in %2 %3 can eliminate other candidates from these cells",
     solList:"Moeilijkheidsgraad is %1",
     create1:"Nieuwe puzzel wordt aangemaakt - %1",
     finish1: "Proficiat",
     finish2: "Puzzel perfect opgelost",
     copyr1:  "Copyright © sudoku-puzzels.be",
     copyr2:  "Web based Sudoku puzzel software.",
     copyr3:  "Vragen, opmerkingen en suggesties mag je zenden naar info@sudoku-puzzels.be",
     copyr4:  "",                   // text for another bullet on the "About" dialog.
     print1:  "Printen Compleet",
     print2:  "Sudoku Puzzel",
     ssteps1:"Puzzle Solution Steps",
     ssteps2:"No.",
     ssteps3:"Technique",
     ssteps4:"Description",
     ssteps5:"Sudoku Solution Steps Window (movable)",
     val1:   "Correct!",
     val2:   "Kan met deze waarden geen correcte oplosing maken",
     val3:   "Fouten gevonden, geen oplossing mogelijk",
     focus1: "No cell has focus!",
     hint1:  "Houd muis ingedrukt om een nummer te kiezen",
     hint2:  "Dubbel klikken om veld te resetten",
     hint3:  "Dubbel klik om waarde te selecteren",
     hint4:  "Je kunt hints niet gebruiken als er fouten in de puzzel staan"       // note that last entry does not have a comma following "
    }; 

    
    
