//
//  Configurazione
//

var fileImmaginePreloader = "images/loading.gif";
var TimeTofading = 300.0;	//Velocità di fade in e out
var Opacityvalue = 1;		//Opacità massima dello schermo nero
var testoLoader	 = "Elaborazione in corso..."	



function loading() {

// Creo html con i DIV con la gif del caricamento

var objBody = document.getElementsByTagName("body").item(0);

	var objBack_loading = document.createElement("div");
		objBack_loading.setAttribute('id','back_loading');
		objBack_loading.style.display = 'none';
		objBody.appendChild(objBack_loading);

	var objMaschera = document.createElement("div");
		objMaschera.setAttribute('id','maschera');
		objBack_loading.appendChild(objMaschera);

	var objLoading = document.createElement("div");
		objLoading.setAttribute('id','loading');
		objBody.appendChild(objLoading);

	var objLoadingImage = document.createElement("img");
		objLoadingImage.setAttribute('src', fileImmaginePreloader);
		objLoading.appendChild(objLoadingImage);
	
	var objCaption = document.createElement("span");
		objCaption.setAttribute('id','caption');
		objLoading.appendChild(objCaption);
	
	
	//document.getElementById("caption").innerHTML = "<img src='"+fileImmaginePreloader+"' alt='' /><br/>"+testoLoader;
	document.getElementById("caption").innerHTML = testoLoader;

// Faccio vedere la DIV di caricamento


		var arrayPageScroll = getPageScroll();

		document.getElementById("maschera").style.top = arrayPageScroll[1];
		document.getElementById("loading").style.top = arrayPageScroll[1]+200;

		

		document.getElementById("back_loading").style.display = "block";
		fading("maschera");

		selects = document.getElementsByTagName("select");
		for (i = 0; i != selects.length; i++) {
		selects[i].style.visibility = "hidden";
		}
	}

function getPageScroll(){

		var yScroll;

		if (self.pageYOffset) {
			yScroll = self.pageYOffset;
		} else if (document.documentElement && document.documentElement.scrollTop){	 // Explorer 6 Strict
			yScroll = document.documentElement.scrollTop;
		} else if (document.body) {// all other Explorers
			yScroll = document.body.scrollTop;
		}

		arrayPageScroll = new Array('',yScroll) 
		return arrayPageScroll;
		}

//
//Funzione di fade in e fade out
//

function fading(eid)
{
  var element = document.getElementById(eid);
  if(element == null)
    return;
   
  if(element.fadingState == null)
  {
    if(element.style.opacity == null 
        || element.style.opacity == ''
        || element.style.opacity == '1')
    {
      element.fadingState = -2;
	  element.style.display = 'block';
    }
    else
    {
      element.fadingState = 2;
    }
  }
    
  if(element.fadingState == 1 || element.fadingState == -1)
  {
    element.fadingState = element.fadingState == 1 ? -1 : 1;
    element.fadingTimeLeft = TimeTofading - element.fadingTimeLeft;
  }
  else
  {
    element.fadingState = element.fadingState == 2 ? -1 : 1;
    element.fadingTimeLeft = TimeTofading;
    setTimeout("animatefading(" + new Date().getTime() 
        + ",'" + eid + "')", 33);
  }  
}

function animatefading(lastTick, eid)
{  

  var curTick = new Date().getTime();
  var elapsedTicks = curTick - lastTick;
  
  var element = document.getElementById(eid);

  	if(element.style.opacity<=10)
	  {
		element.style.display = 'block';
		selects = document.getElementsByTagName("select");
		for (i = 0; i != selects.length; i++) {
		selects[i].style.visibility = "hidden";
		}
	}
 
  if(element.fadingTimeLeft <= elapsedTicks)
  {
    element.style.opacity = element.fadingState == 1 ? Opacityvalue : '0';
    element.style.filter = 'alpha(opacity = ' 
        + (element.fadingState == 1 ? (Opacityvalue*100) : '0') + ')';
    element.fadingState = element.fadingState == 1 ? 2 : -2;
	if(element.style.opacity==0)
	  {
		element.style.display = 'none';
		selects = document.getElementsByTagName("select");
		for (i = 0; i != selects.length; i++) {
		selects[i].style.visibility = "";
		}
	  }
    return;
  }
 
  element.fadingTimeLeft -= elapsedTicks;
  var newOpVal = element.fadingTimeLeft/TimeTofading;

  if(element.fadingState == 1)
    newOpVal = 1 - newOpVal;

	newOpVal = newOpVal*Opacityvalue;
  element.style.opacity = newOpVal;
  element.style.filter = 
      'alpha(opacity = ' + (newOpVal*100) + ')';
  
  setTimeout("animatefading(" + curTick 
      + ",'" + eid + "')", 33);

}

function SwitchOnDiv(obj){
	if(document.getElementById){
	var el = document.getElementById(obj);
		if(el.style.display != "block"){

			el.style.display = "block";
		}else{
			el.style.display = "none";
		}

	}
	 return;
}
function SwitchOffDiv(obj){
	if(document.getElementById){
	var el = document.getElementById(obj);

		el.style.display = "none";
	}
	 return;
}