var xmlRequest = null;
var xmlDoc;
var form = document.getElementById("selCountry");

function createXMLHttpRequest() {
	try {
  	// Firefox, Opera, Safari
    xmlRequest = new XMLHttpRequest();
  } 
  catch(e) {
  	// Internet Explorer
    try {
        xmlRequest = new ActiveXObject("Msxml2.XMLHTTP");
    } 
    catch(e) {
    	try{
        	xmlRequest = new ActiveXObject("Microsoft.XMLHTTP");
        }
        catch(e) {
        	alert("Il tuo browser non supporta Ajax");
        	return false;
        }
    }
  }
}

function RpcOld() {
  createXMLHttpRequest();
  xmlRequest.open("POST", "application.php", true);
  xmlRequest.onreadystatechange = handler;
  xmlRequest.send(null);
 handleLoaderImage();
}

function parseXML(xml, string)
{
	
	// code for IE
	if (window.ActiveXObject)
	{
		xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
		xmlDoc.async=false;
		if(string == 1)
			xmlDoc.loadXML(xml);
		else
			xmlDoc.load(xml);
	}
	// code for Mozilla, Firefox, Opera, etc.
	else if (document.implementation && document.implementation.createDocument)
	{
		if(string == 1)
		{
			var parser=new DOMParser();
			xmlDoc = parser.parseFromString(xml,"text/xml");
		}
		else
		{
			xmlDoc=document.implementation.createDocument("","",null);
			xmlDoc.load(xml);
		}
	}
	else
	{
		alert('Il browser non puo\' gestire questo script');
	}
}

function handler()
{
	if(xmlRequest.readyState == 4)
	{
	//	alert(xmlRequest.responseText);
		handleLoaderImage()
	}
}

function handleLoaderImage() {
	if(document.getElementById("loader") == null)
	{
		var loader = document.createElement("DIV");
		loader.setAttribute('id', 'loader');
		loader.style.width = "100px";
		loader.style.height = "50px";
		loader.style.zIndex = "100";
		setTransparency(loader, 65);
		centerInTheBody(loader);
		
		var imageLoader = document.createElement('IMG');
		imageLoader.src = template+"img/loader.gif";
		imageLoader.style.marginLeft = "auto";
		imageLoader.style.marginRight = "auto";
		imageLoader.style.zIndex = "100";
		loader.appendChild(imageLoader);
		setTransparency(imageLoader, 100);
		
		document.body.appendChild(loader);
	}
	else
		document.body.removeChild(document.getElementById("loader"));
}

function centerInTheBody(element)
{
	var scrollSize = getXYScroll();
	var elementWidth = element.style.width.replace("px", "");
	var elementHeight = element.style.height.replace("px", "");
	var width = (document.body.clientWidth - elementWidth + scrollSize[0]) / 2;
	var height = (document.body.clientHeight - elementHeight + scrollSize[1]) / 2;
	element.style.top = height.toString()+"px";
	element.style.left = width.toString()+"px";
}

function centerInTheScreen(elWidth, ElHeight)
{
	var point = new Object;
	point.x = (screen.availWidth - elWidth) / 2;
	point.y = (screen.availHeight - ElHeight) / 2;
	return point;
}

function setTransparency(element, percentage)
{
	if(percentage > 0)
		var decimalPercentage = percentage / 100;
	else
		decimalPercentage = 0,01;
		
	element.style.MozOpacity = decimalPercentage+";";
	element.style.Opacity = decimalPercentage+";";
	element.style.filter = "alpha(opacity="+percentage+");";
}

function getXYScroll()
{
	var scrOfX = 0, scrOfY = 0;
	if( typeof( window.pageYOffset ) == 'number' ) 
	{
	    //Netscape compliant
	    scrOfY = window.pageYOffset;
	    scrOfX = window.pageXOffset;
 	}
	else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) 
	{
		//DOM compliant
		scrOfY = document.body.scrollTop;
		scrOfX = document.body.scrollLeft;
	}
	else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) 
	{
	    //IE6 standards compliant mode
	    scrOfY = document.documentElement.scrollTop;
	    scrOfX = document.documentElement.scrollLeft;
	}
  	return [ scrOfX, scrOfY ];
}

function setVisibility(element)
{
	if(element.className.match("hidden"))
		element.className = element.className.replace("hidden", "visible");
	else if(element.className.match("visible"))
		element.className = element.className.replace("visible", "hidden");
}

function getImageResizedDimensions(image, maxSize)
{
	var dimensions = Object();
	var ratio = (Math.max(image.width, image.height)) / maxSize;
	ratio = Math.max(ratio, 1);
	dimensions.width = Math.round(image.width/ratio);
	dimensions.height = Math.round(image.height/ratio);
	return dimensions;
}

function prova12()
{
	var oggetto = Object();
	oggetto.uno = "Ciao";
	oggetto.due = "Come";
	oggetto.tre = "va?";
	
	rpc("cazzo", oggetto);
}
