<?xml version="1.0" encoding="UTF-8" ?>
<Module>
    <ModulePrefs title="Children's Book of the Day"
        title_url="http://www.childrenslibrary.org" directory_title="Children's Book of the Day"
        description="A new book each day from the International Children's Digital Library's free collection of books"
        author="International Children's Digital Library" author_email="icdl-info@cs.umd.edu"
        author_affiliation="International Children's Digital Library Foundation"
        screenshot="http://www.childrenslibrary.org/library/basic/icdlbookofday.gif"
        thumbnail="http://www.childrenslibrary.org/library/basic/icdlbookofdaythumb.gif">
        <!-- <Require feature="analytics" /> -->
        <Require feature="setprefs" />
    </ModulePrefs>
    <UserPref name="color" display_name="Background color"
        default_value="green" datatype="enum">
        <EnumValue value="green" />
        <EnumValue value="white" />
    </UserPref>
    <UserPref name="language" display_name="Language"
        default_value="German" datatype="enum">
        <EnumValue value="German" />
        <EnumValue value="Spanish" />
        <EnumValue value="English" />
    </UserPref>
    <UserPref name="autodetect" display_name="Set language according to browser language?"
        default_value="true" datatype="bool">
    </UserPref>
    <Content type="html">

<![CDATA[
   <script>
     // Track this gadget using Google Analytics.
     _IG_Analytics("UA-97669-3", "/test_analyticslib");
   </script>
<style type="text/css">
body {margin: 0px;
text-align:center; 
font-size: 80%; 
font-family: arial unicode ms, arial, helvetica, sans-serif;
padding: 10px; 
}
</style>
<script type="text/javascript">
GADGET_CONSTANTS = {
        CODES : {
                'Spanish' : 'es',
                'English' : 'en', 
                'German' : 'de' //, 
                //'Chinese_Simplified' : 'zh', 
                //'Japanese' : 'ja', 
                //'French' : 'fr'
        }
};

function langCode(lang, isReverse) {
    var codes = GADGET_CONSTANTS.CODES;
    for (var k in codes) {
        var toCompare = isReverse ? codes[k] : k;
        var toReturn = isReverse ? k : codes[k];
        
        if (toCompare.toUpperCase() === lang.toUpperCase()) {
            return toReturn;
        }
    }
    
    // Fallback language is English
    return isReverse ? 'English' : 'en';
}


// / script to disable console.log
function killConsole() {
	if (!window.console)
	{
    	var names = ["log", "debug", "info", "warn", "error", "assert", "dir", "dirxml",
        	"group", "groupEnd", "time", "timeEnd", "count", "trace", "profile", "profileEnd"];
        
            	window.console = {};
                for (var i = 0; i < names.length; ++i) {
                        window.console[names[i]] = function() {}
                }
	}
}	
                        
                        


function onLoadFunc__MODULE_ID__() {
  var prefs = new _IG_Prefs(__MODULE_ID__);
  var color = prefs.getString("color");
  var autodetect = prefs.getBool('autodetect');
  
  killConsole();
  
  // detect browser lang
  var browserLang = ((navigator.language) ? navigator.language : navigator.userLanguage).toLowerCase().substring(0, 2);
  var langName = langCode(browserLang, true);
  console.log('langName: ' + langName);
  console.log('setting before:' + prefs.getString("language"));
  if (autodetect && langName in GADGET_CONSTANTS.CODES) {
      prefs.set('language', langName);
      console.log('after autodetect:' + prefs.getString("language"));
  }
  
  var lang = prefs.getString("language");
  

  // set bg color
  if (color=="green")
      document.body.style.backgroundColor="#CCDDAA";
  else
      document.body.style.backgroundColor="white";

  // get featured book
  var host = 'http://xmlserver.icdl-gadget.appspot.com/';
  var url = host + '?lang=' + lang;
  _IG_FetchContent(url, function (responseText) {
    var pic = _gel("pic" + __MODULE_ID__);
    pic.innerHTML=responseText;
  });
};

_IG_RegisterOnloadHandler(onLoadFunc__MODULE_ID__);


</script>
<div id=pic__MODULE_ID__></div>
]]>
    </Content>
</Module>

