<?xml version="1.0" encoding="UTF-8" ?> 
<Module>
  <ModulePrefs title="ProgrammableWeb" /> 
  <UserPref name="PW_API_KEY" 
     display_name="API key for ProgrammableWeb"
     datatype="string"
     required="true">
  </UserPref>
  <Content type="html">
    <![CDATA[ 
       <img src="http://www.programmableweb.com/images/logo2.png"/>
       <div id="content_div"></div>
       
       <script type="text/javascript">
       
          function nodesToText(nodeList) {
          
             var text = "";
             for (var j = 0; j < nodeList.length ; j++) {
                if (nodeList[j].nodeType == document.TEXT_NODE) {
                  text += nodeList[j].data;
                } // if
             } // for
             
             return text;
          
          } // nodesToText
          
          function displayStats()  {
        
        
          // URL to fetch number of APIs
          // Get userprefs
          var prefs = new _IG_Prefs();
          var key = prefs.getString("PW_API_KEY");
          var url = "http://api.programmableweb.com/apis/-/?apikey=" + key;
          
            _IG_FetchXmlContent(url, function (response) {
               if (response == null || typeof(response) != "object" || 
                          response.firstChild == null) {
                  _gel("content_div").innerHTML = "<i>Invalid data.</i>";
                  return;
               }

           // Start building HTML string that will be displayed in <div>.           
   
              // Display HTML string in <div>
              
              //alert(nodesToText(response.getElementsByTagName("title")[0].childNodes));
              var numAPIs = nodesToText(response.getElementsByTagNameNS("http://a9.com/-/spec/opensearchrss/1.0/","totalResults").item(0).childNodes);
              //alert(response.getElementsByTagName("totalResults").item(0).nodeValue);
              var html = "number of APIs: " + numAPIs;
              _gel('content_div').innerHTML = html;
   
   
            });  // _IG_FetchXmlContent
          

          } ;  // displayStats

      _IG_RegisterOnloadHandler(displayStats);
      </script>

     ]]>
  </Content> 
</Module>
