<?xml version="1.0" encoding="UTF-8" ?>
<Module>
	<ModulePrefs 
		title="Program TV" 
		directory_title="Program TV" 
		description="Program TV w oparciu o serwis programtv.interia.pl" 
		scrolling="false" 
		title_url="http://programtv.interia.pl"  
		author_affiliation="Interia" 
		author_link = "http://interia.pl" 
		author_email = "interia@firma.interia.pl" 
		author = "Interia.pl" 
		thumbnail="http://img.interia.pl/igoogle/thumb/tv.gif" 
		screenshot="http://img.interia.pl/igoogle/screenshot/tv.gif" 
		height="310">
		<Require feature="setprefs" />
	</ModulePrefs>
	<UserPref
		name="station"
		default_value="0"
		datatype="hidden" 
		required="true" />
	<UserPref
		name="lasti"
		default_value="1"
		datatype="hidden" 
		required="true" />				
	<Content type="html">
		<![CDATA[
			<style type="text/css">
			
				/*
				 Czcionka
				*/
				
					div, td, a, select, option
					{
						font-family: Arial;
						font-size: 11px;
					}
					
					a, a:visited
					{
						color: #000000;
						text-decoration: none;
					}
					
					a img
					{
						border: 0;
					}
					
					.description, .description a
					{
						color: #666e73;
					}
				/* 
				 Tabelki
				*/
					table
					{
						border-collapse: collapse;
						border-spacing: 2px;
					}
					td
					{
						padding: 0;
					}
					.tdSeparator
					{				
						text-align: center;
						width: 11px;
					}
				
				/* 
				 Górna Belka 
				*/
				
					#divTop__MODULE_ID__
					{	
						background-repeat: repeat-x;
						border-bottom: 1px solid #aab1b2;
						height: 25px;
						width: 100%;
					}	
					#divTop__MODULE_ID__ .divText
					{
						float: left;					
						height: 25px;		
						line-height: 25px
					}	
					
				
				/* 
				 Środek 
				*/
				
					#divMiddle__MODULE_ID__
					{
						background-color: #c8d0d2;
						border-left: 1px solid #b5b5b5;						
						height: 250px;
						overflow: auto;
						width: 100%;
					}	
				
				/* 
				 Dolna Belka 
				*/
				
					#divBottom__MODULE_ID__
					{
						/* Adres do grafiki */
						background-repeat: repeat-x;
						border-top: 1px solid #d0d7d9;
						height: 32px;
						text-align: center;
						width: 100%;				
					}	
					.tabBottom
					{
						border-collapse: collapse;
						width: 100%;
					}
					.tabBottom td
					{
						padding: 0;
						text-align: center;
					}
					#divBottom__MODULE_ID__ .divText
					{						
						font-size: 11px;
						height: 32px;		
						line-height: 32px
					}						
				
				/* 
				 Rogi 
				*/
				
					#cornerTL__MODULE_ID__				
					{
						/* Adres do grafiki */
						background-repeat: no-repeat;
						float: left;
						height: 25px;
						width: 9px;
					}
					
					#cornerTR__MODULE_ID__				
					{
						/* Adres do grafiki */
						background-repeat: no-repeat;
						float: right;
						height: 25px;
						width: 9px;
					}	
					
					#cornerBL__MODULE_ID__				
					{
						/* Adres do grafiki */
						background-repeat: no-repeat;
						float: left;
						height: 32px;
						width: 9px;
					}
					
					 
					
					#cornerBR__MODULE_ID__				
					{
						/* Adres do grafiki */
						background-repeat: no-repeat;
						float: right;
						height: 32px;
						width: 9px;
					}				
				
				/*
				 Kolumna Programu
				*/
				
					.item
					{
						border-bottom: 1px solid #aab1b2;
						border-top: 1px solid #d0d7d9;
						line-height: 23px;
						width: 100%;					
					}
					
					.itemHour
					{
						font-weight: bold;
						text-align: right;
						width: 40px;
					}
					
					.divWrap
					{
						height: 23px;
						overflow: hidden;
						width: 100%;
					}	
					
					.itemCur
					{
						background-color: #DDE4E6;
					}			
					
				/*
				 Data
				*/
				
					#date__MODULE_ID__
					{
						display: inline;
						font-size: 11px;
						font-weight: bold;
					}
					
				/*
				 Select
				*/
					option
					{

					}
					.optSpecial
					{
						background-color: #c8d0d2;
						font-weight: bold; 
					}
					#divSelect__MODULE_ID__
					{
						float: right;
					}
					select
					{
						margin-top: 3px;
						width: 75px;
					}
					
								
				
			</style>
			
			<div id="divTop__MODULE_ID__">
				<div id="cornerTL__MODULE_ID__"></div>
				<div class="divText">
					<div id="date__MODULE_ID__">---</div>
				</div>
				<div id="cornerTR__MODULE_ID__"></div>
				<div id="divSelect__MODULE_ID__">
					<select id="selStation__MODULE_ID__" onchange="setStation()">
						<option class="optSpecial" value="a">Standardowe:</option>
							<option value="44">TVP 1</option>
							<option value="45">TVP 2</option>
							<option value="49">Polsat</option>
							<option value="162">TVN</option>
							<option value="15">TV 4</option>
							<option value="118">TV Polonia</option>
							<option value="120">TVP INFO</option>
							<option value="183">PULS</option>							
							
						<option class="optSpecial" value="b">Rozrywkowe:</option>
							<option value="59">BBC Prime</option>
							<option value="283">ITVN</option>
							<option value="150">Polonia 1</option>
							<option value="51">TVN 7</option>
							<option value="195">Tele 5</option>
							<option value="152">Polsat 2</option>
							<option value="275">TVN Gra</option>
							<option value="14">Pro 7</option>	
							<option value="19">RTL 2</option>
							<option value="20">RTL</option>	
							<option value="21">SAT.1</option>																		
							
						<option class="optSpecial" value="c">Filmowe:</option>												
							<option value="48">CANAL+</option>
							<option value="137">HBO</option>
							<option value="238">HBO2</option>
							<option value="234">AXN</option>
							<option value="270">AXN Crime</option>
							<option value="271">AXN Sci-fi</option>
							<option value="273">Cinemax</option>
							<option value="274">Cinemax 2</option>	
							<option value="96">Premiere: Sci-Fantasy</option>
							<option value="256">Premiere: Serie</option>
							<option value="81">Premiere: Krimi & co</option>
							<option value="258">TC Cinema</option>
							<option value="260">TC Star</option>
							<option value="195">Tele 5</option>	
							<option value="154">Romantica</option>
							<option value="233">Kino Polska</option>
							<option value="138">Hallmark</option>
							<option value="122">Ale Kino!</option>
							<option value="164">ZONE EUROPA</option>
							<option value="127">CANAL+ Film</option>					
							
						<option class="optSpecial" value="d">Dla dzieci:</option>
							<option value="135">Jetix</option>
							<option value="136">Hyper</option>
							<option value="285">Boomerang</option>
							<option value="286">Jetix Play</option>
							<option value="143">ZIG-ZAP</option>
							<option value="264">Mini Mini</option>
							<!-- option value="124">Cartoon Network</option -->
							<!-- option value="67">Premiere: Disnay Channel</option -->
						
						<option class="optSpecial" value="e">Dokumentalne:</option>
							<option value="130">Discovery</option>
							<option value="128">Discovery Civilisation</option>
							<option value="129">Discovery Sci-Trek</option>						
							<option value="131">Discovery Travel and Living</option>
							<option value="123">Animal Planet</option>
							<option value="145">National Geographic</option>
							<option value="160">Travel Channel</option>
							<option value="155">ZONE REALITY</option>
							<option value="151">Planete</option>
							<option value="68">Premiere: Discovery Channel</option>
						
						<option class="optSpecial" value="f">Tematyczne:</option>
							<option value="133">Eurosport</option>
							<option value="236">Eurosport 2</option>
							<option value="239">TVN Turbo</option>							
							<option value="116">TheaterKanal</option>						
							<option value="126">CANAL+ Sport</option>
							<option value="177">Polsat Sport</option>							
							<option value="134">Fashion TV</option>
							<option value="71">Eurosport Deutsch</option>
							<option value="190">ZONE CLUB</option>
							<option value="191">Extreme Sports</option>
							<option value="265">TVP Kultura</option>
							<option value="267">Edusat</option>
							<option value="268">TV Biznes</option>
							<option value="277">TVN Style</option>
							<option value="282">Polsat Sport Extra</option>						
							<option value="284">CANAL+ Sport 2</option>
							<option value="287">Polsat Zdrowie i Uroda</option>
							<option value="290">Kuchnia.TV</option>
							<option value="291">Sport Klub</option>
							
						<option class="optSpecial" value="g">Muzyczne:</option>
							<option value="144">MTV</option>
							<option value="114">Viva 1</option>	
							<option value="197">VH-1</option>						
							<option value="84">MTV Deutsch</option>
							<option value="269">4 Fun TV</option>
							
						<option class="optSpecial" value="h">Informacyjne:</option>	
							<option value="66">CNN</option>
							<option value="188">TVN 24</option>	
							<option value="272">BBC World</option>						
							<option value="276">TVN Meteo</option>													
							
						<option class="optSpecial" value="i">Regionalne:</option>
							<option value="32">TVP 3 Białystok</option>
							<option value="33">TVP 3 Bydgoszcz</option>
							<option value="34">TVP 3 Gdańsk</option>
							<option value="35">TVP 3 Kraków</option>
							<option value="36">TVP 3 Katowice</option>
							<option value="288">TVP3 Kielce</option>							
							<option value="37">TVP 3 Łódź</option>
							<option value="38">TVP 3 Lublin</option>							
							<option value="235">TVP 3 Lubuska</option>
							<option value="237">TVP 3 Olsztyn</option>
							<option value="289">TVP3 Opole</option>
							<option value="39">TVP 3 Poznań</option>
							<option value="40">TVP 3 Rzeszów</option>
							<option value="41">TVP 3 Szczecin</option>
							<option value="42">TVP 3 Warszawa (WOT)</option>
							<option value="43">TVP 3 Wrocław</option>
							
							
																				
						<option class="optSpecial" value="j">Inne:</option>						
							<option value="2">ARD</option>
							<option value="3">Bayern 3</option>
							<option value="5">SF 2</option>
							<option value="6">SF 1</option>
							<option value="7">ORF 1</option>
							<option value="8">Hamburg 1 (Deut.)</option>
							<option value="9">MDR</option>
							<option value="11">N 3</option>
							<option value="12">n-tv</option>						
							<option value="13">Phoenix</option>						
							<option value="18">TeDe</option>										
							<option value="46">VOX</option>
							<option value="47">ZDF</option>	
							<option value="50">RAI</option>						
							<option value="53">TV 5 Europe</option>
							<option value="54">TSR 2</option>
							<option value="55">alpha</option>
							<option value="56">France 2</option>
							<option value="58">ATV (Deut.)</option>						
							<option value="69">DSF</option>						
							<option value="73">France 3</option>
							<option value="74">ORF 2</option>
							<option value="77">Hessen 3</option>
							<option value="79">Kabel 1</option>
							<option value="80">Kinderkanal</option>
							<option value="83">M 6</option>						
							<option value="94">RAI2</option>
							<option value="97">Swizz</option>
							<option value="100">Premiere: 13th Street</option>
							<option value="101">Star TV</option>
							<option value="105">TF 1</option>
							<option value="106">TM3</option>
							<option value="107">TSR</option>
							<option value="109">TV Berlin</option>
							<option value="110">TVE</option>
							<option value="139">H.O.T.</option>
							<option value="141">Kab. WTK Poznań</option>							
							<option value="159">TI2</option>
							<option value="161">TSI</option>
							<option value="168">Bloomberg (Engl.)</option>
							<option value="179">Kab. Toya Łódź</option>
							<option value="184">CT 1</option>
							<option value="185">CT 2</option>
							<option value="186">Nova</option>
							<option value="196">T24</option>
							<option value="216">RETE4</option>
							<option value="240">Viasat History</option>
							<option value="241">Viasat Explorer</option>
							<option value="245">Premiere: Beate Uhse</option>
							<option value="249">Premiere: Jetix</option>						
							<option value="263">TW1</option>
							<option value="280">Deutsche Welle TV</option>
							<option value="292">SPK2</option>					
											
					</select>
					<select id="selDay__MODULE_ID__" onchange="setStation()" style="width:60px">
							<option value="1">Dziś</option>
							<option value="2">Jutro</option>
							<option value="3">Pojutrze</option>
					</select>
				</div>				
			</div>
			<div id="divMiddle__MODULE_ID__" style="overflow-x: hidden">

			</div>
			<div id="divBottom__MODULE_ID__">
				<table class="tabBottom">
					<tr>
						<td>
							<div id="cornerBL__MODULE_ID__"></div>
						</td>
						<td>
							<div class="divText"><a href="http://www.interia.pl" target="_blank"><img src2="bottom_logo.gif" alt="Interia.pl" /></a></div>
						</td>
						<td>
							<div id="cornerBR__MODULE_ID__"></div>
						</td>
					</tr>
				</table>						
			</div>	
			
			<script type="text/javascript">
					var prefs;		
					prefs = new _IG_Prefs(__MODULE_ID__);
					var st;
					var li;	 
					
					
					
					
					
					
					
					
				/*
				 *
				 *
				 *
				 * ADRES DO GRAFIKI SKRYPTU!
				 *
				 *
				 *
				 *
				 */
				 
					img_url ="http://nightwood.net/int/img/tv/";
					
					
					
					
					
					
					
					
					
				function setIdImg(ide, obrazek)
				{
					if(null != obrazek)
					{
						_gel(ide).style.backgroundImage="url('"+img_url+obrazek+"')";
					}
				}
					
				function changeAllImages()
				{
					//dopisujemy ścieżkę przed adresem obrazka
					lista = document.getElementsByTagName('img');
					for(i=0;i<lista.length;i++)
					{
						lista[i].src = img_url + lista[i].getAttribute("src2");
					}
					
					//setClassImg();
					setIdImg("cornerBR__MODULE_ID__","bottom_right.gif");
					setIdImg("cornerBL__MODULE_ID__","bottom_left.gif");
					setIdImg("cornerTR__MODULE_ID__","top_right.gif");
					setIdImg("cornerTL__MODULE_ID__","top_left.gif");
					setIdImg("divBottom__MODULE_ID__","bottom_bg.gif");	
					setIdImg("divTop__MODULE_ID__","top_bg.gif");				
				}	
					
				function setClassImg(klasa, obrazek)
				{	
					if (!document.styleSheets) return;
					var thecss = new Array();
					if (document.styleSheets[0].cssRules)  // normalna przegladarka
					{
						thecss = document.styleSheets[0].cssRules;
					}
					else
					{         
						thecss = document.styleSheets[0].rules;  // IE...
					}
					for (i=0;i<thecss.length;i++)
					{
						if ((thecss[i].selectorText.toLowerCase()==klasa))
						{
							thecss[i].style.backgroundImage="url('"+img_url+obrazek+"')";
						}
					}
				}
				
				
				function setTopDate(x)
				{
				// DATA				
					var currentTime = new Date();
					currentTime.setDate(currentTime.getDate() + x);
					var month = currentTime.getMonth() + 1;
					var day = currentTime.getDate();
					var year = currentTime.getFullYear();				
					var dayOfWeek = currentTime.getDay();
					var days = new Array("Niedziela", "Poniedziałek", "Wtorek", "Środa", "Czwartek", "Piątek", "Sobota");
					
					if(day.length == 1)
					{
						day = "0"+day;
					}
					
					if(month.length == 1)
					{
						month = "0"+month;
					}
				
				// Pokaż datę
					_gel("date__MODULE_ID__").innerHTML = days[dayOfWeek] + ", " + day + "." + month + "." + year;
				}
				
				setTopDate(0);
				
				//Program TV!

					
					

					function setStation() {						
						//var st = prefs.getInt("station");
						var val;
						
						val = _gel("selStation__MODULE_ID__").value;
						switch(val)
						{
							case "a":
								val = 44;
								_gel("selStation__MODULE_ID__").selectedIndex = parseInt(_gel("selStation__MODULE_ID__").selectedIndex) + 1;
							break;
							case "b":
								val = 59;
								_gel("selStation__MODULE_ID__").selectedIndex = parseInt(_gel("selStation__MODULE_ID__").selectedIndex) + 1;
							break;	
							case "c":
								val = 48;
								_gel("selStation__MODULE_ID__").selectedIndex = parseInt(_gel("selStation__MODULE_ID__").selectedIndex) + 1;
							break;	
							case "d":
								val = 135;
								_gel("selStation__MODULE_ID__").selectedIndex = parseInt(_gel("selStation__MODULE_ID__").selectedIndex) + 1;
							break;
							case "e":
								val = 130;
								_gel("selStation__MODULE_ID__").selectedIndex = parseInt(_gel("selStation__MODULE_ID__").selectedIndex) + 1;
							break;	
							case "f":
								val = 133;
								_gel("selStation__MODULE_ID__").selectedIndex = parseInt(_gel("selStation__MODULE_ID__").selectedIndex) + 1;
							break;	
							case "g":
								val = 144;
								_gel("selStation__MODULE_ID__").selectedIndex = parseInt(_gel("selStation__MODULE_ID__").selectedIndex) + 1;
							break;
							case "h":
								val = 66;
								_gel("selStation__MODULE_ID__").selectedIndex = parseInt(_gel("selStation__MODULE_ID__").selectedIndex) + 1;
							break;	
							case "i":
								val = 32;
								_gel("selStation__MODULE_ID__").selectedIndex = parseInt(_gel("selStation__MODULE_ID__").selectedIndex) + 1;
							break;	
							case "j":
								val = 2;
								_gel("selStation__MODULE_ID__").selectedIndex = parseInt(_gel("selStation__MODULE_ID__").selectedIndex) + 1;
							break;																																	
						}
						
						x = _gel("selStation__MODULE_ID__").selectedIndex;
						prefs.set("station", x);
						
						st = parseInt(val);
						showProg();
					}
					
					function showProg()
					{			
						//var x = prefs.getInt("station");		
						//_gel("selStation__MODULE_ID__").selectedIndex = x;
						
						st = parseInt(_gel("selStation__MODULE_ID__").value);
						stDay = parseInt(_gel("selDay__MODULE_ID__").value);			
													
						if(st == 0)
						{
							st = 44;
							_gel("selStation__MODULE_ID__").selectedIndex = 1;

						}
						
						if(stDay == 1)
						{						
							setTopDate(0);
							url = "http://programtv.interia.pl/feed/program,"+st;
						}
						else
						{
							var sday = new Date();
							sday.setDate(sday.getDate()+stDay-1);
							setTopDate(stDay-1);
							var dzien = sday.getDate();
							var rok = sday.getFullYear()
							var miesiac = sday.getMonth() + 1;
							if(dzien < 10)
							{
								dzien = "0"+dzien;
							}
							if(miesiac < 10)
							{
								miesiac = "0"+miesiac;
							}
							url = "http://programtv.interia.pl/feed/program,"+st+"?sDate="+rok+"-"+miesiac+"-"+dzien;
							//alert(url);
						}
						
						_IG_FetchXmlContent(url, function (response) {
							if (response == null || typeof(response) != "object" || response.firstChild == null) 
							{
								_gel("divMiddle__MODULE_ID__").innerHTML = "<i>Błąd pobierania danych</i>";
								return;
							}

							var html = "";
							var chData = response.getElementsByTagName("channel").item(0).getElementsByTagName("item");
							var l = chData.length;
							var text;
							var pause;
							var tim;
							var des;
							var desFull;
							var link;
							var klasa;
							
							var x2;
							var text2;
							var tim2;
							var pause2;
							
							var time = new Date();
							var hour = time.getHours();
							var minute = time.getMinutes();
							
							var hour_p;
							var minute_p;
							
							var hour_p2;
							var minute_p2;		
							
							var nasz_czas;
							var czas1;
							var czas2;
							
							nasz_czas = hour*60 + minute;
							
							var zaznaczono = 0;					
							
							
							for(var x=0; x<l; x++)
							{
								text = chData.item(x).getElementsByTagName("title").item(0).firstChild.nodeValue;
								x2 = x+1;
								if(x == l-1)
								{
									x2 = x;
								}				
								text2 = chData.item(x2).getElementsByTagName("title").item(0).firstChild.nodeValue;
								
								
								desFull = chData.item(x).getElementsByTagName("description").item(0).firstChild.nodeValue;
								link = chData.item(x).getElementsByTagName("link").item(0).firstChild.nodeValue;
								pause = text.indexOf('-');
								pause2 = text2.indexOf('-');
								tim = text.substring(0, pause-1);
								des = text.substring(pause+1, text.length);
								tim2 = text2.substring(0, pause2-1);
								
								hour_p = parseInt(tim.substring(0,tim.length - 3));
								minute_p = parseInt(tim.substring(tim.length - 2, tim.length));
								
								czas1 = hour_p*60 + minute_p;
								
								hour_p2 = parseInt(tim2.substring(0,tim2.length - 3));
								minute_p2 = parseInt(tim2.substring(tim2.length - 2, tim2.length));								
								
								czas2 = hour_p2*60 + minute_p2;
								
								//if(x == 0)
								//{
									//alert(czas1+" "+nasz_czas+" "+czas2);									
								//}
								
								if(tim.length < 5)
								{
									tim = "0" + tim;
								} 
								
								if(desFull == "Brak")
								{
									desFull = ""; 
								}
								else
								{
									desFull = "<span class=\"description\"> - " + desFull + "</span>";
								}
								
								
								
								klasa = "item";
								if(nasz_czas < czas2 && nasz_czas > czas1) // || (x == l-1 && zaznaczono == 0))
								{
									//if(stDay == 1)
									//{
										klasa = "item itemCur";
										zaznaczono = 1;
									//}
								} 
								
								html += "<table class=\""+klasa+"\"><tr><td class=\"itemHour\">" + tim + "&nbsp;</td><td class=\"tdSeparator\"><img alt=\"\" src=\""+img_url+"separator.gif\" height=\"12\" width=\"2\" /></td><td><div class=\"divWrap\"><a href=\"" + link + "\" target=\"_blank\">" + des + desFull + "</a></div></td></tr></table>";
							}
							_gel('divMiddle__MODULE_ID__').innerHTML = html;
						});
					}
					
					_IG_RegisterOnloadHandler(function() { 
						_gel("selStation__MODULE_ID__").selectedIndex = prefs.getInt("station");
						setStation(); 						
						changeAllImages(); 
					});
			</script>		

		]]>
	</Content>
</Module>