var WindHeight= 400;
var WindWidth = 800;
/**
--------------------------------------------------------------------------
	Nome:			f_Focus
	Descrizione:	Funzione del fuoco
	Argomenti:		
					vFieldName : nome del campo 
					
	Return: 	
	Autore:			Garnero P.
	Modifiche:		27/08/2001
	--------------------------------------------------------------------------
	Note: 
	--------------------------------------------------------------------------
*/
//maxlength="4" onblur='f_CtrYear(this,true,3);'   onKeyUp="f_CtrYear(this,false,3);" onKeyDown="f_CtrYear(this,false,3);"
 function f_Focus(vFieldName){
 	vFieldName.focus();
 
 }
/**
--------------------------------------------------------------------------
	Nome:			f_Right
	Descrizione:	Funzione per la gestione del Tasto DX
	Argomenti:		
					e : l'evento
				
					
	Return: 		
	Autore:			Garnero P.
	Modifiche:		27/08/2001
	--------------------------------------------------------------------------
	Note: 
	--------------------------------------------------------------------------
*/
function f_Right(e) {
	if (navigator.appName == 'Netscape' && (e.which == 3 || e.which == 2))
		return false;
	else if (navigator.appName == 'Microsoft Internet Explorer' && (event.button == 2 || event.button == 3)){
		alert("Spiacente il tasto destro del mouse è disabilitato!");
		return false;
	}
	return true;
}
/**
--------------------------------------------------------------------------
	Nome:			f_OpenNew
	Descrizione:	Funzione per l'apertura di un file in una nuova finestra
	Argomenti:		
					 page: il file da aprire
				
					
	Return: 		
	Autore:			Garnero P.
	Modifiche:		27/08/2001
	--------------------------------------------------------------------------
	Note: 
	--------------------------------------------------------------------------
*/
function f_OpenPage(page) {
	var selLeft = 30;
	var selTop = 5;
	f_OpenNew(page,100,100,selLeft,selTop);
	 
}
/**
--------------------------------------------------------------------------
	Nome:			f_OpenNew
	Descrizione:	Funzione per l'apertura di un file in una nuova finestra
	Argomenti:		
					 page: il file da aprire
				
					
	Return: 		
	Autore:			Garnero P.
	Modifiche:		27/08/2001
	--------------------------------------------------------------------------
	Note: 
	--------------------------------------------------------------------------
*/
function f_OpenNew(page,selHeight,selWidth,selLeft,selTop) {
	var fHeight=200;
	var fWidth =350;	
	var maxHeight = WindHeight-400;
	var maxWidth  = WindWidth-300;
	if(selLeft!=null)
		fX=selLeft;
	else
		fX=150;
	if(selTop!=null)	
		fY=selTop;
	else
		fY=50;
	var MaxW =fX-selWidth;
	var MaxH =fY-selHeight;	
	if (fX>=maxWidth)
		 fX=MaxW;
	if (fY>=maxHeight)
		 fY=MaxH;
	if (selHeight=="Max"){
		fHeight= "fullscreen=yes";
		fWidth= "";
	}else{
		fHeight= " height="+selHeight;
		fWidth= ",width="+selWidth;
	}		
	window.open(page,"", "toolbar=no,location=no,directories=no,status=yes,menubar=no,scrollbars=yes,resizable=no,dependent=yes,"+fHeight+" "+fWidth+",left="+fX+",top="+fY);
	 
}
/**
--------------------------------------------------------------------------
	Nome:			f_OpenNew
	Descrizione:	Funzione per l'apertura di un file in una nuova finestra
	Argomenti:		
					 page: il file da aprire
				
					
	Return: 		
	Autore:			Garnero P.
	Modifiche:		27/08/2001
	--------------------------------------------------------------------------
	Note: 
	--------------------------------------------------------------------------
*/
function f_OpenReport(page) {
 window.open(page,"", "toolbar=no,location=no,directories=no,status=no,menubar=yes,scrollbars=yes,resizable=yes,dependent=yes,height=600 ,width=700,left="+50+",top="+50);
}

/**
--------------------------------------------------------------------------
	Nome:			f_OpenNew
	Descrizione:	Funzione per l'apertura di un file in una nuova finestra
	Argomenti:		
					 page: il file da aprire
				
					
	Return: 		
	Autore:			Garnero P.
	Modifiche:		27/08/2001
	--------------------------------------------------------------------------
	Note: 
	--------------------------------------------------------------------------
*/
function f_OpenElenco(vFieldName,page,strDati,ctr) {
	if(window.event.keyCode == 13 ){	
	  f_ViewElenco(vFieldName,page,strDati,ctr);	  
	}
}
/**
--------------------------------------------------------------------------
	Nome:			f_ViewElenco
	Descrizione:	Funzione per l'apertura di un file in una nuova finestra
	Argomenti:		
					 page: il file da aprire
				
					
	Return: 		
	Autore:			Garnero P.
	Modifiche:		27/08/2001
	--------------------------------------------------------------------------
	Note: 
	--------------------------------------------------------------------------
*/
function f_ViewElenco(vFieldName,page,strDati,ctr) {
	var blopen=false;
	var vCField   =this.document.all[vFieldName];
	var vtxtField =this.document.all["txt"+vFieldName];
	var vAField   =this.document.all["A"+vFieldName];
	var temp=vtxtField.value;
	var OffSetX=15;
	var OffsetY=3;
	var X= f_GetWindowPosLeft(vAField) - document.body.scrollLeft + window.screenLeft;
	X+=OffSetX;
	var Y = f_GetWindowPosTop(vAField) - document.body.scrollTop +window.screenTop;
	Y+=OffsetY
	if(temp.length>=ctr){	
	  page +="?Descrizione="+vtxtField.value+strDati+"&vFieldName="+vFieldName;
	  f_OpenNew(page,300,250,X,Y);
	  return true;
	}else if(temp.length<ctr)
		alert("Inserire almeno n° "+ctr+" caratteri per visualizzare l'elenco");
	else
	 	return true;
}
/**
--------------------------------------------------------------------------
	Nome:			f_Change_Image
	Descrizione:	Funzione per l'alternanza delle immagini 
	Argomenti:		
					vImageName : l'oggetto immagine 
					
	Return: 	
	Autore:			Garnero P.
	Modifiche:		10/01/2003
	--------------------------------------------------------------------------
	Note: es. <img src="percorso immagine 1" border="0" lowsrc="percorso immagine 2" onmouseover="f_Change_Image(this)"onmouseout="f_Change_Image(this)"> 
	--------------------------------------------------------------------------
*/
var CtrImage=0;
function f_Change_Image(vImageName){	
	var ImageTemp="";
	if(CtrImage==1)	{	
		var ImageTemp=vImageName.src;		
		vImageName.src=vImageName.lowsrc;
		vImageName.lowsrc=ImageTemp;
		CtrImage=0;	
		
	}else{		
		var ImageTemp=vImageName.src;		
		vImageName.src=vImageName.lowsrc;
		vImageName.lowsrc=ImageTemp;
		CtrImage=1;			
	}

}
/**
--------------------------------------------------------------------------
	Nome:			f_Upload
	Descrizione:	Funzione per la gestione del caricamento file
	Argomenti:		
					vYearName : nome del campo contenente i valori
					ctr : stato del controllo sulla data
					
	Return: 		la Stringa corretta
	Autore:			Garnero P.
	Modifiche:		27/08/2001
	--------------------------------------------------------------------------
	Note: 
	--------------------------------------------------------------------------
*/
function f_Upload(vFieldName,strUrl){
	//var page="../PComuni/FUpload.asp?FPath="+strUrl+"&vField="+vFieldName;
	var page="../GComuni/FUpload.asp?FPath="+strUrl+"&vField="+vFieldName;
	alert(page);
    f_OpenNew(page,300,450,null,null);
	return true;
}
/**
--------------------------------------------------------------------------
	Nome:			f_GetPosLeft
	Descrizione:	Funzione per la restituzione e verifica della posizione left dell 'oggetto passato
	Argomenti:		
					el : oggetto
					
					
	Return: 		ol :restituisce la posizione left
	Autore:			Garnero P.
	Modifiche:		27/08/2001
	--------------------------------------------------------------------------
	Note: 
	--------------------------------------------------------------------------
*/
function f_GetPosLeft (el) {
	var ol = el.offsetLeft;
	while ((el = el.offsetParent) != null) { 
		ol += el.offsetLeft; 
		}
	return ol;
}
function f_GetWindowPosLeft (el) {
	var scrollamount = document.body.scrollLeft;
	return f_GetPosLeft(el)-scrollamount;
	}	
/**
--------------------------------------------------------------------------
	Nome:			f_GetPosTop
	Descrizione:	Funzione per la restituzione e verifica della posizione Top dell 'oggetto passato
	Argomenti:		
					el : oggetto
					
					
	Return: 		ol :restituisce la posizione Top
	Autore:			Garnero P.
	Modifiche:		27/08/2001
	--------------------------------------------------------------------------
	Note: 
	--------------------------------------------------------------------------
*/
function f_GetPosTop (el) {
var ot = el.offsetTop;
while((el = el.offsetParent) != null) { 
	ot += el.offsetTop; 
	}
return ot;
}
function f_GetWindowPosTop(el) {
	var scrollamount = document.body.scrollTop;
	return f_GetPosTop(el)-scrollamount;
	}

/**
	--------------------------------------------------------------------------
	Nome:			f_UrlEncode
	Descrizione:	Funzione per codificare il testo in formato url gestendo i caratteri
					speciali che potrebbero creare conflitti con i linguaggi usati 
					per la realizzazione delle pagine
					
	Argomenti:		
					vStringValue : la Stringa 	
					
					
	Return: 		vStringEncode la stringa codificata
	Autore:			Garnero P.
	Modifiche:		05/10/2005
	--------------------------------------------------------------------------
	Note: 
	--------------------------------------------------------------------------
*/
function f_UrlEncode(vStringValue) { 
var vStringEncode="";
 vStringEncode= escape(vStringValue).replace(/[+]/g, '%2B');
return vStringEncode

}
/**
	--------------------------------------------------------------------------
	Nome:			f_UrlDecode
	Descrizione:	Funzione per decodificare il testo dal formato url gestendo i caratteri
					speciali che potrebbero creare conflitti con i linguaggi usati 
					per la realizzazione delle pagine
					
	Argomenti:		
					vStringValue : la Stringa 	codificata
					
					
	Return: 		vStringDecode la stringa decodificata
	Autore:			Garnero P.
	Modifiche:		05/10/2005
	--------------------------------------------------------------------------
	Note: 
	--------------------------------------------------------------------------
*/
function f_UrlDecode(vStringValue){
	var vStringDecode="";
	vStringDecode=vStringValue.replace('%2B',/[+]/g);
	vStringDecode=vStringDecode.replace('/[+]/g','+');
	vStringDecode = unescape(vStringDecode);
	return vStringDecode
}
