﻿// JScript File

var ajax = assegnaXMLHttpRequest();


// funzione per assegnare l'oggetto XMLHttpRequest
// compatibile con i browsers più recenti e diffusi
function assegnaXMLHttpRequest() {

// lista delle variabili locali
var
 // variabile di ritorno, nulla di default
 ajax = null,
 
 // informazioni sul nome del browser
 browserUtente = navigator.userAgent.toUpperCase();


 // browser standard con supporto nativo
 // non importa il tipo di browser
 if(typeof(XMLHttpRequest) === "function" || typeof(XMLHttpRequest) === "object")
  ajax = new XMLHttpRequest();

 // browser Internet Explorer
 // è necessario filtrare la versione 4
 else if(
  window.ActiveXObject &&
  browserUtente.indexOf("MSIE 4") < 0
 ) {
 
  // la versione 6 di IE ha un nome differente
  // per il tipo di oggetto ActiveX
  if(browserUtente.indexOf("MSIE 5") < 0)
   ajax = new ActiveXObject("Msxml2.XMLHTTP");

  // le versioni 5 e 5.5 invece sfruttano lo stesso nome
  else
   ajax = new ActiveXObject("Microsoft.XMLHTTP");
 }

 return ajax;
} 

function prendiElementoDaId(id_elemento) {
 // elemento da restituire
 var elemento;
 
 // se esiste il metodo getElementById
 // questo if sarà diverso da false, null o undefined
 // e sarà quindi considerato valido, come un true
 if(document.getElementById)
  elemento = document.getElementById(id_elemento);
 
 // altrimenti è necessario usare un vecchio sistema
 else
  elemento = document.all[id_elemento];

 // restituzione elemento
 return elemento;
}

function send(sData,sTarget,sRender,async)
{
//sData è la busta xml
//sTarget è il codice server-side
//sRender è la funzione che gestisce i dati di risposta (generalmente aggiornando il contenuto di un div)
//conviene non metterla nel file ajax.js, ma nello script della singola pagina
//async: true/false, gestisce iil sincronismo dell'interazioneclient-server
ajax.open("POST", sTarget, async, "", "");
ajax.setRequestHeader("content-type", "application/x-www-form-urlencoded");
ajax.setRequestHeader("connection", "close");
//alert(sData);
ajax.send(sData);
window.status = "Load in progress  ";
checkReadyState(sRender);
window.status = "";
}



	
function checkReadyState(renderFunction)
{
    if (ajax.readyState == 4)
	{
		if(renderFunction!="")
		{
		eval(renderFunction + "(ajax.responseText);");
		}
	}
    else
	{
	window.setTimeout("checkReadyState('" + renderFunction + "')", 50);
	}
}



getDataYT = function(spanId,videoId)
{

//var webServer="http://localhost:1381/ecodellarete";
var webServer="http://www.ecodellarete.net";

var sXML = "";
	sXML += "<ReportRequest>";
	sXML += "<ReportOption>";
	sXML += "<spanId>" + spanId + "</spanId>";
	sXML += "<videoId>" + videoId + "</videoId>";
	sXML += "</ReportOption>";
	sXML += "</ReportRequest>";
	//alert(sXML);
	//alert(spanId);

    send(sXML, webServer + "/libraryCode/xmlHttpGetYTData.aspx","renderYTData",false)

}

function renderYTData(xmlText)
{
//alert(xmlText);
try
  {
var xmlDoc;
if (window.DOMParser)
  {
  parser=new DOMParser();
  xmlDoc=parser.parseFromString(xmlText,"text/xml");
  }
else // Internet Explorer
  {
  xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
  xmlDoc.async="false";
  xmlDoc.loadXML(xmlText); 
  }
var spanId=xmlDoc.getElementsByTagName("spanId")[0].childNodes[0].nodeValue
var duration=xmlDoc.getElementsByTagName("duration")[0].childNodes[0].nodeValue
var idObj=prendiElementoDaId(spanId);
    if (xmlText=="")
    {idObj.style.display="block";}
    else
    {idObj.value="durata: " + duration;}  
}
catch(err)
  {
  //Handle errors here
  }

}

