/*
	Libreria di funzioni standard
*/
var mappe = new Array();
//////////////////////////////////////////////////////////////////////////
// A H A H

//Funzione di invio di un form con AHAH
function submit(FILE, METHOD,target,form, hideLoadingLabel){
//	var num = document.forms[0].elements.length;

	if(typeof form != 'object')
		form = document.getElementById(form);
	  	
	var num = form.elements.length;
	var url = "";

	//radio button
	var j = 0;
	var a = 0;
	var radio_buttons = new Array();
	var nome_buttons = new Array();
//	var the_form = window.document.forms[0];
	var the_form = form;
	for(var i=0; i< the_form.length; i++){
		var temp = the_form.elements[i].type;
		if ( (temp == "radio") && ( the_form.elements[i].checked) ) {
			nome_buttons[a] = the_form.elements[i].name;
			radio_buttons[j] = the_form.elements[i].value;
			j++;
			a++;
		}
	}
	for(var k = 0; k < radio_buttons.length; k++) {
		url += nome_buttons[k] + "=" + radio_buttons[k] + "&";
	}
	//checkbox
	var j = 0;
	var a = 0;
	var check_buttons = new Array();
	var nome_buttons = new Array();
//	var the_form = window.document.forms[0];
	var the_form = form;
	for(var i=0; i< the_form.length; i++){
		var temp = the_form.elements[i].type;
		if ( (temp == "checkbox") && ( the_form.elements[i].checked) ) {
			nome_buttons[a] = the_form.elements[i].name;
			check_buttons[j] = the_form.elements[i].value;
			j++;
			a++;
		}
	}
	for(var k = 0; k < check_buttons.length; k++) {
		url += nome_buttons[k] + "=" + check_buttons[k] + "&";
	}

	//select (multiselect)
	var j = 0;
	var a = 0;
	var multiselect = new Array();
	var nome_select = new Array();
	var the_form = form;
	for(var i=0; i< the_form.length; i++){
		var temp = the_form.elements[i].type;
		if ( the_form.elements[i].options != undefined )
		{
			for(var y=0; y < the_form.elements[i].options.length; y++)
			{
				if(the_form.elements[i].options[y].selected)
				{
					nome_select[a] = the_form.elements[i].name;
					multiselect[j] = the_form.elements[i].options[y].value;
					j++;
					a++;
				}
			}
		}
	}
	for(var k = 0; k < multiselect.length; k++) {
		url += nome_select[k] + "=" + multiselect[k] + "&";
	}

	for (var i = 0; i < num; i++){

//		var chiave = document.forms[0].elements[i].name;
//		var valore = document.forms[0].elements[i].value;
//		var tipo = document.forms[0].elements[i].type;
		var chiave = form.elements[i].name;
		var valore = form.elements[i].value;
		//if (chiave=='abstract') alert(valore);
		// valore = escape(valore);
		valore = encodeURIComponent(valore);
			
		// valore = valore.replace(/\+/gi, '%2B');
		//if (chiave=='abstract') alert(valore);
		//valore = valore.replace(/&/g,"__#and#__");
//		valore = valore.replace(/(\w|\W)/g,
//			   function (s, n) {
//			     c=n.charCodeAt(0);
//			     return (c==38?'&amp;':(c>127?'&#'+c+';':n));
//			   }
//			);
		var tipo = form.elements[i].type;

		if ( (tipo == "submit") || (tipo == "radio") || (tipo == "checkbox") || (form.elements[i].options != undefined) ){}
		else {
			url += chiave + "=" + valore + "&";
		}
	}
	var parameters = url;
	url = FILE + "?" + url;
	if (METHOD == undefined) { METHOD = "GET"; 	}
	if (METHOD == "GET") { ahah(url, target, '', METHOD); }
	else { ahah(FILE, target, '', METHOD, parameters, hideLoadingLabel); }
}



//   A H A H
function ahah(url, target, delay, method, parameters, hideLoadingLabel) {

// 	alert(hideLoadingLabel);
	
  if (method == undefined) {
	  if(hideLoadingLabel == undefined)
	  {
	  	if(typeof target ==	'object')
	  		target.innerHTML = 'caricamento in corso...';
	  	else
	  		document.getElementById(target).innerHTML = 'caricamento in corso...';
	  }
	  var req;
	  
	  if (window.XMLHttpRequest) {
		req = new XMLHttpRequest();
	  } else if (window.ActiveXObject) {
		req = new ActiveXObject("Microsoft.XMLHTTP");
	  }
	  if (req) {
		
	  	
	  	req.onreadystatechange = function() {
			ahahDone(url, target, req, delay, method, parameters);
		};
		req.open("GET", url, true);
		req.setRequestHeader("X-Requested-With",'XMLHttpRequest');
		req.send("");
	  }
  }
  if ( (method == "GET") || (method == "get") )
  {
	   if(hideLoadingLabel == undefined)
	   {
		  	if(typeof target ==	'object')
		  		target.innerHTML = 'caricamento in corso...';
		  	else
			   	document.getElementById(target).innerHTML = 'caricamento in corso...';
	   }
	  if (window.XMLHttpRequest) {
		req = new XMLHttpRequest();
	  } else if (window.ActiveXObject) {
		req = new ActiveXObject("Microsoft.XMLHTTP");
	  }
	  if (req) {
	  	
		req.onreadystatechange = function() {
			ahahDone(url, target, req, delay, method, parameters);
		};
		req.open(method, url, true);
		req.setRequestHeader("X-Requested-With",'XMLHttpRequest');
		req.send("");
	  }
  }

  if ( (method == "POST") || (method == "post") )
  {
	  if(hideLoadingLabel == undefined)
	  {
		  	if(typeof target ==	'object')
		  		target.innerHTML = 'caricamento in corso...';
		  	else
			  	document.getElementById(target).innerHTML = 'caricamento in corso...';
	  }
	  if (window.XMLHttpRequest) {
		req = new XMLHttpRequest();
	  } else if (window.ActiveXObject) {
		req = new ActiveXObject("Microsoft.XMLHTTP");
	  }
	  if (req) {
		req.onreadystatechange = function() {
			ahahDone(url, target, req, delay, method, parameters);
		};
		req.open(method, url, true);
		req.setRequestHeader("Content-type", "application/x-www-form-urlencoded; charset=utf-8");
		req.setRequestHeader("X-Requested-With",'XMLHttpRequest');
//		req.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		req.send(parameters);
	  }
  }
}



// A H A H   D O N E
function ahahDone(url, target, req, delay, method, parameters) {
	
	
  if (req.readyState == 4)
  {
		if(typeof target ==	'object')
				var div = target;
			else if(document.getElementById(target))	
				var div = document.getElementById(target);
				
		if (req.status == 200 )
		{
			risposta = 1;
			div.innerHTML = req.responseText;
			execJS(div);
		}
		else
		{
		    risposta = 0;
		    div.innerHTML="ahah error:\n"+req.statusText+"\n status="+req.status;
		}
  }
//  alert('readyState='+req.readyState+' status='+req.status);
}


//Esegue gli script presenti nell'html scritto da ahah; prende come parametro il
//getelementbyid del div contenente l'html generato

function execJS(node){
	var bSaf = (navigator.userAgent.indexOf('Safari') != -1);
	var bOpera = (navigator.userAgent.indexOf('Opera') != -1);
	var bMoz = (navigator.appName == 'Netscape');

	var st = node.getElementsByTagName('script');
	var strExec;

	for(var i=0;i<st.length;i++){
		if(bSaf){
			strExec = st[i].innerHTML;
		}else if(bOpera){
			strExec = st[i].text;
		}else if(bMoz){
			strExec = st[i].textContent;
		}else{
			strExec = st[i].innerHTML;
		}

		try{
			eval(strExec);
		}catch(e){
			alert(e);
		}
	}
}


//Mostra l'indicatore di caricamento per chiamate ajax
function mostra_indicatore() {
	if (document.getElementById('message')) svuota_messaggi();
	var gif_indicatore = document.createElement('img');
	var indicatore = document.getElementById('messages');
	if(indicatore)
	{
		gif_indicatore.src = '/graphic/loading.gif';
		gif_indicatore.id = 'message';
		gif_indicatore.setAttribute('border',0);
		indicatore.appendChild(gif_indicatore);
	}
}
//
//function mostra_indicatore(url) {
//	
//	try
//	{
//		var page_info = getPageSize();
//	}
//	catch(e)
//	{
//		alert('funzione getPageSize non trovata');
//	}
//	
//	var div = document.createElement('div');
//	div.style.width = page_info[0] + 'px';
//	div.style.height = page_info[1]  + 'px';
//	div.style.backgroundColor = 'black';
//	div.style.position = 'absolute';
//	
//	div.style.top = 0 + 'px';
//	div.style.zIndex = 10000;
//	div.style.display = 'none';
//	div.id = 'div_opaco';
//	
//	var img = document.createElement('img');
//	img.src =url;
//	img.style.width = "16px";
//	img.style.height = "16px";
//	
//	var div_img = document.createElement('div');
//	//div_img.style.width = '50px';
//	//div_img.style.height = '50px';
//	div_img.style.position = 'absolute';
//	div_img.style.top = (page_info[3] / 2) + 'px';
//	div_img.style.left = (page_info[2] / 2) + 'px';
//	div_img.style.zIndex = 10010;
//	
//	div_img.appendChild(img);
//	
//	div.appendChild(div_img);
//	
//	var body = document.getElementsByTagName('body');
//	/*div.style.opacity = '.5';
//	div.style.filter = 'alpha(opacity:50)';*/
//	body[0].appendChild(div);
//	
//	
//	new Effect.Appear('div_opaco', {duration:0.5,transition: Effect.Transitions.linear,  from: 0, to: 0.5 });
//}
//

//////////////////////////////////////////////////////////////////////////
// L O A D C O N T E N T

function loadContent(file){  
     var head = document.getElementsByTagName('head').item(0);  
     var scriptTag = document.getElementById('loadScript');  
     if(scriptTag) head.removeChild(scriptTag);  
     script = document.createElement('script');  
     var ranNum= Math.round(Math.random()*Math.random()*1000);   
     if (file.indexOf('?') == -1) file = file + '?';
     script.src = file + "&random=" + ranNum + "&_loadscript=1"; 
     script.type = 'text/javascript';  
     script.id = 'loadScript';  
     head.appendChild(script);  

}


function addEvent(obj, evType, fn){
	if (obj.addEventListener){  
		obj.addEventListener(evType, fn, false);  
		return true;  
	} else if (obj.attachEvent){  
		var r = obj.attachEvent("on"+evType, fn);  
		return r;  
	} else {  
		return false;  
	}
}

function removeEvent( obj, type, fn ) {
	if ( obj.detachEvent ) {
		obj.detachEvent( 'on'+type, obj[type+fn] );
		obj[type+fn] = null;
	} else
		obj.removeEventListener( type, fn, false );
}

///////////////////////////////////////////////////////////////////////////
//
//	Funzione per la richiesta di cancellazione
//	Se viene passato anche l'id allora viene fatta una richiesta tramite ahah
function cancella(messaggio, url, id)
{
	if(confirm(messaggio))
	{
		if(!id)
			location.href = url;
		else
		{
			if(id == 'loadContent')
				loadContent(url);
			else
				ahah(url, id);
		}
	}
}

/**
	Mostra / Nasconde un tag con id
*/
function display(id, inline)
{
	
	
	var div = document.getElementById(id);
	if(div.style.display != 'none')
		div.style.display = 'none';
	else
		if(inline)
			div.style.display = 'inline';
		else
			div.style.display = 'block';
	
	if(mappe != undefined)
	{
		for(var i=0;i< mappe.length; i++)
		{
			var center = mappe[i].getCenter();
			mappe[i].checkResize();		
			mappe[i].setCenter(center);
		}
	}
}

/*
Determina il Client Browser
*/
function detectBrowser()
{
	var Engine = {
		detect: function() {
			var UA = navigator.userAgent;
			this.isKHTML = /Konqueror|Safari|KHTML/.test(UA);
			this.isGecko = (/Gecko/.test(UA) && !this.isKHTML);
			this.isOpera = /Opera/.test(UA);
			this.isMSIE  = (/MSIE/.test(UA) && !this.isOpera);
			this.isMSIE7 = this.isMSIE && !(/MSIE 6\./.test(UA) && !this.isOpera);
		}
	};
	Engine.detect();
	return Engine;
}




///////////////////////////////////////////////////////////////////////////
// N O T I F I C H E   D I   M E S S A G G I 

function notify(msg, target)
{	
	var target = document.getElementById(target);
	target.innerHTML = msg;
	target.style.backgroundColor = '#fc9c9c';
	new Effect.Morph(target,
		{
			style: 'background:#fff;duration:3',
			duration: 3
		}
	);
}


/*
	message 	= messaggio da mostrare
	label		= se settato mostra label come etichetta in testa al divPopUp
	width		= larghezza default = 300
	url			= se settato sull'OK manda all'url
	target		= se setttato richiede url in ahah e lo mette nel div con id target
	callback	= funzione da eseguire alla solo pressione dell'OK
	colori		= array di colori (background, border)
*/
function notifica(message, label, url, target, callback, width, colori)
{
	if(width===undefined || width==='')
		var width = '300';
	if(colori===undefined)
		var colori = new Array();
	if(colori['background']===undefined)
		colori['background'] = 'black';
	if(colori['border']===undefined)
		colori['border'] = '#f26522';
	
    var body = document.getElementsByTagName('body').item(0); 
    
    var old_msg_background = document.getElementById('msg_background');  
    if(old_msg_background) body.removeChild(old_msg_background);  
     
    var msg_background = document.createElement('div');
    msg_background.id = 'msg_background';
    msg_background.style.position = 'absolute';
    msg_background.style.width = '100%';
    msg_background.style.height = '100%';
    msg_background.style.top = '0px';
    msg_background.style.left = '0px';
    
	body.appendChild(msg_background);  
    
	var backgroundDiv = document.createElement('div');
    backgroundDiv.style.position = 'absolute';
    backgroundDiv.style.backgroundColor = colori['background'];
    backgroundDiv.style.width = '100%';
    backgroundDiv.style.height = '100%';
    backgroundDiv.style.top = '0px';
    backgroundDiv.style.left = '0px';
    backgroundDiv.style.zIndex = '100';
    backgroundDiv.style.opacity = '.80';
    backgroundDiv.style.filter = 'alpha(opacity=80)';
    
    backgroundDiv.onclick = function () {
    	display('msg_background');
		if(callback!==undefined && callback!=='')
			eval(callback);
    }
	
	msg_background.appendChild(backgroundDiv);
	
    var msgBox = document.createElement('div');
    msgBox.id = 'msgBox';
    msgBox.style.backgroundColor = '#fff';  
    msgBox.style.border = '2px solid '+colori['border'];  
    msgBox.style.width = width+'px';  
    msgBox.style.position = 'absolute'; 
    msgBox.style.zIndex = '120';    
    msgBox.style.overflow = 'hidden';
    
	msg_background.appendChild(msgBox);
	
	if(label != undefined && label != '')
	{
	    var labelDiv = document.createElement('div');
	    labelDiv.style.lineHeight = '20px';
	    labelDiv.style.fontWeight = 'bold';
	    labelDiv.style.color = 'white';
	    labelDiv.style.backgroundColor = colori['border'];
	    labelDiv.style.paddingLeft = '5px';
	    labelDiv.style.textAlign = 'left';
	    labelDiv.innerHTML = label;
		
	    msgBox.appendChild(labelDiv);
	}
	
    var messageDiv = document.createElement('div');
    messageDiv.id = 'messageBox';
    messageDiv.style.textAlign = 'center';
    messageDiv.style.padding = '10px';
//	messageDiv.appendChild(document.createTextNode(message));
//	messageDiv.appendChild(document.createElement('br'));
//	messageDiv.appendChild(document.createElement('br'));
	messageDiv.innerHTML = message+'<br /><br />';

    msgBox.appendChild(messageDiv);
    
    var buttons = document.createElement('div');
//    buttons.style.border = '1px solid red';
    buttons.style.width = '180px';
    buttons.style.marginBottom = '5px';
    buttons.style.height = '20px';
    buttons.style.margin = '0px auto';
    
    messageDiv.appendChild(buttons);
    
    var ok = document.createElement('div');
    ok.style.cursor = 'pointer';
    ok.style.border = '1px solid gray';
    ok.style.background = '#ddd';
    ok.style.width = '80px';
    ok.style.lineHeight = '20px';
    ok.style.margin = '0px auto';
    ok.innerHTML = 'OK';
    
    
    ok.onclick = function () {
    	display('msg_background');
    	
		if(url != undefined && url != '')
		{
			if(target != undefined && target != '')
				ahah(url, target); 
			else  
				location.href = url;   	
		}	
		if(callback!==undefined && callback!=='')
			eval(callback);
    }
    
//	if(url != undefined && url != '')
//	{
//		if(target != undefined && target != '')
//		    ok.onclick = function () {
//		    	display('msg_background');
//				ahah(url, target);   	
//		    }
//		else
//		    ok.onclick = function () {
//		    	display('msg_background');
//				location.href = url;   	
//		    }			
//	}
//    else
//	    ok.onclick = function () {
//	    	display('msg_background');
//			if(callback!==undefined && callback!=='')
//				eval(callback);
//	    }
	    
    buttons.appendChild(ok);

    if(url != undefined && url != '')
    {
	    var cancel = document.createElement('div');
	    ok.style.styleFloat = 'left';
	    ok.style.cssFloat = 'left';
	    cancel.style.styleFloat = 'left';
	    cancel.style.cssFloat = 'left';
	    cancel.style.cursor = 'pointer';
	    cancel.style.border = '1px solid gray';
	    cancel.style.background = '#ddd';
	    cancel.style.width = '80px';
	    cancel.style.lineHeight = '20px';
	    cancel.style.margin = '0px auto';
	    cancel.style.marginLeft = '16px';
	    cancel.innerHTML = 'CANCEL';
	    cancel.onclick = function () {
	    	display('msg_background');
	    }
	    
	    buttons.appendChild(cancel);
    }
    
    
	try {
		var size = getPageSize();
		var scroll = getPageScroll();
//		alert(scroll);
	
		msg_background.style.height = size[1]+'px';
		
		var height = msgBox.clientHeight;
		
		msgBox.style.left = Math.round((size[0] - width )/2)+'px';
		msgBox.style.top = (Math.round((size[3] - height)/2)+scroll)+'px';
//		alert("InnerHeight = " + msgBox.innerHeight);				
//		alert("ClientHeight = " + msgBox.clientHeight);
		function scrollEvent() {
			var scroll = getPageScroll();
			var size = getPageSize();
			var msgBox = document.getElementById('msgBox');
			msgBox.style.top = (Math.round((size[3]-height)/2)+scroll)+'px';
		}
//		window.onscroll = scrollEvent;
		addEvent(window, 'scroll', scrollEvent)
	}
	catch(e)
	{
		alert(e + "\nIncludersi window.js");
	}	
}



//  ------------- PER IL DIV DI RIPRISTINO DELLA SESSIONE -------------

// centra ad ogni resize il div del ripristino
function posizionaRipristinaSessione()
{
	
	var divs = document.getElementsByTagName('div');
	for(i = 0; i< divs.length; i++)
	{
		if(divs.item(i).id == "msgBox")
			var msgBox = divs.item(i);
		
		if(divs.item(i).id == "msg_background")
			var msg_background = divs.item(i);		
	}
	
	msgBox = document.getElementById("msgBox");
	msg_background = document.getElementById("msg_background");
	if(msgBox != undefined)
	{
		width =  msgBox.clientWidth;
	    height = msgBox.clientHeight;
	    backgroundHeight	= msg_background.clientHeight;
	    backgroundWidth		= msg_background.clientWidth;
	    
	    msgBox.style.left = (Math.round(backgroundWidth - width )/2)+'px';
		msgBox.style.top = (Math.round(backgroundHeight - height)/2)+'px';
		msgBox.style.visibility = 'visible';
	}
}

///// Non si riesce a far eseguire al dom lwe funzioni javascript
// invia il form e nasconde il div, 
// diviso in due funzioni per problemi su IE (vedi il setTimeout)
inviaFormRipristina = function(url) {
	submit(url, "POST", "target_ripristina", "formRipristina");
	window.setTimeout("nascondiDivRipristina()", 15);
}
// nasconde il div con il form per il ripristino della sessione
nascondiDivRipristina = function()
{
	var el = document.getElementById("msg_background");
	el.parentNode.removeChild(el);
}
	

// Questa è l'unica funzione da richiamare
// Genera il div che permette di ripristinare la sessione
creaRipristinaSessione = function ( urlRipristina, action, oldUrl, oldParams, label, modo)
{
	backgroundDiv();
	
	var contenuto = "";
	if(modo == undefined )
		modo = '';
	
	// Form per il ripristino della sessione
	contenuto += "<form id=\"formRipristina\" ";
	contenuto += "action=\"javascript:inviaFormRipristina('" + urlRipristina + "')\" ";
	contenuto += "action=\"javascript:alert('" + urlRipristina + "')\" ";
	contenuto += "method=\"post\" ";
	contenuto += "style=\"margin-top:15px;background-color:#989dca; font-family: Trebuchet MS, Tahoma, Verdana, sans-serif;\" >";
	contenuto += "<div style='text-align:center;'>";
	contenuto += "<input type='hidden' name='action' value='" + action + "'>";
	contenuto += "<input type='hidden' name='params' value='" + oldParams + "'  >";
	contenuto += "<div style='clear:right; height:20px;margin-top:5px;'><div style='float:left; height:16px; width:60px; color:white;font-size:11px'>Username</div><div style='float:left; width:160px;'><input type='text' name='username'  style='height:14px; width:150px;'></div></div>";
	contenuto += "<div style='clear:right; height:20px;margin-top:5px;'><div style='float:left; height:16px; width:60px;color:white;font-size:11px'>Password</div><div style='float:left; width:160px'><input type='password' name='password' style='height:14px; width:150px;'></div></div>";				 
	contenuto += "<div style='clear:both; margin-top:5px;'><input type='submit' name='btt' value='Invia' style='font-weight:bold;border:none;background-color:#989dca;font-size: 14px;color: #3c4080;'></div>";
	contenuto += "</div>";
	contenuto += "<input type='hidden' name='request_uri' value='" + oldUrl + "'>";
	contenuto += "<input type='hidden' name='modo' value='" + modo + "'>";
	contenuto += "</form>";
	
	
	var colori = new Array();
	colori['background'] = '#fd1813';
	colori['border'] = 'white';
	colori['labelColor'] = 'red';	
	colori['msgboxBackground'] = '#989dca';		
			
    var body = document.getElementsByTagName('body').item(0);

    var old_msg_background = document.getElementById('msg_background');  
    if(old_msg_background) body.removeChild(old_msg_background);  
     
    var msg_background = document.createElement('div');
    msg_background.id = 'msg_background';
    msg_background.style.position = 'absolute';
    msg_background.style.width = '100%';
    msg_background.style.height = '100%';
    msg_background.style.top = '0px';
    msg_background.style.left = '0px';
    
	body.appendChild(msg_background);  
    
    var msgBox = document.createElement('div');
    msgBox.id = 'msgBox';
    msgBox.style.backgroundColor = colori['msgboxBackground'];  
    msgBox.style.border = '2px solid '+colori['border'];  
    msgBox.style.width = '300px';  
    msgBox.style.position = 'absolute'; 
    msgBox.style.zIndex = '5';    
    msgBox.style.overflow = 'auto';
    msgBox.style.visibility = 'hidden';
    
    msg_background.appendChild(msgBox);
	
	if(label != undefined && label != '')
	{
	    var labelDiv = document.createElement('div');
	    labelDiv.style.lineHeight = '20px';
	    labelDiv.style.fontWeight = 'bold';
	    labelDiv.style.color = colori['labelColor'];
	    labelDiv.style.backgroundColor = colori['border'];
	    labelDiv.style.paddingLeft = '5px';
	    labelDiv.style.textAlign = 'left';
	    labelDiv.innerHTML = label;
	    msgBox.appendChild(labelDiv);
	}
	
	var messageDiv = document.createElement('div');
    messageDiv.style.textAlign = 'center';
    messageDiv.style.padding = '10px';
    
    
	messageDiv.innerHTML = contenuto;
    
    msgBox.appendChild(messageDiv);
   	// window.setTimeout('posizionaRipristinaSessione()', 100);
   	window.setTimeout('window.onresize()', 100);
	
    var target_ripristina = document.getElementById('target_ripristina');
    if(!target_ripristina )  
    {
    	target_ripristina = document.createElement('div');
    	target_ripristina.id = 'target_ripristina';
    	body.appendChild(target_ripristina);  
    }
	
   
	window.onresize = function()
	{
		posizionaRipristinaSessione();
	}
}

// inserisce i background in tutti i frames
backgroundDiv = function(el)
{
	var div = '<div id="divBackground" style="opacity:0.8;filter:alpha(opacity=80);position:absolute;background-color:red;width:100%;height:100%;top:0px;left:0px;"></div>';
	if(el == undefined)
		el = top;	
	
	fram = el.document.getElementsByTagName("FRAME");
	if(fram.length > 0)
	{
		for (var i = 0; i < fram.length; i++) {
			f = eval("el." + fram[i].name);
			subel = f.document.getElementsByTagName("FRAME");
			if(subel.length > 0)
			{
				backgroundDiv(f);
			} else {
				
				doc = f.document;
				bodyEL =doc.getElementsByTagName('body').item(0);
				if(bodyEL != undefined){
					bodyEL.innerHTML += div;
				}
			}
		}
	} else {
		doc = el.document;
		bodyEL =doc.getElementsByTagName('body').item(0);
		if(bodyEL != undefined){
			bodyEL.innerHTML += div;
		}
	}
}

// rimuove i background in tutti i frames
rimuoveBackgroundDiv = function(el)
{
	if(el == undefined)
		el = top;	
	
	fram = el.document.getElementsByTagName("FRAME");
	for (var i = 0; i < fram.length; i++) {
		f = eval("el." + fram[i].name);
		subel = f.document.getElementsByTagName("FRAME");
		if(subel.length > 0)
		{
			rimuoveBackgroundDiv(f);
		} else {
			doc = f.document;
			div =doc.getElementById("divBackground");
			if(div != undefined){
				div.parentNode.removeChild(div);
			}
		}
	}

}
//  -------------/ PER IL DIV DI RIPRISTINO DELLA SESSIONE -------------


function good(message, label, url, target, callback, width, background)
{
	var colori = new Array();
	colori['background'] = background;
	colori['border'] = 'green';
	
	notifica(message, 'Good', url, target, callback, width, colori);	
}

function avvisa(message, label, url, target, callback, width, background)
{
	var colori = new Array();
	colori['background'] = background;
	colori['border'] = '#00f';
	
	notifica(message, label, url, target, callback, width, colori);
}


function conferma(message, label, url, target, callback, width, background)
{
	var colori = new Array();
	colori['background'] = background;
	
	notifica(message, label, url, target, callback, width, colori);
}


function error(message)
{
	var colori = new Array();
	colori['border'] = 'red';
	
	notifica(message, 'Error', '', '', '', '', colori);	
}

///////////////////////////////////////////////////////////////////////////



invokeClickOnElement = function(id, obJson, from)
{
//	alert('from: '+from);
	if(window.opener != null)
	{
		eval("apritore = typeof window.opener.clickOnElement"+from+" == 'function'");
		if(apritore) 
		{
//			alert('Sono entrato in 1');
			eval("value = window.opener.clickOnElement"+from+"(id, obJson)");
			return value;
		}
	}
		
	eval("nonno = typeof parent.parent.clickOnElement"+from+" == 'function'");
	if(nonno) 
	{
//		alert('Sono entrato in 2');
		eval("value = parent.parent.clickOnElement"+from+"(id, obJson)");
		return value;
	}
		
	eval("padre = typeof parent.clickOnElement"+from+" == 'function'");
	if(padre) 
	{
//		alert('Sono entrato in 3');
		eval("value = parent.clickOnElement"+from+"(id, obJson)");
		return value;
	}
		
	eval("sestesso = typeof clickOnElement"+from+" == 'function'");
	if(sestesso) 
	{
//		alert('Sono entrato in 4');
		eval("value = clickOnElement"+from+"(id, obJson)");
		return value;	
	}
//	if(window.opener != null)
//		if(typeof window.opener.clickOnElement == 'function') 
//		{
//			alert('Sono entrato in 1');
//			return window.opener.clickOnElement(id, obJson);
//		}
//		
//	if(typeof parent.parent.clickOnElement == 'function') 
//	{
//		alert('Sono entrato in 2');
//		return parent.parent.clickOnElement(id, obJson);
//	}
//		
//	if(typeof parent.clickOnElement == 'function') 
//	{
//		alert('Sono entrato in 3');
//		return parent.clickOnElement(id, obJson);
//	}
//		
//	if(typeof clickOnElement == 'function') 
//	{
//		alert('Sono entrato in 4');
//		return clickOnElement(id, obJson);			
//	}
}
