
/*
 * Returns an new XMLHttpRequest object, or false if the browser
 * doesn't support it
 */
function newXMLHttpRequest() {
  var xmlreq = false;
  // Create XMLHttpRequest object in non-Microsoft browsers
  if (window.XMLHttpRequest) {
    xmlreq = new XMLHttpRequest();
  } else if (window.ActiveXObject) {
    try {
      // Try to create XMLHttpRequest in later versions
      // of Internet Explorer
      xmlreq = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e1) {
      // Failed to create required ActiveXObject
      try {
        // Try version supported by older versions
        // of Internet Explorer
        xmlreq = new ActiveXObject("Microsoft.XMLHTTP");
      } catch (e2) {
        // Unable to create an XMLHttpRequest by any means
        xmlreq = false;
      }
    }
  }
  return xmlreq;
}

 /*
	* Returns a function that waits for the specified XMLHttpRequest
	* to complete, then passes it XML response to the given handler function.
  * req - The XMLHttpRequest whose state is changing
  * responseXmlHandler - Function to pass the XML response to
  */
function getReadyStateHandler(req, responseXmlHandler) {
  // Return an anonymous function that listens to the XMLHttpRequest instance
  return function () {
    // If the request's status is "complete"
    if (req.readyState == 4) {
      // Check that we received a successful response from the server
      if((req.status == 200)||(req.status == 0)) {
        // Pass the XML payload of the response to the handler function.
        responseXmlHandler(req.responseXML);;
      } else {
        // An HTTP problem has occurred
        
        
        
        //commentato per togliere l'errore in produzione
        
        
        
        //alert("HTTP error "+req.status+": "+req.statusText);
      }
    }
  }
}




/*
 * Richiede la variabile globale serpath
 * che rappresenta il contesto dell'applicazione
 *   es var serpath='/cm/';
 *
 * NOTA. L'invocazione deve essere in GET (il POST serve i progetti)
 */
function ajax_get(page_url){
	var reqg = newXMLHttpRequest();
	reqg.onreadystatechange = getReadyStateHandler(reqg, updateBannerAJAX);
	reqg.open("GET", page_url, true);
	reqg.send(null);
}

/*
prima era co? una chimata unica per pagina
<script>
	function inizializza(){
		viewBannerAJAX('<%=prop.getProperty("banner.view")%>');
	}
</script>
*/

function viewBannerAJAX(page_url){
	var flag=false;
	var obj=document.getElementById("banner01");
	if (obj){
		page_url=page_url+"tipologia=TOPH_SX&id=banner01&";
		flag=true;
	}
	obj=document.getElementById("banner02");
	if (obj){
		page_url=page_url+"tipologia=TOPH_DX&id=banner02&";
		flag=true;
	}
	obj=document.getElementById("banner03");
	if (obj){
		page_url=page_url+"tipologia=DX_CNT&id=banner03&";
		flag=true;
	}
	obj=document.getElementById("banner04");
	if (obj){
		page_url=page_url+"tipologia=DX_ALTO&id=banner04&";
		flag=true;
	}
	
	if (flag){
		ajax_get(page_url);
	}
}


function viewBannerAJAXOne(page_url, banner_id, banner_type){

	var flag=false;
	var obj=document.getElementById(banner_id);
	var page_req=page_url;
	if (obj){
		page_req=page_req+"tipologia="+banner_type+"&id="+banner_id;
		flag=true;
	}
	
	if (flag){
		ajax_get(page_req);
	}
}




function updateBannerAJAX(resXML){
  if(resXML){
    var combo=resXML.getElementsByTagName("banners")[0];
    if(combo) {
      var clienti = resXML.getElementsByTagName("banner");
      if(clienti){
        for(i=0;i<clienti.length;i++) {
			setBanner( clienti[i]);  
        }
      }
    }    
  }
}

function setBanner (obj){
	var ele=document.getElementById((obj.getElementsByTagName("id_element")[0]).firstChild.nodeValue);
	if (ele){
		var href=(obj.getElementsByTagName("url_click")[0]).firstChild.nodeValue;
		var src=(obj.getElementsByTagName("url_img")[0]).firstChild.nodeValue;
		var width=(obj.getElementsByTagName("width")[0]).firstChild.nodeValue;
		var height=(obj.getElementsByTagName("height")[0]).firstChild.nodeValue;
		var contenuto="&nbsp;";
		if (src.substring(src.length-3, src.length)=="swf") {
			contenuto="<a href=\""+href+"\" target=\"_new\"><object classid=\"clsid:d27cdb6e-ae6d-11cf-96b8-444553540000\" codebase=\"http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0\" width=\""+width+"\" height=\""+height+"\" align=\"middle\"><param name=\"movie\" value=\""+src+"\" /><param name=\"quality\" value=\"high\"/><param name=\"bgcolor\" value=\"#ffffff\" /><param name=\"FlashVars\" value=\"clickTag="+href+"\"/><embed src=\""+src+"\" quality=\"high\" bgcolor=\"#ffffff\" width=\""+width+"\" height=\""+height+"\" align=\"middle\" type=\"application/x-shockwave-flash\" pluginspage=\"http://www.macromedia.com/go/getflashplayer\" flashvars=\"clickTag="+href+"\"/></object></a>";
		}else{
			contenuto="<a href=\""+href+"\" target=\"_new\"><img src=\""+src+"\" width=\""+width+"\" height=\""+height+"\" border=\"0\" /></a>";
		}
		ele.innerHTML=contenuto;
	}
}

