/*******************************************************************************
*
* File: languagePref.js
*
* Description: This library provides functionality to support the user input of
*              country and language as part of the system's multilingual student
*              interface.
*
* Ver.    Date     Author   Comments
* ----  --------  --------  ----------------------------------------------------
* 1.00  06/26/09  jliang    AI #4441 - Multilingual student interface
*
*******************************************************************************/


/*******************************************************************************
* Global variables and constants
*******************************************************************************/
var DBNAME = "languagePref";

var ENGLISH = "en";
var FRENCH = "fr";
var GERMAN = "de";
var ITALIAN = "it";
var SPANISH = "es";

var DOMAIN = "http://" + location.hostname + "/";
var START = "/index.html";


function gotoLanguagePref(language)
{
    var preference;

    switch ( language )
    {
        case "english":
            preference = ENGLISH;
            break;

        case "french":
            preference = FRENCH;
            break;

        case "german":
            preference = GERMAN;
            break;

        case "italian":
            preference = ITALIAN;
            break;

        case "spanish":
            preference = SPANISH;
            break;

        default:
            preference = ENGLISH;
            break;
    }

    document.location = DOMAIN + preference + START;
}


function initLanguagePref()
{
    var languagePref = new JSDBO(DBNAME);

    if ( languagePref.getValue("language") != null )
    {
        gotoLanguagePref(languagePref.getValue("language"));
    }
    else
    {
        setCountryOptions("");
    }
}


function setCountryLanguages()
{
    var country = document.getElementById("country");

    setLanguageOptions(country.options[country.selectedIndex].value, "");
}


function setLanguagePref()
{
    var country = document.getElementById("country");
    var language = document.getElementById("language");

    if ( (country.options[country.selectedIndex].value != "") &&
         (language.options[language.selectedIndex].value != "") )
    {
        var languagePref = new JSDBO(DBNAME);

        languagePref.setValue("country",
                              country.options[country.selectedIndex].value);
        languagePref.setValue("language",
                              language.options[language.selectedIndex].value);

        languagePref.commit();

        gotoLanguagePref(language.options[language.selectedIndex].value);
    }
    else
    {
        alert("Error saving language preference");
    }
}


function getLanguagePref()
{
    var languagePref = new JSDBO(DBNAME);
    var language = languagePref.getValue("language");

    if ( language == null )
    {
        language = "english";
    }

    return language;
}


function getCountryPref()
{
    var countryPref = new JSDBO(DBNAME);
    var country = countryPref.getValue("country");

    if ( country == null )
    {
        country = "united states";
    }

    return country;
}


function resetLanguagePref()
{
    var languagePref = new JSDBO(DBNAME);

    languagePref.truncate();

    document.location = DOMAIN;
}

