function validMandatoryFields(form) {
	var error = false;
	
	with(form) {
		for (i = 0; i < elements.length; i++) {
			if (elements[i].disabled == true)
				continue;

			if (elements[i].type == 'hidden') {
				continue;
			}
			
			var cur = elements[i]

			while (cur = cur.previousSibling) {
				if (cur.nodeName == "LABEL") {
					if (cur.className.match("mandatory")) {
						if (elements[i].type == "checkbox" && elements[i].checked == false) {
							elements[i].className += " error";
							error = true;
						} else if (elements[i].value == "") {
							elements[i].className += " error";
							error = true;
						}
					}
					break;
				}
			}
		}
	}
	
	if (error == true) {
		return false;
	} else {
		return true;
	}
}

function countryUpdate() {
	with(document.forms["userForm"]) {
		userManager.getCountry(countryId.value, refreshUserForm);
	}
}

function refreshUserForm(country) {
	if (country == null) {
		alert("Problème lors de la sélection du pays"); return;
	}
	
	with(document.forms["userForm"]) {
		var rcsField = document.getElementById('rcsField');
		var idceeField = document.getElementById('idceeField');
		
		/* RCS Management */
		if (country.rcs == true) {
			rcs.disabled = false;
			rcsField.style.display = "block";
		} else {
			rcs.disabled = true;
			rcsField.style.display = "none";
		}

		/* Idcee Management */
		if (country.idcee == true) {
			idcee.disabled = false;
			idceeField.style.display = "block";
			idcee_countrycode.value = country.code;
		} else {
			idcee.disabled = true;
			idceeField.style.display = "none";
		}
	}
}

function addPack(pack, price) {
	var nbPacks = document.getElementById('items['+pack+'].quantity');
	nbPacks.value ++;
	var totalPrice = parseInt(nbPacks.value)*price;
	document.getElementById('amountPack_'+pack).innerHTML = totalPrice
	setTotal();
}
function delPack(pack, price) {
	var nbPacks = document.getElementById('items['+pack+'].quantity');
	if (nbPacks.value > 0)
		nbPacks.value --;
	var totalPrice = parseInt(nbPacks.value)*price;
	document.getElementById('amountPack_'+pack).innerHTML = totalPrice
	setTotal();
}
function setTotal() {
	var totalCredits = 0;
	var totalPrice = 0;
	for (var i=0 ; i<=2 ; i++ ) {
		if (document.getElementById('items['+i+'].quantity').value != 0) {
			totalCredits += parseInt(document.getElementById('items['+i+'].quantity').value) * parseInt(document.getElementById('creditsInPack_'+i).value);
			totalPrice = eval(totalPrice) + eval(document.getElementById('amountPack_'+i).innerHTML);
		}
	}
	document.getElementById('creditsTotal').innerHTML = totalCredits;
	document.getElementById('amountTotal').innerHTML = (Math.round(totalPrice*100))/100;
}
