
function SetVisibileId(idval,idyes)
{
   var element = document.getElementById(idval);
   if(idyes == 0){  
     element.style.display = "none";
   } else { 
     element.style.display = "inline";
   }
}

function SetVisibileEl(elem,idyes)
{
   if(idyes == 0){  
     elem.style.display = "none";
   } else { 
     elem.style.display = "inline";
   }
}

function changeElementImg(id, newSrc) 
{		
  element = document.getElementById(id);	
  if (element)
    element.src = newSrc;
}

function ShowXorImg(obj)
{
  element = document.getElementById(obj);
  if (element){
	if (element.style.display == "none"){
	  element.style.display = "block";
	  changeElementImg(obj+"Img", "/images/12/eMeno.gif")
	} else {
	  element.style.display = "none";	
	  changeElementImg(obj+"Img", "/images/12/ePiu.gif")
	}
  }
}
	
function ShowXor(obj)
{
  element = document.getElementById(obj);
  if (element){
	if (element.style.display == "none"){
	  element.style.display = "block";
	} else {
	  element.style.display = "none";	
	}
  }
}

/********************************************************/
getElem = function(elemId) {
	return document.getElementById(elemId);	
}

posToCenter = function(elem) {
	var scrollPos = new getScrollPos();
	var pageSize = new getPageSize();
	var emSize = new getElementSize(elem);
	var x = Math.round(pageSize.width/2) - (emSize.width /2) + scrollPos.scrollX;
	var y = Math.round(pageSize.height/2) - (emSize.height /2) + scrollPos.scrollY;	
	elem.style.left = x+'px';
	elem.style.top = y+'px';	
}

getScrollPos = function() {
	var docElem = document.documentElement;
	this.scrollX = self.pageXOffset || (docElem&&docElem.scrollLeft) || document.body.scrollLeft;
	this.scrollY = self.pageYOffset || (docElem&&docElem.scrollTop) || document.body.scrollTop;
}

getPageSize = function() {
	var docElem = document.documentElement
	this.width = self.innerWidth || (docElem&&docElem.clientWidth) || document.body.clientWidth;
	this.height = self.innerHeight || (docElem&&docElem.clientHeight) || document.body.clientHeight;
}

getElementSize = function(elem) {
	this.width = elem.offsetWidth ||  elem.style.pixelWidth;
	this.height = elem.offsetHeight || elem.style.pixelHeight;
}

setOpacity = function (elemid,value)	{
		var e = getElem(elemid);
		e.style.opacity = value/10;
		e.style.filter = 'alpha(opacity=' + value*10 + ')';
}

resizeImageToScreen = function(objImg) {
	
	var pagesize = new getPageSize();
	
	var x = pagesize.width - 100;
	var y = pagesize.height - 100;

	if(objImg.width > x) { 
		objImg.height = objImg.height * (x/objImg.width); 
		objImg.width = x; 
		if(objImg.height > y) { 
			objImg.width = objImg.width * (y/objImg.height); 
			objImg.height = y; 
		}
	} 

	else if(objImg.height > y) { 
		objImg.width = objImg.width * (y/objImg.height); 
		objImg.height = y; 
		if(objImg.width > x) { 
			objImg.height = objImg.height * (x/objImg.width); 
			objImg.width = x;
		}
	}

	return objImg;
}

parseQuery = function(query) {
   var Params = new Object ();
   if (!query) return Params; 
   var Pairs = query.split(/[;&]/);
   for ( var i = 0; i < Pairs.length; i++ ) {
      var KeyVal = Pairs[i].split('=');
      if ( ! KeyVal || KeyVal.length != 2 ) continue;
      var key = unescape( KeyVal[0] );
      var val = unescape( KeyVal[1] );
      val = val.replace(/\+/g, ' ');
      Params[key] = val;

   }
   
   return Params;
}

/********************************************************
 Make this IE7 Compatible ;)
 http://ajaxian.com/archives/ajax-on-ie-7-check-native-first
*********************************************************/
createRequestObject = function() {
	var xmlhttp;
		/*@cc_on
	@if (@_jscript_version>= 5)
			try {xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
			} catch (e) {
					try {xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");}
					catch (E) {xmlhttp = false;}
			}
	@else
		xmlhttp = false;
	@end @*/
	if (!xmlhttp && typeof XMLHttpRequest != "undefined") {
			try {xmlhttp = new XMLHttpRequest();} catch (e) {xmlhttp = false;}
	}
	return xmlhttp;
}

var http = createRequestObject();


/********************************************************/
/********************************************************/
/* BOXSPLAH */
/********************************************************/
/********************************************************/

var imgPreloader = new Image(); 

var bs_div_no = new Array();

var path_loading_img = "/images/indicator.gif";
var html_loading_img = "<img name=\"bs_div_loading_img\" src=\""+path_loading_img+"\" alt=\"Loading...\" style=\"width:128px;height:128px;\"/>"; // don't remove the name

var bs_sfondo_step_opacita = 8; 
var bs_inizializzato = false;	
var bs_width_def = "600px";
var bs_height_def = "500px";

/********************************************************/
bsSfondoShow = function() {
	var bs_sfondo = getElem('bs_div_sfondo');
	

	bs_sfondo.style.opacity = 0;
	bs_sfondo.style.filter = 'alpha(opacity=0)';
	setBGOpacity = setOpacity;
	for (var i=0;i<=bs_sfondo_step_opacita;i++) {setTimeout("setOpacity('bs_div_sfondo',"+i+")",70*i);} // from quirksmode.org
	
		
	bs_sfondo.style.display = "";
	var pagesize = new getPageSize();
	var scrollPos = new getScrollPos();
	var ua = navigator.userAgent;
	
	if(ua.indexOf("MSIE ") != -1) {bs_sfondo.style.width = pagesize.width+'px';} 
	/*else {bs_sfondo.style.width = pagesize.width-20+'px';}*/ // scrollbars removed! Hurray!
	bs_sfondo.style.height = pagesize.height+scrollPos.scrollY+'px';

    for (var i=0; i<bs_div_no.length; i++){
	  getElem(bs_div_no[i]).style.display = "none";
	}

}

bsSfondoHide = function() {
	var bs_sfondo = getElem('bs_div_sfondo');
	bs_sfondo.style.display = "none";

	for (var i=0; i<bs_div_no.length; i++){
	  getElem(bs_div_no[i]).style.display = "";
	}
}

/********************************************************/
var loadCancelled = false;

/********************************************************/
bsAttesaShow = function() {
	var bs_attesa = getElem('bs_div_attesa');
	bs_attesa.style.display = "";
	posToCenter(bs_attesa);
	bs_attesa.onclick = function() {bsHide();bsAttesaHide();loadCancelled = true;}
}


bsAttesaHide = function() {
	var bs_attesa = getElem('bs_div_attesa');
	bs_attesa.style.display = "none";
	bs_attesa.onclick = null;
}

bsInizializza = function(elem) {
	// a trick on just creating an bs_finestra wrapper then doing an innerHTML on our root bs_finestra element
	var strHTML = "<div id=\"bs_div_sfondo\" style=\"display:none;\"></div>";
	
	strHTML +=	"<div id=\"bs_div_attesa\" style=\"display:none;\">";
	strHTML +=  html_loading_img;
	strHTML +=  "</div>";
	
	strHTML +=	"<div id=\"bs_div_finestra\" style=\"display:none\">";
	
	strHTML +=	"<div id=\"bs_div_barra\">";
	strHTML +=	" <div id=\"bs_div_chiudi_box\" >";
	strHTML +=	"  <a id=\"bs_div_chiudi_link\" href=\"javascript:void(null);\" >CHIUDI</a>";
	strHTML +=  " </div>";
	strHTML +=  " <div id=\"bs_div_titolo\">&nbsp;</div>";
	strHTML +=  "</div>";
	
	strHTML +=	"<div id=\"bs_div_contenuto\"></div>";
	
	strHTML +=  "</div>";
	

	var docBody = document.getElementsByTagName("body")[0];
	var e = document.createElement("div");
	e.setAttribute("id","bs_boxsplah");
	e.style.display = '';
	e.innerHTML = strHTML;
	elem.appendChild(e);
}

var bs_div_sfondo_height = 0;

bsShow = function(url,title,params) {
	
	var bs_finestra = getElem('bs_div_finestra');
	var bs_tipo = 0;
												
	var bs_div_titolo = getElem('bs_div_titolo');
	if(title != "") {bs_div_titolo.innerHTML = title;} else {bs_div_titolo.innerHTML = "&nbsp;";}
	
	var urlString = /\.jpg|\.jpeg|\.png|\.gif|\.html|\.htm|\.php|\.cfm|\.asp|\.aspx|\.jsp|\.jst|\.rb|\.rhtml|\.txt/g;
	
	var urlType = url.match(urlString);
	bs_tipo = -1;
	if(params['type']) {
		bs_tipo = parseInt(params['type']);
	} else if(urlType == '.jpg' || urlType == '.jpeg' || urlType == '.png' || urlType == '.gif'){
		bs_tipo = 1;
	} else if(url.indexOf("#") != -1) {
		bs_tipo = 2;
	} else if(urlType=='.htm'||urlType=='.html'||urlType=='.php'||
			 urlType=='.asp'||urlType=='.aspx'||urlType=='.jsp'||
			 urlType=='.jst'||urlType=='.rb'||urlType=='.txt'||urlType=='.rhtml'||
			 urlType=='.cfm') {
		bs_tipo = 3;
	} else {
		bsHide();
		return false;
	}
	
	bs_tipo = parseInt(bs_tipo);

	switch(bs_tipo) {
		
		case 0:
			
			var strHTML = "";

			
			if(params['height']) {bs_finestra.style.height = params['height']+'px';} 
			else {bs_finestra.style.height = bs_height_def;}
			
			if(params['width']) {bs_finestra.style.width = params['width']+'px';} 
			else {bs_finestra.style.width = bs_width_def;}
		
			bs_finestra.style.display = "";
			bs_finestra.style.visibility = "hidden";
			posToCenter(bs_finestra); 	
			bs_finestra.style.visibility = "visible";
			
  	        strHTML +=	"<iframe id=\"bs_iframe\" src=\""+url+"\" ";
			strHTML +=	"  marginwidth=\"0\" marginheight=\"0\" frameborder=\"0\" vspace=\"0\" hspace=\"0\" ";
			strHTML +=	" style=\"width:100%; height:"+bs_finestra.style.height+"; \"></iframe>";
			bsContenutoSet(strHTML,"hidden");
			break;
			
		case 1:

			bsAttesaShow();
			imgPreloader = new Image();

			imgPreloader.onload = function(){
				imgPreloader = resizeImageToScreen(imgPreloader);
				bsAttesaHide();
	
				var strHTML = "<img name=\"bs_image\" src=\""+url+"\" style=\"width:"+imgPreloader.width+"px;height:"+imgPreloader.height+"px;border:0;cursor:hand;margin:0;padding:0;position:absolute;\"/>";
	
				if(loadCancelled == false) {
					
					// set width and height
					bs_finestra.style.height = imgPreloader.height+'px';
					bs_finestra.style.width = imgPreloader.width+'px';
			
					bs_finestra.style.display = "";
					bs_finestra.style.visibility = "hidden";
					posToCenter(bs_finestra); 	
					bs_finestra.style.visibility = "visible";
  					
					bsContenutoSet(strHTML,"hidden");
			        var bc = getElem('bs_div_contenuto');
					bc.style.height = imgPreloader.height;
					bc.style.width = imgPreloader.width;
					
				}
					
			}
			
			loadCancelled = false;
			imgPreloader.src = url;
			
			break;

		case 2:
			
			var strHTML = "";

			
			if(params['height']) {bs_finestra.style.height = params['height']+'px';} 
			else {bs_finestra.style.height = bs_height_def;}
			
			if(params['width']) {bs_finestra.style.width = params['width']+'px';} 
			else {bs_finestra.style.width = bs_width_def;}

		
			bs_finestra.style.display = "";
			bs_finestra.style.visibility = "hidden";
			posToCenter(bs_finestra); 	
			bs_finestra.style.visibility = "visible";
			
			getElem('bs_div_contenuto').style.overflow = "auto";
			
			var elemSrcId = url.substr(url.indexOf("#") + 1,1000);
			
			var elemSrc = getElem(elemSrcId);
			
			if(elemSrc) {strHTML = elemSrc.innerHTML;}
		
			bsContenutoSet(strHTML,"auto");
			
			break;
			
		case 3:
			bsAttesaShow();
			http.open('get',url,true);

			http.onreadystatechange = function() {
				if(http.readyState == 4){
					bsAttesaHide();
					
					if(params['height']) {bs_finestra.style.height = params['height']+'px';} 
					else {bs_finestra.style.height = bs_height_def;}
					
					if(params['width']) {bs_finestra.style.width = params['width']+'px';} 
					else {bs_finestra.style.width = bs_width_def;}
		
					bs_finestra.style.display = "";
					bs_finestra.style.visibility = "hidden";
					posToCenter(bs_finestra); 	
					bs_finestra.style.visibility = "visible";
					getElem('bs_div_contenuto').style.overflow = "auto";
					
					var response = http.responseText;
					bsContenutoSet(response,"auto");
					
				}
			}
			
			http.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8");
			http.send(null);
			break;
		
		default:
			
	 } 
	 
	
	bs_finestra.style.opacity = 0;
	bs_finestra.style.filter = 'alpha(opacity=0)';	
	var step_opacita = 10;
	
	for (var i=0;i<=step_opacita;i++) {setTimeout("setOpacity('bs_div_finestra',"+i+")",30*i);}

    getElem("bs_div_sfondo").onclick = function() {bsHide();}
	if(bs_tipo == 2 || bs_tipo == 3) {
		bs_finestra.onclick = null;
		getElem("bs_div_chiudi_link").onclick = function() {bsHide();}
	} else {
		bs_finestra.onclick = bsHide;
		getElem("bs_div_chiudi_link").onclick = null;
	}

	return true;
}

/********************************************************/
bsRiposiziona = function() {
	
	var bs_finestra = getElem('bs_div_finestra');
	var bs_sfondo = getElem('bs_div_sfondo');
	var pagesize = new getPageSize();
	var scrollPos = new getScrollPos();
	var ua = navigator.userAgent;

	if(ua.indexOf("MSIE ") != -1) {bs_sfondo.style.width = pagesize.width+'px';} 
	/* else {bs_sfondo.style.width = pagesize.width-20+'px';} */

	if(ua.indexOf("Opera/9") != -1) {bs_sfondo.style.height = document.body.scrollHeight+'px';}
	else {bs_sfondo.style.height = pagesize.height+scrollPos.scrollY+'px';}
	
	// alternative 1
	//bs_sfondo.style.height = document.body.scrollHeight+50+'px';	
	
	posToCenter(bs_finestra);
	
}

bsHide = function() {
	bsSfondoHide();
	var bs_finestra = getElem('bs_div_finestra');
	bs_finestra.style.display = "none";

	bsContenutoClear();
	window.onscroll = null;
}

/********************************************************/

bsContenutoSet = function(str,ovrf) {
	bsContenutoClear();
	var e = getElem('bs_div_contenuto');
	e.style.overflow = ovrf;
	e.innerHTML = str;
	
}

bsContenutoClear = function() {
	var e = getElem('bs_div_contenuto');
	e.innerHTML = "";

}

/********************************************************/
/********************************************************/
BoxSplash =  function(url,title,par) { 

	if (bs_inizializzato == false) {
    	bsInizializza(document.getElementsByTagName("body")[0]); 
		bs_inizializzato = true;
	}
	if (title == null) {
		title = ""
	}
	if (par == null) {
		par = ""
	}
	
	//if(this.target != "") {url = this.target} 
	var params = parseQuery(par);	
	if(bsShow(url,title,params)) {
		bsSfondoShow();
		window.onscroll = bsRiposiziona;
		window.onresize = bsRiposiziona;
	}
	return false;
};
/********************************************************/
/********************************************************/
/* TABCONTROL */
/********************************************************/
/********************************************************/
function tabcontrol(idcontenitore, contenitoredefault, evento) {
	
  this.usatab = function(tabdasettare){
	this.nasconditutto()
	if (this.tabinuso!=null)
		this.tabinuso.className=""
	if (tabdasettare.getAttribute("rel")) 
	document.getElementById(tabdasettare.getAttribute("rel")).style.display="block"
	tabdasettare.className="current"
	this.tabinuso=tabdasettare
  },

  this.nasconditutto = function(){
	for (var i=0; i<this.tabItems.length; i++)
	  if (this.tabItems[i].getAttribute("rel"))
		document.getElementById(this.tabItems[i].getAttribute("rel")).style.display="none"
  },

  this.prossimo = function(){
	 var idef = -1  
	for (var i=0; i<this.tabItems.length; i++)
	  if (this.tabItems[i].getAttribute("rel"))
		if (this.tabItems[i]==this.tabinuso) {idef=i}
	idef++
	if (idef>=this.tabItems.length){ idef=0 }
	if (idef<this.tabItems.length){ 
	 this.usatab(this.tabItems[idef]) 
	 }
  },
  
  this.init = function(){
	this.tabItems=document.getElementById(idcontenitore).getElementsByTagName("li")
	for (var i=0; i<this.tabItems.length; i++){
	  if (i==contenitoredefault){ 
		this.tabItems[i].className="current"
		this.usatab(this.tabItems[i])
	  }
	  if (evento=="onmouseover") {
		this.tabItems[i].onmouseover=function(){ self.usatab(this) }
	  } else {
		this.tabItems[i].onclick=function(){ self.usatab(this) }
	  }
	} 
  }

  var self = this;
  this.tabinuso = null;
  this.tabItems = [];
  this.init();
}

