// required: dom.js

var subscriptionTypesContainersId = new Array("4shows", "5shows", "4showsPlus", "5showsPlus");
var nonDynamicTotals = new Array("donation", "passeport_total");

function daySelector(formname, inputname, elementid){
	var win = open("abonnement/days.php?formname="+formname+"&inputname="+inputname+"&elementid="+elementid, "daysSelector",
				   "width=900,height=685,resizable=yes,scrollbars=yes");
}

function showSeatMap(){
	var win = open("abonnement/seatmap.php", "seatmap", "width=429,height=670,resizable=yes,scrollbars=yes");
}

function selectDay(value){
	if(opener){
		if(formname && inputname){
			var input = opener.document.forms[formname].elements[inputname];
			if(input && input.value != undefined){
				input.value = value;
			}
		}
		if(elementid && document.getElementById){
			var elem = opener.document.getElementById(elementid);
			elem.innerHTML = value;
		}
	}
	window.close();
}

// Array associatif qui contient tous les chiffres � �tre additionn�s ensemble pour le total
var totals = new Array();

// Fonction qui change le prix
function changePrice(input, price, totalId){
	if(dom_supported){
		var nb = input.value;
		var totalElem = document.getElementById(totalId);
		if((nb*1) != nb){
			totalElem.innerHTML = "";
			totals[totalId] = 0;
		}else{
			var total = nb*price;
			var totalstr = (total.toFixed)?total.toFixed(2):""+total;
			totalElem.innerHTML = " = "+totalstr+" $";
			totals[totalId] = total;
		}
		updateTotal();
	}
}

function changeDonation(input){
	var nb = input.value;
	if((nb*1) != nb){
		totals["donation"] = 0;
	}else{
		totals["donation"] = nb;
	}
		updateTotal();
}

function updateTotal(){
	if(dom_supported){
		var bigTotal = 0;
		for(id in totals){
			bigTotal += (totals[id]*1);
		}
		var spanTotal = document.getElementById("bigtotal");
		var inputTotal = document.forms[0].elements["bigtotal"];
		
		var html = (bigTotal.toFixed)?bigTotal.toFixed(2):""+bigTotal;
		spanTotal.innerHTML = html + " $";
		inputTotal.value = bigTotal;
	}
}

function hideAllSubscriptionTypesContainers(){
	for(var index in subscriptionTypesContainersId){
		var id = subscriptionTypesContainersId[index];
		hideSubscriptionTypesContainers(id);
	}
}

function hideSubscriptionTypesContainers(id){
	if(dom_supported){
		var container = document.getElementById(id);
		
		// On cache le fieldset
		container.style.display = "none";
		
		// On passe chacun des input
		var inputs = container.getElementsByTagName("input");
		
		for(var i=0; i<inputs.length; i++){
			var input = inputs.item(i);
			input.value = "0";
			input.setAttribute("disabled", "disabled");
		}
		
		// On passe chacun des <span>
		var spans = container.getElementsByTagName("span");
		
		for(var j=0; j<spans.length; j++){
			var span = spans.item(j);
			span.innerHTML = "";
		}
		
		reinitTotal();
	}
}

function reinitTotal(){
	newTotals = new Array();
	for(var i in nonDynamicTotals){
		var id = nonDynamicTotals[i];
		if(totals[id]){
			newTotals[id] = totals[id];
		}
	}
	totals = newTotals;
	updateTotal();
}

function showSubscriptionTypesContainers(id){
	if(dom_supported){
		var container = document.getElementById(id);
		
		// On passe chacun des input
		var inputs = container.getElementsByTagName("input");
		
		for(var i=0; i<inputs.length; i++){
			var input = inputs.item(i);
			input.removeAttribute("disabled");
		}
		
		// On affiche le fieldset
		container.style.display = "block";
		
		// On cache l'avertissement
		//document.getElementById("notypeselected").style.display = "none";
	}	
}

function submitForm(form){
	var msgs = new Array();
	if(form.elements["nom"].value == "") msgs[msgs.length] = "Veuillez indiquer votre nom";
	if(form.elements["prenom"].value == "") msgs[msgs.length] = "Veuillez indiquer votre prenom";
	if(form.elements["courriel"].value == "") msgs[msgs.length] = "Veuillez indiquer votre courriel";
	//alert(form.elements["type_abonnement"][0].checked)
	
	if(msgs.length == 1){
		alert(msgs.join(" "));
		return false;
	}else if(msgs.length > 1){
		alert("Les erreurs suivantes ont �t� d�cell�es:\n" + msgs.join("\n"));
		return false;
	}else{
		return true;
	}
}



/*

var oldOnload = window.onload;
window.onload = function(){
	oldOnload();
	initPriceUpdate();
}*/