/** insieme di funzioni ed oggetti utili per interagire con ajax */

/** FUNZIONI */

		function css_color_change(num,id_p)
		{
		
			
			for (i = 1; i <= num; i++){
		     
		     var id_s = 'l'+i;
		     prendiElementoDaId(id_s).style.color = "#0033ff";
			}

		}
	// funzione per prendere un elemento con id univoco
		function prendiElementoDaId(id_elemento) {
			var elemento;
			if(document.getElementById)
				elemento = document.getElementById(id_elemento);
			else
				elemento = document.all[id_elemento];
			return elemento;
		};
		
		// funzione per ricavare il valore selezionato in un radio button
		function prendiElementoDaRadio(nome_form,id_elemento) {
			var indice = 0; 
				
				for (i = 0; i < document.forms[nome_form].elements[id_elemento].length; i++) { 
					if ( document.forms[nome_form].elements[id_elemento][i].checked) indice = i; 
				} 
				return  document.forms[nome_form].elements[id_elemento][indice]; 

			
		};
		
		
	// funzione per assegnare un oggetto XMLHttpRequest
		function assegnaXMLHttpRequest() {
			var
				XHR = null,
				browserUtente = navigator.userAgent.toUpperCase();
			if(typeof(XMLHttpRequest) === "function" || typeof(XMLHttpRequest) === "object")
				XHR = new XMLHttpRequest();
			else if(window.ActiveXObject && browserUtente.indexOf("MSIE 4") < 0) {
				if(browserUtente.indexOf("MSIE 5") < 0)
					XHR = new ActiveXObject("Msxml2.XMLHTTP");
				else
					XHR = new ActiveXObject("Microsoft.XMLHTTP");
			}
			return XHR;
		};


	function DeleteAndLinkDato(question,classPHP,valore,dato){
		var answer = confirm(question);
		if (answer == true) {
			LinkDato(classPHP,valore,dato);
		}
	}

/** OGGETTI / ARRAY */

	// oggetto di verifica stato
		var readyState = {
			INATTIVO:	0,
			INIZIALIZZATO:	1,
			RICHIESTA:	2,
			RISPOSTA:	3,
			COMPLETATO:	4
		};

	// array descrittivo dei codici restituiti dal server
	// [la scelta dell' array è per evitare problemi con vecchi browsers]
		var statusText = new Array();
		statusText[100] = "Continue";
		statusText[101] = "Switching Protocols";
		statusText[200] = "OK";
		statusText[201] = "Created";
		statusText[202] = "Accepted";
		statusText[203] = "Non-Authoritative Information";
		statusText[204] = "No Content";
		statusText[205] = "Reset Content";
		statusText[206] = "Partial Content";
		statusText[300] = "Multiple Choices";
		statusText[301] = "Moved Permanently";
		statusText[302] = "Found";
		statusText[303] = "See Other";
		statusText[304] = "Not Modified";
		statusText[305] = "Use Proxy";
		statusText[306] = "(unused, but reserved)";
		statusText[307] = "Temporary Redirect";
		statusText[400] = "Bad Request";
		statusText[401] = "Unauthorized";
		statusText[402] = "Payment Required";
		statusText[403] = "Forbidden";
		statusText[404] = "Not Found";
		statusText[405] = "Method Not Allowed";
		statusText[406] = "Not Acceptable";
		statusText[407] = "Proxy Authentication Required";
		statusText[408] = "Request Timeout";
		statusText[409] = "Conflict";
		statusText[410] = "Gone";
		statusText[411] = "Length Required";
		statusText[412] = "Precondition Failed";
		statusText[413] = "Request Entity Too Large";
		statusText[414] = "Request-URI Too Long";
		statusText[415] = "Unsupported Media Type";
		statusText[416] = "Requested Range Not Satisfiable";
		statusText[417] = "Expectation Failed";
		statusText[500] = "Internal Server Error";
		statusText[501] = "Not Implemented";
		statusText[502] = "Bad Gateway";
		statusText[503] = "Service Unavailable";
		statusText[504] = "Gateway Timeout";
		statusText[505] = "HTTP Version Not Supported";
		statusText[509] = "Bandwidth Limit Exceeded";
		
		
		
		
	/* GESTIONE TOOLTIP */
	function mostradivinfo(divsel, img, xxx, yyy){

	if(document.getElementById(divsel).style.visibility == 'visible') xstooltip_hide(divsel);
	else xstooltip_show(divsel, img, xxx, yyy);
	}
	
	function xstooltip_findPosX(obj) 
	{
	  var curleft = 0;
	  if (obj.offsetParent) 
	  {
	    while (obj.offsetParent) 
	        {
	            curleft += obj.offsetLeft
	            obj = obj.offsetParent;
	        }
	    }
	    else if (obj.x)
	        curleft += obj.x;
	    return curleft;
	}
	
	function xstooltip_findPosY(obj) 
	{
	    var curtop = 0;
	    if (obj.offsetParent) 
	    {
	        while (obj.offsetParent) 
	        {
	            curtop += obj.offsetTop
	            obj = obj.offsetParent;
	        }
	    }
	    else if (obj.y)
	        curtop += obj.y;
	    return curtop;
	}
	
	function xstooltip_show(tooltipId, parentId, posX, posY)
	{
	    it = document.getElementById(tooltipId);
	    
	    if ((it.style.top == '' || it.style.top == 0) 
	        && (it.style.left == '' || it.style.left == 0))
	    {
	        // need to fixate default size (MSIE problem)
	        it.style.width = it.offsetWidth + 'px';
	        it.style.height = it.offsetHeight + 'px';
	        
	        img = document.getElementById(parentId); 
	    
	        // if tooltip is too wide, shift left to be within parent 
	        if (posX + it.offsetWidth > img.offsetWidth) posX = img.offsetWidth - it.offsetWidth;
	        if (posX < 0 ) posX = 0; 
	        
	        x = xstooltip_findPosX(img) + posX;
	        y = xstooltip_findPosY(img) + posY;
	        
	        it.style.top = y + 'px';
	        it.style.left = x + 'px';
	    }
	    
	    it.style.visibility = 'visible'; 
	}
	
	function xstooltip_hide(id)
	{
	    it = document.getElementById(id); 
	    it.style.visibility = 'hidden'; 
	}
		
