/*------------------------------------*/
// THE ULTIMATE OVERLAYER ADVERTISING  /
//                                     /
// Creato da Saibal nel Settembre 2006 /
/*------------------------------------*/

/* ARGOMENTI:
1) tempo di chiusura automatica in millisecondi
2) durata del cookie  (in minuti). se impostata a "0" vale per una sessione
3) nome iframe (la dir www.html.it/ads_pages/)
4) lunghezza dell'iframe in pixel (352 default)
5) altezza dell'iframe in pixel (252 default)
*/

/* parte da aggiungere alla pagina nel BODY:
<!-- OVERLAYER START -->
script type="text/javascript" src="overlayer.js"/script

addLoadEvent(function() { show_overlayer('60000','1','overlayer_php.htm','300','250'); })
<!-- OVERLAYER END -->
*/

///////////////////////////
/* INIZIO CONFIGURAZIONE */
///////////////////////////
//path principale dei CSS
//DEFAULT: http://utenti.html.it/common/css/;
//DEFAULT: http://www.html.it/ads_pages/
var url_css = 'http://utenti.html.it/common/css/';
var showopacity = (showopacity) ? 'y' : 'n';
var mymargintop = (mymargintop) ? mymargintop : '';
var subdom_inc = (subdom_inc) ? subdom_inc : 'n';
//faccio sparire alcuni elementi dalla pagina
hide_elem = new Array();
hide_elem [0] = 'banner_728';
hide_elem [1] = 'parte_alta_dx';
hide_elem [2] = 'banner_piede_articolo';
hide_elem [3] = 'banner-250x250';
//array dei siti con sottodominio per cui deve valere il cookie
site_cookname = new Array();
site_cookname[0]= 'webnews.it';
site_cookname[1]= 'pmi.it';

////////////////////////////////////
/* INIZIO CODICE - NON MODIFICARE */
////////////////////////////////////
function show_overlayer(autoclose,cook_time,myframename,myframe_w,myframe_h)
{
	divoverlayer = 'myoverlayer';
	divopacita = 'div_opacity';
	cook_name = window.location.hostname + '_overlayer';
	cook_domain = '';
	var mypagesize = getPageSize();
	var mywidth = (document.all)? mypagesize[2] : mypagesize[2] -16;
	var objBody = document.getElementsByTagName("body").item(0);
	var objHead = document.getElementsByTagName("head").item(0);

	html_code  = '<div id="overlayer_container" style="width:' +myframe_w+ 'px;">';
	html_code += '<div id="overlayer_closer">';
	html_code += '<a href="javascript:void(0);" onclick="close_layer();return(false);">';
	html_code += '<img src="overlayer_chiudi.gif" alt="" /></a>';
	html_code += '</div></div>';
	html_code += '<div id="overlayer_iframe_container" style="width:' +myframe_w+ 'px;">';
	html_code += '<iframe id="overlayer_iframe" src="'+myframename+ '" ';
	html_code += 'style="height:' +myframe_h+ 'px;width:' +myframe_w+ 'px;" ';
	html_code += 'frameborder="0" scrolling="no"></iframe>';
	html_code += '</div>';

	// vedo che parametri dare al cookie (in caso dovesse passare anche subdomain)
	if (subdom_inc == 'y')
	{
		for (i=0; i<site_cookname.length; i++)
		{
			if (window.location.hostname.indexOf(site_cookname[i]) != -1)
			{
				cook_name = site_cookname[i] + '_overlayer';
				cook_domain = site_cookname[i];
			}
		}
 	}
	//vedo se esistono gli elementi base della pagina
	if (objBody != "null" && objHead != "null")
	{
		//se non c'è il cookie impostato
		if (document.getElementById && ScanCookie_overlayer(cook_name)==0)
		{
			//stampo i css aggiuntivi
			if (document.getElementById('css_myoverlayer') != "null")
			{
				var cssNode = document.createElement('link');
				cssNode.id = 'css_myoverlayer';
				cssNode.type = 'text/css';
				cssNode.rel = 'stylesheet';
				cssNode.href = url_css + 'overlayer.css';
				cssNode.media = 'screen';
				objHead.appendChild(cssNode);
				document.getElementById('css_myoverlayer').disabled = false;
				//creo il div contenitore del banner
			 	over_elem = document.createElement('div');
			 	over_elem.setAttribute('id',divoverlayer);
			 	over_elem.style.display = 'none';
				over_elem.style.width = 'auto';
				over_elem.style.left = (mywidth - myframe_w)/2 + 'px';
				over_elem.innerHTML = html_code;
				if (myframe_h > 500)
				{
					over_elem.style.height	= myframe_h + 'px';
				}
				if (mymargintop != '')
				{
					over_elem.style.top = mymargintop + 'px';
				}
				if (document.getElementById('css_myoverlayer').disabled == false)
				{
					objBody.insertBefore(over_elem, objBody.firstChild);
					setTimeout('over_elem.style.display = ""',350);
				}
				//vedo se mostrare la cosa scura del div
				if (showopacity == 'y' && document.getElementById(divoverlayer))
				{
					objOverlay = document.createElement('div');
					objOverlay.setAttribute('id',divopacita);
					objBody.appendChild(objOverlay);
					objOverlay.style.position = 'absolute';
					objOverlay.style.top = '0';
					objOverlay.style.left = '0';
					objOverlay.style.zIndex = '90';
					objOverlay.style.width = '100%';
					objOverlay.style.height = mypagesize[1] +'px';
				}
			}
			// nascondo alcuni elementi prestabiliti
			for (i=0; i<hide_elem.length; i++)
			{
				if (document.getElementById(hide_elem[i]))
				{
					document.getElementById(hide_elem[i]).style.visibility = 'hidden';
				}
			}
			// nascondo tutte le select
			var selects = document.getElementsByTagName("select");
			for (i = 0; i != selects.length; i++)
			{
				selects[i].style.visibility = "hidden";
			}
			//chiudo la cagata di overlayer e setto il cookie
			setTimeout("close_layer()",autoclose);
			CreationCookie_overlayer(cook_name,false,cook_time,cook_domain);
		} //fine "se non c'è il cookie impostato"
	} //se esiste il div di ancoraggio
} //fine funzione


/////////////////////
/* FUNZIONE CHIUDI */
/////////////////////
function close_layer()
{
	if (document.getElementById('css_myoverlayer'))
	{
		document.getElementById('css_myoverlayer').disabled = true;
	}
	if (document.getElementById(divoverlayer))
	{
		document.getElementById(divoverlayer).style.display  = 'none';
	}
	if (document.getElementById(divopacita))
	{
		document.getElementById(divopacita).style.display  = 'none';
	}
	var selects = document.getElementsByTagName("select");
	for (i = 0; i != selects.length; i++)
	{
		selects[i].style.visibility = "visible";
	}
	for (i=0; i<hide_elem.length; i++)
	{
		if (document.getElementById(hide_elem[i]))
		{
			document.getElementById(hide_elem[i]).style.visibility = '';
		}
	}
} //fine funzione


//////////////////////////////////////////////////////////
/* FUNZIONE PER STABILIRE L'ALTEZZA ESATTA DELLA PAGINA */
//////////////////////////////////////////////////////////
//funzione presa per gentile concessione di lightbox
//sito ufficiale: http://www.huddletogether.com/projects/lightbox/
function getPageSize()
{

	var xScroll, yScroll;

	if (window.innerHeight && window.scrollMaxY)
	{
		xScroll = document.body.scrollWidth;
		yScroll = window.innerHeight + window.scrollMaxY;
	} else if (document.body.scrollHeight > document.body.offsetHeight) {
		xScroll = document.body.scrollWidth;
		yScroll = document.body.scrollHeight;
	} else { // Explorer Mac...would also work in Explorer 6 Strict, Mozilla and Safari
		xScroll = document.body.offsetWidth;
		yScroll = document.body.offsetHeight;
	}

	var windowWidth, windowHeight;

	if (self.innerHeight) {	// all except Explorer
		windowWidth 	= self.innerWidth;
		windowHeight 	= self.innerHeight;
	} else if (document.documentElement && document.documentElement.clientHeight) {
		windowWidth 	= document.documentElement.clientWidth;
		windowHeight 	= document.documentElement.clientHeight;
	} else if (document.body) { // other Explorers
		windowWidth 	= document.body.clientWidth;
		windowHeight 	= document.body.clientHeight;
	}

	// for small pages with total height less then height of the viewport
	if(yScroll < windowHeight){
		pageHeight = windowHeight;
	} else {
		pageHeight = yScroll;
	}

	// for small pages with total width less then width of the viewport
	if(xScroll < windowWidth){
		pageWidth = windowWidth;
	} else {
		pageWidth = xScroll;
	}

	arrayPageSize = new Array(pageWidth,pageHeight,windowWidth,windowHeight)
	return arrayPageSize;
}


////////////////////////////////////
/* FUNZIONE SCANNA E SETTA COOKIE */
////////////////////////////////////
function ScanCookie_overlayer(variable)
{
	cook = document.cookie;
	variable += "=";
	place = cook.indexOf(variable,0);
	end_overlayer = '';
	if (place <= -1)
	{
		return(0);
	} else {
		end_overlayer = cook.indexOf(";",place);
		if (end_overlayer <= -1)
		{
			return(unescape(cook.substring(place+variable.length,cook.length)));
		} else {
			return(unescape(cook.substring(place+variable.length,end_overlayer)));
		}
	}
}

function CreationCookie_overlayer(nome,valore,durata,dominio)
{
	if (dominio != '')
	{
		miodominio = "domain= " +dominio+ "; ";
	} else {
		miodominio = '';
	}

	if (durata != 0)
	{
		var calc_durata = parseInt(durata) * 60000;
		var now = new Date();
		var ex = new Date();
		var valore_c = escape(valore);
		ex.setTime(now.getTime() + calc_durata);
		document.cookie = nome+ "=" +valore_c+ " ; path=/; " +miodominio+ "expires=" +ex.toGMTString();
	} else {
		document.cookie = nome+ "=" +valore_c+ "; path=/; " +miodominio+ "expires=";
	}
}// fine funzioni


///////////////////////////
/* FUNZIONE ADDLOADEVENT */
///////////////////////////
function addLoadEvent(func)
{
	var oldonload = window.onload;
	if (typeof window.onload != 'function')
	{
		window.onload = func;
	} else {
		window.onload = function()
		{
			if (oldonload)
			{
				oldonload();
			}
			func();
		}
	}
}

