
var venue1Price = 70;
var venue2Price = 5;
var venue3Price = 30;
var venue4Price = 5;
var venue5Price = 5;

var venue1Discount = [-20, -10, 0, 0];
var venue3Discount = [-5,  -5,  0, 0];
var memberDiscount = -5;

var nonABS = 5;     //additional for non-ABS members
var bothVenues = 15;		// attend both venues

var eventName = "ABS Comp";
var venue1Name="Youth Qualifer";
var venue2Name="Morning Spectator Pass(es)";
var venue3Name="Citizens Comp Qualifier";
var venue4Name="Afternoon Spectator Pass(es)";
var venue5Name="ABS Regional Finals Spectator Pass(es)";

var venueDateString = "1/28/2006"
var venueDate=new Date;
venueDate=returnDate(venueDateString);

var todayIs=new Date();  //todayIs.setDate(26);

if (todayIs >  returnDate("1/28/2006")) preReg=3;  // closed
if (todayIs <  returnDate("1/28/2006")) preReg=2; //price structure
if (todayIs <  returnDate("1/26/2006")) preReg=1;
if (todayIs <  returnDate("1/16/2006")) preReg=0;


// these are the displayed prices/cost
var venue1Cost=0;
var venue2Cost=0;
var venue3Cost=0;
var venue5Cost=0;
var subTotalCost=0;
var taxCost=0;
var totalCost=0;
var memberDiscountCost=0;
var venue1DiscountCost=0;
var venue3DiscountCost=0;
var nonABSCost=0;

var taxRate=0;

var teeShirtSize = "not selected";
var sex="sex not selected"

var venue1DivisionValid = false;
var venue1Division = "(no birth date)";
var venue3DivisionValid =false;
var venue3Divisionx = "divison not selected";
var age=0;

window.onload=formLoad;

function formLoad() {	
	displayNewPrice();
	};


function newTee(field) {
	teeShirtSize=document.getElementById("teeShirtSize").options[document.getElementById("teeShirtSize").selectedIndex].value;
};

//-----------------------------
function dispPrice2() {

   venue1$ =  venue1Cost.toFixed(2);
   venue2$ =  venue2Cost.toFixed(2);
   venue3$ =  venue3Cost.toFixed(2);
   venue4$ =  venue4Cost.toFixed(2);
   venue5$ =  venue5Cost.toFixed(2);
   total$  =  totalCost.toFixed(2);
   memberDiscountCost$ =  memberDiscountCost.toFixed(2);
   venue1DiscountCost$ =  venue1DiscountCost.toFixed(2);
   venue3DiscountCost$ =  venue3DiscountCost.toFixed(2);
   
   costframe.document.open();  
   costframe.document.write('<div id="paydiv" style="background-color:white; layer-background-color:white; position:absolute; top:0px; left:20px; width:325px; height:115px; z-index:1">');	
   costframe.document.write('<table border=0 bordercolorlight=#dddddd bordercolordark=#ffffff  width=450px height=71 style="font-size:11px; font-family:sans-serif; color:#666666; letter-spacing:1pt;">');
   costframe.document.write('<tr><td><font color="#A63F00" ><p style="line-height: 5px">Venue</P><td width=69 align=right><font color="#A63F00" >Charge </td></tr>');   
   
   if (document.eventSignup.venue1.checked)
      	costframe.document.write('<tr><td>' + venue1Name + ' - ' + venue1Division + ' - ' + sex + '</td><td align=right>' + venue1$ + '</td></tr>');   

   if (preReg<2 && document.eventSignup.venue1.checked) 
   		costframe.document.write("<tr><td>Pre-Registration discount</td><td align=right>" + venue1DiscountCost$ + "</td></tr>");
		
   if (document.eventSignup.venue2Count.selectedIndex>0) 
   		costframe.document.write('<tr><td>' + venue2Name  + '</td><td align=right>' + venue2$ + '</td></tr>');   

   if (document.eventSignup.venue3.checked) 
   		costframe.document.write('<tr><td>' + venue3Name + ' - ' + venue3Divisionx + ' - ' + sex + '</td><td align=right>' + venue3$ + '</td></tr>');
   
   if (venue3DiscountCost!=0) 
   		costframe.document.write("<tr><td>Pre-Registration discount</td><td align=right>" + venue3DiscountCost$ + "</td></tr>");

   if (document.eventSignup.venue4Count.selectedIndex>0) 
   		costframe.document.write('<tr><td>' + venue4Name  + '</td><td align=right>' + venue4$ + '</td></tr>');   
 
   if (document.eventSignup.venue5Count.selectedIndex>0) 
   		costframe.document.write('<tr><td>' + venue5Name  + '</td><td align=right>' + venue5$ + '</td></tr>');   
			
   if (nonABSCost!=0)
   		costframe.document.write("<tr><td>Non-ABS Member charge</td> <td align=right>  " + nonABSCost.toFixed(2) + "</td></tr>");
   
   if (memberDiscountCost!=0)   
   		costframe.document.write("<tr><td>Front Membership discount</td><td align=right>" + memberDiscountCost$ + "</td></tr>");  
   
   costframe.document.write("<tr><td align=right><b>Total (tax included)</b></td><td align=right><b> $"+total$+"</b></td></tr></table> ");
   costframe.document.write("</div>");
   costframe.document.close();
}



//-------------------------
function displayNewPrice() {
form=document.eventSignup;

memberDiscountCost=0;
if (form.isMember.checked && (form.venue1.checked || form.venue3.checked)) memberDiscountCost=memberDiscount;

sex="sex not selected";
if (document.eventSignup.sex[0].checked) sex="Male";
if (form.sex[1].checked) sex="Female";

venue1Cost=0;
venue1DiscountCost=0;
if (form.venue1.checked) {
	venue1DiscountCost = venue1Discount[preReg];
	venue1Cost = venue1Price;
	
	if (validateDate(form.climberDOB.value,"U","P"))  {
		age=getAgeOn(form.climberDOB.value,"12/31/2006");
	
		venue1Division = " (too old)";
		venue1DivisionValid=false;
		if (age <= 19) {venue1Division = " Junior";  venue1DivisionValid=true;};
		if (age <= 17) {venue1Division = " Youth A"; venue1DivisionValid=true;};
		if (age <= 15) {venue1Division = " Youth B"; venue1DivisionValid=true;};
		if (age <= 13) {venue1Division = " Youth C"; venue1DivisionValid=true;};
		if (age <= 11) {venue1Division = " Youth D"; venue1DivisionValid=true;};
		form.venue1Division.value = venue1Division;
		}
	else {
		if (form.climberDOB.value=="") venue1Division="no birth date"
		else venue1Division = " (invalid birth date)";
		form.venue1Division.value = venue1Division;
		}
	}
else {
	form.venue1Division.value = "";
	};

venue3Cost=0;	
venue3DiscountCost=0;
if (form.venue3.checked) {
	form.venue3Division.disabled=false;

	divIndex=document.getElementById("venue3Division").selectedIndex;
	
	if (divIndex>0) venue3DivisionValid=true 
	else venue3DivisionValid=false;
	venue3Divisionx=document.getElementById("venue3Division").options[document.getElementById("venue3Division").selectedIndex].value;

	venue3DiscountCost = venue3Discount[preReg];
	venue3Cost = venue3Price;
	if (form.venue1.checked) {
		venue3Cost=bothVenues;
		venue3DiscountCost=0;
		};
}
else {
	form.venue3Division.disabled=true;
	form.venue3Division.selectedIndex=0; 
	}

venue2Cost = form.venue2Count.selectedIndex * venue2Price;
venue4Cost = form.venue4Count.selectedIndex * venue4Price;
venue5Cost = form.venue5Count.selectedIndex * venue5Price;

nonABSCost=nonABS;
if (form.isABS.checked || (!form.venue1.checked && !form.venue3.checked))  nonABSCost=0;
	
subTotalCost = venue1Cost  + venue2Cost + venue3Cost + 	venue4Cost + venue5Cost + memberDiscountCost + venue1DiscountCost + venue3DiscountCost + nonABSCost;
taxCost = subTotalCost * taxRate;
totalCost = subTotalCost + taxCost;

dispPrice2();

}





//-----------------------------------------------
function validateSignup (form) {

var OK = true;
var message = "The following item(s) are required";

	//----------------------------------------
	function testField(test, errorMessage) {
	// if test is false, then error condition
	// this function needs to be inside 'validateMembership' for the scope of message
		if (test) { message += errorMessage; OK = false; return false};
		return true;   }
		
// test for member data
testField(form.firstName.value == "" , "; participant first name");
testField(form.lastName.value == "" , "; participant last name");
	
testField(form.address.value == "", "; address");
testField(form.city.value == "", "; city");
testField(form.state.value == "", "; state");
testField(!validZip(form.zip.value), "; zip");
testField(!ValidatePhone(form.phone.value), "; phone number");

if (form.email.value != "") testField(!validEmail(form.email.value), "; valid email address" );

if (form.venue1.checked) {
	testField(!validateDate(form.climberDOB.value,"U","P"), "; climber birthdate");
	testField(teeShirtSize=="not selected","; tee shirt size");
	testField(!(form.sex[0].checked || form.sex[1].checked), "; sex");
	}

if (form.venue1.checked) testField(!venue1DivisionValid,"; valid youth divisioin");
if (form.venue3.checked) testField(!venue3DivisionValid, "; valid Citizen's comp division");

testField(totalCost==0 , "; select venue item");


//verify all membership contracts checked
if (form.venue1.checked || form.venue3.checked) testField(!(form.Rule1.checked  ), "; must agree to all event conditions by checking the boxes"); 

// display error message if necessary, then exit, unless 'justdoit'
if (form.specialInst.value=="justdoit") OK=true;	
if (!OK ) { alert (message + ".") ; return false};

if ( form.climberDOB.value != ""  && getAgeOn(form.climberDOB.value,venueDateString) < 18 & (form.venue1.checked || form.venue3.checked) ) {
	alert("This climber is under 18.  They'll needed a waiver signed by their parent or legal guardian")
}

// passed validation, continue to PayPal
   
form.venue1Charge.value   = '$ ' + venue1Cost.toFixed(2);
form.venue1Discount.value = '$ ' + venue1DiscountCost.toFixed(2);
form.venue2Charge.value   = '$ ' + venue2Cost.toFixed(2);
form.venue3Charge.value   = '$ ' + venue3Cost.toFixed(2);
form.venue3Discount.value = '$ ' + venue3DiscountCost.toFixed(2);
form.venue4Charge.value   = '$ ' + venue4Cost.toFixed(2);
form.memberDiscountCost.value = '$ ' + memberDiscountCost.toFixed(2);
form.nonABSCost.value     = '$ ' + nonABSCost.toFixed(2);
form.TaxCharge.value      = '$ ' + taxCost.toFixed(2);
form.TotalCharge.value    = '$ ' + totalCost.toFixed(2);
form.age.value = age;  
form.v1Div.value = form.venue1Division.value
     
if (form.needWaiver.checked) form.needWaiver.value="yes";   //else it's null
      
//      venueItems=" ";
//      if (venue1Cost>0) venueItems += venue1Name;
//	  if (venue2Cost>0) venueItems += venue2Name;
//	  if (venue3Cost>0) venueItems += venue3Name;	  
//	  form.venueItems.value = venueItems;
     
// set cookies for Waiver    
      var expdate = new Date ();
      expdate.setTime (expdate.getTime() + (1000 * 60 * 3 ));
      setCookie ("_ClimberLastName", form.firstName.value, expdate);
      setCookie ("_ClimberFirstName", form.firstName.value, expdate);
      setCookie ("_ClimberName", form.firstName.value + " " + form.lastName.value, expdate);
      setCookie ("_ClimberDOB", form.climberDOB.value, expdate);
      setCookie ("_ClimberAddress1", form.address.value, expdate);
      setCookie ("_ClimberCity", form.city.value, expdate);
      setCookie ("_ClimberState", form.state.value, expdate);
	  setCookie ("_ClimberZip", form.zip.value, expdate);
      setCookie ("_ClimberPhone", form.phone.value, expdate);
      setCookie ("_needWaiver", form.needWaiver.value, expdate);
//      setCookie ("_Division", ageGroup, expdate);
//      setCookie ("_VenueItems", venueItems, expdate);

	  c=window.location.href.substr(0,window.location.href.lastIndexOf("/")+1);
      setCookie ("_Redirection", c+"thankyou1.htm", expdate);

// set fields for PayPal
	  form.first_name.value =    form.firstName.value;
	  form.last_name.value =     form.lastName.value;
	  form.amount.value =		 subTotalCost;
	  
	  form.item_name.value = eventName + " Registration - " + form.firstName.value + " " + form.lastName.value;
	  if (form.isMember.checked) form.item_name.value += " :Front Member";
	  if (form.isABS.checked) form.item_name.value += " :ABS Member";
     	  
	  form.on0.value='';
	  form.on1.value='';
	  
	  if (venue1DivisionValid || form.venue2Count.selectedIndex>0 ) form.on0.value = venue1Name;	
	  form.os0.value = "";  
	  if (venue1DivisionValid )form.os0.value = form.venue1Division.value;
	  if (form.venue2Count.selectedIndex >0) form.os0.value += "; " + form.venue2Count.selectedIndex + " Spectator";

	  form.os1.value = "";
	  if (form.venue3.checked || form.venue4Count.selectedIndex>0) 	 {
			form.on1.value = venue3Name;
			if (form.venue3.checked ) form.os1.value = form.venue3Division.value;	 
			if (form.venue4Count.selectedIndex>0) form.os1.value += "; " + form.venue4Count.selectedIndex + " Spectator";
	  		};

	  if (form.os0.value == "") {
	  		form.os0.value=form.os1.value;
	  		form.on0.value=form.on1.value;
	  		form.os1.value="";
	  		form.on1.value="";
	  		};
  
	  if (form.venue5Count.selectedIndex>0) {  //evening spectators pass
	  		if (form.on0.value=='') {
	  			form.on0.value=venue5Name;
	  			form.os0.value= form.venue5Count.selectedIndex + " Finals Spectator Pass(es)";
	  			}
	  		else {
	  			if (form.on1.value=='') {
	  				form.on1.value=venue5Name;
	  				form.os1.value= form.venue5Count.selectedIndex + " Finals Spectator Pass(es)";
	  				};
	  			};
	  		};

	  form.success.value= window.location.href.substr(0,window.location.href.lastIndexOf("/")+1) + "success.php";
	  form.cancel.value= window.location.href.substr(0,window.location.href.lastIndexOf("/")+1) + "cancel.php";
		  
	  form.item_number.value = 	eventName;
	  
	  var s = form.phone.value;
	  s=s.replace(/[^0-9]/gi, "");  //keep only numbers, format into 3 seperate fields
	  if (s.length == 7) {
		form.night_phone_a.value = "801"
		form.night_phone_b.value = s.substr(0,3);
		form.night_phone_c.value = s.substr(3); 
		}
		else {
		form.night_phone_a.value = s.substr(0,3);
		form.night_phone_b.value = s.substr(3,3);
		form.night_phone_c.value = s.substr(6); 
		}
 
    window.onunload=null;

return OK;  

}


