var XmlHTTPServProgramaDirecte = "";
var XmlHTTPProgramaDirecte = "";

var UrlDataProgramaDirecte = new Array();
var canals = ['TV3', '33D', '324', 'TV3CAT'];
var canals_label = ['tv3', '33', '324','tv3cat'];

var dataServProgramaDirecte = "";
var v_timestampProgramaDirecte = 0;
var v_dataTimestampProgramaDirecte =0;
var v_intervalProgramaDirecte = 30;
var tempsCarregaProgramaDirecte = v_intervalProgramaDirecte * 1000;

function funcioInicialProgramaDirecte(idint,forma) {
		try {
			XmlHTTPServProgramaDirecte=new XMLHttpRequest();
		}
		catch (e) {
			try {
					XmlHTTPServProgramaDirecte=new ActiveXObject("Msxml2.XMLHTTP");
			}
			catch (e) {
					XmlHTTPServProgramaDirecte=new ActiveXObject("Microsoft.XMLHTTP");
			}
		}
		if (XmlHTTPServProgramaDirecte == null) {
			alert ("Aquest navegador no accepta AJAX");
		}
		else {
		  
		  for (var i=0; i<canals.length; i++){
		  	UrlDataProgramaDirecte[i] = 'http://www.tv3.cat/ptv3/arafem/arafem_'+ canals[i]+'.xml';
			}

		  
		  
		  
		  
		  //UrlDataProgramaDirecte = 'http://www.3cat24.cat/js_dinamic/ProgramaDirectes/notProgramaDirecte.js';
			//Hacemos una primera peticion para saber la hora del servidor.
			var urlRandomServProgramaDirecte = "/su/time.jsp?type=xml&format=HH-mm-ss-yyyyMMdd&dummy=" + Math.random();
			XmlHTTPServProgramaDirecte.onreadystatechange = 	Function("canviEstatHoraServProgramaDirecte("+idint+",'"+forma+"')");
			XmlHTTPServProgramaDirecte.open("GET",urlRandomServProgramaDirecte,true);
			XmlHTTPServProgramaDirecte.send(null);
		}
}

function canviEstatHoraServProgramaDirecte(idint,forma) {
	if (XmlHTTPServProgramaDirecte.readyState == 4) {
		if (XmlHTTPServProgramaDirecte.responseXML != undefined && XmlHTTPServProgramaDirecte.responseXML) {
			var result = XmlHTTPServProgramaDirecte.responseXML;
			var rootElement = result.documentElement;
			dataServProgramaDirecte = rootElement.attributes.getNamedItem("actual").value;
		  var ast= dataServProgramaDirecte.split('-');
	  	var vTime= (parseInt(ast[0])*3600) + (parseInt(ast[1])*60) + (parseInt(ast[2]));
	  	v_timestampProgramaDirecte= Math.floor( vTime / v_intervalProgramaDirecte );
	  	v_dataTimestampProgramaDirecte = ast[3];
			carregaDadesProgramaDirecte(0,idint,forma,v_timestampProgramaDirecte);
		}
	}
}

function carregaDadesProgramaDirecte(pos,idint,forma,time) {
	try {
		XmlHTTPProgramaDirecte=new XMLHttpRequest();
	} catch (e) {
	// Internet Explorer
		try {
			XmlHTTPProgramaDirecte=new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			XmlHTTPProgramaDirecte=new ActiveXObject("Microsoft.XMLHTTP");
		}
	}
	
	if (XmlHTTPProgramaDirecte == null) {
		alert ("Aquest navegador no accepta AJAX");
	} else {
		
		var urlRandomProgramaDirecte = UrlDataProgramaDirecte[pos] + "?dummy=" +v_dataTimestampProgramaDirecte + '' + time;
		v_timestampProgramaDirecte= time;
		XmlHTTPProgramaDirecte.onreadystatechange = 	Function("canviEstatCarregaProgramaDirecte("+pos+","+idint+",'"+forma+"','"+time+"')");
		XmlHTTPProgramaDirecte.open("GET",urlRandomProgramaDirecte,true);
		XmlHTTPProgramaDirecte.send(null);
	}
}

function canviEstatCarregaProgramaDirecte(pos,idint,forma,time) {

	var vuelta = 0;
	if (XmlHTTPProgramaDirecte.readyState == 4) {
	// Fi de la carrega de dades
		if(XmlHTTPProgramaDirecte.responseXML != undefined && XmlHTTPProgramaDirecte.responseXML){
				vuelta = pintaDades(pos, idint,forma,time, XmlHTTPProgramaDirecte.responseXML);
		}
		if(vuelta>0){
			var timeInc = parseInt(time) + 1;
			
			setTimeout("carregaDadesProgramaDirecte("+0+","+idint+",'"+forma+"','"+timeInc+"')", tempsCarregaProgramaDirecte);
		}
	}
	
}

function pintaDades(pos, idint,forma,time, result) {

	var rootElement = result.documentElement;
	var contingut = '';
	if(rootElement && rootElement != null) {
		var item= "";		
		item = rootElement.getElementsByTagName("item");
		if (item.length > 0){
			for (var i=0; i<item.length; i++){
				tagItem = item[i]; //Miramos el NOW
				tagTaula = tagItem.getElementsByTagName("taula");
				if (tagTaula.length > 0){
					if("now" == tagTaula[0].firstChild.data){
						tagDrets = tagItem.getElementsByTagName("drets");
						if (tagDrets.length > 0){
							if("SI" == tagDrets[0].firstChild.data){
								var tagId = tagItem.getElementsByTagName("id_ptvc");
								if (tagId.length > 0){
									if(tagId[0].firstChild!=null ){
										if(idint==tagId[0].firstChild.data){
											var hora = "";
											if(tagItem.getElementsByTagName("hora")[0].firstChild!=null){
												hora = tagItem.getElementsByTagName("hora")[0].firstChild.data;
											}
											var titol = "";
											if(tagItem.getElementsByTagName("titol")[0].firstChild!=null){
												titol = tagItem.getElementsByTagName("titol")[0].firstChild.data;
											}
											
											if("cuadrat" == forma){											
												contingut+='<div class="mod320_prog_directe">';
												contingut+='<h2>Ara en directe per internet</h2>';
												contingut+='<img src="/img/logo_'+canals_label[pos]+'_moddirectes.gif" title="logo '+canals_label[pos]+'" alt="logo '+canals_label[pos]+'" /><span>'+hora+' '+titol+'</span>';
												contingut+='<div class="bt_mod320_directes">';
												contingut+='<a href="/3alacarta/#/directes/'+canals[pos]+'"  class="bt_miralal3acbeta">Mira\'l al TV3alacarta</a>';
												contingut+='</div>';
											}
											if("linea" == forma){											
												var titol_reduit = "";
												if(titol.length >= 45){titol_reduit = titol.substring(0,45) + "..."; }
												else{titol_reduit = titol;}
												contingut+='<div class="mod996_prog_directe">';
												contingut+='<div class="aed_programa"><h2>Ara en directe per internet</h2>';				
												contingut+='<img src="/img/logo_'+canals_label[pos]+'_moddirectes.gif" title="logo '+canals_label[pos]+'" alt="logo '+canals_label[pos]+'" />';
												contingut+='<p><span>'+hora+' '+titol_reduit+'</span></p></div>';
												contingut+='<div class="bt_mod996_directes">';
												contingut+='<a href="/3alacarta/#/directes/'+canals[pos]+'"  class="bt_miralal3acbeta">Mira\'l al TV3alacarta</a>';
												contingut+='</div>';
												contingut+='</div>';												
											}
											document.getElementById("target_ProgramaDirecte").innerHTML = contingut ;
											return 2;
										}
									}
								}
							}
						}
					}
				}	
			}
		}
	}
	
	//tenemos que seguir lanzando llamadas a los otros XML o bien reactivar todas las llamadas
	if(pos<canals.length-1){
		carregaDadesProgramaDirecte(pos+1,idint,forma,time);
		return 0;
	}
	else{
		document.getElementById("target_ProgramaDirecte").innerHTML = contingut ;
		return 1;
	}
															
}
