var alreadyrunflag=0 //flag to indicate whether target function has already been run

if (document.addEventListener)
  document.addEventListener("DOMContentLoaded", function(){alreadyrunflag=1; init_tickets();}, false)
else if (document.all && !window.opera){
  document.write('<script type="text/javascript" id="contentloadtag" defer="defer" src="javascript:void(0)"><\/script>')
  var contentloadtag=document.getElementById("contentloadtag")
  contentloadtag.onreadystatechange=function(){
    if (this.readyState=="complete"){
      alreadyrunflag=1
      init_tickets();
    }
  }
}

window.onload=function(){
  setTimeout("if (!alreadyrunflag){init_tickets();}", 0)
}

var tickets = new Array();
tickets[0] = new Array();
tickets[0][0] = "$15.00";
tickets[0][1] = "General Admission Ticket";
tickets[0][2] = "general";
tickets[1] = new Array();
tickets[1][0] = "$30.00";
tickets[1][1] = "Support  Ticket";
tickets[1][2] = "support";
tickets[2] = new Array();
tickets[2][0] = "$60.00";
tickets[2][1] = "Benefit  Ticket";
tickets[2][2] = "benefit";
tickets[3] = new Array();
tickets[3][0] = "$90.00";
tickets[3][1] = "Empower  Ticket";
tickets[3][2] = "empower";
tickets[4] = new Array();
tickets[4][0] = "$250.00";
tickets[4][1] = "Circle of Hope Package";
tickets[4][2] = "package";



function init_tickets() {
	var form = document.buytickets;
	
	var service_selection = document.getElementById("service_selection");
	
	form.onsubmit = function() {
		submit_tickets(form);
		return false;
	}
	
	form.ticket.options[0].innerHTML = "Please select location first";
	
	if (form.location.addEventListener)
	form.location.addEventListener('change',location_select,false );
	else
	form.location.attachEvent('onchange', location_select);
	if (form.ticket.addEventListener)
	form.ticket.addEventListener('change',set_services,false );
	else
	form.ticket.attachEvent('onchange', set_services);

			
	if(form.ticket.value > 0 && form.ticket.value < 4)
		set_services();
}

function location_select(e) {
	form = document.buytickets;
	if (form.location.value != "") {
			form.ticket.options[0].innerHTML = "SELECT TICKET";
			form.ticket.disabled = false;
			set_services();
		}
		else {
			form.ticket.options[0].innerHTML = "Please select location first";
			form.ticket.disabled = true;
		}
}

function set_services() {
	var form = document.buytickets;
	var location = form.location.value;
	var service_selection = document.getElementById("service_selection");
	form.ticket.disabled = false;
	var a_services = new Array();
	a_services[0] = new Array();
	a_services[1] = new Array();
	a_services[2] = new Array();
	a_services[3] = new Array();
	
	var ticketIndex = form.ticket.value;
	if(location == "GNO Reading, PA" && ticketIndex < 4 && ticketIndex != "") {
		service_selection.style.display="block";
	}
	else if((ticketIndex < 1 || ticketIndex > 3)) {
		service_selection.style.display="none";
		form.services.selectedIndex = 0;
		return false;
	}
	else
		service_selection.style.display="block";
	
	switch(location) {
		case "GNO Peoria, AZ":
		case "GNO Scottsdale, AZ":
		case "GNO Chandler, AZ":
			a_services[1][0] = "Manicure";
			a_services[1][1] = "Hot Stone Neck Massage";
			
			a_services[2][0] = "Pedicure";
			a_services[2][1] = "Hot Stone Neck &amp; Shoulder Massage";
			
			a_services[3][0] = "Mini-Makeover";
			break;
			
		case "GNO Alpharetta, GA":
			a_services[1][0] = "Hair Wash &amp; Style";
			a_services[1][1] = "Shoulder &amp; Neck Massage";
			
			a_services[2][0] = "Hair Cut &amp; Style";
			a_services[2][1] = "Mini Facial";
			
			a_services[3][0] = "Mini-Makeover (Haircut &amp; style, make-up)";
			a_services[3][1] = "30 min. Massage";
			break;
			
		case "GNO Plainwell, MI":
			a_services[1][0] = "Manicure";
			a_services[1][1] = "Hair Wash &amp; Style";
			
			a_services[2][0] = "Pedicure";
			a_services[2][1] = "Hair Cut &amp; Style";
			
			a_services[3][0] = "Mini-Makeover (Haircut &amp; style, make-up)";
			a_services[3][1] = "30 min. Massage";
			break;
			
		case "GNO Summerlin, NV":
		case "GNO Henderson, NV":
			a_services[1][0] = "Manicure";
			
			a_services[2][0] = "Pedicure";
			a_services[2][1] = "Shampoo &amp; Style";
			
			a_services[3][0] = "Massage";
			a_services[3][1] = "Facial";
			a_services[3][2] = "Reflexology*(* Services dependent upon location.)";
			break;
								
		case "GNO Reading, PA":
			
			a_services[0][0] = "Manicure";
			
			a_services[1][0] = "Manicure and Pedicure";
			
			a_services[2][0] = "Haircut &amp; Style plus Pedicure";
			
			a_services[3][0] = "Mini-Makeover (Haircut &amp; style, make-up)";
			break;
			
		case "GNO Gettysburg, PA":
			a_services[1][0] = "Manicure";
			a_services[1][1] = "Shoulder & Neck massage";
			
			a_services[2][0] = "Pedicure";
			a_services[2][1] = "Hair Cut & Style";
						
			a_services[3][0] = "Mini Makeover with Hair Cut & Style plus Parafin Dip";
			a_services[3][1] = "Mini Facial";
			break;
			
		case "GNO Lehigh Valley, PA":
		case "GNO Lancaster, PA":
		case "GNO Pittsburgh, PA":
			a_services[1][0] = "Manicure";
			a_services[1][1] = "Shoulder &amp; Neck Massage";
			a_services[1][2] = "Hair Wash &amp; Style";
			
			a_services[2][0] = "Hair Cut &amp; Style";
			
			a_services[3][0] = "Mini-Makeover (Haircut &amp; style, make-up)";
			break;
			
		case "GNO Brooklyn, NY":
			a_services[1][0] = "Hair Wash &amp; Style with Manicure";
			
			a_services[2][0] = "Mini-Facial and Haircut &amp; Style";
			
			a_services[3][0] = "Haircut &amp Style with Make-Up Application";
			a_services[3][1] = "Hand Paraffin with Basic Manicure and Facial Waxing Service";
			break;
			
		case "GNO Detroit, MI":
			a_services[1][0] = "Manicure";
			a_services[1][1] = "Neck &amp; Shoulder Chair Massage";
			
			a_services[2][0] = "Pedicure";
			a_services[2][1] = "Mini-Facial";
			
			a_services[3][0] = "Neck &amp; Shoulder Massage with Eyebrow Makeover";
			a_services[3][1] = "Swedish Massage with Reflexology &amp; Facial Acupressure";
			break;
	
		default:
			a_services[1][0] = "Manicure";
			a_services[2][0] = "Pedicure";
			a_services[3][0] = "Mini-Makeover (Haircut &amp; style, make-up)";
			break;
	}

	var select_html;

	c_services = a_services[ticketIndex].length;
		select_html = "\r\n <option value='none'>SELECT SERVICE</option>\n";

	for(var n=0;n<c_services;n++) {
		select_html += "<option value='"+a_services[ticketIndex][n]+"'>"+a_services[ticketIndex][n]+"</option>\n";
	}
	document.getElementById("ie_bug").innerHTML = '<select name="services" id="Services">'+select_html+'</select>';
}

function submit_tickets(form) {
	
	var agreetext = document.getElementById("agreetext");
	if(!form.agree.checked) {
		agreetext.style.color = "#cc0000";
		alert("Please agree to the terms and conditions before continuing");
		agreetext.onclick = function() {
			agreetext.style.color = "#4B1C73";
		}
		return false;
	}


	if(form.donation.value != "") {
		form.ticket.title = "";
		form.location.title = "";
		
		form.cmd.value = "_donations";
		form.amount.value = "$"+form.donation.value;
		form.item_name.value = "GNO Donation";
		form.item_number.value = "donation";
		form.on0.value = "";
		form.os0.value = "";
		form.on1.value = "";
		form.os1.value = "";
		form.submit();
		return false;
	}
	
	if(checkElems(form) == false)
		return false;
			
	var ticketinfo = document.getElementById("ticketinfo");
	
	var ticket = document.getElementById("Ticket").value;

	var amount = tickets[ticket][0];
	var item_name = tickets[ticket][1];
	var item_number = tickets[ticket][2];
	
	var location = document.getElementById("Location").value;
	if((form.ticket.value > 0 && form.ticket.value < 4) || (location == "GNO Reading, PA" && form.ticket.value < 4)) {
		var service = form.services.value;
		form.os1.value = service;
		form.on1.value = "Preferred Service";

	}
	var comments = document.getElementById("Comments").value;
		
	form.amount.value = amount;
	form.item_name.value = item_name;
	form.item_number.value = item_number;
	form.os0.value = location;
	form.custom.value = comments;
	
	form.submit();
}
