﻿// JScript File

// -----------------------------------------------------------------------------------------------------------------------------------
// --- configurazione
// setto l'oggetto JS con le info per la gestione della SplashPage (modalità di visualizzazione, frequenza ed info di creazione del 
// cookie su cui si appoggia la gestione della SplashPage
// -----------------------------------------------------------------------------------------------------------------------------------
function objStitialvars() {
	this.freqtype = "";
	this.cookieduration = "";
	this.cookiename = "";
	this.cookiepath = "";
	this.displayfrequency = 1;
}

var stitialvars = new objStitialvars()				//temporary object to reference/ shorthand certain interstitialBox properties
	stitialvars.freqtype = "cookie";				//"chance" or "cookie"
	stitialvars.cookieduration = "session"; 		//"session" or int (integer specifying number of days)
	stitialvars.cookiename = "SplashPageCookie";	//name of cookie to use
	stitialvars.cookiepath= "/";					//Path to save cookie
	stitialvars.displayfrequency = 1;				//DisplayFreq (only for "chance")
// -----------------------------------------------------------------------------------------------------------------------------------

// funzione base, parte sull'onLoad della pagina e gestisce la modalitò di visualizzazione
var baseLoad = window.onload;
window.onload = function()
{
	// eseguo prima il base onload
	if (baseLoad) {
		baseLoad();
	} 
	
	// se sono autore setto il layout ed esco subito
	if (IsAuthor == "True") {
		SetLayoutForAuthor();
		return;
	}
	
	// verifico se devo forzare la visualizzazione della Splash, se si visualizzo ed esco subito
	if (fun_GetQuerystringValue("fsp") == "yes") {
		fun_Switch(false, true);
		return;
	}
	
	if (fun_GetQuerystringValue("fsp") == "no") {
		fun_Switch(true, false);
		setCookie(stitialvars.cookiename+"_s", "loaded", stitialvars.cookiepath);
		return;
	}
	
	var splashVisible = false;
	var pageVisible = true;
		
	try {
		if (stitialvars.freqtype == "chance") { 
			//IF CHANCE MODE
			if (Math.floor(Math.random()*stitialvars.displayfrequency)==0) {
				splashVisible = true;
				pageVisible = false;
			}
		}
		else if (stitialvars.freqtype == "cookie" && stitialvars.cookieduration == "session") {
			//IF "SESSION COOKIE" MODE
			if (getCookie(stitialvars.cookiename+"_s") == "") { 
				//if session cookie is empty
				setCookie(stitialvars.cookiename+"_s", "loaded", stitialvars.cookiepath)
				splashVisible = true;
				pageVisible = false;
			}
		}
		else if (stitialvars.freqtype == "cookie" && typeof parseInt(stitialvars.cookieduration) == "number") { 
			//IF "PERSISTENT COOKIE" MODE
			if (getCookie(stitialvars.cookiename) == "" || parseInt(getCookie(stitialvars.cookiename)) != parseInt(stitialvars.cookieduration)) { 
				//if persistent cookie is empty or admin has changed number of days to persist from that of the stored value (meaning, reset it)
				setCookie(stitialvars.cookiename, stitialvars.cookieduration, stitialvars.cookiepath, stitialvars.cookieduration)
				splashVisible = true;
				pageVisible = false;
			} 
		}
		
		fun_Switch(pageVisible, splashVisible);
	} catch (e) {
	}
}

// -----------------------------------------------------------------------------------------------------------------------------------
// --- FUNZIONI DI SERVIZIO
// -----------------------------------------------------------------------------------------------------------------------------------

// gestisce on/off DIV di contentuo SplahPage, PageConter/FlashHome e Footer
function fun_Switch(objPageVisible, objSplashVisible)
{        
	var objPage = document.getElementById('content');
	var objPageflash = document.getElementById('flash');
	var objSplash = document.getElementById('interContainer');
	var objFlashSplashContainer = document.getElementById('SplahFlash');
	var objFooterContainer = document.getElementById('footer');
	
	// Issue 3534
	// Ahmed Djobby
	// 2008.08.05
	var objFlashReplacement = document.getElementById('AdditionalContent');    
    //var version = deconcept.SWFObjectUtil.getPlayerVersion(); // 1.4.4 swfobject version
    var version = swfobject.getFlashPlayerVersion(); // 2.1 swfobject version
    var flashEnabled = document.getElementById && (version && version['major'] && version['major'] >= 9);
    // --------------------------------------------------------------------------------------------------
    
	objFooterContainer.style.display = 'block';
	
	// Initializes the flash replament to OFF mode
	// Issue 3534
	// Ahmed Djobby
	// 2008.08.05
    objFlashReplacement.style.visibility = "hidden";
    objFlashReplacement.style.display = "none";
    //objFlashReplacement.innerHTML = "";
    
    objSplash.style.display = "none";
    // ---------------------------------------------
    
	// verifico se esiste il flash della Splash, se non c'è forzo a spenta la Splash e accendo 
	// la home normale questo dovrebbe essere il caso del posting della Splash Scaduto/Non presente
	if (FlashSplash.length > 1) {
		if (objPage && objSplash && objSplash) {
			// visualizzazione contenuto Home
			if (objPageVisible) {
				objPage.style.visibility = "visible";
				objPageflash.style.visibility = "visible";
				objPage.style.display = "";
				objPageflash.style.display = "";
				$("#news").newsTicker();
				objPageflash.innerHTML = fun_GetFlashAsString(FlashHome)
			} else {
				objPage.style.visibility = "hidden";
				objPageflash.style.visibility = "hidden";
				objPage.style.display = "none";
				objPageflash.style.display = "none";
				objPageflash.innerHTML = "";
			}
			
			// visualizzazione Splash
			if (objSplashVisible) {
			    if (flashEnabled){ // Issue 3534 , Ahmed Djobby, 2008.08.05
			        // Flash ON
				    objSplash.style.visibility = "visible";
				    objSplash.style.display = "";
				    objFlashSplashContainer.innerHTML = fun_GetFlashAsString(FlashSplash);				    				    
				}
				else if (objFlashReplacement && objFlashReplacement.style) { // Issue 3534 , Ahmed Djobby, 2008.08.05
				    // FlashReplacement ON
				    objFlashReplacement.style.visibility = "visible";
				    objFlashReplacement.style.display = "block";
				    objSplash.style.display = "block";
				    
				    // Flash OFF
				    objPageflash.style.visibility = "hidden";
				    objPageflash.style.display = "none";
				    objPageflash.innerHTML = "";
				}
			} else {
				//StopFlashMovie();
				objSplash.style.visibility = "hidden";
				objSplash.style.display = "none";
				objFlashSplashContainer.innerHTML = "";							
			}
		}
	} else {
		// nascondo il container della Splash
		objSplash.style.visibility = "hidden";
		objSplash.style.display = "none";
		objFlashSplashContainer.innerHTML = "";
		
		// accendo i container del Flash della Home e del Contenuto 
		objPage.style.visibility = "visible";
		objPageflash.style.visibility = "visible";
		objPage.style.display = "";
		objPageflash.style.display = "";
		objPageflash.innerHTML = fun_GetFlashAsString(FlashHome)
		$("#news").newsTicker();
	}
}

// setta il layout in caso di AuthorMode (il div della Splash non deve essere acceso e i contenuti della pagina si)
function SetLayoutForAuthor()
{
	var objPage = document.getElementById('content');
	var objPageflash = document.getElementById('flash');
	var objSplash = document.getElementById('interContainer');
	var objFooterContainer = document.getElementById('footer');
	
	objSplash.style.visibility = "hidden";
	objSplash.style.display = "none";
	objPage.style.visibility = "visible";
	objPageflash.style.visibility = "visible";
	objPage.style.display = "";
	objPageflash.style.display = "";
	objFooterContainer.style.visibility = "visible";
	objFooterContainer.style.display = "block";
}

// restituisce un valore preso da Querystring
function fun_GetQuerystringValue(KeyToFind)
{
	KeyToFind = KeyToFind.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
	var regexS = "[\\?&]" + KeyToFind + "=([^&#]*)";
	var regex = new RegExp(regexS);
	var results = regex.exec(window.location.href);
	if (results == null) {
		return "";
	} else { 
		return results[1];
	}
}

// questa funzione restituisce l'oggetto flash (tag html) si appoggia alle funzioni del CommonJsFunction
function fun_GetFlashAsString()
{
	var ret = AC_GetArgs(arguments[0], ".swf", "movie", "clsid:d27cdb6e-ae6d-11cf-96b8-444553540000", "application/x-shockwave-flash");
	var strObj = AC_GenerateObjectString(ret.objAttrs, ret.params, ret.embedAttrs);
	return strObj;
}
// -----------------------------------------------------------------------------------------------------------------------------------