  function MM_preloadImages() { //v3.0
    	var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}


	var httpTunnel;
    var divListContainer;
    var divListParameter;
	
	// --- GESTIONE HTTP TUNNEL ---- begin ---- ///
	function $() {
        var elements = new Array();
        for (var i = 0; i < arguments.length; i++) {
            var element = arguments[i];
            if (typeof element == 'string')
                element = top.document.getElementById(element);
                if (arguments.length == 1) return element;
                elements.push(element);
            }
        return elements;
    }

	function CreateXmlHttpReq(handler) {
	  var xmlhttp = null;
	  try {
	    xmlhttp = new XMLHttpRequest();
	  } catch(e) {
	    try {
	        xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
	    } catch(e) {
	        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
	    }
	  }
	  xmlhttp.onreadystatechange = handler;
	  return xmlhttp;
	}


	function myHandler(content,elementid) {
	    var element = $(elementid);
        try{
            if(document.all) {
                element.innerHTML ="";
                var t = document.createElement('div');
                t.innerHTML = content;
                element.appendChild(t);
            } else {
                element.innerHTML = content;
                try{
                    if (document.getElementById("isLogin").value == "1"){
                        element.innerHTML = "";
                        try{
                            alert("La sessione è scaduta. ");
                            document.location.href = "FrontController";
                        }catch(e1){
                            //alert("Errore!!");
                        }
                    }
                }catch(e){
                    
                }
            }        
        }catch(e){
            //alert("errore");
        }
	    
	}
	// An handler that does nothing, used for AJAX requests that
	// don't require a reply and are non-critical about error conditions.
	function DummyHandler() {
	    return true;
	}

	// Shortcut for creating a GET request and get the reply
	// This few lines of code can make Ajax stuff much more trivial
	// to write, and... to avoid patterns in programs is sane!
	function ajaxGet(url,handler) {
	    var a = new Array("placeholder");
	    for (var j=2; j<arguments.length; j++) {
	        a[a.length] = arguments[j];
	    }
	    var ajax_req = CreateXmlHttpReq(DummyHandler);
	    var myhandler = function() {
	        var content = ajaxOk(ajax_req);
	        if (content !== false) {
	            a[0] = content;
	            try {
	                return handler.apply(this, a);
	            } catch(e) {
	                return myDummyApply(handler, a);
	            }
	        }
	    }
	    ajax_req.onreadystatechange = myhandler;
	    ajax_req.open("POST",url,true);
	    ajax_req.send(null);
	}

	// IE 5.0 does not support the apply() method of the function object,
	// we resort to this eval-based solution that sucks because it is not
	// capable of preserving 'this' and is ugly as hell, but it works for us.
	function myDummyApply(funcname,args) {
	    var e = "funcname(";
	    for (var i = 0; i < args.length; i++) {
	        e += "args["+i+"]";
	        if (i+1 != args.length) {
	            e += ",";
	        }
	    }
	    e += ");"
	    return eval(e);
	}
	// Add a random parameter to the get request to avoid
	// IE caching madness.
	function ajaxGetRand(url,handler) {
	    url += (url.indexOf("?") == -1) ? "?" : "&";
	    url += "rand=" + escape(Math.random());
	    arguments[0] = url;
	    try {
	        return ajaxGet.apply(this,arguments);
	    } catch(e) {
	        return myDummyApply(ajaxGet,arguments);
	    }
	}

	var waitingMessage = "<table align='center' class='v9'><tr><td>Caricamento in corso ...</td></tr></table>";
	//var waitingMessage = "";
	
	function ajaxOk(req) {
	    if (req.readyState == 1) {
            return waitingMessage;
        }
	    if (req.readyState == 4 && req.status == 200) {
	        return req.responseText;
	    } else {
	       return false;
	    }
	}
    // --- GESTIONE HTTPTUNNEL ---- end --- //
	
	function doPointer(obj){
		if (document.all){obj.style.cursor='hand';}else{obj.style.cursor='pointer';}
	}
	
	function caricaAppuntamento(str_data){
		var mainFrame = top.frames['corpo'];
		var frameAppuntamentiObj = mainFrame.document.getElementById('frame_appuntamento');
		frameAppuntamentiObj.src ="dettaglioAppuntamento.php?day="+str_data;
	}
	
	function caricaVideo(idVideo){
		var mainFrame = top.frames['corpo'];
		var frameDettaglioVideoObj = mainFrame.document.getElementById('dettaglioVideo');
		frameDettaglioVideoObj.src ="../home/dettaglioVideo.php?idVideo="+idVideo;
	}
	
	function caricaNews(){
		ajaxGetRand("../barranews/news.php",myHandler,"divNews");
	}
	
	function caricaCalendario(){
		ajaxGetRand("../agenda/calendario.php",myHandler,"calendario");
	}
	
	

	var clockID = 0;

	function UpdateClock() {
		if(clockID) {
			clearTimeout(clockID);
		clockID = 0;
	}

	var tDate = new Date();
	var obj = document.getElementById("divTime");
	
	if((tDate.getSeconds())<=9) {
		obj.innerHTML = ""
			+ tDate.getDate()+"/"+tDate.getMonth()+"/"+tDate.getFullYear()+" - ore "
			+ tDate.getHours() + ":"
			+ tDate.getMinutes() + ":0"
			+ tDate.getSeconds();
	} else if((tDate.getMinutes())<=9) {
		obj.innerHTML = ""
			+ tDate.getDate()+"/"+tDate.getMonth()+"/"+tDate.getFullYear()+" - ore "
			+ tDate.getHours() + ":0"
			+ tDate.getMinutes() + ":"
			+ tDate.getSeconds();
	} else if(((tDate.getSeconds())<=9) && ((tDate.getMinutes())<=9)) {
		obj.innerHTML = ""
			+ tDate.getDate()+"/"+tDate.getMonth()+"/"+tDate.getFullYear()+" - ore "
			+ tDate.getHours() + ":0"
			+ tDate.getMinutes() + ":0"
			+ tDate.getSeconds();
	} else {
		obj.innerHTML = ""
			+ tDate.getDate()+"/"+tDate.getMonth()+"/"+tDate.getFullYear()+" - ore "
		+ tDate.getHours() + ":"
		+ tDate.getMinutes() + ":"
		+ tDate.getSeconds();
	}
	clockID = setTimeout("UpdateClock()", 1000);
	}
	function StartClock() {
		clockID = setTimeout("UpdateClock()", 500);
	}
	function KillClock() {
		if(clockID) {
			clearTimeout(clockID);
			clockID = 0;
		}
	}

	function openPopup(url){
		window.open(url,'popup','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,height=400,width=780');
	}

	function openMaps(url){
		window.open(url,'maps','height=600,width=800');
	}
	
	function inserisciUtente(){
		
		var email = top.document.getElementById('email');
		try{
			if (isEmail(email.value) == 1){
				var mainFrame = document.getElementById('corpo');
				mainFrame.src ="./newsletter/salvaNewsLetter.php?email="+email.value;
			}else{
				alert("Email non valida!");
			}
		}catch(e){
			alert(e);
		}
	}
	
function Cerca(){
		
		var chiave = top.document.getElementById('chiave');
			if ((chiave.value) != ""){
				var mainFrame = document.getElementById('corpo');
				mainFrame.src ="./cerca.php?textfield2="+chiave.value;
			}else{
				alert("Non hai inserito nessuna chiave di ricerca!");
			}		
	
	}

		function Cercàa(){
		
		var chiave = top.document.getElementById('chiave');
	   	
		if (key == ""){
   		alert("Campo vuoto!");
   		return false;
		} 
		else
		{
			var mainFrame = document.getElementById('corpo');
			mainFrame.src ="../cerca.php?textfield2="+chiave.value;	
		}
}

	
	function isEmail(string) {
		if (string.search(/^\w+((-\w+)|(\.\w+))*\@\w+((\.|-)\w+)*\.\w+$/) != -1)
			return 1;
		else
		return 0;
	}
	
	
	