﻿// PAYPAL PAYMENT AMOUNT HANDLER

function Dollar (val) {  // force to valid dollar amount
var str,pos,rnd=0;
  if (val < 0.995) {rnd = 1;}  // for old Netscape browsers
  
  str = escape (val*1.0 + 0.005001 + rnd);  // float, round, escape
  pos = str.indexOf (".");
  if (pos > 0) {str = str.substring (rnd, pos + 3);}
  return str;
}

function ReadForm (obj1, tst) { // process radio and checkbox
var i,j,amt=0,des="",obj,pos,val,tok,tag,
  op1a="",op1b="",op2a="",op2b="",itmn="";
var ary = new Array();
  if (obj1.baseamt) {amt  = obj1.baseamt.value*1.0;}  // base amount
  if (obj1.basedes) {des  = obj1.basedes.value;}  // base description
  if (obj1.baseon0) {op1a = obj1.baseon0.value;}  // base options
  if (obj1.baseos0) {op1b = obj1.baseos0.value;}
  if (obj1.baseon1) {op2a = obj1.baseon1.value;}
  if (obj1.baseos1) {op2b = obj1.baseos1.value;}
  if (obj1.baseitn) {itmn = obj1.baseitn.value;}
  for (i=0; i<obj1.length; i++) {  // run entire form
    obj = obj1.elements[i];        // a form element
    
    
    
    if (obj.type == "checkbox" ||  // checkboxes
        obj.type == "radio") {     //  and radios
      if (obj.checked) {           // did user check it?
        val = obj.value;           // the value of the selection
        ary = val.split (" ");          // break apart
        for (j=0; j<ary.length; j++) {  // look at all items
// first we do single character tokens...
          if (ary[j].length < 2) {continue;}
          tok = ary[j].substring (0,1); // first character
          val = ary[j].substring (1);   // get data
          if (tok == "@") {amt = val * 1.0;}
          if (tok == "+") {amt = amt + val*1.0;}
          if (tok == "%") {amt = amt + (amt * val/100.0);}
          if (tok == "#") {             // record item number
            if (obj1.item_number) {obj1.item_number.value = val;}
          ary[j] = "";                // zap this array element
          }
// Now we do 3-character tokens...
          if (ary[j].length < 4) {continue;}
          tok = ary[j].substring (0,3); // first 3 chars
          val = ary[j].substring (3);   // get data
          if (tok == "s1=") {           // value for shipping
            if (obj1.shipping)  {obj1.shipping.value  = val;}
            ary[j] = "";                // clear it out
          }
          if (tok == "s2=") {           // value for shipping2
            if (obj1.shipping2) {obj1.shipping2.value = val;}
            ary[j] = "";                // clear it out
          }
        }
        val = ary.join (" ");           // rebuild val with what's left

        tag = obj.name.substring (obj.name.length-2);  // get flag
        if      (tag == "1a") {op1a = op1a + " " + val;}
        else if (tag == "1b") {op1b = op1b + " " + val;}
        else if (tag == "2a") {op2a = op2a + " " + val;}
        else if (tag == "2b") {op2b = op2b + " " + val;}
        else if (tag == "3i") {itmn = itmn + " " + val;}
        else if (des.length === 0) {des = val;}
        else {des = des + ", " + val;}
      }
    }	
    
    
    
			     if (obj.type == "select-one") {   // just get selects
			      if (obj.name == "quantity" ||   // don't mess with these
			          obj.name == "amount") {continue;}
			      pos = obj.selectedIndex;        // which option selected
			      val = obj.options[pos].value;   // selected value
			      ary = val.split (" ");          // break apart
			      for (j=0; j<ary.length; j++) {  // look at all items
			// first we do single character tokens...
			        if (ary[j].length < 2) {continue;}
			        tok = ary[j].substring (0,1); // first character
			        val = ary[j].substring (1);   // get data
			        if (tok == "@") {amt = val * 1.0;}
			        if (tok == "+") {amt = amt + val*1.0;}
			        if (tok == "%") {amt = amt + (amt * val/100.0);}
			        if (tok == "#") {             // record item number
			          if (obj1.item_number) {obj1.item_number.value = val;}
			          ary[j] = "";                // zap this array element
			        }
			// Now we do 3-character tokens...
			        if (ary[j].length < 4) {continue;}
			        tok = ary[j].substring (0,3); // first 3 chars
			        val = ary[j].substring (3);   // get data
			        if (tok == "s1=") {           // value for shipping
			          if (obj1.shipping)  {obj1.shipping.value  = val;}
			          ary[j] = "";                // clear it out
			        }
			        if (tok == "s2=") {           // value for shipping2
			          if (obj1.shipping2) {obj1.shipping2.value = val;}
			          ary[j] = "";                // clear it out
			        }
			      }
			      val = ary.join (" ");           // rebuild val with what's left
			
			      if (obj.name == "on0" ||        // let these go where they want
			          obj.name == "os0" ||
			          obj.name == "on1" ||
			          obj.name == "os1") {continue;}
			
			      tag = obj.name.substring (obj.name.length-2);  // get flag
			      if      (tag == "1a") {op1a = op1a + " " + val;} // stuff data
			      else if (tag == "1b") {op1b = op1b + " " + val;}
			      else if (tag == "2a") {op2a = op2a + " " + val;}
			      else if (tag == "2b") {op2b = op2b + " " + val;}
			      else if (tag == "3i") {itmn = itmn + " " + val;}
			      else if (des.length === 0) {des = val;}
			      else {des = des + ", " + val;}
			    }	//done "selects"		
			    
			    
  		 	  
    
    
    
  }		//done selects, radios, and checkboxes
  
  
  
// Now summarize stuff we just processed, above
  if (op1a.length > 0) {obj1.on0.value = op1a;}
  if (op1b.length > 0) {obj1.os0.value = op1b;}
  if (op2a.length > 0) {obj1.on1.value = op2a;}
  if (op2b.length > 0) {obj1.os1.value = op2b;}
  if (itmn.length > 0) {obj1.item_number.value = itmn;}
  obj1.item_name.value = des;
  obj1.amount.value = Dollar (amt);
  if (obj1.tot) 
  	{	obj1.tot.value = "$" + Dollar (amt);
  		document.getElementById("tot_txt").innerHTML = obj1.tot.value;}
  	
  if (obj1.gstamt) 
  	{	obj1.gstamt.value = "$" + Dollar (amt * 0.05);
  		document.getElementById("gstamt_txt").innerHTML = obj1.gstamt.value;}
  	
  if (obj1.tot_gst) 
  	{	obj1.tot_gst.value = "$" + Dollar (amt * 1.05);
  		document.getElementById("tot_gst_txt").innerHTML = obj1.tot_gst.value;}


}

//MULTIPLE SUBMIT BUTTONS HANDLER
function OnButton1()
{
	document.registration.action = "register.pg2.php";
	document.registration.enctype="application/x-www-form-urlencoded";
	document.registration.submit();			// Submit the page
	return true;
}

function OnButton_pg2A()
{
	document.register_pg2.action = "register.completeA.php";
	document.register_pg2.enctype="application/x-www-form-urlencoded";
	document.register_pg2.submit();			// Submit the page
	return true;
}

function OnButton_pg2B()
{
	document.register_pg2.action = "register.completeB.php";
	document.register_pg2.enctype="application/x-www-form-urlencoded";
	document.register_pg2.submit();			// Submit the page
	return true;

}


function pg3()
{
	document.register_pg3.action="https://www.paypal.com/cgi-bin/webscr";
	document.register_pg3.onsubmit="this.target='paypal';";
	/* return ReadForm(this, true); */
	document.register_pg3.submit();			// Submit the page

	return true;
}

//SYSTEM EXTENDED FOR MEMBER AND STUDENT DISCOUNTS

var P1 = 1;
var P2 = 0;

var P1m_ex = 0;
var P2m_ex = 0;
var P1m_new = 0;
var P2m_new = 0;
var P1m = 0;
var P2m = 0;

var P1s = 0;
var P2s = 0;


function process_checkbox(form1)
{
	
	var num = (document.getElementById("lesson_select").selectedIndex)-1;
	
	if ((P1m_ex==1)||(P1m_new==1)){P1m=1;} else {P1m=0;}
	if ((P2m_ex==1)||(P2m_new==1)){P2m=1;} else {P2m=0;}
	
	
	var lesson_ttl_1 = (P1*(js_schedule[num][6] - P1m*js_schedule[num][7] - P1s*js_schedule[num][8]));
	var lesson_ttl_2 = (P2*(js_schedule[num][6] - P2m*js_schedule[num][7] - P2s*js_schedule[num][8]));
	var lesson_ttl = lesson_ttl_1 + lesson_ttl_2;
	
	if ((P1==1)&&(P2==1))	
		{lesson_ttl = lesson_ttl*(0.95);
		 document.getElementById('partner_input').className = "shown";}

	else {document.getElementById('partner_discount').className = "hidden";}
	
	var optionnum = ("option".concat(num));
	
	document.getElementById(optionnum).value = ("+".concat(lesson_ttl));
	document.getElementById("option_index").value = num;

	ReadForm (form1, false);
	
	
	
}


function ismem1(form2, checked){
	if (checked === true) {P1m_ex = 1;}
	else {P1m_ex = 0;}
	process_checkbox(form2);
}
function ismem2(form2, checked){
	if (checked === true) {P2m_ex = 1;}
	else {P2m_ex = 0;}
	process_checkbox(form2);
}


function newmem1(form2, checked){
	if (checked === true) {P1m_new = 1; document.getElementById('new_member1').value = "New Member +28.57"; }
	else {P1m_new = 0; document.getElementById('new_member1').value = "New Member";}
	process_checkbox(form2);
}
function newmem2(form2, checked){
	if (checked === true) {P2m_new = 1; document.getElementById('new_member2').value = "New Member +28.57";}
	else {P2m_new = 0; document.getElementById('new_member2').value = "New Member";}
	process_checkbox(form2);
}


function student_f1(form2, checked){
	if (checked === true) {P1s = 1;}
	else {P1s = 0;}
	process_checkbox(form2);
}
function student_f2(form2, checked){
	if (checked === true) {P2s = 1;}
	else {P2s = 0;}
	process_checkbox(form2);
}

function lead_follow_f1(){
		if (document.getElementById('lead1').checked === true) {document.getElementById('follow2').checked = true;}
		if (document.getElementById('follow1').checked === true) {document.getElementById('lead2').checked = true;}
		if (document.getElementById('lead2').checked === true) {document.getElementById('follow1').checked = true;}
		if (document.getElementById('follow2').checked === true) {document.getElementById('lead1').checked = true;}
}

function partner_f1(form2, checked){
	if (checked === true) {
		P2 = 1; 
		document.getElementById('partner_discount').className = "shown";
		document.getElementById('partner_input').className = "shown";

		lead_follow_f1();
	}
	else {	P2 = 0; 
			document.getElementById('partner_discount').className = "hidden";
			document.getElementById('partner_input').className = "hidden";
			document.getElementById('discount_field2').className = "hidden";
			document.getElementById('already_member2').checked = false;
			document.getElementById('new_member2').checked = false;
			document.getElementById('student2').checked = false;
			document.getElementById('discount2').checked = false;
			
			}
	process_checkbox(form2);
}




function discount_f1(form2, checked){
	if (checked === true) {
		document.getElementById('discount_field1').className = "shown";
		}
	else {
		document.getElementById('discount_field1').className = "hidden";

		}
	process_checkbox(form2);
}

function discount_f2(form2, checked){
	if (checked === true) {
		document.getElementById('discount_field2').className = "shown";
		}
	else {
		document.getElementById('discount_field2').className = "hidden";

		}
	process_checkbox(form2);
}

function payonline_f(form2, checked){
	if (checked === true) {
		document.getElementById('online_pay').className = "shown";
		document.getElementById('phoneclass_pay').className = "hidden";}
	else {
		document.getElementById('online_pay').className = "hidden";
		document.getElementById('phoneclass_pay').className = "hidden";}
}

function payphoneclass_f(form2, checked){
	if (checked === true) {
		document.getElementById('phoneclass_pay').className = "shown";
		document.getElementById('online_pay').className = "hidden";}
	else {
		document.getElementById('phoneclass_pay').className = "hidden";
		document.getElementById('online_pay').className = "hidden";}
}


function unhide_hidef1(form3, checked)
{
	if (checked === true) 
	{document.getElementById('unhide_hide1').className = "shown";}
	else 
	{document.getElementById('unhide_hide1').className = "hidden";}
}

function unhide_hidef2(form3, checked)
{
	if (checked === true) 
	{document.getElementById('unhide_hide2').className = "shown";}
	else 
	{document.getElementById('unhide_hide2').className = "hidden";}
}

function unhide_hidef3(form3, checked)
{
	if (checked === true) 
	{document.getElementById('unhide_hide3').className = "shown";}
	else 
	{document.getElementById('unhide_hide3').className = "hidden";}
}

function unhide_hidef4(form3, checked)
{
	if (checked === true) 
	{document.getElementById('unhide_hide4').className = "shown";}
	else 
	{document.getElementById('unhide_hide4').className = "hidden";}
}

function unhide_hidef5(form3, checked)
{
	if (checked === true) 
	{document.getElementById('unhide_hide5').className = "shown";}
	else 
	{document.getElementById('unhide_hide5').className = "hidden";}
}






