var XMLHTTP;
var TipoRichiesta;
var RetentiveValue;

function AjaxCallBack(sURL,sParam, bAsync, sMethod){
var url=sURL + sParam;
var Async=bAsync;
var Method=sMethod;
// sURL ==> url sul quale effettuare la chimata;
// sParam ==> parametri di chiamata;
// bAsync ==> valore vero/falso per chiamata asincrona;
// sMethod ==> metodo di chimata
	if (url.lenght != 0) {
		if (!Async) {
			Async = true;
		}
		if (!Method) {
			Method = "GET";
		}
		XMLHTTP = RicavaBrowser(RiceviDati);
    XMLHTTP.open(Method, url, Async);
    XMLHTTP.send(null);
  } 
}

function RicavaBrowser(QualeBrowser){
	if (navigator.userAgent.indexOf("MSIE") != (-1)) {
		var Classe = "Msxml2.XMLHTTP";
		if (navigator.appVersion.indexOf("MSIE 5.5") != (-1));
		{
				Classe = "Microsoft.XMLHTTP";
		} 
		try
		{
				OggettoXMLHTTP = new ActiveXObject(Classe);
				OggettoXMLHTTP.onreadystatechange = QualeBrowser;
				return OggettoXMLHTTP;
		}
		catch(e)
		{
				alert("Errore: l'ActiveX non verrā eseguito!");
		}
	} else if (navigator.userAgent.indexOf("Mozilla") != (-1)) {
			OggettoXMLHTTP = new XMLHttpRequest();
			OggettoXMLHTTP.onload = QualeBrowser;
			OggettoXMLHTTP.onerror = QualeBrowser;
			OggettoXMLHTTP.overrideMimeType("text/xml"); 
			return OggettoXMLHTTP;
  }else{
      alert("Il Browser usato non č compatibile!");
   }
}

function Richiesta(iID, iType){
	if (iID != 0) {
		if ((iType==3) || (iType==4) || (iType==5) || (iType==6) || (iType==7)){
			var url = "/ajax.asp";
		}else {
			var url = "ajax.asp";
		}		
		TipoRichiesta = iType;
		var param ="?id=" + iID + "&tipo=" + iType; 
		AjaxCallBack(url,param, true, "GET")
	} 
}

function RichiestaWithParam(iID, data ,iType){
	if (iID != 0) {
		if ((iType==3) || (iType==4) || (iType==5) || (iType==6) || (iType==7) || (iType==9)){
			var url = "/ajax.asp";
		}else {
			var url = "ajax.asp";
		}		
		TipoRichiesta = iType;
		var param ="?id=" + iID + "&tipo=" + iType + data; 
		AjaxCallBack(url,param, true, "GET")
	} 
}

/********************************************/
/*		 FUNZIONI PER COMBO RICERCA	IN HOME  	*/
/********************************************/
function RefreshCombo() {
	var frm=document.Search;
		if (frm.tipo.value!="Others") {
			frm.categoria.disabled =false;
			Richiesta(frm.tipo.value, 1);
		}	else {
			frm.categoria.disabled =true;
		}
		
	}

/********************************************/
/*		   FUNZIONI PER FOTO GALLERY			  	*/
/********************************************/

function RefreshGalleryPage(id) {
	var frm;
	frm = document.getElementById("DataGallery");
	frm.style.display = "none";
	frm = document.getElementById("attesa");
	frm.style.display = "block";
	Richiesta(id, 2);
}

/********************************************/
/*		 FUNZIONI PER PAGINE ISTITUZIONALI  	*/
/********************************************/

function RefreshPage(id) {
	var frm;
	frm = document.getElementById("pagedata");
	frm.style.display = "none";
	Richiesta(id, 8);
}

/********************************************/
/*		 FUNZIONI PER COMBO DETTAGLIO NEWS  	*/
/********************************************/
function RefreshCategorie() {
	var frm=document.Data;
		Richiesta(frm.tipo.value, 3);
}

function InspectHomeFlag() {
	var frm=document.Data;
		if (frm.home.checked==true){
			Richiesta(frm.ID.value, 4);
		}
}

function InspectBigHomeFlag() {
	var frm=document.Data;
		if (frm.bighome.checked==true){
			Richiesta(frm.ID.value, 5);
		}		
}

function ChangeHomeFlag(id) {
	Richiesta(id, 6);
}

function ChangeBigHomeFlag(id) {
	Richiesta(id, 7);
}

/********************************************/
/*		 FUNZIONI PER COMBO DETTAGLIO PAGINE 	*/
/********************************************/

function RefreshOridinamento(id, order) {
var param = "&order=" + order;		
		RichiestaWithParam(id, param, 9);
		RetentiveValue = order; 
}

/********************************************/
/*		   FUNZIONI PER RICEVERE I DATI 	  	*/
/********************************************/
function RiceviDati(){
var strRes;
var arrValori;
var offSet;
var frm;
var div;
var i;
var j;
	if (XMLHTTP.readyState == 4) {
		strRes = XMLHTTP.responseText;
		switch (TipoRichiesta) {
			case 1:
				frm = document.Search;
				arrValori=strRes.split("|");
				frm.categoria.options.length=0;
				offSet = ((arrValori.length)/2);
				frm.categoria.options[frm.categoria.options.length] = new Option("-- Seleziona --","0");
				for(i=0; i<(arrValori.length/2);i++) {
					j = i + offSet;
					frm.categoria.options[frm.categoria.options.length] = new Option(arrValori[j].split("|"),arrValori[i].split("|"));
				}
				break;
			case 2:
				arrValori = strRes.split("|");
				frm = document.getElementById("TitleGallery");
				frm.innerHTML = "";
				frm.innerHTML = arrValori[0];
				frm = document.getElementById("DataGallery");
				frm.innerHTML = "";
				frm.innerHTML = arrValori[1];
				frm = document.getElementById("attesa");
				frm.style.display = "none";
				frm = document.getElementById("DataGallery");
				frm.style.display = "block";
				break;
			case 3:
				frm = document.Data;
				arrValori=strRes.split("|");
				frm.categoria.options.length=0;
				offSet = ((arrValori.length)/2);
				frm.categoria.options[frm.categoria.options.length] = new Option("-- Seleziona --","0");
				for(i=0; i<(arrValori.length/2);i++) {
					j = i + offSet;
					frm.categoria.options[frm.categoria.options.length] = new Option(arrValori[j].split("|"),arrValori[i].split("|"));
				}
				break;
			case 4:
				if (strRes != "OK"){
					frm = document.Data;
					frm.home.checked = false
					strRes = "Sono state giā impostate due notizie come news secondarie in HomePage, si vuol procedere ugualmente?";
					if (confirm(strRes)) ChangeHomeFlag(frm.ID.value);
				}
				break;
			case 5:
				if (strRes != "OK"){
					frm = document.Data;
					frm.bighome.checked = false
					strRes = "É stato giā impostata una notizia come news principale in HomePage, si vuol procedere ugualmente?";
					if (confirm(strRes)) ChangeBigHomeFlag(frm.ID.value);
				}
				break;
			case 6:
				frm = document.Data;
				if (strRes == "OK"){					
					frm.home.checked = true
					div = document.getElementById("div_home")
					strRes = "Ed ora č possibile rendere la notizia una news secondaria in Home Page";
					div.innerHTML = strRes;
					div.style.display = "block";
				}else{
					frm.home.checked = false
					div = document.getElementById("div_home")
					div.innerHTML = strRes;
					div.style.display = "block";
				}
				break;
			case 7:
				frm = document.Data;
				if (strRes == "OK"){
					frm.bighome.checked = true
					div = document.getElementById("div_big_home")
					strRes = "Ed ora č possibile rendere la notizia una news principale in Home Page.";
					div.innerHTML = strRes;
					div.style.display = "block";
				}else{
					frm.bighome.checked = false
					div = document.getElementById("div_big_home")				
					div.innerHTML = strRes;
					div.style.display = "block";
				}
				break;
			case 8:
				arrValori = strRes.split("|");
				frm = document.getElementById("pagetitle");
				frm.innerHTML = "";
				frm.innerHTML = arrValori[0];
				frm = document.getElementById("pagedata");
				frm.innerHTML = "";
				frm.innerHTML = arrValori[1];
				frm = document.getElementById("pagedata");
				frm.style.display = "block";
				break;
			case 9:
				frm = document.Data;
//				alert(strRes);
				arrValori=strRes.split("|");
				frm.order.options.length=0;
				offSet = ((arrValori.length)/2);
				frm.order.options[frm.order.options.length] = new Option("-- Seleziona --","0");
				for(i=0; i<(arrValori.length/2);i++) {
					j = i + offSet;
					if (parseInt(arrValori[i].split("|")) == parseInt(RetentiveValue)) {
						frm.order.options[frm.order.options.length] = new Option(arrValori[j].split("|"),arrValori[i].split("|"), true);
					}else{
						frm.order.options[frm.order.options.length] = new Option(arrValori[j].split("|"),arrValori[i].split("|"), false);
					}
				}
				break;
		}				
	}
}


