var css_file = 'overlayer/overlayer.css';
var showopacity = (showopacity) ? 'y' : 'n';
var mymargintop = (mymargintop) ? mymargintop : '';
var subdom_inc = (subdom_inc) ? subdom_inc : 'n';


function show_overlayer(autoclose, cook_time, myframename, myframe_w, myframe_h, mymargintop) {
  // autoclose --> tempo di chiusura automatica in millisecondi
  // cook_time --> durata del cookie  (in minuti). se impostata a "0" vale per una sessione

  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/img_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>';

  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 = css_file;
        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;
        over_elem.style.top = mymargintop + 'px';
        if (myframe_h > 500) {
          over_elem.style.height = myframe_h + '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';  
        }
      }

      setTimeout("close_layer()",autoclose);
      CreationCookie_overlayer(cook_name,false,cook_time,cook_domain);
    }
  }
}


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";
  }
}


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;
  }

  if(yScroll < windowHeight){
    pageHeight = windowHeight;
  } else {
    pageHeight = yScroll;
  }

  if(xScroll < windowWidth){
    pageWidth = windowWidth;
  } else {
    pageWidth = xScroll;
  }

  arrayPageSize = new Array(pageWidth,pageHeight,windowWidth,windowHeight)
  return arrayPageSize;
}


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=";
  }
}


function addLoadEvent(func) {

  var oldonload = window.onload;
  if (typeof window.onload != 'function') {
    window.onload = func;
  } else {
    window.onload = function() {
      if (oldonload) {
        oldonload();
      }
      func();
    }
  }
}
