
var radioButtonName;
var allRadioObjects;
var message;
var ALERT_TITLE;
var BUTTON_MSG;

function hideExamTables(selectId){
	
		var selectObj = document.getElementById(selectId);
		if (selectObj != null){
			
			var options = selectObj.options;
			if (selectObj.selectedIndex == -1){
				alert('error');
				return;
			}
			
			var selectedOption = options[selectObj.selectedIndex].value;
			
			
			var tableId = 'modulo'+selectedOption;
			
			var tableObj = document.getElementById(tableId);
			tableObj.style.display = '';
			
			for (var i = 0; i < (options.length); i++){
				if (i == selectObj.selectedIndex) continue;
				tableId = 'modulo'+options[i].value;
				tableObj = document.getElementById(tableId);
				tableObj.style.display = 'none';
			}
		}
	
	}


function createXMLHTTPRequestPopForEsame() {
	
}

function sendEsameUpdateRequest(link){
	
	var xmlHttpPopForEsame;
	
	if (window.ActiveXObject) {
		xmlHttpPopForEsame = new ActiveXObject("Microsoft.XMLHTTP");
	} else if (window.XMLHttpRequest) {
		xmlHttpPopForEsame = new XMLHttpRequest();
	}
	
	xmlHttpPopForEsame.onreadystatechange = 
		function(){
			handleStateChangeForEsame(xmlHttpPopForEsame);
		}
	
	xmlHttpPopForEsame.open("get", link, true);
	xmlHttpPopForEsame.setRequestHeader('Content-Type', 'text/xml');
	
	xmlHttpPopForEsame.send(null);

}

function updateIscrizioneAdEsame(link, radioButton_Name, messageIscrizione, messageCancellazione, alertTitle, buttonMsg){
	radioButtonName = radioButton_Name;
	var radioObjs = document.getElementsByName(radioButton_Name);
	
	ALERT_TITLE = alertTitle;
	BUTTON_MSG = buttonMsg;
	
	allRadioObjects = document.getElementsByTagName("radio");
	
		if (radioObjs[0].checked == true){
			
			link+='&action=iscrivi';
			message = messageIscrizione;
			for (var i = 0; i < allRadioObjects.length; i++){
				allRadioObjects[i].disabled = true;
			}
			sendEsameUpdateRequest(link);

		}
		else {
			link+='&action=cancella';
			message = messageCancellazione;
			for (var i = 0; i < allRadioObjects.length; i++){
				allRadioObjects[i].disabled = true;
			}
			sendEsameUpdateRequest(link);
			//alert(message);
		}
	
}

function handleStateChangeForEsame(xmlHttpPopForEsame){
	
	if (xmlHttpPopForEsame.readyState == 4) {
		
		if (xmlHttpPopForEsame.status == 200) {
			
			for (var i = 0; i < allRadioObjects.length; i++){
				allRadioObjects[i].disabled = false;
			}
			createCustomAlert(message, ALERT_TITLE, BUTTON_MSG);
		}
		else {
			for (var i = 0; i < allRadioObjects.length; i++){
				allRadioObjects[i].disabled = false;
			}
		}
	}
}

function updateIscrizioneAdEsameFO(buttonObj, examEnrollementParams){
	
	examEnrollementParams.usedLink = examEnrollementParams.baseLink;
	examEnrollementParams.usedLink = examEnrollementParams.usedLink + "&idAppello="+buttonObj.getAttribute("idAppello");
	
	if (buttonObj.getAttribute("isIscrittoFlag") == 'ON'){
		examEnrollementParams.usedLink+='&action=cancella' ;
	}
	else {
		examEnrollementParams.usedLink+='&action=iscrivi' ;
	}
	
	sendEsameUpdateRequestFO(buttonObj, examEnrollementParams );
	
}

function sendEsameUpdateRequestFO(buttonObj, examEnrollementParams){
	
	var xmlHttpPopForEsame;
	if (window.ActiveXObject) {
		xmlHttpPopForEsame = new ActiveXObject("Microsoft.XMLHTTP");
	} else if (window.XMLHttpRequest) {
		xmlHttpPopForEsame = new XMLHttpRequest();
	}
	
	xmlHttpPopForEsame.onreadystatechange = 
		function(){
			handleStateChangeForEsameFO(xmlHttpPopForEsame, buttonObj, examEnrollementParams);
		}
	
	xmlHttpPopForEsame.open("get", examEnrollementParams.usedLink, true);
	xmlHttpPopForEsame.setRequestHeader('Content-Type', 'text/xml');
	
	xmlHttpPopForEsame.send(null);
}

function handleStateChangeForEsameFO(xmlHttpPopForEsame, buttonObj, examEnrollementParams){
	
	if (xmlHttpPopForEsame.readyState == 4) {
		
		if (xmlHttpPopForEsame.status == 200) {
			
			var idModulo = buttonObj.getAttribute("idModulo");
			
			var idAppello = buttonObj.getAttribute("idAppello");
			
			var idTdToUpdate = idModulo + "_" + idAppello;
			
			var tdToUpdateObj = document.getElementById(idTdToUpdate);
			
			if (buttonObj.value == examEnrollementParams.iscrivitiLabel){
				
				
				buttonObj.value = examEnrollementParams.disiscrivitiLabel;
				buttonObj.setAttribute("isIscrittoFlag", "ON");
				if (tdToUpdateObj != null){
					tdToUpdateObj.innerHTML = examEnrollementParams.iscrittoLabel;
				}
				createCustomAlert(examEnrollementParams.registrationSuccedeed, examEnrollementParams.alertTitle, examEnrollementParams.buttonMsg);
			}
			else if (buttonObj.value == examEnrollementParams.disiscrivitiLabel){
				
				buttonObj.value = examEnrollementParams.iscrivitiLabel;
				buttonObj.setAttribute("isIscrittoFlag", "OFF");
				if (tdToUpdateObj != null){
					tdToUpdateObj.innerHTML = examEnrollementParams.nonIscrittoLabel;
				}
				
				createCustomAlert(examEnrollementParams.deletionSuccedeed, examEnrollementParams.alertTitle, examEnrollementParams.buttonMsg);

			}
			
			
			
		}
	}
}

function updateLink(selectObj, contextRoot, linkToUpdateId){
	
	if (selectObj == null || selectObj.options.length == 0) {
		return;
	}

	var idModulo = selectObj.options[selectObj.selectedIndex].value;
	var href = contextRoot + "/brickdispacher?servlet=formmoduloparte&methodName=view&formBaseId="+idModulo;
	var linkToUpdateObj = document.getElementById(linkToUpdateId);
	linkToUpdateObj.setAttribute("href", href);
}



