var ticketamount;
var ticketdiscount;
var ticketname = "";

var grandprace;

function calcTotal() {
			var price = 0;
			var discount = 0;
			var price_earlybird = 50;
			var price_markettable = 150;
			var price_discount = 100;
			var price_cc = 25;
			
			var pricelabels = new Array();
			var discountlabels = new Array();
			var regfixed = document.regform.elements["regfixed"];
			var price_html = document.getElementById("totalpayment");
			var pricelabel_html = document.getElementById("totalpaymentlabel");
			var pricelabelstring = "";
			var discountlabelsstring = "";
			
			var mayspecialdate =new Date(2009, 4, 10);
			//mayspecialdate.setFullYear(2009);
			//mayspecialdate.setMonth(6);
			//mayspecialdate.setDate(10);
			
			
			var earlydate =new Date(2009, 6, 18);
			
			var today = new Date();
			
			if (document.regform.elements["fieldFee"][1].checked) {
				// SUBSIDIZED FEE
				if (today  > earlydate ) {
					price += 1095;pricelabels.push("full rate subsidized fee");
				} else if (today  > mayspecialdate ) {
					price += 995;pricelabels.push("early bird subsidized fee");
				} else {
					price += 700;pricelabels.push("spring offer subsidized fee");
				}
				
			} else if (document.regform.elements["fieldFee"][0].checked) {
				// STANDARD FEE
				if (today  > earlydate ) {
					price += 1595;pricelabels.push("full rate standard fee");
				} else if (today  > mayspecialdate ) {
					price += 1295;pricelabels.push("early bird standard fee");
				} else {
					price += 1000;pricelabels.push("spring offer standard fee");
				}
			} else if (document.regform.elements["fieldFee"][2].checked) {
				if (ticketname != "") {
					pricelabels.push("ticketcode "+ticketname);	
					if (ticketamount > 0) {
						price = parseInt(ticketamount);	
					} else if (ticketdiscount > 0 ) {
						price = 0;
					}
				} else {
					if (today  > earlydate ) {
						price += 1595;pricelabels.push("full rate standard fee");
					} else if (today  > mayspecialdate ) {
						price += 1295;pricelabels.push("early bird standard fee");
					} else {
						price += 1000;pricelabels.push("spring offer standard fee");
					}
				}
			}
											
			if (document.regform.elements["fieldEventEarly"].checked) {
				//price += price_earlybird; pricelabels.push("early arrivals");
			};	
			
			if (document.regform.elements["fieldTable"].checked) {
				price += price_markettable; pricelabels.push("market table");
			};
		
		
			if (document.regform.elements["fieldDonation"].value > 0) {
				document.regform.elements["fieldDonationFlag"].checked = true;
				price += parseInt(document.regform.elements["fieldDonation"].value); pricelabels.push("donation fund");	
			};
			
			if (document.regform.elements["fieldDonation2"].value > 0) {
				document.regform.elements["fieldDonation2Flag"].checked = true;
				price += parseInt(document.regform.elements["fieldDonation2"].value); pricelabels.push("donation community");	
			};
				
			if (today  > mayspecialdate ) {	
				if (ticketname != "") { 
					// can't have sponsor!
				} else {
					if (document.regform.elements["fieldSponsor"].value || document.regform.elements["fieldNetwork"].value) {
						
						price -= 100; discountlabels.push("discount");
					}
				}
			}
			
			
			if (price != 0) {
				if (document.regform.elements["flagPayment"][1].checked) {
					price += price_cc; pricelabels.push("credit card");
				};
			
				price+= 200; pricelabels.push("200 eur administration fee");
			}
			
                     
			
			if (regfixed.value > 0 ) {
				price = regfixed.value;	pricelabels = new Array(); pricelabels.push("Fixed fee");discountlabels = new Array();
			}
			
			grandprace = price;
			
			price_html.innerHTML = "&euro; "+price;		
			if (price > -1 ) { 			
				if (pricelabels.length > 0) {	
					
					for (i=0; i < pricelabels.length; i++) {
						
						if (i == 0) {
							// ALWAYS without "en" or "," if the first
							pricelabelstring = pricelabels[i];
						} else  {
							pricelabelstring = pricelabelstring + " + " + pricelabels[i];
						}
					}
				}
				
				if (discountlabels.length > 0) {	
					
					for (i=0; i < discountlabels.length; i++) {
						
						if (i == 0) {
							// ALWAYS without "en" or "," if the first
							discountlabelsstring = " - " + discountlabels[i];
						} else  {
							discountlabelsstring = discountlabelsstring + " - " + discountlabels[i];
						}
					}
				}
				pricelabel_html.innerHTML = "(" + pricelabelstring + discountlabelsstring + ")";
			}
	
}

function checkSubmit()
{
		calcTotal();
		var errors = new Array();
		
		
		if ((document.regform.elements["fieldNameFirst"].value.length==0) || (document.regform.elements["fieldNameFirst"].value==null)) {
				errors.push("Firstname");
   		}
		
		if ((document.regform.elements["fieldNameLast"].value.length==0) || (document.regform.elements["fieldNameLast"].value==null)) {
				errors.push("Lastname");
   		}
		
		if ((document.regform.elements["fieldNation"].value.length==0) || (document.regform.elements["fieldNation"].value==null)) {
				errors.push("Nationality");
   		}
		
		if ((document.regform.elements["fieldAddress"].value.length==0) || (document.regform.elements["fieldAddress"].value==null)) {
				errors.push("Address");
   		}
		
		if ((document.regform.elements["fieldCity"].value.length==0) || (document.regform.elements["fieldCity"].value==null)) {
				errors.push("City");
   		}
		
		if ((document.regform.elements["fieldPostal"].value.length==0) || (document.regform.elements["fieldPostal"].value==null)) {
				errors.push("Postal code");
   		}
		
		//if ((document.regform.elements["fieldState"].value.length==0) || (document.regform.elements["fieldState"].value==null)) {
		//		errors.push("State");
   		//}
		
		if ((document.regform.elements["fieldCountry"].value.length==0) || (document.regform.elements["fieldCountry"].value==null)) {
				errors.push("Country");
   		}
		
		if ((document.regform.elements["fieldMail"].value.length < 5) || (document.regform.elements["fieldMail"].value==null)) {
				errors.push("Email");
   		}
		
		if ((document.regform.elements["fieldTel"].value.length==0) || (document.regform.elements["fieldTel"].value==null)) {
				errors.push("Phone");
   		}
		
		
		if ((document.regform.elements["fieldTypeAddress"].value.length==0) || (document.regform.elements["fieldTypeAddress"].value==null)) {
				errors.push("Work or Home address");
   		}
		
		if ((document.regform.elements["fieldAge"].value.length==0) || (document.regform.elements["fieldAge"].value==null)) {
				errors.push("Age");
   		}
		
		dday = document.regform.elements["fieldStartD"];
		if (!dday.value) {
				errors.push("Arrival date");
		}
		
		dday = document.regform.elements["fieldEndD"];
		if (!dday.value) {
				errors.push("Arrival date");
		}
		
		if (!document.regform.elements["fieldBook"].checked  && (document.regform.elements["fieldContent"].value.length < 50)) {
			errors.push("Your profile for the conference book must be mininum 50 letters");
		}
		
		
		if (!document.regform.elements["fieldBook"].checked  &&  (document.regform.elements["fieldExistingPhoto"].value == 0) && !document.regform.elements["fieldPhoto"].checked && (document.regform.elements["userphoto"].value.length < 10)) {
			errors.push("Your profile photo");
		}	
		
		
		if (!document.regform.elements["fieldFee"][0].checked && !document.regform.elements["fieldFee"][1].checked && !document.regform.elements["fieldFee"][2].checked) { 
			errors.push("Fee type");
		}
	
		if (document.regform.elements["fieldDonationFlag"].checked &&  (document.regform.elements["fieldDonation"].value < 1)  ) { 
			errors.push("Donation W.I.N. Women's fund amount");
		}
		
		if (document.regform.elements["fieldDonation2Flag"].checked &&  (document.regform.elements["fieldDonation2"].value < 1)  ) { 
			errors.push("Donation W.I.N. Community amount");
		}
		
		// check if TICKET USED 
		if (grandprace == 0 ) {
			// Don't check for mode of payment
		} else {
			if (!document.regform.elements["flagPayment"][0].checked && !document.regform.elements["flagPayment"][1].checked) { 
				errors.push("Mode of payment");
			}
		}
		
		temp = document.regform.elements["fieldGender"];
	    var gotone = false; 	
		for (var i = 0; i < temp.length; i++) {
			if (temp[i].checked) {
				gotone = true;
			}
		}		
				
		if (!gotone) {
				errors.push("Gender");
   		}	
		
				
		if (errors.length > 0) {	
			errorlist = "";
			for (i=0; i < errors.length; i++) {
				errorname = errors[i];
				
				if (i == 0) {
					// ALWAYS without "en" or "," if the first
				} else if (i == (errors.length - 1)) {
					errorname = " and " + errorname;
				} else if (i != 0) {
					errorname = ", " + errorname;
				}
				errorlist = errorlist + errorname;
			}
			window.alert("The following fields must be filled in: "+errorlist+".");
			return false;
		} else {
			if ((!document.regform.elements["flagDisclaimer"][0].checked) || (!document.regform.elements["flagDisclaimer"][1].checked)) {
				alert ("Please read and confirm the disclaimers!");
				return false;
			} else {
				if ( document.regform.elements["fieldFee"][1].checked &&  document.regform.elements["fieldSponsor"].value) {
					alert ("Please be sure you have selected Standard Fee if you belong to a sponsor company.");
					return false;
				}
				
			}
		}
		
}

function chopContent() {
	if (document.regform.fieldContent.value.length > 1000) {
		document.regform.fieldContent.value = document.regform.fieldContent.value.substr(0, 1000);
	}			
}
