function createRequestObject() {  
	var ro;  
	var browser = navigator.appName;  
	if(browser == "Microsoft Internet Explorer"){  
		ro = new ActiveXObject("Microsoft.XMLHTTP");  
	}else{  
		ro = new XMLHttpRequest();  
	}  
	return ro;  
} 

var http = createRequestObject(); 
var tag; 

function view(content, action, target) {
	contentVar = $(content);
	if( $('immagine').style.display != 'none' ) {
		new Effect.Fade($('immagine'), {duration:1});
		Effect.Fade($('scroll'), {duration:1});
		Effect.Fade($('descriptionMini'), {duration:1});
		
		Effect.BlindDown(contentVar, {delay:1, duration:1});
		sndRequest(target, action);
	} else if( $('footerContent').style.display != 'none' ) {
		new Effect.Fade($('descriptionArticle'), {duration:1});
		new Effect.BlindUp($('footerContent'), {duration:1});
		Effect.BlindDown(contentVar, {delay:1, duration:1});
		setTimeout("sndRequest('"+target+"', '"+action+"');", 1000);
	} else if( contentVar.style.display != 'none' ) { 
    	/*new Effect.BlindUp(contentVar, {duration:1});
		setTimeout("sndRequest('"+target+"', '"+action+"');", 1000);
		new Effect.BlindDown(contentVar, {delay:1, duration:1});*/
		sndRequest(target, action);
    } else { 
		new Effect.BlindDown(contentVar, {duration:1});
		sndRequest(target, action);
    }
}

function viewCatalogue() {
	if( $('footerContent').style.display != 'none' ) {
		new Effect.BlindUp($('descriptionArticle'), {duration:1});
		Effect.Appear($('immagine'), {delay:1, duration:1});
		Effect.Appear($('scroll'), {delay:1, duration:1});
		Effect.Appear($('descriptionMini'), {delay:1, duration:1});
		Effect.BlindUp($('footerContent'), {duration:1});
	} else if( $('descriptionArticle').style.display != 'none' ) {
		new Effect.BlindUp($('descriptionArticle'), {duration:1});
		Effect.Appear($('immagine'), {delay:1, duration:1});
		Effect.Appear($('scroll'), {delay:1, duration:1});
		Effect.Appear($('descriptionMini'), {delay:1, duration:1});
		
		sndRequest('descriptionMini', 'catalogo');
	} else {
		new Effect.Appear($('immagine'), {duration:1});
		Effect.Appear($('scroll'), {duration:1});
		Effect.Appear($('descriptionMini'), {duration:1});
		sndRequest('descriptionMini', 'catalogo');
	}
}

function viewCatalogueNext(limit) {
	/*Effect.BlindUp($('immagine'), {duration:1});
	Effect.BlindUp($('scroll'), {duration:1});
	Effect.BlindUp($('descriptionMini'), {duration:1});
	Effect.BlindDown($('immagine'), {delay:1, duration:1});
	Effect.BlindDown($('scroll'), {delay:1, duration:1});
	Effect.BlindDown($('descriptionMini'), {delay:1, duration:1});*/
	sndNextRequest('descriptionMini', 'catalogoNext', limit);
}

function viewArticle(id) {
	new Effect.Fade($('immagine'), {duration:0.5});
	Effect.Fade($('scroll'), {duration:0.5});
	Effect.Fade($('descriptionMini'), {duration:0.5});
	new Effect.BlindDown($('descriptionArticle'), {delay:0.5, duration:0.5});
	new Effect.BlindDown($('footerContent'), {delay:1, duration:1});
	sndNextRequest('descriptionArticle', 'viewArticle', id);
}

// Prototipo funzione che passa richiesta di una action a un file
function sndRequest(target, action) {
	http.open('get', 'rpc.php?action='+action);  
	http.onreadystatechange = handleResponse;
	http.send(null); 
}

// Prototipo funzione che passa richiesta di una action a un file
function sndNextRequest(target, action, limit) {
	http.open('get', 'rpc.php?action='+action+'&limit='+limit);  
	http.onreadystatechange = handleResponse;
	http.send(null); 
}


function handleResponse() {
	if(http.readyState == 4) {
    	var response = http.responseText;
    	var tmpUpdate = new Array();
		var update = new Array();
		if(response.indexOf('||' != -1)) {
			tmpUpdate = response.split('||');
			for(var i = 0; i < tmpUpdate.length; i ++) {
				update[i] = tmpUpdate[i].split('|');
			}
			for(var ii = 0; ii < update.length; ii ++) {
				document.getElementById(update[ii][0]).innerHTML = update[ii][1];
			}
		}
		else if(response.indexOf('|' != -1)) {
      		update = response.split('|');
      		document.getElementById(update[0]).innerHTML = update[1];
    	}
  	}
  	else
  		return;
}
