if (window.order)  // IF order ALREADY EXISTS, DELETE IT.
  delete(order);
  
var root     = new Object();  // selection criteria
var order    = new Array();  // object to store order items in
var orderErr = new Array();   // stores error calls
var isaPledge = false;
var isaGift = false;
//********************
// place for user-specific options
root.xx_can  = "";   // place for PayPal cancel return path
root.xx_cur  = "USD";// enter default currency code (or null)
root.xx_id   = "paypal@la-bike.org" //"DVRGJPGRH8J4E";  //paypal_1229203903_biz@la-bike.org";

root.xx_img  = ""; // image URL
root.xx_lc   = "US"; // enter default country code (or null)
root.xx_ret  = ""; // place for PayPal return path
root.xx_sty  = ""; // place for PayPal page style
root.xx_xtra = "&rm=2"; // place for other PayPal commands
//***************************************************************


function SetShirt(idInfo,flag) {  //  HIDE & DISPLAY TSHIRT SIZE WHEN APPROPRIATE
	var CState = document.getElementById(idInfo);
  	if (flag == true){
    	CState.style.display = 'block'; 
  	}else{ 
    	CState.style.display = 'none';
   	 	CState.getElementsByTagName("select")[0].selectedIndex=0;
   	}
}

function SetDon(idInfo,flag) {  //  HIDE & DISPLAY ADDITIONAL DONATION WHEN APPROPRIATE
	var CState = document.getElementById(idInfo);
  	if (flag == true){
    	CState.style.display = 'block';
    	isaPledge=false; 
 	}else{ 
   		 CState.style.display = 'none';
    	isaPledge=true;
    	calcTot(); //set already entered hh membs to $0
    	var donSels = CState.getElementsByTagName("input");
    	for(var i = 0; i<donSels.length;i++){
    		donSels[i].checked = false;
   		 }
  	 }
}

function ProcessForm () {
 	if(document.orderf.first_name.value == "" || document.orderf.last_name.value == ""){
		alert("Please provide your first and last names.")
	}else{
  		GetOrder();
  		if ( !ThrowError() ){
    		SendCart();
    	}
   	}
}

function GetOrder (id, des) {  // get all ordered items
	var membType = document.orderf.memTyp.options[document.orderf.memTyp.selectedIndex].value + " ";
	var stra, str, i = 0;
	var opt          = -1;

	for (var counter = 0; counter < document.orderf.item_1.length; counter++) {
  		if (document.orderf.item_1[counter].checked){
    		opt = counter;    
  		 } 
	}

	if (opt == -1) { // capture exception
  		orderErr[i] = "Please select a membership level";

	} else {
		var gift = "";
		if(isaGift){
			gift = "Gift of ";
		}
	
		stra         =  document.orderf.item_1[opt].value.split("$");
		order[i]     =  new Object();
		order[i].des =  gift+membType+stra[0] + "Membership";
		if(isaPledge){
			order[i].amt =  parseFloat (stra[1]) + parseFloat(document.getElementById("atot").value);
		}else{
			order[i].amt =  parseFloat (stra[1]);
		}
		order[i].qty = 1;
		if(!isaPledge){ //for pledge get t-shirt later
			str = document.orderf.item_2.options[document.orderf.item_2.selectedIndex].value; // capture T-shirt size
			
			if (opt == 0 || opt == 1 || (opt >= 5 && opt <= 8)){ // check that premium or deluxe membership is selected
				if (str.length == 0) { // capture exception
					orderErr[i] = "Please select your T-shirt size";
				  
				} else { // add T-shirt as detail to first Paypal item
				  order[i].on0 = "T-Shirt Size";
				  order[i].os0 = " " + str;
				}
			}
		}
		//get gift info
		if(isaGift){
			var addr2 = "";
			var recip = document.getElementById("gift_info");	
			var recipInfo = recip.getElementsByTagName("input");
			for(g=0;g<recipInfo.length;g++){
				if(g == 3 || g == 7){
				//skip
				}else{
					if(recipInfo[g].value == ""){
						orderErr[i] = "Please enter all required gift recipient information";
						break;
					}
				}
			}
			
		
			var fm = document.orderf;
			if(!isaPledge){ //not a pledge get recip info
			
				order[i].on1 = "Gift Recipient's Name";
				order[i].on2 = "Address";
				order[i].on3 = "Email";
				if(fm.g_address2.value != ""){
					addr2 = ", "+fm.g_address2.value;
				}
				order[i].os1 = fm.g_first_name.value+" "+fm.g_last_name.value;
				order[i].os2 = fm.g_address1.value+addr2+", "+fm.g_city.value+", "+fm.g_state.value.toUpperCase()+" "+fm.g_zip.value
				order[i].os3 = fm.g_email.value;
			}
		}
	
	}
	
	
	
	
	if(isaPledge){ //get t-shirt
			str = document.orderf.item_2.options[document.orderf.item_2.selectedIndex].value; // capture T-shirt size
			
			if (opt == 0 || opt == 1 || (opt >= 5 && opt <= 8)){ // check that premium or deluxe membership is selected
				if (str.length == 0) { // capture exception
					orderErr[i] = "Please select your T-shirt size";
				  
				} else { // add T-shirt as detail to first Paypal item
					i++;
					order[i]     =  new Object();	
				  	order[i].on0 = "T-Shirt Size";
				  	order[i].os0 = " " + str;
				}
			}
	}
	
	
	
	
	if (document.getElementsByName("custom")[0].checked){  
		i++;
		order[i]     =  new Object();
		
		if(isaGift && isaPledge){			
				order[i].on0 = "Gift giver is interested in volunteering with the LACBC";
				order[i].os0 = "Yes"
		}else if(isaPledge){		
				order[i].on0 = document.getElementsByName("custom")[0].value;
				order[i].os0 = "Yes"		
		}else{ 	
			if(isaGift){
				order[i].des = "Gift giver is interested in volunteering with the LACBC";
			}else{			
				order[i].des = document.getElementsByName("custom")[0].value;
			}
			order[i].amt = 0;
			order[i].qty = 1;
		}
		//volCkd = true;		
	 }
	 
	 if (document.getElementsByName("custom2")[0].checked){ 
	 		i++;
			order[i]     =  new Object();
			order[i].des = document.getElementsByName("custom2")[0].value
			order[i].amt = 0;
			order[i].qty = 1;
	 }

	//if gift pledge get recipient as new order
	if(isaGift && isaPledge){
		i++;
		order[i]     =  new Object();
			var addr2 = ""
			if(fm.g_address2.value != ""){
				addr2 = ", "+fm.g_address2.value;
			}
			order[i].on0 = "Gift Recipient's Name";
			order[i].os0 = fm.g_first_name.value+" "+fm.g_last_name.value + "; Address: " +fm.g_address1.value+addr2+", "+fm.g_city.value+", "+fm.g_state.value.toUpperCase()+" "+fm.g_zip.value + "; Email: " + fm.g_email.value;
			
	
	}


	// get household adults
	var adNum = parseFloat(document.getElementById("anum").value);
	if(adNum>0){
		i++;
		order[i]     =  new Object();
		if(isaPledge){	
			
			order[i].on0 = "Add Household Member";
			order[i].os0 = document.getElementById("anams").value;
			
		}else{
			order[i].des = "Add Household Member";
			order[i].on0 = "Names";
			order[i].os0 = document.getElementById("anams").value;
			order[i].amt =  10;
			order[i].qty = adNum;
		}
	}

	// get household kids under 13
	var adKNams = document.getElementById("knams").value;
	
	if(adKNams!=""){
		i++;
		order[i]     =  new Object();	
		if(isaPledge){	
			
			order[i].on0 = "Add Household Member Under 13 Years";
			order[i].os0 = document.getElementById("knams").value;
			
		}else{
			order[i].des = "Add Household Member Under 13 Years";
			order[i].on0 = "Names"
			order[i].os0 = adKNams;
			order[i].amt = 0;
			order[i].qty = 1;
		}
	}


	if(!isaPledge){ //not tracked for pledge
		// reset 'step' parameters for next item
		i++;
		opt = -1;  
		var lastIndex = document.orderf.item_3.length-1;
		
		// capture additional donation from selection in "item_3" radio
		// expects option values to be in format "description $xx.xx" 
		// EXCEPT last option, which must be followed by an input named "item_3_other"
		for (counter = 0; counter < lastIndex+1; counter++) {
		  if (document.orderf.item_3[counter].checked)
			opt = counter;
		}
		
		if (opt > -1) {
		  stra         = document.orderf.item_3[opt].value.split("$");
		  order[i]     = new Object();
		  order[i].des = "Extra Contribution"
		  order[i].on0 = stra[0];
		  order[i].qty = 1; 
		  if (opt == lastIndex) { // validate 'other' text field value
			str = document.getElementsByName("item_3_other")[0].value.replace(/^\s*([\S\s]*?)\s*$/, '$1'); // trim whitespace
			if (str == "" || isNaN(str) || parseFloat(str) < .01) {
			  orderErr[i] = "Please enter a valid donation amount";
			} else {
			  str = Math.round((parseFloat(str)*100))/100;
			}
		  } else {
			str = stra[1];
		  }   
			
		  order[i].os0 = " $" + str;
		  order[i].amt = parseFloat (str);
		}
	}

	
	// get how heard about LACBC
	var howSel = document.getElementById("how")
	if(howSel.selectedIndex > 0){
		var howHeard = howSel.options[howSel.selectedIndex].value;
		i++;
		order[i]     =  new Object();
		if(isaPledge){	//is a pledge
			
			order[i].on0 = "I heard about LACBC through";
			if(document.getElementById("howDesc").value != ""){
				order[i].os0 = howHeard + "; Description: " + document.getElementById("howDesc").value;
			}else{
				order[i].os0 = howHeard;
			}
			
		}else{	
			order[i].des = "I heard about LACBC through: "+howHeard;
			if(document.getElementById("howDesc").value != ""){
				order[i].on0 = "Description"
				order[i].os0 = document.getElementById("howDesc").value;
			}
			order[i].amt = 0;
			order[i].qty = 1;
		}
	}


}





function showHideHowDesc(theId,opt){
	var theDesc = document.getElementById(theId);
	document.getElementById("howDesc").value = "";
	if(opt >= 4){
		theDesc.style.visibility = "visible"
	}else{
		
		theDesc.style.visibility = "hidden"
	}


}

function showRecip(t){
	var recip = document.getElementById("gift_info");
	if(t == "show"){
		recip.style.display = "block";
		isaGift = true;
	}else{
		var recipInfo = recip.getElementsByTagName("input");
		for(i=0;i<recipInfo.length;i++){
			recipInfo[i].value = "";
		}
		isaGift = false;
		recip.style.display = "none";
	}
}

function calcTot(){
 	var testStr="123456789";
 	var adNum = document.getElementById("anum").value;
 	if(testStr.indexOf(adNum) >= 0){
 		if(isaPledge){
 			document.getElementById("atot").value=(adNum*1)+"/mo."
 		}else{
 		 	document.getElementById("atot").value=adNum*10
 		}
 	}else{
 		document.getElementById("anum").value="";
 		document.getElementById("atot").value="0";
 	}
 	//alert(document.getElementsByName("item_4")[0].value)
 }

function handleNams(t,id){
	if(parseInt(t.value) > 0){
		document.getElementById(id).disabled = false;
		//document.getElementById(id).focus();
	}else{
		document.getElementById(id).value = "";
		document.getElementById(id).disabled = true;
	}

}

function ThrowError () {
  if (typeof(orderErr[0]) != "undefined") {
    var stra = new Array();
    var str  = "";
    
    str = orderErr[0];
    
    if (orderErr.length > 1) { 
      for (var i=1; i < orderErr.length; i++) {
        stra = orderErr[i].split("Please ")
        str += " and " + stra[1];
      } 
    } 

    order    = new Array();
    orderErr = new Array();
    alert(str+".");
    return true;
  
  } else {
    return false;
  }
}
var tempStrn = "";
function SendCart () {  // send the cart to PayPal
  //var strn = "https://www.sandbox.paypal.com/cgi-bin/webscr?cmd=_cart" + "&upload=1" + "&shipping=0&tax=0" + "&business=" + root.xx_id + root.xx_xtra;               
 if(isaPledge){
   	var strn   = "https://www.paypal.com/cgi-bin/webscr?cmd=_xclick-subscriptions" + "&business=" + root.xx_id; 
  }else{              
  	var strn   = "https://www.paypal.com/cgi-bin/webscr?cmd=_cart" + "&upload=1" + "&shipping=0&tax=0" + "&business=" + root.xx_id + root.xx_xtra; 
  }
  var i=1,j=0,des;

  if (root.xx_cur.length > 0)
    strn = strn + "&currency_code=" + root.xx_cur;
  if (root.xx_lc.length > 0)
    strn = strn + "&lc=" + root.xx_lc;
  if (root.xx_can.length > 0)
    strn = strn + "&cancel_return=" + root.xx_can;
  if (root.xx_ret.length > 0)
    strn = strn + "&return=" + root.xx_ret;
  if (root.xx_sty.length > 0)
    strn = strn + "&page_style=" + root.xx_sty;
  if (root.xx_img.length > 0)
    strn = strn + "&image_url=" + root.xx_img;
    
  if (document.getElementsByName("first_name")[0].value.length > 0)
    strn = strn + "&first_name=" + escape (document.getElementsByName("first_name")[0].value);
  if (document.getElementsByName("last_name")[0].value.length > 0)
    strn = strn + "&last_name=" + escape (document.getElementsByName("last_name")[0].value);
  

  for (i in order) {  // send all valid data
    j = j + 1;
    if(!isaPledge){ //not a pledge
		strn = strn + "&item_name_"   + j + "=" + escape (order[i].des) +
					//"&item_number_" + j + "=" + i +
					  "&quantity_"    + j + "=" + order[i].qty +
					  "&amount_"      + j + "=" + order[i].amt; // + order[i].amt;
		if (typeof order[i].os0 !== 'undefined')
      		strn = strn + "&on0_"       + j + "=" + escape (order[i].on0) +
                   		  "&os0_"       + j + "=" + escape (order[i].os0);
        if (typeof order[i].os1 !== 'undefined')
      		strn = strn + "&on1_"       + j + "=" + escape (order[i].on1) +
                    	  "&os1_"       + j + "=" + escape (order[i].os1);
    	if (typeof order[i].os2 !== 'undefined')
			strn = strn + "&on2_"       + j + "=" + escape (order[i].on2) +
						  "&os2_"       + j + "=" + escape (order[i].os2);
    	if (typeof order[i].os3 !== 'undefined')
      		strn = strn + "&on3_"       + j + "=" + escape (order[i].on3) +
                    	  "&os3_"       + j + "=" + escape (order[i].os3);
    }else{ //pledge
    	if(j==1){
    		strn = strn + "&item_name=" + escape(order[i].des) +              
		  
		  "&a3=" + order[i].amt +
		  "&p3=1" +
		  "&t3=M" +
		  "&src=1" +
		  "&srt=24" +
		  "no_note=1";
		 }else{
		 	if (typeof order[i].des !== 'undefined')
		 		
		 		strn = strn + "&item_name_"   + j + "=" + escape (order[i].des);
	
			if (typeof order[i].os0 !== 'undefined')
						
					strn = strn + "&on" + j + "=" + escape (order[i].on0) +
									"&os" + j + "=" + escape (order[i].os0);          
			
			
    	}
    }
    
  }
  
  //alert(strn)
	if (j > 0) window.location.href = strn;
}



