// these are the advertized prices
var venue1Price=20;     //the comp
var venue2Price=5;		// benefit if attending comp
var venue3Price=15;		// extra party tickets

var venue1Name="SLCA Benefit Citizens Comp";
var venue2Name="Black Diamond SLCA Benefit Party Ticket";
var venue3Name="Additional Black Diamond SLCA Benefit Party Tickets";
var venue4Name="SLCA Donation";

var venueDateString = "5/4/2006"
var venueDate=new Date;   
venueDate=returnDate(venueDateString);

var todayIs=new Date();  //todayIs.setDate(26);
if (todayIs > returnDate("5/4/2006")) preReg=false ;
	else preReg=true;  // closed at 0am on this day


//alert(dateString(d)+preReg);
//alert ("at load:"+venueDate);

var path = window.location.href.substr(0,window.location.href.lastIndexOf("/")+1); 

// these are the discount values
var preRegDiscount=-5;
var memberDiscount=-5;

// these are the displayed prices/cost
var venue1Cost=0;
var venue2Cost=0;
var venue3Cost=0;
var venue4Cost=0;
var taxCost=0;
var subTotalCost=0;
var totalCost=0;
var memberDiscountCost=0;
var preRegDiscountCost=0;

var additionalTicketCount = 0;

var taxRate=0;
var ageGroup="(divison not selected)"

function formLoad() {   // call from a script in the HTML
	checkAge();
	displayNewPrice();
	}

//-----------------------------
function dispPrice2() {

   venue1$ = venue1Cost.toFixed(2);
   venue2$ = venue2Cost.toFixed(2);
   venue3$ = venue3Cost.toFixed(2);
   venue4$ = venue4Cost.toFixed(2);
   total$ = totalCost.toFixed(2);
   
   costframe.document.open();  
   costframe.document.write('<div id="paydiv" style="background-color:white; layer-background-color:white; position:absolute; top:0px; left:10px; width:325px; height:115px; z-index:1">');	
   costframe.document.write('<table border=1 cellspacing="0" cellpadding="0"  bordercolordark=#eeeeee width=470px height=71 style="font-size:11px; font-family:sans-serif; color:#666666; letter-spacing:1pt;">');
   costframe.document.write('<tr><td  bgcolor="#FFFF99" ><font color="#A63F00" ><p style="line-height: 15px">Venue</P><td width=69 align=right bgcolor="#FFFF99" ><font color="#A63F00" >Charge</td></tr>');   
 
   if (document.eventSignup.venue1.checked) costframe.document.write('<tr><td>&nbsp;' + venue1Name + ' ' + ageGroup + '</td><td align=right>' + venue1$ + '</td></tr>');   
   if (document.eventSignup.venue2.checked) costframe.document.write('<tr><td>&nbsp;' + venue2Name  + '</td><td align=right>' + venue2$ + '</td></tr>');   
   if (document.eventSignup.venue3.checked && additionalTicketCount > 0) costframe.document.write('<tr><td>&nbsp;' + additionalTicketCount + ' ' + venue3Name + '</td><td align=right>' + venue3$ + '</td></tr>');
   if (document.eventSignup.venue4.checked && venue4Cost>0) costframe.document.write('<tr><td>&nbsp;' + venue4Name + '</td><td align=right>' + venue4$ + '</td></tr>');

   if (preReg) 					costframe.document.write("<tr><td>&nbsp;Pre-Registration discount</td><td align=right>" + preRegDiscountCost.toFixed(2) + "</td></tr>");
   if (memberDiscountCost != 0) 	costframe.document.write("<tr><td>&nbsp;Front Membership discount</td><td align=right>" + memberDiscountCost.toFixed(2) + "</td></tr>");  
   costframe.document.write("<tr><td align=right><b>Total</b></td><td align=right><b>"+total$+"</b></td></tr></table> ");
   costframe.document.write("</div>");
   costframe.document.close();
}


//---------------
function donationChange(field) {
	venue4Cost=field.value;
	if (field.value != '') form.venue4.checked = true;
	displayNewPrice();
}

//--------------------
function memberChange() {
	displayNewPrice();
}

//----------------------
function ticketCountChange() {
	additionalTicketCount=document.getElementById("additionalTicketCount").options[document.getElementById("additionalTicketCount").selectedIndex].value;
	if (additionalTicketCount > 0) form.venue3.checked = true; else form.venue3.checked = false;
	
	displayNewPrice();
}

//-------------------------
function displayNewPrice() {
form=document.eventSignup;

if (!form.venue1.checked) {
	form.venue2.checked = false;
	form.venue2.disabled = true;
	form.Rule1.checked = false;
	form.Rule1.disabled = true;
	form.needWaiver.checked = false;
	form.needWaiver.disabled = true;
	}
	else
	{
	if (form.venue2.disabled) form.venue2.disabled = false
	form.Rule1.disabled = false;
	form.needWaiver.disabled = false;
	};

if (form.isMember.checked && form.venue1.checked) memberDiscountCost=memberDiscount 
	else memberDiscountCost=0;


preRegDiscountCost=0;
venue1Cost=0;
if (form.venue1.checked) {
	if (preReg) preRegDiscountCost = preRegDiscount;
	venue1Cost = venue1Price;
	}
	
venue2Cost=0;
selfTicket = 0;
if (form.venue2.checked)  {
	venue2Cost=venue2Price;
	selfTicket = 1;
	}

//venue 3 -- extra tickets
additionalTicketCount = 0;
if (form.venue3.checked) additionalTicketCount=document.getElementById("additionalTicketCount").options[document.getElementById("additionalTicketCount").selectedIndex].value;	
venue3Cost = additionalTicketCount * venue3Price; 
	
	
venue4Cost=0;  //donate
if (!form.venue4.checked) form.donation.value ='';
if (form.venue4.checked && form.donation.value != '') {
	don = form.donation.value;
	if (don.substr(0,1)=="$") {		
		don = don.substr(1,10);
		};
	venue4Cost = parseFloat(don);
	if (isNaN(venue4Cost) )  {
		alert ("Donation must be a dollar amount");
		venue4Cost=0;
		};
}

subTotalCost = venue1Cost  + venue2Cost + venue3Cost + venue4Cost + memberDiscountCost + preRegDiscountCost;
taxCost = roundTo(subTotalCost * taxRate, 2);
totalCost = subTotalCost + taxCost;

dispPrice2();

venue1Cost=venue1Cost + preRegDiscountCost + memberDiscountCost;
form.venue1Cost.value = '$ ' + venue1Cost.toFixed(2);
form.venue2Cost.value = '$ ' + venue2Cost.toFixed(2);
form.venue3Cost.value = '$ ' + venue3Cost.toFixed(2);
form.venue4Cost.value = '$ ' + venue4Cost.toFixed(2);
form.TaxCost.value    = '$ ' + taxCost.toFixed(2);
form.TotalCost.value  = '$ ' + totalCost.toFixed(2);
}

//-----------------------------------------
function checkAge() {
form=document.eventSignup;


if (form.division[0].checked) {
	ageGroup='AARPCandidate)'
	if (age=getAge(form.climberDOB.value)<41) ageGroup='Thirtish)';
	if (age=getAge(form.climberDOB.value)<32) ageGroup='TwentySomething)';
	if (age=getAge(form.climberDOB.value)<25) ageGroup='Young Adult)';
	if (age=getAge(form.climberDOB.value)<18) ageGroup='Youth Teen)';
	if (age=getAge(form.climberDOB.value)<12) ageGroup='Youth)';
	if (form.climberDOB.value=="") ageGroup= 'no age)'
	}
if (form.division[1].checked) {
	ageGroup='- Open)';
	}

//ageGroup = '(sex not selected ';
if (form.sex[0].checked) ageGroup = '(Male ' + ageGroup;
if (form.sex[1].checked) ageGroup = '(Female ' + ageGroup;

form.compClass.value=ageGroup;

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 == "" , "; first name");
testField(form.lastName.value == "" , "; last name");

if (form.venue1.checked) testField(!validateDate(form.climberDOB.value,"U","P"), "; climber birthdate");

testField(form.address1.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" );

testField(totalCost==0 , "; select venue");

if (getAge(form.climberDOB.value)<18 && form.climberDOB.value!="") {
	alert("This climber is under 18.  They'll needed a waiver signed by their parent or legal guardian")
}

//verify all membership contracts checked
if (form.venue1.checked) testField(!(form.Rule1.checked  ), "; must agree to all event conditions by checking the boxes"); 

// display error message if necessary, then exit	
if (!OK) { alert (message + ".") ; return false};

      if (!form.venue1.checked) ageGroup="non-climber";
      if (form.venue1.checked && form.needWaiver.checked) form.needWaiver.value="yes";   //else it's null
      
  
    // set cookies
      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.address1.value, expdate);
      setCookie ("_ClimberAddress2", form.address2.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 ("_Redirection", path + "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.on0.value = form.firstName.value + " " + form.lastName.value + ": " + ageGroup + "/";	  
	  if (form.isMember.checked) form.on0.value += "member";  else form.on0.value += "non-member";
	  if (form.SpecialInst.value != '') form.os0.value = form.SpecialInst.value; else form.os0.value = "<no special instructions>";
	  
	  var totalTicketCount = additionalTicketCount;
	  if (form.venue2.checked) totalTicketCount = totalTicketCount * 1 + 1;
	  form.totalTickets.value = totalTicketCount;
	  form.on1.value = totalTicketCount + " SLCA Benefit Party Ticket(s)";
	  if (form.venue4.checked)  form.os1.value = "SLCA Donation: $" + venue4Cost; else form.os1.value = "<no donation>";
	  	  		  
	  form.item_number.value = 	venue1Name;
	  
	  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); 
		}

		// set return pages
		form.good_return.value =path + "success.php";
		form.cancel_return.value = path + "cancel.php";

	    
    window.onunload=null;  // don't querry survey on exit

return OK;  

}


