/*****************************************
Duytan Hoang
 
functions relating to details of the
client's system
*****************************************/

//set namespace
var clientTools = {};

//global variable
var OSName,
    browserLangCode,
    browserLangName;

(function() {

    /*****************************************
    sniff for client's OS
    *****************************************/
    function getOS() {
        var os="Unknown OS";

        if (navigator.appVersion.indexOf("Win")!=-1) os="Windows";
        if (navigator.appVersion.indexOf("Mac")!=-1) os="MacOS";
        if (navigator.appVersion.indexOf("X11")!=-1) os="UNIX";
        if (navigator.appVersion.indexOf("Linux")!=-1) os="Linux";
        return os;
    }
    clientTools.detectOS = getOS;

    /*****************************************
    global var for client's browser language
    is dependent on the user's browser
    language preference. A class is defined in
    Java on the <body> "lang-XX"
    *****************************************/
    function langCode() {
        var $lang = $('body').attr('class').match(/lang-[a-z]+/);

        if($lang) {
            var array = $lang[0].split("lang-"),
            countryCode = (array[array.length-1]);

            return countryCode
        }
    }
    clientTools.detectLangCode = langCode;

    /*****************************************
    assign the language code to a country
    name
    *****************************************/
    function langName() {
        var $lang = $('body').attr('class').match(/lang-[a-z]+/);

        if($lang) {
            var array = $lang[0].split("lang-"),
                countryCode = (array[array.length-1]),
                countryName;

            switch(countryCode) {
                case "en":
                countryName = "English"
                break;
                case "de":
                countryName = "Deutsch"
                break;
                case "fr":
                countryName = "Francais"
                break;
                case "it":
                countryName = "Italiano"
                break;
                case "pt":
                countryName = "Portugu&#234;s"
                break;
                case "es":
                countryName = "Espa&#241;ol"
                break;
                case "ar":
                countryName = "Arabic"
                break;
            }
            return countryName
        }
    }
    clientTools.detectLangName = langName;
    
}());

/*****************************************
loadlist
*****************************************/
$(document).ready(function() {

    //global var OSName
    OSName = clientTools.detectOS();

    //global var browserLangCode
    browserLangCode = clientTools.detectLangCode();

    //global var browserLangName
    browserLangName = clientTools.detectLangName();
});

