
// VARIABILI GLOBALI:
var ALERT_Start = '::..:: - MESSAGGIO - ::..::' ;
var ALERT_End   = '::..::  ::..::' ;

var RisoluzioneSchermo_height = screen.height ;
var RisoluzioneSchermo_width  = screen.width  ;

var ComunicazioneBloccoPopUp_OK = false ;

var TipoBrowser 	= navigator.appName ;
var VersioneBrowser = navigator.appVersion ;
var PattIE = new RegExp('Explorer|MSIE|Microsoft','gi') ;
var IE = false ;
if ( PattIE.test(TipoBrowser) )
	{ IE = true ; }
	
function ScriviAlert(Messaggio)
{
	try { document.getElementById("DivMask").style.visibility = "visible" ; } catch(e) {}
	alert(ALERT_Start+'\n\n\n\n'+Messaggio+'\n\n\n\n'+ALERT_End)    ;
	try { document.getElementById("DivMask").style.visibility = "hidden"  ; } catch(e) {}
}

var MSG_NoPopUp = 	"ATTENZIONE!\n\nIl vostro Browser non permette l'apertura delle pop-up!\n"
				   +"La pop-up viene qui utilizzata esclusivamente per vedere immagini, video\n"
				   +"e per ascoltare i files audio. Si raccomanda quindi di consentire le pop-up\n"
				   +"del vostro Browser per questo sito." ;
				   

function IfUndefinedDo(Value,DefaultValue)
{
	if ( Value == '' || Value == undefined || Value == 'undefined' )
		{ return DefaultValue ; }
	else
		{ return Value ; }
}

function GetAttribute (DomObject,IfStyle,Attribute)
{ 
	if ( TryDom() ) {
		
		var ValueAttribute_fThis = '' ;
		
		if ( IfStyle ) { 
				
			var Style_fThis = GetStyleByDom(DomObject) ;
			// CTRL
			// alert('Css estratto: '+Style_fThis) ;
			
			// ESTRATTA LA STRINGA RICAVO IL VALORE RICHIESTO MEDIANTE Patt:
			var Patt_fThis = new RegExp('(.*'+Attribute+' *\: *)([^;^ ]*)(.*)','gi') ;
			
			// CTRL
			// alert('NOME ATTRIBUTO: '+Attribute+', VALORE ATTRIBUTO: '+ValueAttribute_fThis) ;
			
			ValueAttribute_fThis = Style_fThis.replace(Patt_fThis,'$2') ; 
			
		} else { 
			
			if (IE){
			
				if (Attribute.toLowerCase() == 'class') {
					Attribute = 'className' ;
				}
				
				ValueAttribute_fThis = DomObject.getAttribute(Attribute,0) ;	
					
				
			} else {
				ValueAttribute_fThis = DomObject.getAttribute(Attribute) ;	
			}
			
		} 
		
		return ValueAttribute_fThis;
		
	}
} 

function GetStyleByDom(DomObject)
{
	var Style_fThis = '' ;
	if (IE) { 
		var NameStyle = 'cssText' ; // PER ESTRARRE LO style SU Ie SI USA ' cssText '
		Style_fThis = DomObject.style.getAttribute(NameStyle,0) ;
	} else {
		var NameStyle = 'style' ;
		Style_fThis = DomObject.getAttribute(NameStyle,0) ;
	} 	
	return Style_fThis ;
}

function SetAttribute (DomObject,Attribute,Value)
{ 
	if ( TryDom() ) {
		
		if ( IE ) { 
			if ( Attribute.toLowerCase() == 'style' ) { 
				DomObject.style.setAttribute('cssText',Value,0) ;
			} else { 
				if ( Attribute.toLowerCase() == 'class' ) {
					Attribute = 'className' ;
				}
				DomObject.setAttribute(Attribute,Value,0) ;
			} 
		} else { 
			DomObject.setAttribute(Attribute,Value) ;
		} 
	
	}
} 

function TryDom()
{
	if ( document.createElement && document.getElementsByTagName('body') )	
		{ return true ; }
	else
		{ return false ; }
}

function CatchUrl(PercPage) // PercPage => es.: 'this.'
{
	var Url_fThis = '' ;
	try { Url_fThis = IfUndefinedDo(eval(PercPage+'document.URL'),"") ; }  catch(e){} 
	if ( Url_fThis == "" ) 
		{ try { Url_fThis = IfUndefinedDo(eval(PercPage+'document.baseURI'),"") ; }  catch(e){} }
	
	// ctrl
	// alert(Url_fThis) ;
	
	return Url_fThis ;
}

function Cnst(Elements)
{
	var ThisString = "" ;
	for ( var i = Elements.length-1 ; i >= 0 ; i-- ){
		ThisString += Elements[i] ;
	}
	return ThisString ;
}



//////////////////////////////////////////////////////////////////

// funzione che corregge l'url di entrata sulla index.html:
function AdjustIndexUrl(ReferrerPage)
{
	
	// SE L'URL E' DEL TIPO http://dominio.it ANZICHE' http://www.dominio.it ALLORA VIENE MODIFICATO
	// AGGIUNGENDO 'www' DOVE MANCA:
	
	// !! ATT => SE TRATTASI DEL Mago G. ALLORA STOP A TUTTO:
	var Browser = navigator.appName ;
	if ( Browser.indexOf('Googlebot') == -1 )
	{
		var PattCorrectUrl 		= new RegExp('^http\://www') ; 
		var PattLocalMachine 	= new RegExp('^http\://127\.0\.0\.1') ; 
		var ThisUrl 			= IfUndefinedDo(CatchUrl('this.')) ; 
		
		
		if ( ! PattCorrectUrl.test(ThisUrl) && 
				! PattLocalMachine.test(ThisUrl) && 
					new RegExp('^http\://').test(ThisUrl) // deve sempre cmq trattarsi di protocollo http
					) 
			{ 
				// RICHIAMO DEL ForMe:
				TryForMe(ReferrerPage) ;
				
				// per permettere l'esecuzione del ForMe chiamato qui sopra ritardo un pò il reload	della	index.html
				setTimeout(function() { Href_AdjustIndexUrl(ThisUrl) ; }, 500) ;
			} 
			
		// Url 	NON	 DA RICONFIGURARE O GIA' CORRETTO:
		else 
			{ 
				// SE NON E' STATA PASSATA TRAMITE querystring LA VARIABILE 	Fm=no	QUINDI SE NON C'E' STATO
				// BISOGNO DI CORREGGERE L'Url E QUINDI SE IL ForMe NON E' GIA' STATO CHIAMATO QUI SOPRA ALLORA LO RICHIAMO:
				var QueryString_Vars = CatchLocationSearch() ;	
				if ( IfUndefinedDo(QueryString_Vars['Fm'],'') != 'no' ) // 'Fm' variabile passata tramite 	querystring 	(vedere la funzione "AdjustIndexUrl()" richiamata sull'onLoad del body)
					{
						// RICHIAMO DEL ForMe:
						TryForMe(ReferrerPage) ;
						
						// per permettere l'esecuzione del ForMe chiamato qui sopra  ritardo un pò la chiamata dell'	index_2.php
						setTimeout(function() { Href_AdjustIndexUrl_2() ; }, 500) ;
						
					}
				else
					{
						// si prosegue direttamente per alla pagina successiva
						location.href='index_2.php' ; 
					}
			} 
	}
}


			
function Href_AdjustIndexUrl(ThisUrl)
	{
		if ( ThisUrl.indexOf('index.html') == -1 ) // se l'url è del tipo 'http://cristalpoint/' senza l'indicazione della index è necessario aggiungerla
			{
				ThisUrl += 'index.html' ;
			}
			
		// aggiungo una variabile nell'Url che comunichi a questa stessa funzione (QUI SOTTO) di non inviare il ForMe (in quanto è già stato inviato qui sopra);
		// se una string è già presente allora aggiungo la variabile Fm=no che indicherà alla index di non evadere il ForMe:
		if ( ThisUrl.indexOf('\.html\?') != -1 )
			{ ThisUrl += '&Fm=no' ; }
		else
			{ ThisUrl += '?Fm=no' ; }
		
		ThisUrl = ThisUrl.replace(new RegExp('^http\://'),'http://www.') ; 
		
		// ctrl
		// alert('ThisUrl: '+ThisUrl)
		
		// aggiungo quindi il www e richiamo nuovamente l'url:
		location.href=ThisUrl ; 
	}
	

function Href_AdjustIndexUrl_2()
	{ location.href='index_2.php' ; }	
	
function TryForMe(ReferrerPage)
	{
		try
			{
				IframeReferrer.location.href = "ForMe2.php?ReferrerPage="+ReferrerPage ;
			}
		catch (e)
			{
				try 
					{
						parent.IframeReferrer.location.href = "ForMe2.php?ReferrerPage="+ReferrerPage ;
					} catch(e){}
			}
	}
	
				
//////////////////////////////////////////////////////////////////




function SubmitForm(NomeForm,Method,Action,MSG_Confirm)
{
	var SubmitOk = true ;
	if ( MSG_Confirm != '' ){
		SubmitOk = confirm(MSG_Confirm) ;
	}
	
	if ( SubmitOk ) {
		var PercForm_fThis    = document.forms[NomeForm] ;
		
		PercForm_fThis.method = Method ;
		PercForm_fThis.action = Action ;
		
		PercForm_fThis.submit() ;	
	} 
}



// funzione per l'analisi della 	location.search 	e per l'inserimento
// delle variabili passate in un apposito Array
function CatchLocationSearch()
{
	var QueryString_Elements 	= (location.search.replace(/^\?/,'')).split('&') ;
	var QueryString_Vars 		= new Array() ;
	var CounterVars = 0 ;
	for ( var i = 0 ; i < QueryString_Elements.length ; i++ )
		{
			var KeyAndValue = QueryString_Elements[i].split('=') ;
			
			QueryString_Vars[KeyAndValue[0]] = KeyAndValue[1] ;
		}
		
	return QueryString_Vars ;
}
	

function SelfFocus()
{
	try
		{ self.focus ; }
	catch(e)
		{
			try
				{ window.focus ; }	
			catch(e){}
		}
}

function SelfClose()
{
	try
		{ self.close() ; }
	catch(e)
		{
			try
				{ window.close() ; }	
			catch(e){}
		}
}

function SelfClose_withConfirm(FraseToConfirm)
{
	if ( confirm(FraseToConfirm) )
		{
			try
				{ self.close() ; }
			catch(e)
				{
					try
						{ window.close() ; }	
					catch(e){}
				}	
		}
}


// TRIM: elimino eventuali spazi all'inizio ed alla fine della stringa 
function Trim(Stringa)
{
	while ( Stringa.substr(0,1) == ' ' )
		{
			Stringa = Stringa.substr(1,Stringa.length) ;
		}
	
	while ( Stringa.substr((Stringa.length-1),1) == ' ' )
		{
			Stringa = Stringa.substr(0,(Stringa.length-1)) ;
		}
		
	return (Stringa) ;
}

// TRIM: elimina un dato carattere di troppo all'inizio ed alla fine di una stringa(utile per i separatori) 
function Trim_byValore(Stringa,Valore)
{
	while ( Stringa.substr(0,1) == Valore )
		{
			Stringa = Stringa.substr(1,Stringa.length) ;
		}
	
	while ( Stringa.substr((Stringa.length-1),1) == ' ' )
		{
			Stringa = Stringa.substr(0,(Stringa.length-1)) ;
		}
		
	return (Stringa) ;
}

function SetCookie(cookieName,cookieValue,DurationSeconds) {
 var today = new Date();
 var expire = new Date();
 
 expire.setTime(today.getTime() + DurationSeconds);
 
 document.cookie = cookieName+"="+escape(cookieValue)+";expires="+expire.toGMTString();
}


// FUNZIONE DI ROLLING SULLE IMG:
function RollaThis(PercImg,ImgName)
{
	ImgName.src = PercImg ;	
}

function ScrollOnTop(PercAggiuntivo,NomeDiv,HeightMore)
{
	RilevaScrollingPagina() ;
	
	var HeightMore_fThis = 0 ;
	if ( ! isNaN(HeightMore) ){
		HeightMore_fThis = HeightMore ; 
	}
	
	var Div = eval(RilevaLivello(PercAggiuntivo,NomeDiv)) ;
	Div.style.top = yScroll + HeightMore_fThis ;
}

function ScrollProgressivo()
{
	try
		{
			RilevaScrollingPagina() ; 
			
			if ( yScroll > 0 )
				{
					 
					if ( yScroll == yScroll_fThis )
						{ 
							yScroll = yScroll-20 ;
							parent.window.scroll(0,yScroll) ; 
						}
					else // SI STOPPA LO SCROLLING SE SI SCROLLA A MANO
						{ 
							clearInterval(IntervalloScrolling) ; 
							IntervalloScrolling= '' ;
						}
						
					//setTimeout("ScrollProgressivo()",1) ;
					yScroll_fThis = yScroll ;
				}
			else
				{
					clearInterval(IntervalloScrolling) ;
					IntervalloScrolling= '' ;
				}
		}
		
	catch(e)
		 { 
		 	clearInterval(IntervalloScrolling) ;
			IntervalloScrolling= '' ;
			
			try { parent.window.scroll(0,0) ; }
			catch(e)
				{
					if ( NomeAncora_fThis != '' )
						{ location.href = "#"+NomeAncora_fThis ; } // se NN SI RIESCE A SCROLLARE FACCIO RIFERIMENTO ALL'ANCORA
				}
		 }
}

// ANCORAGGIO IN STILE "SEMPLICE"
function RaggiungiAncoraSimple(Ancora)
{
	Ancora = IfUndefinedDo(Ancora,'') ;
	//alert(Ancora);
	
	if ( Ancora != '' )
		{ location.href = "#"+Ancora ; }
}

function RaggiungiAncora(Ancora)
{
	RaggiungiAncoraSimple(Ancora) ;
}
///////


// FUNZIONE PER L'ANCORA TRAMITE LE RIGHE DI TABELLA
function RaggiungiAncoraByDOM(AncoraDaRaggiungere,NumAncoraCorrente)
{
	NumAncoraCorrente = IfUndefinedDo(NumAncoraCorrente,'') ;
	if ( NumAncoraCorrente == '' )
		{NumAncoraCorrente = 0;}
		
		
	if ( document.getElementsByTagName && document.getElementById )	
		{
			var Tr_Obj = document.getElementsByTagName('tr') ;	
			for ( var i = 0 ; i < Tr_Obj.length ; i++ )
				{
					// rilevo il nome oppure l'id del tr, se nn è presente dò il nome e raggiungo l'ancora:
					var NomeAncora_fThis = Tr_Obj.item(i).getAttribute('name') ;
						NomeAncora_fThis = IfUndefinedDo(NomeAncora_fThis,'') ;
						if ( NomeAncora_fThis == '' )
							{
								NomeAncora_fThis = Tr_Obj.item(i).getAttribute('id') ;
								NomeAncora_fThis = IfUndefinedDo(NomeAncora_fThis,'') ;
							}
							
						if ( NomeAncora_fThis == '' )
							{ 
								NumAncoraCorrente++ ;
								
								NomeAncora_fThis = 'Ancora'+NumAncoraCorrente ;
								Tr_Obj.item(i).setAttribute('name',NomeAncora_fThis) ;
								Tr_Obj.item(i).setAttribute('id',NomeAncora_fThis) ;
								
								// RICHIAMO NUOVAMENTE QUESTA FUNZIONE PER COMINCIARE NUOVAMENTE IL CICLO DAL PRINCIPIO
								RaggiungiAncoraByDOM(AncoraDaRaggiungere,NumAncoraCorrente) ;
								break ;
								
							}
						else if ( NomeAncora_fThis == 'Ancora'+NumAncoraCorrente )
							{
								// raggiungimento Ancora Mediana:
								setTimeout("RaggiungiAncoraSimple('"+NomeAncora_fThis+"')",100) ;
							}
						else if ( NomeAncora_fThis == AncoraDaRaggiungere )
							{
								// raggiungimento Ancora Finale:
								//ctrl
								//alert(NomeAncora_fThis) ;
								setTimeout("RaggiungiAncoraSimple('"+NomeAncora_fThis+"')",100) ;
								break ;
							}
					
				}
			
		}
	else
		{
			RaggiungiAncoraSimple(NomeAncora_fThis) ;
		}
}

function RaggiungiAncoraProgressivamente(Ancora)
{
	//CTRL
	//alert('Ancora: '+Ancora) ;
	
	if ( Ancora != ""  )
		{ 
			// SI PROVA A RAGGIUNGERE IL LINK PROGRESSIVAMENTE
			// ... PER FARLO SI PROVA A RILEVARE L'ANCORA MEDIANTE Id: 
			
			
			var FlagScroll_toAncora = false ;
			var Ancora_Id = RilevaLivello('',Ancora) ;
				Ancora_Id = IfUndefinedDo(Ancora_Id,'') ;
				
			if ( Ancora_Id != '' )
				{
					
					
					FlagScroll_toAncora = true ;
					/*
					var Ancora_Y = eval(Ancora_Id+'.style.top') ;
					*/
					Ancora_Coords = RicavaCoordinateElemento(Ancora) ;
					var Ancora_Y  = Ancora_Coords.y ; 
						//ctrl 
						//alert(Ancora_Y)
					
					
					// RICAVO LA POSIZIONE ATTUALE DELLA PAGINA
					var Intervallo_ScrollProgressivo_toAncora = '' ;
					var Scroll_MEMO = '' ; // VARIABILE CHE MI SERVE PER PERCEPIRE UN EVENTUALE Scrolling MANUALE DA PARTE DELL'UTENZA CHE VISITA IL SITO
					var Direction 	= '' ;
					
					function ScrollProgressivo_toAncora()
						{
							RilevaScrollingPagina() ;
							
							if ( yScroll != Scroll_MEMO  && Scroll_MEMO != '' )		// SE IL VALORE E' CAMBIATO VUOL DIRE CHE L'Utenza CHE VISITA IL SITO 
															 						// HA SCROLLATO MANUALMENTE LA PAGINA E QUINDI INTERROMPO LO SCROLLING AUTOMATICO
								{
									clearInterval(Intervallo_ScrollProgressivo_toAncora) ;
									//CTRL
									//alert('SCROLL FORZATAMENTE CONCLUSO!') ;
								}
							else if ( yScroll < Ancora_Y )
								{ 	
									yScroll+=40 ; 
									Direction = 'down' ;
								}
							
							else if ( yScroll > Ancora_Y )
								{ 
									yScroll-=40 ; 
									Direction = 'up' ;
								}
							
							if ( 
									(Direction == 'down' 
									 && yScroll < Ancora_Y)
										
										||
									
									(Direction == 'up' 
									 && yScroll > Ancora_Y)
							   )	
							   	{
									window.scroll(0,yScroll) ;	
									Scroll_MEMO = yScroll ;
								}
							else
								{
									window.scroll(0,Ancora_Y) ;
									clearInterval(Intervallo_ScrollProgressivo_toAncora) ;
									//CTRL
									//alert('SCROLL CONCLUSO!') ;
								}							
						}
					
					Intervallo_ScrollProgressivo_toAncora = setInterval(ScrollProgressivo_toAncora,1) ;
				}
				
			// se NN E' STATO POSSIBILE ANCORARE PROGRESSIVAMENTE ANCORO DIRETTAMENTE
			if ( !FlagScroll_toAncora )
				{
					location.href = "#"+Ancora ; 
				}
		}
}

var CtrlFlag_fMovieUrl = false ;
function GetSwf_WithExternalUrl(FileDaCaricare,Value_fGet)
{
	/////////////////// !! NEL CASO DI CARICAMENTO DI Swf ESTERNI AL Dominio Bp COLLOCATI QUINDI SU Servers DI APPOGGIO QUALI QUELLO DI Altervista
	/////////////////// CI POTREBBERO ESSERE DELLE RESTIZIONI CHE DI FATTO CI SONO :) .. ALLORA PER ByPassare USO IN TAL CASO UN Bypass TRAMITE APPOSITO FILE
	var MovieUrl = FileDaCaricare+'.swf' ;
	/*
	var PattUrlEsterno  		= new RegExp('^(http\://)(www\.)?([^/]+)(.+)$','i') ;	
	var PattUrlLocale			= new RegExp('^http\://127.0.0.1','i') ; // IN Locale CARICHIAMO I Files NORMALMENTE
	var Patt_Netsons_Servers 	= new RegExp('^http\://[^/]+\.netsons\.org/','i') ; // DA Netsons I Files POSSONO ESSERE CARICATI NORMALMENTE
	var Patt_CamsPuntoCom		= new RegExp('^http\://[^/]+\.streamray\.com/','i') ; // Caricamento normale per la Chat di Cans.com
	var Patt_UrlBp				= new RegExp('^http\://([^/]+\.)*(bannerporno|blogsyte)\.[^/]+/','i') ; // Caricamento normale Bp e per i sottodomini
	
	if ( PattUrlEsterno.test(FileDaCaricare) && ! PattUrlLocale.test(FileDaCaricare) && 
		 ! Patt_Netsons_Servers.test(FileDaCaricare) && ! Patt_CamsPuntoCom.test(FileDaCaricare) &&
		 ! Patt_UrlBp.test(FileDaCaricare) 
		 ) {
		
		// ctrl
		MovieUrl = 	GBL_SiteRoot_fJsAndImages_fLOCAL+'/LoaderSwfEsterni.php?SwfUrl='+escape(MovieUrl.replace(PattUrlEsterno,"$4"))
					+'&Host='+escape(MovieUrl.replace(PattUrlEsterno,"$3")) 
					+'&SwfVars='+escape(Value_fGet) ;
		// ctrl
		// alert("E' stato richiamato un Swf esterno...Verra' quindi utilizzato il seguente url:\n\n"+MovieUrl) ;
	}	
	
	// CTRL
	try { // su alcune pagine RemoteAddr potrebbe non essere disponibile
		if (RemoteAddr=="... IP DA SETTARE ...") {
			if (CtrlFlag_fMovieUrl) {
				alert(MovieUrl) ;
			}
		}
	} catch(e){} */
	
	return MovieUrl ;
}

function CaricaSwf(FileDaCaricare,Larghezza,Altezza,ValueTransparence,Value_fGet)
{

	var Browser 		= navigator.appName ;
	var Patt_IE			= new RegExp('^MSIE|Microsoft|IE$','gi') ; 
	var VersioneBrowser = parseInt(navigator.appVersion); 
	
		// INSERISCO LA COMPONENTE AGGIUNTIVA PER IE:
		var ComponenteAggiuntiva_IE = '' ;
		var ComponentiAggiuntive_W3C = '' ;
	
	var VariabileTrasparenza = new Array() ;
	var VariabileTrasparenzaForFireFox = new Array() ;
		VariabileTrasparenza["yes"]  = '<param name="wmode" value="transparent">' ;
		VariabileTrasparenza["no"]   = '' ;
	
		VariabileTrasparenzaForFireFox["yes"]  = ' wmode="transparent" ' ;
		VariabileTrasparenzaForFireFox["no"]   = '' ;
	
	var MovieUrl = GetSwf_WithExternalUrl(FileDaCaricare,Value_fGet) ; // !! ATT => CON Swf ESTERNI TALE METODO IMPLICA L'UTILIZZO DI UNA Request By Php !
		
		if ( Patt_IE.test(Browser) )
			{
				ComponenteAggiuntiva_IE  = ' classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,28,0" ' ;
			}
		else
			{
				ComponentiAggiuntive_W3C = ' type="application/x-shockwave-flash" data="'+MovieUrl+'" ' ;	
			}
	
	var Filmato = '<object id="'+FileDaCaricare+'" ' // aggiungo "BRUTALMENTE"  L'ID IN QUESTO MODO, DATO CHE GLI SWF SENZA id IN EXPLORER NN COMUNICANO CN JS!
					
	 				+ComponenteAggiuntiva_IE
					+ComponentiAggiuntive_W3C
					
					+'width="'+Larghezza+'" height="'+Altezza+'" hspace="0" vspace="0"> '
					
					+'<param name="movie" value="'+MovieUrl+'">'
					+'<param name="quality" value="high">'
					+'<param name="FlashVars" value="'+Value_fGet+'">'
					+'<param name="swLiveConnect" value="true">'
					+''+VariabileTrasparenza[ValueTransparence]+''
					+'<param name="allowScriptAccess" value="always">' // aggiunto dal momento in cui si sono utilizzati i Servers di appoggio
						
						/*
						+'<embed src="'+FileDaCaricare+'.swf?'+Value_fGet+'" '
							+' quality="high" '+VariabileTrasparenzaForFireFox[ValueTransparence]+' '
							+' pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" '
							+' width="'+Larghezza+'" height="'+Altezza+'" hspace="0" vspace="0">'
						+'</embed>'
						*/
						
				  +'</object>	';
	
	document.write(Filmato)	 ;
	
	
}

//!! VARIANTE DELLA FUNZIONE DI CARICAMENTO DELL'SWF CON GLI 'ID' PER L'IDENTIFICAZIONE DEL FILMATO DA PARTE DI JS;
//VIENE ANCHE IMPOSTATO ' swLiveConnect="true" ' NECESSARIO PER IL FUNZIONAMENTO SU FIREFOX
function CaricaSwf_withGetAndId(FileDaCaricare,Id,Larghezza,Altezza,ValueTransparence,Value_fGet,TipoRisultato)
{

	var Browser 		= navigator.appName ;
	var Patt_IE			= new RegExp('^MSIE|Microsoft|IE$','gi') ; 
	var VersioneBrowser = parseInt(navigator.appVersion); 

var VariabileTrasparenza = new Array() ;
var VariabileTrasparenzaForFireFox = new Array() ;
	VariabileTrasparenza["yes"]  = '<param name="wmode" value="transparent">' ;
	VariabileTrasparenza["no"]   = '' ;

	VariabileTrasparenzaForFireFox["yes"]  = ' wmode="transparent" ' ;
	VariabileTrasparenzaForFireFox["no"]   = '' ;

var MovieUrl = GetSwf_WithExternalUrl(FileDaCaricare,Value_fGet) ; // !! ATT => CON Swf ESTERNI TALE METODO IMPLICA L'UTILIZZO DI UNA Request By Php !
	
		// INSERISCO LA COMPONENTE AGGIUNTIVA PER IE:
		var ComponenteAggiuntiva_IE = '' ;
		var ComponentiAggiuntive_W3C = '' ;
		
		if ( Patt_IE.test(Browser) )
			{
				ComponenteAggiuntiva_IE = ' classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,28,0" ' ;
			}
		else
			{
				ComponentiAggiuntive_W3C = ' type="application/x-shockwave-flash" data="'+MovieUrl+'" ' ;	
			}

var Filmato = '<object id="'+Id+'" '
				
				
				+ComponenteAggiuntiva_IE
				+ComponentiAggiuntive_W3C
				
				+'width="'+Larghezza+'" height="'+Altezza+'" hspace="0" vspace="0" align="absmiddle"> '
                
				+'<param name="movie" value="'+MovieUrl+'">'
                +'<param name="quality" value="high">'
				+'<param name="swLiveConnect" value="true">'
				+'<param name="FlashVars" value="'+Value_fGet+'">'
				+''+VariabileTrasparenza[ValueTransparence]+''
				+'<param name="allowScriptAccess" value="always">' // aggiunto dal momento in cui si sono utilizzati i Servers di appoggio
				
			
              +'</object>	';

if ( TipoRisultato == 'return' )
	{ return(Filmato)   ; }
else
	{ document.write(Filmato) ; }
	
}

function CaricaSwf_withGetAndId_2(FileDaCaricare,Id,Larghezza,Altezza,ValueTransparence,Value_fGet,Hspace,Vspace,Align,TipoRisultato)
{

	var Browser 		= navigator.appName ;
	var Patt_IE			= new RegExp('^MSIE|Microsoft|IE$','gi') ; 
	var VersioneBrowser = parseInt(navigator.appVersion); 

var VariabileTrasparenza = new Array() ;
var VariabileTrasparenzaForFireFox = new Array() ;
	VariabileTrasparenza["yes"]  = '<param name="wmode" value="transparent">' ;
	VariabileTrasparenza["no"]   = '' ;

	VariabileTrasparenzaForFireFox["yes"]  = ' wmode="transparent" ' ;
	VariabileTrasparenzaForFireFox["no"]   = '' ;

var MovieUrl = GetSwf_WithExternalUrl(FileDaCaricare,Value_fGet) ; // !! ATT => CON Swf ESTERNI TALE METODO IMPLICA L'UTILIZZO DI UNA Request By Php !
	
		// INSERISCO LA COMPONENTE AGGIUNTIVA PER IE:
		var ComponenteAggiuntiva_IE = '' ;
		var ComponentiAggiuntive_W3C = '' ;
		
		if ( Patt_IE.test(Browser) )
			{
				ComponenteAggiuntiva_IE = ' classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,28,0" ' ;
			}
		else
			{
				ComponentiAggiuntive_W3C = ' type="application/x-shockwave-flash" data="'+MovieUrl+'" ' ;	
			}

var Filmato = 	'<object id="'+Id+'" '
					+ComponenteAggiuntiva_IE
					+ComponentiAggiuntive_W3C
					
					
					+' width="'+Larghezza+'" height="'+Altezza+'" '
					+' hspace="'+Hspace+'" vspace="'+Vspace+'" align="'+Align+'"> '
					
					+'<param name="movie" value="'+MovieUrl+'">'
					+'<param name="quality" value="high">'
					+'<param name="swLiveConnect" value="true">'
					+'<param name="FlashVars" value="'+Value_fGet+'">'
				    +''+VariabileTrasparenza[ValueTransparence]+''
					+'<param name="border" value="0">'
					+'<param name="allowFullScreen" value="true">' // aggiunta del tag per permettere il passaggio del filmato alla visione a schermo intero
					+'<param name="allowScriptAccess" value="always">' // aggiunto dal momento in cui si sono utilizzati i Servers di appoggio
				+'</object>' ;

if ( TipoRisultato == 'return' )
	{ return(Filmato)   ; }
else
	{ document.write(Filmato) ; }

}

function CreateSwfDinamically(
	SwfToLoad
	,Id
	,Width,Height
	,TransparenceValue //[yes][no]
	,Value_fGet
	,Hspace,Vspace,Align
	,FeaturesToAdd // { 'ObjectFeaturesToAdd' : {}, 'ParamFeaturesToAdd' : '' }  => aggiunge parametri al tag Object e/o Param
	,ObjectIntoAppend
) {
	if ( TryDom() ){
		
		var SwfExtension = /\.swf$/i ;
		if ( ! SwfExtension.test(SwfToLoad) ) {
			SwfToLoad += '.swf' ;
		}
		
		var ObjectFeatures = {
			 'id' : Id
			
			// IE
			,'classid' : IE? 'clsid:D27CDB6E-AE6D-11cf-96B8-444553540000' : ''
			,'codebase' : IE? 'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,28,0' : ''
			
			// NOT IE
			,'type' : !IE? 'application/x-shockwave-flash' : ''
			,'data' : !IE? SwfToLoad : ''
			
			,'width' : Width
			,'height' : Height
			,'hspace' : Hspace
			,'vspace' : Vspace
			,'align' : Align
		} ;
		
		var ParamFeatures = {
			 'movie' : SwfToLoad
			
			// IE
			,'src' : IE? SwfToLoad : ''
			,'play' : IE? 'true' : ''
			
			,'quality' : "high"
			,'swLiveConnect' : "true"
			,'FlashVars' : Value_fGet
			,'wmode' : TransparenceValue=='yes'? 'transparent' : ''
			,'border' : "0"
			,'allowFullScreen' : "true"
			,'allowScriptAccess' : "always"
		} ;
		
		var OBJECT 	= document.createElement("OBJECT") ;
		var PARAMS 	= new Array() ;
		var OBJECT_Strings = new Array() ;
		var PARAMS_Strings = new Array() ;
		
		for (var FeatureName in ObjectFeatures){
			if (ObjectFeatures[FeatureName] != "") {
				if (IE) { // su IE dobbiamo agire di innerHTML
					OBJECT_Strings.push(FeatureName+'="'+ObjectFeatures[FeatureName]+'"') ;
				} else {
					SetAttribute(OBJECT,FeatureName.toUpperCase(),ObjectFeatures[FeatureName]) ;
				}
			}
		}
		
		for (var FeatureName in ParamFeatures){
			if (ParamFeatures[FeatureName] != "") {
				var Param = document.createElement("PARAM") ;
				if (IE){ // su IE dobbiamo agire di innerHTML
					
					PARAMS_Strings.push('<param name="'+FeatureName+'" value="'+ParamFeatures[FeatureName]+'">') ;
				} else {
					
					SetAttribute(Param,"NAME",FeatureName) ;
					SetAttribute(Param,"VALUE",ParamFeatures[FeatureName]) ;
					PARAMS.push(Param) ;
				}
			}
		}
		
		// SE ESISTONO SI AGGIUNGONO LE Features AGGIUNTIVE AL Tag Object E SI AGGIUNGONO NUOVI
		// Tag Param SE RICHIESTI
		if ( FeaturesToAdd.ObjectFeaturesToAdd.length >0 ) {
			var ObjectFeaturesToAdd = FeaturesToAdd.ObjectFeaturesToAdd ;
			for ( var FeatureName in ObjectFeaturesToAdd ){
				if ( ObjectFeaturesToAdd[FeatureName] != '' ){
					
					if (IE) { // su IE dobbiamo agire di innerHTML
						OBJECT_Strings.push(FeatureName+'="'+ObjectFeatures[FeatureName]+'"') ;
					} else {
						SetAttribure(OBJECT,FeatureName.toUpperCase(),ObjectFeaturesToAdd[FeatureName]) ;
					}
				}
			}
		}
		
		if ( FeaturesToAdd.ParamFeaturesToAdd.length > 0 ) {
			var ParamFeaturesToAdd = FeaturesToAdd.ParamFeaturesToAdd ;
			for ( var FeatureName in ParamFeaturesToAdd ){
				if (ParamFeaturesToAdd[FeatureName] != ""){
					var Param = document.createElement("PARAM") ;
					if (IE){ // su IE dobbiamo agire di innerHTML
					
						PARAMS_Strings.push('<param name="'+FeatureName+'" value="'+ParamFeatures[FeatureName]+'">') ;
					} else {
						
						SetAttribute(Param,"NAME",FeatureName) ;
						SetAttribute(Param,"VALUE",ParamFeaturesToAdd[FeatureName]) ;
						PARAMS.push(Param) ;
					}
				}
			}
		}
		
		if (IE) {
		
			var OBJECT_String = '' 
				+'<object '+OBJECT_Strings.join(" ")+'>'
					+PARAMS_Strings.join("\n")
				+'</object>'
			+'' ;
		} else {
			
			if (PARAMS.length >0) {
				for (var i=0 ; i< PARAMS.length; i++){
					OBJECT.appendChild(PARAMS[i]) ;
					//alert(GetAttribute(PARAMS[i],false,"NAME")+" = "+GetAttribute(PARAMS[i],false,"VALUE")) ;
				}
			}
		}
		
		//SU Ie E' NECESSARIO RIPASSARE A ObjectIntoAppend IL SUO CONTENUTO TRAMITE InnerHTML
		if (IE){
			
			ObjectIntoAppend.innerHTML = OBJECT_String ;
			// alert(OBJECT_String) ;
		} else {
			
			ObjectIntoAppend.appendChild(OBJECT) ;
		}
	}
}


function ChangeSwfVariables(PercSwf,IdSwf,Width,Height,SwfVars)
{
	/*
	alert( 'PercSwf: '+PercSwf+'\n'
		  +'IdSwf: '+IdSwf+'\n'
		  +'Width: '+Width+'\n'
		  +'Height: '+Height+'\n'
		  +'SwfVars: '+SwfVars
		  ) ;
	*/
	
	if ( document.getElementsByTagName )
		{
			var SwfObjects = document.getElementsByTagName('OBJECT') ;
			for ( var i = 0 ; i < SwfObjects.length ; i++ )
				{
					var TagId = SwfObjects[i].getAttribute('ID') ;
					if ( TagId == IdSwf )
						{
							// ctrl
							// alert('TagId: '+TagId) ;
							// alert(PercSwf+'?'+SwfVars) ;
							
							// CAMBIO Url Swf SU Ie
							if(IE) {
								
								SetAttribute(SwfObjects[i],'MOVIE',PercSwf+'?'+SwfVars) ;
							} else {
								// CAMBIO Url Swf SU Firefox
							
								SetAttribute(SwfObjects[i],'DATA',PercSwf+'?'+SwfVars) ;
								
								//SetAttribute(SwfObjects[i],'FLASHVARS',SwfVars) ;
								var Params = SwfObjects[i].getElementsByTagName("PARAM") ;
								for (var y=0; y < Params.length; y++){
									
									var ParamName = GetAttribute(Params[y],false,"NAME") ;
									if (ParamName.toLowerCase()=="movie") {
										
										alert("trovato movie!") ;
										SetAttribute(Params[y],"Movie",PercSwf) ;
									}
									
									if (ParamName.toLowerCase()=="flashvars") {
										
										alert("trovato flashvars!") ;
										SetAttribute(Params[y],"FlashVars",SwfVars) ;
									}
								}
							}
							SetAttribute(SwfObjects[i],'WIDTH',Width) ;
							SetAttribute(SwfObjects[i],'HEIGHT',Height) ;
						}
				}
		}
}

// FUNZIONE PER RICHIAMARE LA Chat DI Cams.com
function ConstructChatCamsPuntoCom(IdSwf
								   ,ChatType // ['Random'],['Girl'],['Boy'],['Trans'],['Couple']
								   ,IntervalChangeChat //// tot di secondi ogni quanto cambiare la chat
								   )
{
	if ( ChatType == 'Random' ) { // se viene passato un valore random si sceglie a caso fra le 4 Categorie disponibili
		RandomType_fThis = new Array('Girl','Boy','Trans','Couple') ;
		var Random = Math.round(Math.random()*(RandomType_fThis.length+1)) ;
		alert('Random: '+Random) ;
		ChatType = RandomType_fThis[Random] ;
	}
			
	var ChatCode = new Array() ;
		ChatCode['Girl'] 	= '01,02,05,08,09,06' ;
		ChatCode['Boy']		= '06' ;
		ChatCode['Trans'] 	= '10,11,12' ;
		ChatCode['Couple'] 	= '03,04,07' ;
	
	var VarsArray = new Array() ;
		VarsArray['pid'] 		= 'g1149515-pct' ;
		VarsArray['genreKeys'] 	= ChatCode[ChatType] ;
		VarsArray['logoURL'] 	= 'http%3A%2F%2Fwww.bannerporno.com%2FBp%2FImmagini%2FLogo_38x26px.png' ;
		VarsArray['cobrand'] 	= 'webcams.bannerporno.com' ;
		VarsArray['colorTheme'] 		= '0x990000' ;
		VarsArray['modelNameColor'] 	= '0xffffff' ;
		VarsArray['volume'] 	= '0' ;
		VarsArray['skinURL'] 	= 'cams_live_skin_2_no_tabs.swf' ;
		VarsArray['clickURL'] 	= 'http%3A%2F%2Fwebcams.bannerporno.com%2Fp%2Fcams%2Fview.cgi%3Fpid%3Dg1149515-pct%26stream%3D%7bstream%7d%26action%3Dview%26dcb%3Dwebcams.bannerporno.com' ;
		VarsArray['window'] 	= '_blank' ;
	
	var SwfVarsArray = new Array() ;
	for ( var Key in VarsArray ) {
		SwfVarsArray.push(Key+'='+VarsArray[Key]) ;
	}
	var SwfVars = SwfVarsArray.join('&') ;
	
	ChangeSwfVariables(
		 'http://graphics.streamray.com/images/cams/flash/cams_live.swf' //PercSwf
		,IdSwf //IdSwf
		,200 //Width
		,180 //Height
		,SwfVars
	) ;
	
	if (IntervalChangeChat != '') {
		
		setInterval(
			function(){
				ConstructChatCamsPuntoCom(  IdSwf
										   ,ChatType // ['Random'],['Girl'],['Boy'],['Trans'],['Couple']
										   ,IntervalChangeChat //// tot di secondi ogni quanto cambiare la chat
										   ) ;
			}
			,IntervalChangeChat*1000			
		) ;
	}
}

function ApriSkype(Utente)
{
	location.href='skype:'+Utente+'?call' ;	
}


function ApriMeteo()
{
	ApriFinestra5("'http://www.ilmeteo.it/script/meteo2.php?id=serrbru&citta=7301','Pop_fMeteo',550,292,'no','no'") ;
}

function ApriFinestra3(URL,NOME_FINESTRA,LARGHEZZA,ALTEZZA,ScrollingYesNo)
{
	/*
	alert(URL) ;
	alert(NOME_FINESTRA) ;
	alert(LARGHEZZA) ;
	alert(ALTEZZA) ;
	alert(ScrollingYesNo) ;
	*/
	
	var LarghezzaSchermo_fthis = screen.width ;
	var AltezzaSchermo_fThis   = screen.height ;
	
	var ASSE_Y  =  (AltezzaSchermo_fThis   - ALTEZZA)/2 ;
	var ASSE_X  =  (LarghezzaSchermo_fthis - LARGHEZZA)/2 ;
	
	var PopUp = window.open(URL,NOME_FINESTRA,"  top="+ASSE_Y+", left="+ASSE_X+", width="+LARGHEZZA+" , height="+ALTEZZA+" , toolbar = no , location = no , status = no ,menubar = no , scrollbars = "+ScrollingYesNo+" , resizable = no ") ;
	
	if ( ! PopUp )
		{ ScriviAlert(MSG_NoPopUp) ; }
	
	try
		{
			PopUp.focus() ;	
		}
	catch(e){}
}


// SU BP  E' ATTIVO L'EVENTO onBeforeUnload CHE PURTROPPO SI ATTIVA ANCHE SUL CLICK CHE APRE LE pop up ! E' NECESSARIO
// QUINDI SE NON VOLUTA NASCONDERE IL LIVELLO DELLA pop up artificiale CHE DI CONSEGUENZA APPARE !
function ApriFinestra4_with_BeforeUnLoadEvent(URL,NOME_FINESTRA,LARGHEZZA,ALTEZZA,ScrollingYesNo,ResizableYesNo)
{
	ApriFinestra4(URL,NOME_FINESTRA,LARGHEZZA,ALTEZZA,ScrollingYesNo,ResizableYesNo) ;
	ChiudiPopUpArtificiale('');
}

function ApriFinestra4(URL,NOME_FINESTRA,LARGHEZZA,ALTEZZA,ScrollingYesNo,ResizableYesNo)
{
	/*
	alert('URL:'+URL) ;
	alert('NOME_FINESTRA:'+NOME_FINESTRA) ;
	alert('LARGHEZZA:'+LARGHEZZA) ;
	alert('ALTEZZA:'+ALTEZZA) ;
	alert('ScrollingYesNo:'+ScrollingYesNo) ;
	alert('ResizableYesNo:'+ResizableYesNo) ;
	*/
	
	var LarghezzaSchermo_fthis = screen.width ;
	var AltezzaSchermo_fThis   = screen.height ;
	
	var ASSE_Y  =  (AltezzaSchermo_fThis   - ALTEZZA)/2 ;
	var ASSE_X  =  (LarghezzaSchermo_fthis - LARGHEZZA)/2 ;
	
	var PopUp = window.open(URL,NOME_FINESTRA,"  top="+ASSE_Y+", left="+ASSE_X+", width="+LARGHEZZA+" , height="+ALTEZZA+" , toolbar = no , location = no , status = no ,menubar = no , scrollbars = "+ScrollingYesNo+" , resizable = "+ResizableYesNo+" ") ;
	
	if ( ! PopUp )
		{ ScriviAlert(MSG_NoPopUp) ; }
	
	try
		{
			PopUp.focus() ;	
		}
	catch(e){}
	
}


//!! FUNZIONE CREATA APPOSTA PER LA FUNZIONE DI APERTURA FINESTRE CHIAMATA DA  Flash CS3, 
// DATO CHE QUEST'ULTIMO NON PERMETTE AL SUO INTERNO L'USO DELL' eval :
function ApriFinestra5_fCS3(Parametri)
{
	//alert(Parametri)
	eval('ApriFinestra4('+Parametri+')') ;
}


function ApriFinestra5(Parametri) // !! PER PASSARE TUTTI I PARAMETRI TRAMITE UNA SOLA STRINGA
{
	//alert(Parametri)
	eval('ApriFinestra4('+Parametri+')') ;
}





function RilevaLivello(PercAggiuntivo,NomeDiv)
{
	try { 
		 if (document.layers) 		 { var PercorsoLivello = PercAggiuntivo+'document.layers["'+NomeDiv+'"]' ; }
			else if (document.getElementById) { var PercorsoLivello = PercAggiuntivo+'document.getElementById("'+NomeDiv+'")' ; }
			 else  if  (document.all) 			 		{ var PercorsoLivello = PercAggiuntivo+'document.all.'+NomeDiv+'' ; }	
			
			 return PercorsoLivello ;
	} catch(e) {
	}
}




// FUNZIONE PER RILEVARE LO Scroll CORRENTE ( usato dai Filmati Flash )
function RilevaScroll()
{
  var ScrollX = 0, ScrollY = 0;
 
 if( typeof( window.pageYOffset ) == 'number' ) 
  		{
			ScrollY = window.pageYOffset;
			ScrollX = window.pageXOffset;
		} 
  else if ( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) 
  		{
			 ScrollY = document.body.scrollTop;
			 ScrollX = document.body.scrollLeft;
	    } 
  else if
		( document.documentElement && 
		  ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) 
		) 
		{
			ScrollY = document.documentElement.scrollTop;
			ScrollX = document.documentElement.scrollLeft;
		}
  
  return Array (ScrollX, ScrollY) ;
}



//////////////////////////////////////////////// MOVIMENTAZIONE LAYER SCORREVOLE //////////////////////////
var xScroll, yScroll, windowWidth, windowHeight ,AltezzaSchermo, LarghezzaSchermo, AltezzaSchermoIniziale  ;

function RilevaScrollingPagina()
{

	if (self.pageYOffset) 
	{
		yScroll = self.pageYOffset;
	}
	 else if (document.documentElement && document.documentElement.scrollTop)
	{	 // Explorer 6 
		yScroll = document.documentElement.scrollTop;
	} 
	else if (document.body) 
	{// altri browsers
		yScroll = document.body.scrollTop;
	}

}

	
function DeterminaDimensioniPagina() 
{
	//determinazione  xScroll, yScroll
	if (window.innerHeight && window.scrollMaxY) 
		{	
			xScroll = document.body.scrollWidth;
			yScroll = window.innerHeight + window.scrollMaxY;
		} 
	else if (document.body.scrollHeight > document.body.offsetHeight)
		{ // NO Explorer Mac
			xScroll = document.body.scrollWidth;
			yScroll = document.body.scrollHeight;
		} 
	else 
		{ // Explorer Mac Mozilla E Safari
			xScroll = document.body.offsetWidth;
			yScroll = document.body.offsetHeight;
		}
	
	//determinazione windowWidth, windowHeight
	if (self.innerHeight)
		{	// NO Explorer
			windowWidth = self.innerWidth;
			windowHeight = self.innerHeight;
		}
		else if (document.documentElement && document.documentElement.clientHeight) 
		{ // Explorer 6 
			windowWidth = document.documentElement.clientWidth;
			windowHeight = document.documentElement.clientHeight;
		} 
		else if (document.body) 
		{ // ALTRI BROWSERS
			windowWidth = document.body.clientWidth;
			windowHeight = document.body.clientHeight;
		}	
	
	
	if(yScroll < windowHeight)
		{
			pageHeight = windowHeight;
		} 
		else
		{ 
			pageHeight = yScroll;
		}

	
	if(xScroll < windowWidth)
		{	
			pageWidth = windowWidth;
		}
		 else 
		{
			pageWidth = xScroll;
		}
	
	if(xScroll > windowWidth)
		
		{	
			pageWidth = windowWidth;
		}
		 else 
		{
			pageWidth = xScroll;
		}
	
	LarghezzaSchermo = pageWidth  ;
	AltezzaSchermo   = pageHeight ;
}



var y_top = 0 ;
function AggiornaScroll() 
{


			DeterminaDimensioniPagina() ;
			RilevaScrollingPagina() ;
		
		var PercorsoLivello1 = '' ;
		try { // IL LIVELLO SCORREVOLE NN SEMPRE E' PRESENTE
				PercorsoLivello1 = RilevaLivello("","LivelloScorrevole")  ; // LIVELLO DELLA FINESTRABANNERS DX
			} catch(e){} ;
			
		var PercorsoLivello2 = RilevaLivello("","LivelloPopUpVirtuale")   ; // LIVELLO PER LE POP-UP VIRTUALI
															 
		var PosizioneLivello = yScroll
			PosizioneLivello = parseInt(PosizioneLivello) ;
			//alert("PosizioneLivello: "+PosizioneLivello)
		
			
			var QtaSpostamento = 0 ;
			var RangeScroll = PosizioneLivello - y_top ;
			if ( RangeScroll < 0 )
				{ RangeScroll = -RangeScroll ; }
			
			// MOVIMENTAZIONE PROGRESSIVA LAYER A "SMORZAMENTO"
			if ( RangeScroll > 500 )
				{ QtaSpostamento = 30 ; }
			if ( RangeScroll <= 500 && RangeScroll > 300 )
				{ QtaSpostamento = 20 ; }
			if ( RangeScroll <= 400 && RangeScroll > 300 )
				{ QtaSpostamento = 15 ; }
			if ( RangeScroll <= 300 && RangeScroll > 200 )
				{ QtaSpostamento = 10 ; }
			if ( RangeScroll <= 200 && RangeScroll > 100 )
				{ QtaSpostamento = 8 ; }
			if ( RangeScroll <= 100 && RangeScroll > 80 )
				{ QtaSpostamento = 6 ; }
			if ( RangeScroll <= 80 && RangeScroll > 60 )
				{ QtaSpostamento = 4 ; }
			if ( RangeScroll <= 60 && RangeScroll > 40 )
				{ QtaSpostamento = 3 ; }
			if ( RangeScroll <= 40 )
				{ QtaSpostamento = 2 ; }
			///////////////////////////////////////////////////
		
			if ( y_top < PosizioneLivello-10 )
				{ y_top = y_top + QtaSpostamento ; }
				
			else if ( y_top > PosizioneLivello+10 )
				{ y_top = y_top - QtaSpostamento ; }
				
			
			// IL LIVELLO DEL BANNER DX SCORREVOLE, VIENE FATTO SCORRERE SOLAMENTE NEL MOMENTO IN CUI RISULTAVISIBILE;
			// QUESTO PER EVITARE SOVRACCARICHI AL PROCESSORE QUANDO COMPARE LA POP-UP ARTIFICIALE DA SCOLLARE ANCH'ESSA(VEDI QUI SOTTO)
			try 
				{
					if ( eval(PercorsoLivello1+'.style.visibility=="visible"') ) 
						{
							eval(PercorsoLivello1+'.style.top = "'+y_top+'" ; ') ;
						}
				}
			catch(e){}
			
			// nel caso DEL LIVELLOD DEDICATO ALLE POP-UP ARTIFICIALI, OLTRE ALLO SCROLLING MI DEDICO ANCHE AL CENTRAMENTO
			// DELLA POP-UP NELLO SCHERMO:
			// .. rilevo l'altezza della pop-up dall'apposito campo del form:
			try 
				{
					var AltezzaPopUp_fThis = document.forms['FormPerAltezzaPopUp'].elements['CampoNascostoPerAltezzaPopUp'].value ;
				}
			catch(e){}
			//
			
					//BYPASS! PER EVITARE SOVRACCARICHI SUL PROCESSORE, LA POP-UP VIRTUALE LA SPOSTO DIRETTAMENTE E NN PROGRESSIVAMENTE
					//var Pos_fPopUpVirtuale_y = y_top+((windowHeight-AltezzaPopUp_fThis)/2) ;
																	   
					  var Centratura_y = (windowHeight-AltezzaPopUp_fThis)/2 ;
							Centratura_y = parseInt(Centratura_y) ;
							
					  var Pos_fPopUpVirtuale_y = yScroll+(Centratura_y)  ;
					  
			try
				{
					var PercorsoLivelloCoprente = RilevaLivello('','LivelloCoprente') ;
					if ( eval(PercorsoLivelloCoprente+'.style.visibility=="visible"') ) //!! ATTENZIONE: LA POP-UP ARTIFICIALE LA SPOSTO SOLAMENTE SE IL LIVELLO COPRENTE
																						//RISULTA VISIBILIZZATO
						{
							eval(PercorsoLivello2+'.style.top = "'+Pos_fPopUpVirtuale_y+'" ; ') ;// se il LIVELLO COPRENTE è visibile allora sposto LA PopUp Artificiale
						}
				}
			catch(e){}
			
			//  AGGIORNO L'ALTEZZA DEL 'LivelloCoprente' 
			var AltezzaPagina = windowHeight+yScroll;
			eval(PercorsoLivelloCoprente+'.style.height="'+AltezzaPagina+'" ; ') ;
			
			setTimeout("AggiornaScroll()",20);
	

}


//////////////////////////////////////////////////////////////////////////////////////////////////



function StampaIframeInvisibile(NameIframe,SrcIframe,TipoRisultato)
{
	var Iframe = '<iframe id="'+NameIframe+'" name="'+NameIframe+'" '
				+'src="'+SrcIframe+'" frameborder="0" height="0" '
				+'width="0" marginheight="0" '
				+'marginwidth="0" scrolling="no" '
				+'vspace="0" hspace="0" '
				+'allowtransparency="yes"></iframe>' ;
	
	if ( TipoRisultato == 'return' )
		{ return Iframe ; }
	else
		{ document.write(Iframe) ; }
}


// RILEVAMENTO FILMATO IN PAGINA
function RilevaSwf(SwfId,PercAggiuntivo)
{
	 // !! 'PercAggiuntivo' contiene il percorso ad una eventuale pagina 'parent' (vedi '_Upl_SubmitForm.php')
	 var RilvamentoSwf = new Array() ;
		 RilvamentoSwf[0] = PercAggiuntivo+'document.embeds["'+SwfId+'"]' ;
		 RilvamentoSwf[1] = PercAggiuntivo+'document.'+SwfId+'' ;
		 RilvamentoSwf[2] = PercAggiuntivo+'window.'+SwfId+'' ;
	
	
	var SwfObject = '' ;
	
	for ( var i = 0 ; i < RilvamentoSwf.length ; i++ )	 
		{
			try {
					if ( eval(RilvamentoSwf[i]) ) {SwfObject = eval(RilvamentoSwf[i]) ; break ;}
				}
			catch(e){continue;}
		}
	
	return SwfObject ;	 
	// var ValueSwfArray = document.embeds['TextEditor'].GetVariable('_root.Text_fBrowser') ;
}

// FUNZIONE RICHIAMATA DAI FILE DI Flash PER TESTARE L'INTERAZIONE CN JS:
function RilevaInterazione_JS_Flash()
{
	return ('OK_fFlash') ;	
}




////////////////////////// FUNZIONE PER L'APERTURA DELLE POP-UP DI GOOGLE

function ApriPopUpGoogle(PercPopUp,ApiKeyGoogle,FumettoText,AddressToReserch,PopUpWidth,PopUpHeight,ScrollingYesNo,ResizableYesNo) 
{
	// SE VIENE PASSATA L'APIKEY DI GOOGLE ALLORA SI APRE LA MAPPA PERSONALIZZATA, ALTRIMENTI QUELLA GENERICA
	if ( ApiKeyGoogle != '' )
		{
			var Ulr_PopUpGoogle = PercPopUp+'?ApiKeyGoogle='+ApiKeyGoogle+'&FumettoText='+FumettoText+'&AddressToReserch='+AddressToReserch ;
		}
	else
		{
			var Ulr_PopUpGoogle = PercPopUp+'?AddressToReserch='+AddressToReserch ;
		}
	
	var LarghezzaSchermo_fthis = screen.width ;
	var AltezzaSchermo_fThis   = screen.height ;
	
	var ASSE_Y  =  (AltezzaSchermo_fThis   - PopUpHeight)/2 ;
	var ASSE_X  =  (LarghezzaSchermo_fthis - PopUpWidth)/2 ;
	
	var PopUp = window.open(Ulr_PopUpGoogle,'PopUp_fGoogle',"  top="+ASSE_Y+", left="+ASSE_X+", width="+PopUpWidth+" , height="+PopUpHeight+" , toolbar = no , location = no , status = no ,menubar = no , scrollbars = "+ScrollingYesNo+" , resizable = "+ResizableYesNo+" ") ;
	
	if ( ! PopUp )
		{ ScriviAlert(MSG_NoPopUp) ; }
	
	try
		{
			PopUp.focus() ;	
		}
	catch(e){}
	
}


// FUNZIONE PER LA CHIUSURA DELLA FINESTRA DEL TechPlayer:
function ChiudiTechPlayer(FraseToConfirm,FlagChiudiAudio)
{
	if ( confirm(FraseToConfirm) )
		{
			if ( FlagChiudiAudio ) // SE VIENE PASSATA QUESTA VARIABILE ALLORA VIENE CHIUSA ANCHE LA POPUP DELL'AudioPlayer :
				{
					ApriFinestra4('PaginaVuota.html','Pop_fAudio',100,100,'no','no') ; // carico nella PopUp audio la pagina che chiude la popup stessa
				}
				
			
			/* BYPASS: -> CHIAMO LA PAGINA DI CHIUSURA DEDICATA
			// QUI FACCIO INVECE RIFERIMENTO ALLA PAGINA APRENTE SE REPERIBILE ( ' TechPlayer_Stamp_OPEN.php ' ):
			try
				{
						window.opener.ChiudiPopUp_fThis() ;
				}
			catch(e) {}
			
			
			// qui chiudo invece la popup del TechPlayer (aperto in ' TechPlayer_Stamp.php ' ):
			SelfClose() ;
			*/
			location.href="TechPlayer_Close.php" ;
		}
}


function RicavaCoordinateElemento (Elemento_Id) 
{ 
	if (document.all)
		{ Elemento_Object = document.all[Elemento_Id] ; } 
	else if (document.getElementById)
		{ Elemento_Object = document.getElementById(Elemento_Id) ; }
	
	var Coordinate = {x: 0, y: 0} ;
		while (Elemento_Object) 
			{
				// SOMMO LE COORDINATE DELL'ELEMENETO RICHIESTO PIU' QUELLE
				// DEGLI ELEMENTI 'PARENTI' PER OTTENERE LA POSIZIONE REALE SUGLI ASSI X-Y
				Coordinate.x += Elemento_Object.offsetLeft ;
				Coordinate.y += Elemento_Object.offsetTop  ;
				// RILEVAMENTO ELEMENTO 'parente'
				Elemento_Object = Elemento_Object.offsetParent ;
			}
	return Coordinate;
} 



function ApriCatalogo_fCarrello(PercorsoAggiuntivo,UrlCatalogue) // da inserire col punto, tipo 'parent.'
{
	eval("VisibilizzaLayer('"+PercorsoAggiuntivo+"','Div_fChart') ; ") ; 
	eval(""+PercorsoAggiuntivo+"Iframe_fCatalogo.location.href='"+UrlCatalogue+"' ;") ;
}


function ControllaLunghezzaTesti(NomeForm,NomeCampoForm,LunghezzaStringaConsentita)
{
	var PercForm = document.forms[NomeForm] ;	
	var CampoFormValore = PercForm.elements[NomeCampoForm].value ;
	
	if ( CampoFormValore.length >= LunghezzaStringaConsentita )
		{
			ScriviAlert('ATTENZIONE!\n\n\nIl campo consente solamente '+LunghezzaStringaConsentita+' caratteri.') ;	
		}
	
	CampoFormValore = CampoFormValore.substr(0,LunghezzaStringaConsentita) ;
	
	PercForm.elements[NomeCampoForm].value = CampoFormValore ;
}
