var myGlobalHandlers = {
	onCreate: function(){
		document.documentElement.style.cursor = 'wait';
	},

	onComplete: function() {
		if(Ajax.activeRequestCount === 0){
			document.documentElement.style.cursor = 'default';
		}
	},
	onException: showException
};

function showException(req, e){
	document.documentElement.style.cursor = 'default';
	window.alert(e.message);
}

function errorHandle(dom){
	var error = dom.getElementsByTagName('error').item(0);
	if(error.firstChild && error.firstChild.data){
		var errorMsg = error.firstChild.data;
		if(errorMsg != ""){
			window.alert(errorMsg);
			return true;
		}
	}
	return false;
}

function buildSelectComuni() {
	var selProvincia = $('selProvincia');
	if(selProvincia && (selProvincia.value != -1)){
		var url = '/servlet/GetComuniByProvincia';
		var pars = 'id=' + selProvincia.value;
		var myAyax = new Ajax.Request(url, 
			{	method: 'post',
				parameters: pars,
				onComplete: drawSelectComuni});
	}
}

function drawSelectComuni(req) {
	if(req.status != "200"){
		window.alert(req.status + "\n" + req.statusText);
		return;
	}
	var xmlDoc = req.responseXML.documentElement;
	if(errorHandle(xmlDoc))
		return;

	var elem = $('selComuni');

	var nr_elem = elem.options.length;
	if(nr_elem){
		for(var i=(nr_elem - 1); i>=0; i--){
			elem.options[i] = null;
		}
	}
 var opts = xmlDoc.getElementsByTagName('row');
 for(var i=0; i<opts.length; i++){
 	
  var txtElem = opts.item(i).childNodes.item(0).firstChild.data;
  var valore = opts.item(i).childNodes.item(1).firstChild.data;
  elem.options[i] = new Option(txtElem, valore);
 }
 elem.selectedIndex = 0;
 document.documentElement.style.cursor = 'default';
}

function doPost(){
	var error = "";
	var focusTo = null;
	if(!$('nome').value){
		error = "\tNome\n";
		focusTo = $('nome');
	}
	if(!$('cognome').value){
		error += "\tCognome\n";
		if(focusTo == null)
			focusTo = $('cognome');
	}
	if(!$('email').value){
		error += "\tEmail\n";
		if(focusTo == null)
			focusTo = $('email');
	}
	if($('selProvincia').value == -1){
		error += "\tProvincia\n";
		if(focusTo == null)
			focusTo = $('selProvincia');
	}
	if(error){
		window.alert("I seguenti campi non sono stati impostati:\n\n" + error);	
		focusTo.focus();
		return;
	}
	var pars = "nome=" + $('nome').value + "&" +
		"cognome=" + $('cognome').value + "&" +
		"email=" + $('email').value + "&" +
		"comune=" + $('selComuni').value + "&" +
		"volume=" + $('volume').value;
	var url = '/servlet/InsertAccount';
	var myAyax = new Ajax.Request(url, 
		{	method: 'post',
			parameters: pars,
			onComplete: manageTextResponse});
}

function manageTextResponse(req){
	if(req.status != "200"){
		window.alert(req.status + "\n" + req.statusText);
		return;
	}
//	$('messageDiv').update(req.responseText).addClassName('showDiv').show();
	$('divDownloadResult').innerHTML = "<p>" + req.responseText + "</p>" + $('divDownloadResult').innerHTML;
	$('divDownloadForm').style.display = "none";
	$('divDownloadResult').style.display = "block";
//	window.alert(req.responseText);
}

function manageResponse(req){
	if(req.status != "200"){
		window.alert(req.status + "\n" + req.statusText);
		return;
	}
	var xmlDoc = req.responseXML.documentElement;
	if(errorHandle(xmlDoc))
		return;
}
var numBad = 0;
function validaForm(){
//	return true;
	numBad = 0;
	var elems = Form.getElements($('frmScatta'));
	elems.each(function(node){
				if(node.value == ""){
					numBad++;}
			});
	if(numBad > 0) {
		window.alert("Tutti i campi devono essere compilati");
		return false;
	}
	if(!$('cbIdAccetto').checked){
	 window.alert("E' necessario accettare le condizioni della liberatoria");
	 retval = false;
	 } else {
		retval = true;
	}
	return retval;
}

function manageResendpwdResponse(req){
	var dom = req.responseXML.documentElement;
	if(errorHandle(dom))
		return;
	var error = dom.getElementsByTagName('content').item(0);
	if(error.firstChild && error.firstChild.data){
		var errorMsg = error.firstChild.data;
		if(errorMsg != ""){
			window.alert(errorMsg);
		}
	}
}


function resendPwd(){
	if($('email')){
		var email = $('email').value;
		if(email == ""){
			window.alert("Specificare un indirizzo di posta elettronica");
			return;
		}
		new Ajax.Request("/servlet/ResendPwd",
						{	method: 'post',
							parameters: "email=" + escape(email),
							onComplete: manageResendpwdResponse});
	}
}