var uri=(window.location.protocol + "//" + window.location.host + window.location.pathname.substring(0,window.location.pathname.lastIndexOf("/")));

window.onload=function(){carica_immagini();}
window.onscroll=function(){chiudi_evento();}

function apriEvento(oggetto,e)
{
	cambiaColoreCella(oggetto,-1);
	var canc;
	if (canc=document.getElementById("contenitoreEvento"))
	{
		var padre=canc.parentNode;
		padre.removeChild(canc);
	}
	var scrollAlto = window.pageYOffset ? window.pageYOffset : document[(document.compatMode == 'CSS1Compat') ? 'documentElement' : 'body'].scrollTop;
	var scrollSinistra = window.pageXOffset ? window.pageXOffset : document[(document.compatMode == 'CSS1Compat') ? 'documentElement' : 'body'].scrollLeft;
	
	var el=document.createElement("div");
	el.setAttribute("id","contenitoreEvento");
	
	var delta=0;
	var deltaY=0;
	var dimensioni=getPageSize();
	
	var pixel;
	if ((pixel=dimensioni[2]-e.clientX-545+delta)<0)delta+=pixel;
	if ((pixel=e.clientX-200)<0) delta+=(pixel*-1);
	
	var pixelY;
		
	
	with (el.style)
	{
		left=Math.round((dimensioni[0]/2)-300-scrollSinistra) + "px";
		top=Math.round((dimensioni[3]/2)-200+scrollAlto) + "px";
	}
	
	var testoDiv=document.createElement("div");
	testoDiv.setAttribute("id","testoEvento");
	var link=document.createElement("div");
	link.style.cursor="pointer";
	link.style.width="70px";
	link.style.color="#000";
	link.style.fontWeight="bold";
	link.style.position="relative";
	link.style.top="6px";
	link.style.left="435px";
	link.style.padding="1px";
	link.style.background="#69c";
	link.style.textDecoration="none";
	link.style.border="dotted #336 1px";
	var testoLink=document.createTextNode("[x]Chiudi");
	link.appendChild(testoLink);
	link.onclick=function () 
	{
		var el=document.getElementById("contenitoreEvento");
		el.parentNode.removeChild(el);
		cambiaColoreCella(oggetto,-1);	
	};
	el.appendChild(link);
	el.appendChild(testoDiv);
	
	cambiaColoreCella(oggetto,1);
	
	document.body.appendChild(el);
	var data=oggetto.id.substring(1);
	prelevaDati(data);
}

function prelevaDati(data)
{
	var ele=document.getElementById("testoEvento");
	var percorso;
	var attesa=document.createElement("img");
	ele.appendChild(attesa);
	percorso= uri + "/img/attesaDati.gif";
	attesa.src=percorso;
	attesa.id="immagineAttesa";

	
	
	
	percorso= uri + "/calendario/prelevaDati.php?data=" + data;
	var oggetto=creaOggettoXMLHttp();
	oggetto.open("get", percorso , true);
	oggetto.onreadystatechange=function()
	{
		if (oggetto.readyState==4)
		{
			
			if (oggetto.status==200)
			{
				
				document.getElementById("immagineAttesa").style.display="none";
				ele.innerHTML=oggetto.responseText;
			}
			else
			{
				ele.innerHTML="Errore durante il collegamento al database; per ora non è possibile visualizzare eventi. Riprovare in un secondo momento, grazie.<br>Risposta del server: " + oggetto.responseText;
			}
		}
	}
	oggetto.send(null);
}

function creaOggettoXMLHttp()
{
	
	if (typeof XMLHttpRequest != "undefined")
	{
		return new XMLHttpRequest();
	}
	else 
	{
	
		var versioni = [ "MSXML2.XMLHttp.5.0","MSXML2.XMLHttp.4.0","MSXML2.XMLHttp.3.0","MSXML2.XMLHttp","Microsoft.XMLHttp"]; 
		
		for (var i=0; i<versioni.length; i++)
		{
			try
			{
				var oggetto=new ActiveXObject(versioni[i]);
				return oggetto;			
			}
			catch(errore)
			{
				//evito che l'errore blocchi la ricerca dell'oggetto giusto
			}
		}
		
	}
	throw new Error("La libreria MSXML non è installata");
}

function cambiaColoreCella(ele,come)
{
	if (come<0)
	{
		pulisci_tabella();
	}
	else {ele.style.background="#6699cc"}
}


function pulisci_tabella()
{
	var celleData=document.getElementsByTagName("td");
	for (var ind=0;ind<celleData.length;ind++)
	{
		if (celleData[ind].id!="") {celleData[ind].style.background="#993333";}
	}
}

function getPageSize(){
	
	var xScroll, yScroll;
	
	if (window.innerHeight && window.scrollMaxY) {	
		xScroll = window.innerWidth + window.scrollMaxX;
		yScroll = window.innerHeight + window.scrollMaxY;
	} else if (document.body.scrollHeight > document.body.offsetHeight){ 
		xScroll = document.body.scrollWidth;
		yScroll = document.body.scrollHeight;
	} else { 
		xScroll = document.body.offsetWidth;
		yScroll = document.body.offsetHeight;
	}
	
	var windowWidth, windowHeight;
	
	if (self.innerHeight) {
		if(document.documentElement.clientWidth){
			windowWidth = document.documentElement.clientWidth; 
		} else {
			windowWidth = self.innerWidth;
		}
		windowHeight = self.innerHeight;
	} else if (document.documentElement && document.documentElement.clientHeight) { 
		windowWidth = document.documentElement.clientWidth;
		windowHeight = document.documentElement.clientHeight;
	} else if (document.body) { 
		windowWidth = document.body.clientWidth;
		windowHeight = document.body.clientHeight;
	}	
	
	if(yScroll < windowHeight){
		pageHeight = windowHeight;
	} else { 
		pageHeight = yScroll;
	}

	if(xScroll < windowWidth){	
		pageWidth = xScroll;		
	} else {
		pageWidth = windowWidth;
	}

	arrayPageSize = new Array(pageWidth,pageHeight,windowWidth,windowHeight) 
	return arrayPageSize;
}

function carica_immagini()
{
	
	var img=document.createElement("img");
	img.src= uri +"/img/contenitore.png";
	img.style.display="none";
	img.onload=function (){rimuovi(img);};
	document.body.appendChild(img);
	
	var img2=document.createElement("img");
	img2.src= uri +"/img/attesaDati.gif";
	img2.style.display="none";
	img.onload=function (){rimuovi(img2);};
	document.body.appendChild(img2);
}

function rimuovi(cosa)
{
	cosa.parentNode.removeChild(cosa);
}

function chiudi_evento()
{
	var canc;
	if (canc=document.getElementById("contenitoreEvento"))
	{
		var padre=canc.parentNode;
		padre.removeChild(canc);
	}
	pulisci_tabella();
}
