// JavaScript Document
function createXMLHttpRequest() {
	if(window.XMLHttpRequest) {
	try { 
	xmlHttpRequest = new XMLHttpRequest();
	} catch(e) { return null; }
	} else if(window.ActiveXObject) {
	try {
	xmlHttpRequest = new ActiveXObject("Msxml2.XMLHTTP");
	} catch(e) {
	try {
	xmlHttpRequest = new ActiveXObject("Microsoft.XMLHTTP");
	} catch (e) { return null; }
	}
	} else return null;
	return xmlHttpRequest;
}
function assegna() {
	var XHR = null;
	browserUtente=navigator.userAgent.toUpperCase();
	
	if (typeof(XMLHttpRequest)==="function" || typeof(XMLHttpRequest)==="object")
		{
			XHR = new XMLHttpRequest();
		}
	else if (window.ActiveXObject && browserUtente.indexOf("MSIE 4") < 0)
		{
			if (browserUtente.indexOf("MSIE 5") < 0)
				{
					XHR = new ActiveXObject("Msxml2.XMLHTTP");
				}
			else 
				{
					XHR = new ActiveXObject("Microsoft.XMLHTTP");
				}
		}
	return XHR;
}

function gebi(idelemento){
	var elemento;
	if (document.getElementById){
		elemento=document.getElementById(idelemento);
	} else {
		elemento=document.all(idelemento);
	}
	return elemento;
}

function isValidEmail(email, required) {
    if (required==undefined) {   // if not specified, assume it's required
        required=true;
    }
    if (email==null) {
        if (required) {
            return false;
        }
        return true;
    }
    if (email.length==0) {  
        if (required) {
            return false;
        }
        return true;
    }
    if (! allValidChars(email)) {  // check to make sure all characters are valid
        return false;
    }
    if (email.indexOf("@") < 1) { //  must contain @, and it must not be the first character
        return false;
    } else if (email.lastIndexOf(".") <= email.indexOf("@")) {  // last dot must be after the @
        return false;
    } else if (email.indexOf("@") == email.length) {  // @ must not be the last character
        return false;
    } else if (email.indexOf("..") >=0) { // two periods in a row is not valid
	return false;
    } else if (email.indexOf(".") == email.length) {  // . must not be the last character
	return false;
    }
    return true;
}

function allValidChars(email) {
  var parsed = true;
  var validchars = "abcdefghijklmnopqrstuvwxyz0123456789@.-_";
  for (var i=0; i < email.length; i++) {
    var letter = email.charAt(i).toLowerCase();
    if (validchars.indexOf(letter) != -1)
      continue;
    parsed = false;
    break;
  }
  return parsed;
}
var readyState={
	inattivo: 0,
	inizializzaro: 1,
	richiesta: 2,
	risposta: 3,
	completato: 4
};

var statusText = new Array();
	statusText[100]="Continue";
	statusText[200]="OK";
	statusText[400]="Bad Request";
	statusText[401]="Unauthorized";
	statusText[403]="Forbidden";
	statusText[404]="Not found";
	statusText[500]="Internal Server Error";
	statusText[503]="Service Unavailable";
