<!--
function fnPopFoto ( GappLNG, GappStyleUrl, GappImageUrl, GappUploadUrl, pstrFoto, pstrDidascalia )
{
	var W = 780;
	var H = 660;
	var L = parseInt((window.screen.width - W) / 2);
	var T = parseInt((window.screen.height - H) / 2);
	
	var WndPopFoto = window.open("", "PopFoto","left=" + L + ",top=" + T + ",width=" + W + ",height=" + H + ",toolbar=no,resizable=no,location=no,directories=no,status=no,menubar=no,scrollbars=auto");

	WndPopFoto.document.write
		(
			'<html>'	
			+'<head>'
			+'	<TITLE>Internazionali BNL d\'Italia - Official Site</TITLE>'
			+'	<link rel="STYLESHEET" type="text/css" href="' + GappStyleUrl + '/InternazionaliBNLdItalia.css">'
			+'</head>'
			+'<body onload="window.focus();" bgcolor=#ffffff bottommargin=0 topmargin=0 leftmargin=0 rightmargin=0>'
			+'<table class="cxc" style=" height:100%;">'
			+'		<tr>'
			+'			<td style="padding:0 0 1px 11px; height:100%;">'
			+'				<table style="width:100%; height:100%;">'
			+'					<tr>'
			+'						<td class="cxc">'
			+'							<table class="cxc">'
			+'								<tr>'
			+'									<td style="width:100%; background-image: url(' + GappImageUrl + '/BkgTopPop.gif);"><img src="' + GappImageUrl + '/LogoInternazionaliPop.gif" width="220" height="50" alt="" /></td>'
			+'									<td><img src="' + GappImageUrl + '/TopdxPop.jpg" width="342" height="50" alt="" /></td>'
			+'								</tr>'
			+'							</table>'
			+'						</td>'
			+'					</tr>'
			+'					<tr>'
			+'						<td colspan="2" style="height:100%; padding-top:15px; padding-right:15px;text-align:center; vertical-align:middle;">'
			+'							<table>'
			+'							   <tr>'
			+'									<td style="background: url(' + GappImageUrl + '/BkgcT.gif) repeat-x; "><img src="' + GappImageUrl + '/cSxT.gif" width="8" height="7" alt="" /></td>'
			+'									<td><img src="' + GappImageUrl + '/cDxT.gif" width="8" height="7" alt="" /></td>'
			+'								</tr>'
			+'								<tr>'
			+'									<td>'
			+'										<table style="height: 100%;">'
			+'											<tr>'
			+'												<td style="background: url(' + GappImageUrl + '/BkgcSx.gif) repeat-y left;"><img src="' + GappImageUrl + '/dummy.gif" width="8" height="1" alt="" /></td>'
			+'												<td>'
			+'													 <table>'
			+'														<tr><td><img src="' + GappUploadUrl + '/news/' + pstrFoto + '" border="0" alt="" /></td></tr>'
			+'														<tr><td style="padding-top:5px; padding-bottom:2px;">' + pstrDidascalia + '</td></tr>'
			+'													 </table>'
			+'												</td>'
			+'											</tr>'
			+'										</table>'
			+'									</td>'
			+'									<td style="height: 100%; background: url(' + GappImageUrl + '/BkgcDx.gif) repeat-y right;"><img src="' + GappImageUrl + '/dummy.gif" width="8" height="1" alt="" /></td>'
			+'								</tr>'
			+'							   <tr>'
			+'									<td style="background: url(' + GappImageUrl + '/BkgcB.gif) repeat-x; "><img src="' + GappImageUrl + '/cSxB.gif" width="8" height="7" alt="" /></td>'
			+'									<td><img src="' + GappImageUrl + '/cDxB.gif" width="8" height="7" alt="" /></td>'
			+'								</tr>'
			+'							</table>'
			+'						</td>'
			+'					</tr>'
			+'					<tr>'
			+'						<td class="cxc">'
			+'							<table class="cxc">'
			+'								<tr>'
			+'									<td style="width:100%; background-image: url(' + GappImageUrl + '/BkgBotPop.gif);"><img src="' + GappImageUrl + '/BotSxPop.gif" width="236" height="32" alt="" /></td>'
			+'									<td class="chiudi"><a href="javascript:window.close();">' + ((GappLNG == 'IT') ? 'CHIUDI' : 'CLOSE') + '</a></td>'
			+'								</tr>'
			+'							</table>'
			+'						</td>'
			+'					</tr>'
			+'				</table>'
			+'			</td>'
			+'		</tr>'
			+'	</table>'
			+'</body>'
			+'</html>'
		);
		
	WndPopFoto.document.close();
}

function openApogeo(URL,W,H,SR)
{
	L = parseInt((window.screen.width - W) / 2);
	T = parseInt((window.screen.height - H) / 2);
	var Wnd = window.open(URL, "", "left=" + L + ",top=" + T + ",width=" + W + ",height=" + H + ",toolbar=no,resizable=no,location=no,directories=no,status=no,menubar=no,scrollbars=no");
}
	
function isNull(vValue, vDefault)
{
	if (typeof(vDefault) == "undefined")
	{
		if (typeof(vValue) == "undefined" || vValue == null)
			return true;
		else
			return false;
	}
	else
	{
		var vTmp;

		if (typeof(vValue) == "undefined" || vValue == null)
			return vDefault;
	
		vTmp = String(vValue);
		if (vTmp == "undefined" || vTmp == "" || vTmp == "null")
			return vDefault;

		return vValue;
	}
}
	
function FormatStrForDB( pstrValue )
{
	pstrValue = pstrValue.replace(/\'/gi, "''"); //'
	return pstrValue;
}

function FormatStrForInput( pstrValue )
{
	pstrValue = pstrValue.replace(/\"/gi, "&#34;");	//"
	pstrValue = pstrValue.replace(/\'/gi, "&#39;");
	return pstrValue;
}

function CheckDATE(Form, Element, Separator, CanBeNull, NoMessage, bCheckCurrentYear)
{
	if (typeof(bCheckCurrentYear) != "boolean")
		bCheckCurrentYear = true;

	var vElement		= document.forms[Form].elements[Element];
	var vElementValue	= ReadElementValue( vElement );

	if ( !CanBeNull )
	{
		if (isNull(vElementValue,"")=="")
		{
			if ( (NoMessage == null) || (NoMessage == false) ) {
				ShowCheckError(0);
				vElement.focus();
			}
			
			return false;
		}
	}
	else
	{
		if (isNull(vElementValue,"")=="")
			return true;
	}

	var vIntDay;
	var vIntMonth;
	var vIntYear;
	
	var vVarArray;
	vVarArray = vElementValue.split( Separator );
	
	if ( vVarArray.length != 3 ) {
		if ( (NoMessage == null) || (NoMessage == false) ) {
			alert("Attenzione!\nData non valida.");
			vElement.focus();
		}
		
		return false;
	}

	if ( (vVarArray[0].length != 1) && (vVarArray[0].length != 2) ) {
		if ( (NoMessage == null) || (NoMessage == false) ) {
			alert("Attenzione!\nGiorno non valido.");
			vElement.focus();
		}
		
		return false;
	}

	vIntDay = ((vVarArray[0].charAt(0) == "0") && (vVarArray[0].length == 2)) ? parseInt(vVarArray[0].charAt(1)) : parseInt(vVarArray[0]);
	
	if (isNaN(vIntDay))
	{
		if ( (NoMessage == null) || (NoMessage == false) ) {
			alert("Attenzione!\nGiorno non valido.");
			vElement.focus();
		}
		
		return false;
	}
	else
	{
		if ( (vIntDay < 1) || (vIntDay > 31) )
		{
			if ( (NoMessage == null) || (NoMessage == false) ) {
				alert("Attenzione!\nGiorno non valido.");
				vElement.focus();
			}
			
			return false;
		}
	}

	if ( (vVarArray[1].length != 1) && (vVarArray[1].length != 2) ) {
		if ( (NoMessage == null) || (NoMessage == false) ) {
			alert("Attenzione!\nMese non valido.");
			vElement.focus();
		}
		
		return false;
	}

	vIntMonth = ((vVarArray[1].charAt(0) == "0") && (vVarArray[1].length == 2)) ? parseInt(vVarArray[1].charAt(1)) : parseInt(vVarArray[1]);
	if (isNaN(vIntMonth))
	{
		if ( (NoMessage == null) || (NoMessage == false) ) {
			alert("Attenzione!\nMese non valido.");
			vElement.focus();
		}
		
		return false;
	}
	else
	{
		if ((vIntMonth < 1) || (vIntMonth > 12))
		{
			if ( (NoMessage == null) || (NoMessage == false) ) {
				alert("Attenzione!\nMese non valido.");
				vElement.focus();
			}
			
			return false;
		}
	}

	vIntYear = parseInt(vVarArray[2]);
	
	if (isNaN(vIntYear) || (String(vIntYear).length != 4))
	{
		if ( (NoMessage == null) || (NoMessage == false) ) {
			alert("Attenzione!\nAnno non valido.");
			vElement.focus();
		}
		
		return false;
	}
	
	var vDate;
	
	vDate = new Date(vIntYear, vIntMonth - 1, vIntDay);
	if ( vDate == null ) {
		if ( (NoMessage == null) || (NoMessage == false) ) {
			alert("Attenzione!\nData non valida.");
			vElement.focus();
		}
		
		return false;		
	}

	if ( (vDate.getDate() != vIntDay) || (vDate.getMonth() != (vIntMonth - 1)) || (vDate.getFullYear() != vIntYear) ) {
		if ( (NoMessage == null) || (NoMessage == false) ) {
			alert("Attenzione!\nData non valida.");
			vElement.focus();
		}
		
		return false;		
	}

	if (bCheckCurrentYear)
	{
		if ((vIntYear < ((new Date()).getFullYear() - 1)) || (vIntYear > (new Date()).getFullYear()))
		{
			if ( (NoMessage == null) || (NoMessage == false) ) {
				alert("Attenzione!\nAnno non valido.");
				vElement.focus();
			}
			
			return false;
		}

		// controlla che la data non sia maggiore della data corrente

		var vToday = new Date();

		if ( vDate.getFullYear() == vToday.getFullYear() ) {
			if ( vDate.getMonth() > vToday.getMonth() ) {
				if ( (NoMessage == null) || (NoMessage == false) ) {
					alert("Attenzione!\nData maggiore di quella odierna.");
					vElement.focus();
				}
				
				return false;		
			}
			else if ( vDate.getMonth() == vToday.getMonth() ) {
				if ( vDate.getDate() > vToday.getDate() ) {
					if ( (NoMessage == null) || (NoMessage == false) ) {
						alert("Attenzione!\nData maggiore di quella odierna.");
						vElement.focus();
					}
					
					return false;		
				}
			}
		}
	}

	return true;
}

function fnGetDATE( pValue, pSeparator )
{
	var vIntDay;
	var vIntMonth;
	var vIntYear;
	
	var vVarArray;
	vVarArray = String(pValue).split( pSeparator );
	
	if ( vVarArray.length != 3 ) {
		return ( null );
	}

	if ( (vVarArray[0].length != 1) && (vVarArray[0].length != 2) ) {
		return ( null );
	}

	vIntDay = ((vVarArray[0].charAt(0) == "0") && (vVarArray[0].length == 2)) ? parseInt(vVarArray[0].charAt(1)) : parseInt(vVarArray[0]);
	if (isNaN(vIntDay))
	{
		return ( null );
	}
	else
	{
		if ( (vIntDay < 1) || (vIntDay > 31) )
		{
			return ( null );
		}
	}

	if ( (vVarArray[1].length != 1) && (vVarArray[1].length != 2) ) {
		return ( null );
	}

	vIntMonth = ((vVarArray[1].charAt(0) == "0") && (vVarArray[1].length == 2)) ? parseInt(vVarArray[1].charAt(1)) : parseInt(vVarArray[1]);
	if (isNaN(vIntMonth))
	{
		return ( null );
	}
	else
	{
		if ((vIntMonth < 1) || (vIntMonth > 12))
		{
			return ( null );
		}
	}

	vIntYear = parseInt(vVarArray[2]);
	if (isNaN(vIntYear))
	{
		return ( null );
	}
	else {
		if ((vIntYear < ((new Date()).getFullYear() - 1)) )//|| (vIntYear > (new Date()).getFullYear()))
		{
			return ( null );
		}
	}

	var vDate;
	vDate = new Date(vIntYear, vIntMonth - 1, vIntDay);
	
	if ( vDate == null ) {
		return ( null );		
	}

	if ( (vDate.getDate() != vIntDay) || (vDate.getMonth() != (vIntMonth - 1)) || (vDate.getFullYear() != vIntYear) ) {
		return ( null );		
	}
	
	return String(vDate.getFullYear()) + String(addZero(String(vDate.getMonth() + 1))) + String(addZero(String(vDate.getDate())));
}

function CheckTime ( Form, Element, TimeSeparator, CanBeNull )
{
	var vElement		= document.forms[Form].elements[Element];
	var vElementValue	= ReadElementValue( vElement );

	if ( !CanBeNull )
	{
		if (isNull(vElementValue, "") == "")
		{
			ShowCheckError(0);
			vElement.focus();
			return false;
		}
	}
	else
	{
		if (isNull(vElementValue, "") == "")
			return true;
	}
	
	TimeSeparator	= isNull ( TimeSeparator,	":" );
	CanBeNull		= isNull ( CanBeNull,		false );
	
	var vIntHour;
	var vIntMinute;
	
	
	
	var arrTime = vElementValue.split( TimeSeparator );
	
	if ( arrTime.length != 2 )
	{
		alert("Attenzione!\nOrario non valido.");
		vElement.focus();
		return false;
	}
	
	//--------------- controllo ora ----------------------------
	
	if ( (arrTime[0].length != 1) && (arrTime[0].length != 2) )
	{
		alert("Attenzione!\nOra non valida.");
		vElement.focus();
		return false;
	}

	vIntHour = ((arrTime[0].charAt(0) == "0") && (arrTime[0].length == 2)) ? parseInt(arrTime[0].charAt(1)) : parseInt(arrTime[0]);
	
	if (isNaN(vIntHour))
	{
		alert("Attenzione!\nOra non valida.");
		vElement.focus();
		return false;
	}
	else
	{
		if ( (vIntHour < 0) || (vIntHour > 23) )
		{
			alert("Attenzione!\nOra non valida.");
			vElement.focus();
			return false;
		}
	}
	
	//--------------- controllo minuti ----------------------------
	
	if ( (arrTime[1].length != 1) && (arrTime[1].length != 2) )
	{
		alert("Attenzione!\nMinuti non validi.");
		vElement.focus();
		return false;
	}

	vIntMinute = ((arrTime[1].charAt(0) == "0") && (arrTime[1].length == 2)) ? parseInt(arrTime[1].charAt(1)) : parseInt(arrTime[1]);
	
	if (isNaN(vIntMinute))
	{
		alert("Attenzione!\nMinuti non validi.");
		vElement.focus();
		return false;
	}
	else
	{
		if ( (vIntMinute < 0) || (vIntMinute > 59) )
		{
			alert("Attenzione!\nMinuti non validi.");
			vElement.focus();
			return false;
		}
	}
	
	return true;
}

function CheckINT ( Form, Element, CanBeNull, NoMessage )
{
	var pElement		= document.forms[Form].elements[Element];	
	var ElementValue	= ReadElementValue ( pElement );

	if ( !CanBeNull )
	{
		if ( isNull ( ElementValue, "" ) == "" )
		{
			if ( (NoMessage == null) || (NoMessage == false) ) {
				ShowCheckError(0);
				pElement.focus();
			}
			
			return false;
		}
	}
	else
	{
		if ( isNull ( ElementValue, "" ) == "" )
			return true;
	}

	if (ElementValue.indexOf(",") >= 0)
	{
		if ( (NoMessage == null) || (NoMessage == false) ) {
			ShowCheckError(1);
			pElement.focus();
		}

		return false;
	}

	if (ElementValue.indexOf(".") >= 0)
	{
		if ( (NoMessage == null) || (NoMessage == false) ) {
			ShowCheckError(1);
			pElement.focus();
		}

		return false;
	}

	var ii;
	ii = 0;
	
	if ( (ElementValue.charAt(0) == "+") || (ElementValue.charAt(0) == "-") )
	{
		ii = 1;
	}

	for ( ; ii < ElementValue.length; ii++ ) {
		if ( !((ElementValue.charAt(ii) >= "0") && (ElementValue.charAt(ii) <= "9")) ) {
			if ( (NoMessage == null) || (NoMessage == false) ) {
				ShowCheckError(1);
				pElement.focus();
			}

			return false;
		}
	}

/*
	if ( isNaN(parseInt(ElementValue)) )
	{
		if ( (NoMessage == null) || (NoMessage == false) ) {
			ShowCheckError(1);
			pElement.focus();
		}
		
		return false;
	}	
	else return true;
*/

	return true;	
}

function CheckSTR(Form, Element, CanBeNull, NoMessage)
{
	var pElement		= document.forms[Form].elements[Element];
	var ElementValue	= ReadElementValue( pElement );
	
	if (!CanBeNull)
	{
		if (isNull(ElementValue, "") == "")
		{
			if ( (NoMessage == null) || (NoMessage == false) )
				ShowCheckError(0);
			else
				ShowCheckError(NoMessage);
			
			pElement.focus();
			return false;
		}
	}
	
	return true;
}

function ReadElementValue( pElement )
{
	var vLength	= isNull( pElement.length, 1);
	var vValue	= "";
	
	if ( vLength > 1)
	{
		if ( ( pElement[0].tagName == "INPUT" ) && ( pElement[0].type == "radio" ) )
		{
			for (i = 0; i < vLength; i++)
			{
				if ( pElement[i].checked )
				{
					vValue = pElement[i].value;
					break;
				}
			}
		}
	}
	else
	{
		switch ( pElement.tagName )
		{
			case "INPUT"	:
			{
				switch ( pElement.type )
				{				
					case "password"	: vValue = pElement.value; break;
					case "text"		: vValue = pElement.value; break;
					case "textarea"	: vValue = pElement.value; break;
					case "hidden"	: vValue = pElement.value; break;
					case "checkbox"	: vValue = pElement.checked ? true : false; break;
					case "radio"	: vValue = pElement.checked ? true : false; break;
				}
	
				break;
			}
			case "TEXTAREA"	:
			{
				vValue = pElement.value;
				break;
			}
			case "SELECT"	: 
				if ( pElement.selectedIndex != -1 ) {
					vValue = pElement.options[pElement.selectedIndex].value; 
				}
				
				break;
		}
	}

	return vValue;
}

function ShowCheckError( pintType )
{
	var strMessage = "";
	
	if ( isNaN ( pintType ) )
	{
		strMessage = pintType;
	}
	else
	{
		switch ( pintType )
		{
			case 0	: strMessage = "Attenzione!\nIl dato non può essere nullo.";											break;
			case 1	: strMessage = "Attenzione!\nDato non valido.";															break;
			case 2	: strMessage = "Attenzione!\nAccettare le condizioni generali di utilizzo del servizio (\"CGUS\").";	break;
			case 3	: strMessage = "Attenzione!\nIl dato relativo al Sesso non può essere nullo.";							break;
			case 4	: strMessage = "Attenzione!\nSelezionare Maschile o Femminile.";										break;
			case 5	: strMessage = "Attenzione!\nSelezionare la Professione.";												break;
			case 6	: strMessage = "Attenzione!\nAutorizzare il trattamento dei Dati Personali.";							break;
			case 7	: strMessage = "Attention!\nThe data must be a numeric data.";											break;
			case 9	: strMessage = "Attenzione!\nE-mail non valida.";														break;
			default	: strMessage = "Attenzione!\nErrore nell'inserimento del dato.";
		}
	}

	alert( strMessage );
}

function CheckEMAIL(Form, Element, CanBeNull, NoMessage)
{
	NoMessage			= isNull ( NoMessage, false );
	var vElement		= document.forms[Form].elements[Element];
	var vElementValue	= ReadElementValue(vElement);
	
	if ( !CanBeNull )
	{
		if ( isNull ( vElementValue, "" ) == "" )
		{
			if ( (NoMessage == null) || (NoMessage == false) )
				ShowCheckError(9);
			else
				ShowCheckError(NoMessage);
			
			vElement.focus();
			return false;
		}
	}
	else
	{
		if ( isNull ( vElementValue, "" ) == "" )
			return true;
	}

	var vArrayAt = vElementValue.split( "@" );
	
	if ( vArrayAt.length != 2 )
	{
		if ( (NoMessage == null) || (NoMessage == false) )
			ShowCheckError(9);
		else
			ShowCheckError(NoMessage);
			
		vElement.focus();
		return false;
	}	

	var vArrayDotPre = vArrayAt[0].split( "." );
	var vArrayDotPost = vArrayAt[1].split( "." );
	
	
	
	if ( vArrayDotPost.length < 2 )
	{
		if ( (NoMessage == null) || (NoMessage == false) )
			ShowCheckError(9);
		else
			ShowCheckError(NoMessage);
			
		vElement.focus();
		return false;
	}

	var ii;
	var jj;
	
	for ( jj = 0; jj < vArrayDotPre.length; jj++ )
	{
		if ( vArrayDotPre[jj].length < 1 )
		{
			if ( (NoMessage == null) || (NoMessage == false) )
				ShowCheckError(9);
			else
				ShowCheckError(NoMessage);
			
			vElement.focus();
			return false;
		}
		
		for ( ii = 0; ii < vArrayDotPre[jj].length; ii++ )
		{
			if ( ( (vArrayDotPre[jj].charCodeAt(ii) > 0) && (vArrayDotPre[jj].charCodeAt(ii) < 45) ) || ( (vArrayDotPre[jj].charCodeAt(ii) > 57) && (vArrayDotPre[jj].charCodeAt(ii) < 65) ) || ( (vArrayDotPre[jj].charCodeAt(ii) > 91) && (vArrayDotPre[jj].charCodeAt(ii) < 95) ) || (vArrayDotPre[jj].charCodeAt(ii) == 96) || (vArrayDotPre[jj].charCodeAt(ii) > 122) )
			{
				if ( (NoMessage == null) || (NoMessage == false) )
					ShowCheckError(9);
				else
					ShowCheckError(NoMessage);
			
				vElement.focus();
				return false;
			}
		}		
	}

	for ( jj = 0; jj < vArrayDotPost.length; jj++ )
	{
		if ( vArrayDotPost[jj].length < 1 )
		{
			if ( (NoMessage == null) || (NoMessage == false) )
				ShowCheckError(9);
			else
				ShowCheckError(NoMessage);
			
			vElement.focus();
			return false;
		}
		
		for ( ii = 0; ii < vArrayDotPost[jj].length; ii++ )
		{
			if ( ( ( vArrayDotPost[jj].charCodeAt(ii) > 0 ) && ( vArrayDotPost[jj].charCodeAt(ii) < 48 ) ) || ( ( vArrayDotPost[jj].charCodeAt(ii) > 57 ) && ( vArrayDotPost[jj].charCodeAt(ii) < 65 ) ) || ( ( vArrayDotPost[jj].charCodeAt(ii) > 91 ) && ( vArrayDotPost[jj].charCodeAt(ii) < 97 ) ) || ( vArrayDotPost[jj].charCodeAt(ii) > 122 ) )
			{
				if ( (NoMessage == null) || (NoMessage == false) )
					ShowCheckError(9);
				else
					ShowCheckError(NoMessage);
						
				vElement.focus();
				return false;
			}
		}		
	}

	return true;
}

function CheckRADIO(Form, Element, NoMessage)
{
	var pElement		= document.forms[Form].elements[Element];
	var ElementLength	= pElement.length;
	var strReturn		= false;
	
	for (i = 0; i < ElementLength; i++)
	{
		if (pElement[i].checked)
			strReturn = pElement[i].value;
	}
	
	if (!strReturn)
	{
		if ( (NoMessage == null) || (NoMessage == false) )
			ShowCheckError(0);
		else
			ShowCheckError(NoMessage);
	}
		
	return strReturn;
}

function fnFormatDataSQLFromData ( strData, bHasHours )
{
	strData		= String ( strData );
	bHasHours	= isNull ( bHasHours, "YES" );
	
	var intY = Number ( strData.substr(0, 4) );
	var intM = Number ( trimZero ( strData.substr(4, 2) ) );
	var intD = Number ( trimZero ( strData.substr(6, 2) ) );
	var intH = (strData.length >  8) ? Number ( trimZero ( strData.substr( 8, 2) ) ) : 0;
	var intT = (strData.length > 10) ? Number ( trimZero ( strData.substr(10, 2) ) ) : 0;
	var intS = (strData.length > 12) ? Number ( trimZero ( strData.substr(12, 2) ) ) : 0;

	var szDate = new Date(intY, intM - 1, intD, intH, intT, intS);
	
	var szReturn = szDate.getFullYear() + "-" + addZero ( szDate.getMonth() + 1 ) + "-" + addZero ( szDate.getDate() );

	if ( bHasHours == "YES" ) szReturn += " " + addZero ( szDate.getHours() ) + ":" + addZero ( szDate.getMinutes() );

	return szReturn;
}

function trimZero ( pszStr )
{
	pszStr = String ( pszStr );
	
	if ( pszStr == "00" )
		return 0;

	if ( pszStr.charAt(0) == "0" )
		return Number ( pszStr.charAt(1) );
	else
		return Number ( pszStr );
}

function addZero(vNumber)
{
	var vNumber = parseInt(vNumber);
	if (vNumber < 10) vNumber = "0" + vNumber;
	return vNumber;
}

function fnGoToPage( pintLastPage, pintValue )
{
	pintValue = Number ( isNull ( pintValue, -1 ) );
	
	var intPageToGo = 0;
	
	if ( pintValue == -1 )
	{
		intPageToGo = Number ( document.forms["mainForm"].elements["PageToGo"].value );
		
		if ( isNaN ( intPageToGo ) || ( intPageToGo < 1 ) || ( intPageToGo > pintLastPage ) )
		{
			alert("Attention!\nInsert a correct page number.");
			document.forms["mainForm"].elements["PageToGo"].select();
		}
		else
		{
			document.forms["mainForm"].elements["Page"].value = document.forms["mainForm"].elements["PageToGo"].value;
			document.forms["mainForm"].submit();
		}
	}
	else
	{
		intPageToGo = pintValue;
		document.forms["mainForm"].elements["Page"].value = intPageToGo;
		document.forms["mainForm"].submit();
	}
}

function windowOpen(szUrl, szName, iWidth, iHeight)
{
	var iTop, iLeft;

	var szFeatures = "";
	
	if (iWidth != null)	{
		szFeatures += "width=" + iWidth + ",";
		iLeft = (window.screen.availWidth - iWidth) >> 1;
		szFeatures += "left=" + iLeft + ",";
	}
	if (iHeight != null) {
		szFeatures += "height=" + iHeight + ",";
		iHeight = (window.screen.availHeight - iHeight) >> 1;
		szFeatures += "top=" + iHeight + ",";
	}

	szFeatures += "scrollbars=yes,status=yes,toolbar=no,menubar=no,location=no,fullscreen=no,resizable=yes";

	window.open(szUrl, szName, szFeatures);
}

function CheckDateTime ( Form, Element, DateSeparator, TimeSeparator, CanBeNull )
{
	var vElement		= document.forms[Form].elements[Element];
	var vElementValue	= ReadElementValue(vElement);

	if ( !CanBeNull )
	{
		if (isNull(vElementValue))
		{
			ShowCheckError(0);
			vElement.focus();
			return false;
		}
	}
	else
	{
		if (isNull(vElementValue))
			return true;
	}

	DateSeparator	= isNull ( DateSeparator,	"/" );
	TimeSeparator	= isNull ( TimeSeparator,	":" );
	CanBeNull		= isNull ( CanBeNull,		false );
	
	var vIntDay;
	var vIntMonth;
	var vIntYear;
	var vIntHour;
	var vIntMinute;
	
	var arrDateTime = vElementValue.split(" ");
	if ( arrDateTime.length != 2 )
	{
		alert("Attenzione!\nData non valida.");
		vElement.focus();
		return false;
	}
	
	var vVarArray;
	vVarArray = arrDateTime[0].split( DateSeparator );
	
	if ( vVarArray.length != 3 )
	{
		alert("Attenzione!\nData non valida.");
		vElement.focus();
		return false;
	}

	if ( (vVarArray[0].length != 1) && (vVarArray[0].length != 2) )
	{
		alert("Attenzione!\nGiorno non valido.");
		vElement.focus();
		return false;
	}

	vIntDay = ((vVarArray[0].charAt(0) == "0") && (vVarArray[0].length == 2)) ? parseInt(vVarArray[0].charAt(1)) : parseInt(vVarArray[0]);
	
	if (isNaN(vIntDay))
	{
		alert("Attenzione!\nGiorno non valido.");
		vElement.focus();
		return false;
	}
	else
	{
		if ( (vIntDay < 1) || (vIntDay > 31) )
		{
			alert("Attenzione!\nGiorno non valido.");
			vElement.focus();
			return false;
		}
	}

	if ( (vVarArray[1].length != 1) && (vVarArray[1].length != 2) )
	{
		alert("Attenzione!\nMese non valido.");
		vElement.focus();
		return false;
	}

	vIntMonth = ((vVarArray[1].charAt(0) == "0") && (vVarArray[1].length == 2)) ? parseInt(vVarArray[1].charAt(1)) : parseInt(vVarArray[1]);
	if (isNaN(vIntMonth))
	{
		alert("Attenzione!\nMese non valido.");
		vElement.focus();
		return false;
	}
	else
	{
		if ((vIntMonth < 1) || (vIntMonth > 12))
		{
			alert("Attenzione!\nMese non valido.");
			vElement.focus();
			return false;
		}
	}

	vIntYear = parseInt(vVarArray[2]);
	
	if (isNaN(vIntYear) || (String(vIntYear).length != 4))
	{
		alert("Attenzione!\nAnno non valido.");
		vElement.focus();
		return false;
	}
	
	var vDate;
	
	vDate = new Date(vIntYear, vIntMonth - 1, vIntDay);
	
	if ( vDate == null )
	{
		alert("Attenzione!\nData non valida.");
		vElement.focus();
		return false;		
	}

	if ( (vDate.getDate() != vIntDay) || (vDate.getMonth() != (vIntMonth - 1)) || (vDate.getFullYear() != vIntYear) )
	{
		alert("Attenzione!\nData non valida.");
		vElement.focus();
		return false;		
	}
	
	var arrTime = arrDateTime[1].split( TimeSeparator );
	
	if ( arrTime.length != 2 )
	{
		alert("Attenzione!\nOrario non valido.");
		vElement.focus();
		return false;
	}
	
	//--------------- controllo ora ----------------------------
	
	if ( (arrTime[0].length != 1) && (arrTime[0].length != 2) )
	{
		alert("Attenzione!\nOra non valida.");
		vElement.focus();
		return false;
	}

	vIntHour = ((arrTime[0].charAt(0) == "0") && (arrTime[0].length == 2)) ? parseInt(arrTime[0].charAt(1)) : parseInt(arrTime[0]);
	
	if (isNaN(vIntHour))
	{
		alert("Attenzione!\nOra non valida.");
		vElement.focus();
		return false;
	}
	else
	{
		if ( (vIntHour < 0) || (vIntHour > 23) )
		{
			alert("Attenzione!\nOra non valida.");
			vElement.focus();
			return false;
		}
	}
	
	//--------------- controllo minuti ----------------------------
	
	if ( (arrTime[1].length != 1) && (arrTime[1].length != 2) )
	{
		alert("Attenzione!\nMinuti non validi.");
		vElement.focus();
		return false;
	}

	vIntMinute = ((arrTime[1].charAt(0) == "0") && (arrTime[1].length == 2)) ? parseInt(arrTime[1].charAt(1)) : parseInt(arrTime[1]);
	
	if (isNaN(vIntMinute))
	{
		alert("Attenzione!\nMinuti non validi.");
		vElement.focus();
		return false;
	}
	else
	{
		if ( (vIntMinute < 0) || (vIntMinute > 59) )
		{
			alert("Attenzione!\nMinuti non validi.");
			vElement.focus();
			return false;
		}
	}
	
	return true;
}

function fnFormatMDBDateToObjDate ( pstrData )
{
	pstrData		= String ( isNull ( pstrData, "" ) );
	var intLenData	= pstrData;
	
	if ( pstrData == "" )	return "";
	
	var objNewDate	= new Date();
	
	objNewDate.setFullYear	( Number ( pstrData.substr ( 0, 4 ) ) );
	objNewDate.setMonth		( Number ( pstrData.substr ( 4, 2 ) ) - 1 );
	objNewDate.setDate		( Number ( pstrData.substr ( 6, 2 ) ) );
	
	if ( intLenData >  8 )	objNewDate.setHours		( Number ( pstrData.substr (  8, 2 ) ) );
	if ( intLenData > 10 )	objNewDate.setMinutes	( Number ( pstrData.substr ( 10, 2 ) ) );
	if ( intLenData > 12 )	objNewDate.setSeconds	( Number ( pstrData.substr ( 12, 2 ) ) );
	
	return objNewDate;
}

function fnStrLongDayDateMonthYearFromObjDate ( pObjDate, pstrLanguage )
{
	pstrLanguage	= isNull ( pstrLanguage, "IT" );
	
	pObjDate		= isNull ( pObjDate, new Date() );
	pObjDate		= new Date ( pObjDate );
	
	var vWeekDay	= pObjDate.getDay();
	var vDay		= pObjDate.getDate();
	var vMonth		= pObjDate.getMonth() + 1;
	var vYear		= pObjDate.getFullYear();
	
	strDATE = fnGetDayIt ( vWeekDay, pstrLanguage ) + " " + Number ( vDay ) + " " + fnGetMonth ( Number ( vMonth ), pstrLanguage );
	return strDATE;
}

function fnGetDayIt ( pintDay, pstrLanguage )
{
	pstrLanguage = isNull ( pstrLanguage, "IT" );
	
	if ( pstrLanguage == "IT" )
	{
		switch ( pintDay )
		{
			case 0 : return "Domenica";		break;
			case 1 : return "Lunedì";		break;
			case 2 : return "Martedì";		break;
			case 3 : return "Mercoledì";	break;
			case 4 : return "Giovedì";		break;
			case 5 : return "Venerdì";		break;
			case 6 : return "Sabato";		break;
		}
	}
	else
	{
		switch ( pintDay )
		{
			case 0 : return "Sunday";		break;
			case 1 : return "Monday";		break;
			case 2 : return "Tuesday";		break;
			case 3 : return "Wednesday";	break;
			case 4 : return "Thursday";		break;
			case 5 : return "Friday";		break;
			case 6 : return "Saturday";		break;
		}
	}
}

function fnGetMonth ( piValue, pstrLanguage )
{
	pstrLanguage = isNull ( pstrLanguage, "IT" );
	
	var szMese = "";
	if ( pstrLanguage == "IT" )
	{
		switch ( piValue )
		{
			case	 1:	szMese = "Gennaio";		break;
			case	 2:	szMese = "Febbraio";	break;
			case	 3:	szMese = "Marzo";		break;
			case	 4:	szMese = "Aprile";		break;
			case	 5:	szMese = "Maggio";		break;
			case	 6:	szMese = "Giugno";		break;
			case	 7:	szMese = "Luglio";		break;
			case	 8:	szMese = "Agosto";		break;
			case	 9:	szMese = "Settembre";	break;
			case	10: szMese = "Ottobre";		break;
			case	11: szMese = "Novembre";	break;
			case	12: szMese = "Dicembre";	break;
		}
	}
	else
	{
		switch ( piValue )
		{
			case	 1:	return "January";	break;
			case	 2:	return "February";	break;
			case	 3:	return "March";		break;
			case	 4:	return "April";		break;
			case	 5:	return "May";		break;
			case	 6:	return "June";		break;
			case	 7:	return "July";		break;
			case	 8:	return "August";	break;
			case	 9:	return "September";	break;
			case	10: return "October";	break;
			case	11: return "November";	break;
			case	12: return "December";	break;
		}
	}
	return szMese;
}

function formatHTMLforXML(pstrValue)
{
	pstrValue = escape ( pstrValue );
	pstrValue = pstrValue.replace(/%23%23%23ACAPO%23%23%23/gi, "%0D%0A"); // sostituisco gli ###ACAPO### con /r/n per textarea
	pstrValue = unescape ( pstrValue );
	return pstrValue;
}

function removeCDATAtag(pstrText)
{
	pstrText = pstrText.replace(/<!\[CDATA\[/, "");
	pstrText = pstrText.replace(/\]\]>/, "");
	
	return pstrText;
}

function appendCDATAtag(pstrText)
{
	return "<![CDATA[" + pstrText + "]]>";
}

function CheckSELECT ( Form, Element, NoMessage )
{
	var pElement		= document.forms[Form].elements[Element];
	var vselectedIndex	= pElement.selectedIndex;
	var strReturn		= false;
	
	if ( vselectedIndex != 0 )
	{
		strReturn = pElement.options[vselectedIndex].value;
	}
	
	if (!strReturn)
	{
		pElement.focus();
		
		if ( (NoMessage == null) || (NoMessage == false) )
			ShowCheckError(0);
		else
			alert ( NoMessage );
	}
		
	return strReturn;
}

function fnFormatStrFromTextAreaToDBForCMS ( pstrValue )
{
	pstrValue = escape ( pstrValue );
	pstrValue = pstrValue.replace(/%0D%0A/gi, "%3Cbr%3E"); // sostituisco gli a capo con <br> per PC
	pstrValue = pstrValue.replace(/%0A/gi, "%3Cbr%3E"); // sostituisco gli a capo con <br> per MAC
	pstrValue = unescape ( pstrValue );
	return pstrValue;
}
//-->