//Declare variables
var numberOfPeople                    = 0;
var numberOfRoomsPrice                = 0;
var numberOfSingleRoomsPrice          = 0;
var numberOfExtraNightsPrice          = 0;
var airportTransfersPrice             = 0;
var numberOfTicketOnlyPackagesPrice   = 0;
var grandTotal                        = 0;
var isAirportSet                      = 0;
var isTransportSet                    = 0;
var totalPriceForTicketSessions				= 0;
var singleTicketSessions = new Array();
var s1 = "";
var s2 = "";
var s3 = "";
var s4 = "";
var s5 = "";
var s6 = "";
var s7 = "";
var s8 = "";
var s9 = "";
var s10 = "";
var s11 = "";
var s12 = "";
var s13 = "";
var s14 = "";
var s15 = "";
var s16 = "";
var s17 = "";
var s18 = "";
var s19 = "";
var s20 = "";
var s21 = "";
var s22 = "";
var s23 = "";
var s24 = "";
var s25 = "";
var s26 = "";
var s27 = "";
var s28 = "";
var s29 = "";
var s30 = "";
var singleTicketSessionPrice = 0;
var singleTicketSessionGrandTotal = 0;


function getAllSelectedSingleTicketSessionsAsString() {
var c_value = "";
var sessionArray = new Array();
var priceArray = new Array();
var formValue = "";
				for (i=1;i<=30;i++) {
			      c_value = c_value + eval("s" + i)  + "_";
			}
  formValue = '<input type="hidden" name="session" id="session" value="'+ c_value +'" />';
	return formValue;
}



function updateSingleTicketSession(ticketSession, ticketData, numberOfTickets){
	ticketMetaData = ticketData + "|" + numberOfTickets;
	this[ticketSession] = ticketMetaData;
	generateGrandTotalForSingleTicketSessions();
}

function generateGrandTotalForSingleTicketSessions() {
	var sessionArray = new Array();
	var priceArray = new Array();
	var price = 0;
	var ticket = 0;
	var sessionPrice = 0;
	var temp;
	//var grandTotal = 0; 
	
	
	// Reset Price
	
	grandTotal = 0;
	var formValue = "";
	//grandTotal = grandTotal + 30.00;
	formValue = getAllSelectedSingleTicketSessionsAsString();
	updatePriceLineitem("grandTotal", grandTotal);
	document.getElementById("ticketSessionInformation").innerHTML = formValue;
	document.registrationForm.grandTotalHiddenField.value = grandTotal;

	
	for (i=1;i<=30;i++) {
					
					sessionArray = eval("s" + i).split("|");
					
          
          price = sessionArray[3];
          if (price == undefined){
          	price = 0;
          	
          }
          ticket = sessionArray[4];
          if (ticket == undefined){
          	ticket = 0;
          }
          
          
          sessionPrice = price * ticket;
          grandTotal = grandTotal + sessionPrice;
          grandTotal * 1;
          
  }
  
	var formValue = "";
	grandTotal = grandTotal + 19.99;
	formValue = getAllSelectedSingleTicketSessionsAsString();
	updatePriceLineitem("grandTotal", grandTotal);
	document.getElementById("ticketSessionInformation").innerHTML = formValue;
	document.registrationForm.grandTotalHiddenField.value = grandTotal;
	
	//alert(document.registrationForm.grandTotalHiddenField.value);
	
}



// Individual Session Ticket Sales

function getAllSelectedTicketSessions() {
var c_value = "";
var sessionArray = new Array();
var priceArray = new Array();
for (var i=0; i < document.registrationForm.session.length; i++)
   {
   if (document.registrationForm.session[i].checked)
      {
      c_value = document.registrationForm.session[i].value;
      sessionArray = c_value.split("|");
      // Number of tickets per session
      document.getElementById("s1NumberOfTickets").value;
      priceArray.push(sessionArray[3]);
      }
   }
	return priceArray;
}


function getAllSelectedTicketSessionsRev(ticketData, numberOfTickets) {
var c_value = "";
var sessionArray = new Array();
var priceArray = new Array();
var ticketPrice = 0;
//
sessionArray = ticketData.split("|");
ticketPrice = sessionArray[3] * 1;

}




function getAllSelectedTicketSessionsString() {
var c_value = "";
var sessionArray = new Array();
var priceArray = new Array();
var formValue = "";
for (var i=0; i < document.registrationForm.session.length; i++)
   {
   if (document.registrationForm.session[i].checked)
      {
      c_value = c_value + document.registrationForm.session[i].value + "_";
      }
   }
  //'<input type="hidden" name="session" id="session" value="'+ c_value +'" />';
  formValue = '<input type="hidden" name="session" id="session" value="'+ c_value +'" />';
	return formValue;
}

function updateTicketSessions(){
	// Get number of people
	var numberOfPeopleForTicketSessions = "";
	numberOfPeopleForTicketSessions = document.getElementById("selectNumberOfPeople").value;
		
	// Get pricing from all checkboxes
	var priceArray = new Array();
	priceArray = getAllSelectedTicketSessions();
	var totalPrice = 0;
	var unitPrice = 0;
	for (x in priceArray) {
		unitPrice = priceArray[x];
		unitPrice = unitPrice * 1;
		totalPrice = totalPrice + unitPrice;
		
	}		
	totalPriceForTicketSessions = totalPrice * numberOfPeopleForTicketSessions;
	
	// Generate Grand Total
	generateGrandTotalForTicketSessions();	
}





function updateTicketSessionsRev(){

	// Get cookie data
	var c_name = "QEHSingleTennisSessions";
	var cookieData = "";
	
	if (document.cookie.length>0)
  {
  c_start=document.cookie.indexOf(c_name + "=");
  if (c_start!=-1)
    { 
    c_start=c_start + c_name.length+1; 
    c_end=document.cookie.indexOf(";",c_start);
    if (c_end==-1) c_end=document.cookie.length;
    cookieData = unescape(document.cookie.substring(c_start,c_end));
    } 
  }	
	
	// Set Cookie
	
	var ticketMetadata = cookieData + "&" + ticketData + '|' + numberOfTickets;
	var expiredays = 1;
	var exdate=new Date();
	exdate.setDate(exdate.getDate()+expiredays);
	document.cookie="QEHSingleTennisSessions"+ "=" +escape(ticketMetadata)+ ((expiredays==null) ? "" : ";expires="+exdate.toGMTString());
/*



	
	// Get pricing from all checkboxes
	var priceArray = new Array();
	priceArray = getAllSelectedTicketSessionsRev(ticketData, numberOfTickets);
	var totalPrice = 0;
	var unitPrice = 0;
	for (x in priceArray) {
		unitPrice = priceArray[x];
		unitPrice = unitPrice * 1;
		totalPrice = totalPrice + unitPrice;
		
	}		

	
	
	
	
	// Get number of people
	var numberOfPeopleForTicketSessions = "";
	numberOfPeopleForTicketSessions = document.getElementById("selectNumberOfPeople").value;
		
	// Get pricing from all checkboxes
	var priceArray = new Array();
	priceArray = getAllSelectedTicketSessions();
	var totalPrice = 0;
	var unitPrice = 0;
	for (x in priceArray) {
		unitPrice = priceArray[x];
		unitPrice = unitPrice * 1;
		totalPrice = totalPrice + unitPrice;
		
	}		
	totalPriceForTicketSessions = totalPrice * numberOfPeopleForTicketSessions;
	
	// Generate Grand Total
	generateGrandTotalForTicketSessions();	
	
	*/
}






function generateGrandTotalForTicketSessions() {
	var formValue = "";
	formValue = getAllSelectedTicketSessionsString();
	grandTotal = totalPriceForTicketSessions + 30.00;	
	updatePriceLineitem("grandTotal", grandTotal);
	document.registrationForm.grandTotalHiddenField.value = grandTotal;
	document.getElementById("ticketSessionInformation").innerHTML = formValue;
}

//



// Pricing Table
airportPSPPricing = new Object();
   airportPSPPricing.Sedan = 200.00
   airportPSPPricing.SUV = 262.50
   airportPSPPricing.Van = 256.25

airportONTPricing = new Object();
   airportONTPricing.Sedan = 418.75;
   airportONTPricing.SUV = 525.00;
   airportONTPricing.Van = 493.75;

airportLAXPricing = new Object();
   airportLAXPricing.Sedan = 612.50;
   airportLAXPricing.SUV = 775.00;
   airportLAXPricing.Van = 737.50;



function formatCurrency(num) {
	num = num.toString().replace(/\$|\,/g,'');
	if(isNaN(num))
	num = "0";
	sign = (num == (num = Math.abs(num)));
	num = Math.floor(num*100+0.50000000001);
	cents = num%100;
	num = Math.floor(num/100).toString();
	if(cents<10)
	cents = "0" + cents;
	for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
	num = num.substring(0,num.length-(4*i+3))+','+
	num.substring(num.length-(4*i+3));
	return (((sign)?'':'-') + '$' + num + '.' + cents);
}


function validate_required(field,alerttxt) {
	with (field){
		if (value==null||value==""||value==0)
		  {alert(alerttxt);return false;}
		else {
			return true
		}
	}
}

function validate_form(thisform) {
	with (thisform) {
		if (validate_required(selectNumberOfPeople,"Please select the number of people attending.")==false) { return false; }
	}
}

function Set_Cookie( name, value, expires, path, domain, secure ) 
	{
	// set time, it's in milliseconds
	var today = new Date();
	today.setTime( today.getTime() );
	
	/*
	if the expires variable is set, make the correct 
	expires time, the current script below will set 
	it for x number of days, to make it for hours, 
	delete * 24, for minutes, delete * 60 * 24
	*/
	if ( expires )
	{
	expires = expires * 1000 * 60 * 60 * 24;
	}
	var expires_date = new Date( today.getTime() + (expires) );
	
	document.cookie = name + "=" +escape( value ) +
	( ( expires ) ? ";expires=" + expires_date.toGMTString() : "" ) + 
	( ( path ) ? ";path=" + path : "" ) + 
	( ( domain ) ? ";domain=" + domain : "" ) +
	( ( secure ) ? ";secure" : "" );
}

function Get_Cookie( check_name ) {
	// first we'll split this cookie up into name/value pairs
	// note: document.cookie only returns name=value, not the other components
	var a_all_cookies = document.cookie.split( ';' );
	var a_temp_cookie = '';
	var cookie_name = '';
	var cookie_value = '';
	var b_cookie_found = false; // set boolean t/f default f
	
	for ( i = 0; i < a_all_cookies.length; i++ )
	{
		// now we'll split apart each name=value pair
		a_temp_cookie = a_all_cookies[i].split( '=' );
		
		
		// and trim left/right whitespace while we're at it
		cookie_name = a_temp_cookie[0].replace(/^\s+|\s+$/g, '');
	
		// if the extracted name matches passed check_name
		if ( cookie_name == check_name )
		{
			b_cookie_found = true;
			// we need to handle case where cookie has no value but exists (no = sign, that is):
			if ( a_temp_cookie.length > 1 )
			{
				cookie_value = unescape( a_temp_cookie[1].replace(/^\s+|\s+$/g, '') );
			}
			// note that in cases where cookie is initialized but no value, null is returned
			return cookie_value;
			break;
		}
		a_temp_cookie = null;
		cookie_name = '';
	}
	if ( !b_cookie_found )
	{
		return null;
	}
}		



function setNumberOfPeople(price,nights,value,id){
		// Set Price
		numberOfPeople = price*value;
		
		// Update corresponding textbox
		updatePriceLineitem(id, numberOfPeople);
		
		// Generate Grand Total
		generateGrandTotal();
		
		
		// If there is only 1 person, auto-select 1 supplimental room charge
		if (value == 1) {
			document.getElementById("selectNumberSingleRooms").value = 1;
			setNumberOfSingleRooms(175,nights,1,'selectNumberSingleRooms');
		}
}

function setNumberOfRooms(price,value,id){		
		// Set Price
		numberOfRoomsPrice = price*value;
		
		// Update corresponding textbox
		updatePriceLineitem(id, numberOfRoomsPrice);
		
		// Generate Grand Total
		generateGrandTotal();
}

function setNumberOfSingleRooms(price,nights,value,id) {
		
		// Set Price
		numberOfSingleRoomsPrice = price*nights*value;
		
		// Update corresponding textbox
		updatePriceLineitem(id, numberOfSingleRoomsPrice);
		
		// Generate Grand Total
		generateGrandTotal();
		

}

function setNumberOfExtraNights(price,value,id) {
		// Set Price
		numberOfExtraNightsPrice = price*value;
		
		// Update corresponding textbox
		updatePriceLineitem(id, numberOfExtraNightsPrice);
		
		// Generate Grand Total
		generateGrandTotal();
}

function setAirportTransfers(mode,value,id) {
		
		if(value != 0){
			document.getElementById("selectAirportTransport").disabled = false;
		}else{
			document.getElementById("selectAirportTransport").disabled = true;
		}
		
		if ((mode == "transport") || (mode == "airport")){
			airport = document.getElementById("selectAirport").value;
			transport = document.getElementById("selectAirportTransport").value;
			switch(airport){
				case "PSP":
					switch(transport){
						case "0":
							airportTransfersPrice = 0;
							break;
							
						case "sedan":
							airportTransfersPrice = airportPSPPricing.Sedan;
							break;
						
						case "suv":
							airportTransfersPrice = airportPSPPricing.SUV;
							break;

						case "van":
							airportTransfersPrice = airportPSPPricing.Van;
							break;
					}
					break;
				
				case "ONT":
					switch(transport){
						case "0":
							airportTransfersPrice = 0;
							break;
							
						case "sedan":
							airportTransfersPrice = airportONTPricing.Sedan;
							break;
						
						case "suv":
							airportTransfersPrice = airportONTPricing.SUV;
							break;

						case "van":
							airportTransfersPrice = airportONTPricing.Van;
							break;
					}
					break;	
					
				case "LAX":
				switch(transport){
					case "0":
						airportTransfersPrice = 0;
						break;
						
					case "sedan":
						airportTransfersPrice = airportLAXPricing.Sedan;
						break;
					
					case "suv":
						airportTransfersPrice = airportLAXPricing.SUV;
						break;

					case "van":
						airportTransfersPrice = airportLAXPricing.Van;
						break;
				}
				break;	
			}
		}
				
		// Update corresponding textbox
		updatePriceLineitem("selectAirport", airportTransfersPrice);
		
		// Generate Grand Total
		generateGrandTotal();
}


function setNumberOfTicketOnlyPackages(price,value,id){
		// Set Price
		numberOfTicketOnlyPackagesPrice = price*value;
		
		// Update corresponding textbox
		updatePriceLineitem(id, numberOfTicketOnlyPackagesPrice);
		
		// Generate Grand Total
		generateGrandTotal();

}

function updatePriceLineitem(id,price){
	formattedPrice = formatCurrency(price);
	document.getElementById(id + "Output").innerHTML = formattedPrice;
}

function generateGrandTotal() {
	grandTotal = numberOfPeople + numberOfRoomsPrice + numberOfSingleRoomsPrice + numberOfExtraNightsPrice + airportTransfersPrice + numberOfTicketOnlyPackagesPrice;	
	updatePriceLineitem("grandTotal", grandTotal);
	document.registrationForm.grandTotalHiddenField.value = grandTotal;
}

function submitForm(){
	Set_Cookie( 'QEHPrice', grandTotal, 30, '/', '.quantumeventhosting.com', '' );
	document.registrationForm.submit();
}
function completeOrder(){
		document.getElementById("statusContainer").innerHTML = "<div id='status'>Processing your order.  Please wait...</div>";
	if (document.getElementById("iAgree").checked == true){
		if (document.getElementById("piEmailAddress").value == document.getElementById("piEmailAddressConfirm").value){
			
			document.registrationForm.submit();
		}else{
			document.getElementById("statusContainer").innerHTML = '<div id="status">Please make sure your email address is correct.</div>';
			
		}
	}else{
			document.getElementById("statusContainer").innerHTML = '<div id="status">Make sure to agree to the terms and conditions.</div>';
			

	}
	document.location=document.location + "#";
}