function goTo(path){
	window.location.href = path;
}

function random(min,max){
	return Math.floor((max-(min-1))*Math.random()) + min;
}

/**
 * @param url url da chiamare
 * @param data dati da passare in post
 * @param callbackSuccess funzione di callback in caso di successo
 */
function callJSON(url,data,callbackSuccess, callbackError){
	$.ajax({
		type: 'POST',
	  	url: url,
	  	data: data,
	  	success: callbackSuccess,
	  	dataType: "json"
	}).error(function() {
		if(callbackError != undefined){
			callbackError();
		}
	});
}

var dialogPrg = 0;
var dialogIds = new Array();
function openDialog(url, data, titolo){
	var idDialog = "dialog_"+dialogPrg;
	
	dialogPrg += 1;
	$("body").append('<div class="dialog" id="'+idDialog+'" title=""></div>');
	$.ajax({
		type: 'POST',
	  	url: url,
	  	data: data,
	  	success: function(htmlCode){
			$("#"+idDialog).attr("title",titolo);
			$("#"+idDialog).html(htmlCode);
			
			$('#'+idDialog).dialog({
				autoOpen: false,
				show: "scale",
				hide: "puff",
				width: 700,
				modal:true,
				close: function(event, ui) {
					$("#"+idDialog).remove();
				},
				buttons: {
				  "Salva": function(){
					  //effetuo il submit della form
					  //$("#"+idDialog+" form").submit();//TODO
						submitDialog(idDialog);
				  },
				  "Chiudi": function() {
				    	$(this).dialog("close");
				  }
				}
		    });
			
			$('#'+idDialog).dialog('open');
			dialogIds.push(idDialog);
//			$('.dialog form').submit(function(){
//				alert('Handler for .submit() called.');
//				return false;
//			});
		}
	}).error(function() {
		//TODO
	});
}

function closeDialog(){
	var dialogId = dialogIds.pop();
	$("#"+dialogId).dialog("close");
}

function submitDialog(idDialog){
	var action =  $("#"+idDialog+" form").attr("action");
	
	var param = "";
	$("#"+idDialog+" form input").each(function(index){
		param += $(this).attr("name")+"="+this.value+"&";
	});
	
	$("#"+idDialog+" form textarea").each(function(index){
		param += $(this).attr("name")+"="+this.value+"&";
	});
	
	callJSON(action,param, function(jsonResponse){
		if(jsonResponse.status.code == 0){
			$("#"+idDialog).dialog("close");
		}else{
			//TODO error
			alert("ERROR");
		}	
	});
}
