/**************************************************************
 * Routine generiche per le popup
 *
 * 16/04/2003 15:09 - Axioma - Versione 1.1
 *
 * Includere questo file in tutti i pkg che apropno popup 
 * o nelle popup stesse quando si vuole che si autodimensionino
 **************************************************************/
 
/**************************************************************
 * Ver 1.1
 *
 * - Tutte le popup che fanno una window.open 
 *   ritornano un oggetto finestra
 *
 **************************************************************/

var isNN6=false;
var isMozilla=false

isNN6= (navigator.appVersion.charAt(0)>"4") && (navigator.userAgent.indexOf("Netscape") >= 0);
isMozilla= (navigator.appVersion.charAt(0)>="5") && (navigator.userAgent.indexOf("Mozilla") >= 0) && (navigator.userAgent.indexOf("MSIE") == -1) && (navigator.userAgent.indexOf("Netscape") == -1);

/**************************************************************
 * Questa funzione ridimensiona la finestra in altezza in 
 * funzione del contenuto.
 * Va chiamata sull'onload della pagina
 * popup_width è la larghezza della popup
 **************************************************************/

function popup_auto_h(popup_width)
{

	approx_offset=30 //offset di tolleranza per il ridimensionamento (I Browser non sono così precisi nel calcolare i posizionamenti)	

	//non modificare da qui in poi

	var rectonbody = new docrectangle()
	var i;
	var j;
	var k;
	var totHeight=0;
	var lastP;
	var textP;
	var xscreen;
	var yscreen;

	
		if (document.body)
		{
		   lastP = document.createElement("P");
		   textP = document.createTextNode(" ");
		   lastP.appendChild(textP);

		   document.body.appendChild(lastP);
		   rectonbody=getCoord(lastP);

		   document.body.removeChild(lastP);
		
		   totHeight=(rectonbody.t>(screen.availHeight-50))?(screen.availHeight-50):rectonbody.t+approx_offset;
		   window.resizeTo(popup_width,totHeight);
		   
		   yscreen=Math.round((screen.availHeight-totHeight)/2)
		   xscreen=Math.round((screen.availWidth-popup_width)/2)
		   window.moveTo(xscreen,yscreen);
		 }
}

/**************************************************************
 * Questa funzione ridimensiona la finestra in altezza e  
 * e larghezza in funzione del contenuto.
 * La popup deve contenere una tabella ed il td più a destra
 * deve contenere id="rightpos"
 * Va chiamata sull'onload della pagina
 * popup_width è la larghezza MINIMA della popup
 **************************************************************/

function popup_auto_hw(popup_width)
{
	approx_offset=30 //offset di tolleranza per il ridimensionamento (I Browser non sono così precisi nel calcolare i posizionamenti)	

	var rectonbody = new docrectangle()
	var rectRonbody = new docrectangle()
	var i;
	var j;
	var k;
	var totHeight=0;
	var totWidth=0;
	var lastP;
	var rightTd;
	var textP;
	var xscreen;
	var yscreen;
		if (document.body)
		{
		   lastP = document.createElement("P");
		   textP = document.createTextNode(" ");
		   lastP.appendChild(textP);
		   document.body.appendChild(lastP);
		   rectonbody=getCoord(lastP);
		   document.body.removeChild(lastP);
		   rightTd=document.getElementById('rightpos')
		   rectRonbody=getCoord(rightTd);
		   if (rectRonbody.l>popup_width && rectRonbody.l<=(screen.availWidth-100)) totWidth=rectRonbody.l+approx_offset;
		   else if (rectRonbody.l>(screen.availWidth-100)) totWidth=screen.availWidth-100;
		   totHeight=(rectonbody.t>(screen.availHeight-100))?(screen.availHeight-100):rectonbody.t+approx_offset;
		   window.resizeTo(totWidth,totHeight);
		   yscreen=Math.round((screen.availHeight-totHeight)/2)
		   xscreen=Math.round((screen.availWidth-totWidth)/2)
		   window.moveTo(xscreen,yscreen);
		 }
}

/**************************************************************
 * Questa funzione centra la popup sullo schermo  
 * La funzione va chiamata al posto della window.open
 * Versione senza scrollbar
 * popup_file è il link da passare alla popup
 * popup_width è la larghezza della popup
 * popup_height è l'altezza della popup
 * popup_target è il target html 
 **************************************************************/

function popup_centrata(popup_file, popup_width, popup_height, popup_target)
{
          
	  var xscreen;
 	  var yscreen;

	  yscreen=Math.round((screen.availHeight-popup_height)/2)
          xscreen=Math.round((screen.availWidth-popup_width)/2)
          popup_target=(popup_target)?popup_target:"Popup1"
	  frmRub = open(popup_file, popup_target, "scrollbars=no,resizable=yes,width="+popup_width+",height="+popup_height+",screenX="+xscreen+",left="+xscreen+",top="+yscreen+",screenY="+yscreen);
          return frmRub;
}

/**************************************************************
 * Questa funzione centra la popup sullo schermo  
 * La funzione va chiamata al posto della window.open
 * Versione con scrollbar
 * popup_file è il link da passare alla popup
 * popup_width è la larghezza della popup
 * popup_height è l'altezza della popup
 * popup_target è il target html 
 **************************************************************/

function popup_centrata_s(popup_file, popup_width, popup_height, popup_target)
{
          
	  var xscreen;
 	  var yscreen;

	  yscreen=Math.round((screen.availHeight-popup_height)/2)
          xscreen=Math.round((screen.availWidth-popup_width)/2)
          popup_target = (popup_target)?popup_target:"Popup1"
	  frmRub = open(popup_file, popup_target, "scrollbars=yes,resizable=yes,width="+popup_width+",height="+popup_height+",screenX="+xscreen+",left="+xscreen+",top="+yscreen+",screenY="+yscreen);
          return frmRub;
}

/**************************************************************
 * Questa funzione apre una popup sullo schermo delle  
 * dimensioni specificate nei parametri
 * La funzione va chiamata al posto della window.open
 * Versione senza scrollbar
 * popup_file è il link da passare alla popup
 * popup_left è la coord x dell'angolo in alto a sx della popup
 * popup_top è la coord y dell'angolo in alto a sx della popup
 * popup_width è la larghezza della popup
 * popup_height è l'altezza della popup
 * popup_target è il target html 
 **************************************************************/

function popup_dimensioni(popup_file, popup_left, popup_top, popup_width, popup_height, popup_target)
{
          
	  popup_height = (screen.availHeight>(popup_top+popup_height))?popup_height:screen.availHeight-popup_top;
          popup_width  = (screen.availWidth>(popup_left+popup_width))?popup_width:screen.availWidth-popup_left;
          popup_target = (popup_target)?popup_target:"Popup1"
	  frmRub = open(popup_file, popup_target, "scrollbars=no,resizable=yes,width="+popup_width+",height="+popup_height+",screenX="+popup_left+",left="+popup_left+",top="+popup_top+",screenY="+popup_top);
          return frmRub;
}

/**************************************************************
 * Questa funzione apre una popup sullo schermo delle  
 * dimensioni specificate nei parametri
 * La funzione va chiamata al posto della window.open
 * Versione con scrollbar
 * popup_file è il link da passare alla popup
 * popup_left è la coord x dell'angolo in alto a sx della popup
 * popup_top è la coord y dell'angolo in alto a sx della popup
 * popup_width è la larghezza della popup
 * popup_height è l'altezza della popup
 * popup_target è il target html 
 **************************************************************/

function popup_dimensioni_s(popup_file, popup_left, popup_top, popup_width, popup_height, popup_target)
{
          
	  popup_height = (screen.availHeight>(popup_top+popup_height))?popup_height:screen.availHeight-popup_top;
          popup_width  = (screen.availWidth>(popup_left+popup_width))?popup_width:screen.availWidth-popup_left;
          popup_target = (popup_target)?popup_target:"Popup1"
	  frmRub = open(popup_file, popup_target, "scrollbars=yes,resizable=yes,width="+popup_width+",height="+popup_height+",screenX="+popup_left+",left="+popup_left+",top="+popup_top+",screenY="+popup_top);
          return frmRub;
}

/**************************************************************
 * Funzioni Interne per il dimensionamento delle popup 
 * NON USARE
 **************************************************************/


//ottiene le coordinate dell'elemento su cui si è
function getCoord(item)
{
	var topRect=0;
	var leftRect=0;
	var bottRect=0;
	var rightRect=0;
	var toOffsetObj;
	var rect = new docrectangle();

	toOffsetObj = item;
	while (toOffsetObj)
	{
		topRect += toOffsetObj.offsetTop;
		leftRect += toOffsetObj.offsetLeft;
		if (isMozilla || isNN6)
		{
		  if (toOffsetObj.offsetParent == document) break;
		}
		else
		{
		  if (toOffsetObj.offsetParent == document.body) break;
		}
		//per calcolare la posizione risale con offsetparent nella gerarchia
		toOffsetObj=toOffsetObj.offsetParent;
	}
	bottRect = topRect+item.offsetHeight;
	rightRect = leftRect+item.offsetWidth;
	rect.t=topRect;
	rect.l=leftRect;
	rect.b=bottRect;
	rect.r=rightRect;
	return rect;
}

//prototipo di rettangolo
function docrectangle(t,l,b,r)
{
	this.t=t;
	this.l=l;
	this.b=b;
	this.r=r;
}

// popup per i filmanti
function jpopupfilm(val_id)
{
          
	  var xscreen;
 	  var yscreen;
 
	  yscreen=Math.round((screen.availHeight-515)/2)
          xscreen=Math.round((screen.availWidth-640)/2)
	  frmRub = open(val_id, "winLOV1", "scrollbars=no,resizable=yes,width=640,height=515,screenX="+xscreen+",left="+xscreen+",top="+yscreen+",screenY="+yscreen);
}
