<?xml version="1.0" encoding="UTF-8" ?> 
 <Module>
 <ModulePrefs title="TV Program"
	 height="300"
	 description="Televizní program &#269;eských stanic."
	 author="Arcao"
	 author_email="arcao@arcao.com"
	 author_location="Pilsen / Neratovice, Czech Republic"
	 title_url="http://xmltv.arcao.com/ig/"
	 directory_title="TV Program"
	 author_link="http://arcao.com"
	 screenshot="http://xmltv.arcao.com/ig/gadget-tvprogram.png"
	 thumbnail="http://xmltv.arcao.com/ig/gadget-tvprogram_thumb.png"
	 scrolling="true">  
  <Require feature="tabs" />
  <Require feature="dynamic-height" />
  </ModulePrefs>
   <Content type="html">
 <![CDATA[ 
 <style type="text/css">
@import url(http://www.google.com/ig/tablib.css);
.tv-program-content, .tv-program-content p {
   font-size: 12px;
   margin: 10px 0;
   padding: 0;
}
.tv-program-content p {
   margin: 0 0 4px 0;
}
.tv-program-item-start, .tv-program-item-stop {
   margin-right: 5px;
   float: left;
}
.tv-program-item-bar {
   width: 40px;
   height: 10px;
   border: 1px solid #AAA;
   display: block;
   float: left;
   margin: 1px 5px 0 0;
}
.tv-program-item-bar-progress {
   display: block;
   background: #DDD;
   height: 100%;
   width: 20%;
}
.tv-program-item-name {
   margin: 0 5px;
   font-weight: bold;
}
.tv-program-item-channel {
   color: blue;
   font-style: italic;
}
.tv-program-channel-name {
   margin: 0;
   padding: 0;
   font-size: 12px;
   color: blue;
}
.tv-program-channel-holder {
   margin: 0 0 1em 0;
}
   
 </style>
 <script type="text/javascript">
  
 function init() {
      // Initialize tabs.
      var tabs = new _IG_Tabs(__MODULE_ID__);
      
      // When you use addDynamicTab, the tab's content is
      // dynamically generated through the callback function.
      tabs.addDynamicTab("Te&#271;", callbackGenerator("now"));
      tabs.addDynamicTab("00:00", callbackGenerator("0"));     
      tabs.addDynamicTab("06:00", callbackGenerator("6"));
      tabs.addDynamicTab("12:00", callbackGenerator("12"));
      tabs.addDynamicTab("18:00", callbackGenerator("18"));
      tabs.addDynamicTab("24:00", callbackGenerator("24"));
 }
 
  /**
   * Creates a function that calls the tab's callback function
   * and passes along an additional variable from the calling environment.
   */
  function callbackGenerator(name) {
    return function(tabId) {
      callbackTab(tabId, name);
    }
  }


  /**
   * Fetches an Atom or RSS feed and generates content inside the
   * selected tab's content container.  This function is called whenever
   * a tab is selected.
   */
  function callbackTab(tabId, name) {
    var html = new Array();
    _IG_FetchContent('http://xmltv.arcao.com/igoogle_ajax.php?type='+name, function (responseText) {
   
    html.push('<div class="tv-program-content">');
    if (name=="now") {
      var now = [];
      eval('now='+responseText);
      for(var i=0; i < now.length; i++) {
        var item = now[i];
        html.push('<p class="tv-program-item">');
        html.push('<span class="tv-program-item-start">' + item.from + '</span>');
        html.push('<span class="tv-program-item-bar" title="Již ub&#283;hlo '+item.percent+'% od za&#269;átku vysílání."><span class="tv-program-item-bar-progress" style="width:'+item.percent+'%"></span></span>');
        html.push('<span class="tv-program-item-stop">' + item.to + '</span>');
        html.push('<span class="tv-program-item-name">' + item.name + '</span>');
        html.push('<span class="tv-program-item-channel">' + item.channel + '</span>');
        html.push('</p>');
      }
    } else {
      var prg = [];
      eval('prg='+responseText);
      
      for(var i=0; i < prg.length; i++) {
        var channel = prg[i];
        html.push('<div class="tv-program-channel-holder">');
        html.push('<h3 class="tv-program-channel-name">' + channel.name + '</h3>');
        for (var y=0; y < channel.items.length; y++) {
          var item = channel.items[y];
          html.push('<p class="tv-program-item">');
          html.push('<span class="tv-program-item-start">' + item.from + '</span>');
          html.push('<span class="tv-program-item-name">' + item.name + '</span>');
          html.push('</p>');
        }
        html.push('</div>');
      }

    }
   
    html.push('</div>');
    _gel(tabId).innerHTML = html.join("");
    // Resize iframe height to fit content.
    //setTimeout("
    _IG_AdjustIFrameHeight();
    // ", 500);
    },{ refreshInterval: 60 });
  }
   
  // Call init function to initialize and display tabs.
  _IG_RegisterOnloadHandler(init);
  </script>
]]></Content>
</Module>
