/* KAJAX library */
/* KALDEV 2007 */
/* created by: Lorenzo Muscariello */
/* lorenzo.muscariello@gmail.com */


function isDOM() {
	var DOMSTATUS = false;
	if(document.getElementById) DOMSTATUS = true;
	return DOMSTATUS;
}

function findElementById(id_elemento) {
	var elemento=false;
	if(document.getElementById) elemento = document.getElementById(id_elemento);
	else elemento = document.all[id_elemento];
	return elemento;
}

//rimuove un elemento con un determinato ID
function removeElementById(id_elemento) {
	var el = findElementById(id_elemento);
	var imyourfather = el.parentNode;
	imyourfather.removeChild(el);
	return true;
}

function addElement(ELEM_TAG, ATT_ARR, ATT_VAL_ARR, APPEND_TO) {
	var EXITUS = false;
	if(ATT_ARR.constructor.toString().indexOf("Array()")!=-1 && 
		ATT_VAL_ARR.constructor.toString().indexOf("Array()")!=-1) {
		
		if(ATT_ARR.length===ATT_VAL_ARR.length) {
			var ADDED_ELEMENT = document.createElement(ELEM_TAG);
			var i=0;
			while(i<ATT_ARR.length){
				ADDED_ELEMENT.setAttribute(ATT_ARR[i], ATT_VAL_ARR[i]);
				i++;
			} 
			APPEND_TO.appendChild(ADDED_ELEMENT);
			EXITUS = ADDED_ELEMENT;
			
		}
		
	}
	else {
			var ADDED_ELEMENT = document.createElement(ELEM_TAG);
			ADDED_ELEMENT.setAttribute(ATT_ARR, ATT_VAL_ARR);
			APPEND_TO.appendChild(ADDED_ELEMENT);
			EXITUS = ADDED_ELEMENT;
	}
	return EXITUS;
}

function produce404(textError) {
	return '<TABLE cellspacing="0" cellpadding="0" border="0" valign="center">'+
	'<TR><TD><IMG src="common/error.png" border="0" alt="error404"/></TD><TD>'+
	'<SPAN style="color: red; font-size: 18px; font-weight: bold;">Errore 404 - Pagina non trovata' +
	' </SPAN><BR><SPAN style="color: black; font-size: 14px; font-weight: bold;">' + textError +'</SPAN></TD></TR>'+
	'</TABLE>';
}


function klldr() {
	if(document.getElementById("LOADER_T1"))
	findElementById(this.LTYPE).style.display="none";
}

function shld() {
	if(document.getElementById("LOADER_T1")) {
		
		
		findElementById(this.LTYPE).style.display="block";
		
	}
}

/*costruttore per KLOADER 
@param: LOADER_TYPE nome CSS del tipo di loader
*/
function KLoader(LOADER_TYPE,LOAD_TEXT) {
	this.LTYPE = LOADER_TYPE;
	this.killLoader = klldr;
	this.showLoader = shld;
	//addElement("div","id", this.LTYPE,document.getElementsByTagName("body")[0]);
	
	//addTextToElement(LOAD_TEXT,findElementById(this.LTYPE));
}
/*
var KLOAD = new KLoader("LOADER_T1","");
KLOAD.killLoader();
*/
function getXmlHttpRequest() {
	var XHR = false;
	
	if(window.XMLHttpRequest) { //Mozilla Safari e tutti i browser che supportano l'oggetto nativamente
		
		XHR = new XMLHttpRequest();
		
		if(XHR.overrideMimeType) {
			XHR.overrideMimeType('text/xml');
			
		}
		
	}
	else if(window.ActiveXObject) { //Internet Explorer
		try{
			XHR = new ActiveXObject("Msxml2.XMLHTTP"); //IE 5 e 5.5
			
		}catch(e) {
			try {
				XHR = new ActiveXObject("Microsoft.XMLHTTP"); //IE 6
				
			}catch(e){}
		}
	}
	
	return XHR;
}

function connectionGet(XMLHTTPR, DEST_URI) {
	//var errMsg = new AjaxError(0,"OK");
	
	try {
		XMLHTTPR.open("GET", DEST_URI, true);
		XMLHTTPR.setRequestHeader("Connection","close");
		XMLHTTPR.setRequestHeader("Cache-Control","no-cache");
		
		}catch(e){
	//errMsg.setError(1,(e.name + " " + e.message));
		}
	
    try {
		XMLHTTPR.send(null);
		}catch(e){
//errMsg.setError(1,(e.name + " " + e.message));
}
	
	//return errMsg;
	
}
function sloadAjax(pagina,targetElement,force) {
  
    var myRequest = getXmlHttpRequest();
	KLOAD.showLoader();
    myRequest.onreadystatechange = function() {
     switch (myRequest.readyState) {
                    case 0: // Uninitialized
                    case 1: // Loading
                    case 2: // Loaded
                    case 3: // Ready
                        break;
                    case 4:
                            
                        switch(myRequest.status) {
                            
                            case 200:
                            case 304:
                                KLOAD.killLoader();
                                var ele = document.getElementById(targetElement);
				ele.innerHTML = myRequest.responseText;
// 				if (force) {	
// 					var jax = findElementById("SNAX_T");
// 					ele.style.height = jax.style.height + 50;
// 				}
    			
                                
                                break;
                                
                            case 0: // wrong protocol
                          
                            default:
				KLOAD.killLoader();
				var ele = document.getElementById(targetElement);
				ele.innerHTML = produce404("Impossibile completare la richiesta; riprovare o selezionare un\'altra pagina<BR>");
                                // Catch exception for IE
							//KLOAD.killLoader();
				break;
                        }
                        
                        break;
                    }
}
    //connectionGet(myRequest,"ciao");
    connectionGet(myRequest, pagina);
    //myRequest.open("GET","_gtcrs.php?id=" + idcorso);
    //myRequest.send(null);
}

function cloadAjax(pagina) {
	sloadAjax(pagina,"AJAXCONTAINER",false);
}
function cresloadAjax(pagina) {
	sloadAjax(pagina,"AJAXCONTAINER",true);
}

function simpleAjax(pagina,targetElement,loaderId,loaderDisplayMode) {
  
    var myRequest = getXmlHttpRequest();
    var elload = findElementById(loaderId);
    elload.style.display=loaderDisplayMode;
    myRequest.onreadystatechange = function() {
     switch (myRequest.readyState) {
                    case 0: // Uninitialized
                    case 1: // Loading
                    case 2: // Loaded
                    case 3: // Ready
                        break;
                    case 4:
                            
                        switch(myRequest.status) {
                            
                            case 200:
                            case 304:
                                var elload = findElementById(loaderId);
    				elload.style.display="none";
                                var ele = document.getElementById(targetElement);
				ele.innerHTML = myRequest.responseText;
				
				
    			
                                
                                break;
                                
                            case 0: // wrong protocol
                          
                            default:
				var elload = findElementById(loaderId);
    				elload.style.display="none";
                                var ele = document.getElementById(targetElement);
				ele.innerHTML = produce404("Impossibile completare la richiesta; riprovare o selezionare un\'altra pagina<BR>");
                                // Catch exception for IE
							//KLOAD.killLoader();
				break;
                        }
                        
                        break;
                    }
}
    //connectionGet(myRequest,"ciao");
    connectionGet(myRequest, pagina);
    //myRequest.open("GET","_gtcrs.php?id=" + idcorso);
    //myRequest.send(null);
}

function loadNewsThumb(serie) {
	simpleAjax("_actionGetNews.php?serie="+serie,"ANDEST","LDT2","inline");
}
