// ************************************************************************ // ** Script Name: onlineBookingScript.asp ** // ** Version: 1.0 - 01/11/2005 ** // ** Author: Matt Greenshields ** // ** Function: Javascript for the online booking form ** // ** Kept separate from the web page for editing safety ** // ** This file uses an ASP include to include the array ** // ** of event information event.txt, which must be in an ** // ** exactly correct format with each line containing ** // ** six items of information ** // ** ** // ** 1. The event descripion in double quotes ** // ** 2. The full price ** // ** 3. The concessionary price ** // ** 4. The deposit required or zero if full payment only ** // ** 5. The cost of the minibus or zero if there is none ** // ** 6. true or false to enable or disable online booking ** // ** ** // ** All but the last line must end in a comma, like the ** // ** following example line ** // ** ** // ** "Introductory Day Retreat at LBC, November 12th",25,18,0,0,true, ** // ** ** // ** Revision History: ** // ** Version Author Date and notes ** // ** 1.0 Matt Greenshields 01/11/2005 - First release ** // ** 2.0 Matt Greenshields 01/11/2006 - Optional donation added ** // ************************************************************************ var allRetreats = new Array("Introductory Weekend Retreat at Vajrasana Sep 26-28",115,80,50,12,true, "Buddhist Meditation Foundation Course at St Martins Lane Sep 27-Oct 18",68,48,0,-1,true, "Buddhism Course at LBC Oct 9-Nov 6",57,40,0,-1,true, "What Matters? Retreat at Vajrasana Oct 10-12",105,75,50,-1,true, "Compassionate Communication course at LBC Oct 11",21,16,0,-1,true, "Introductory Day Retreat at the LBC Oct 18",28,21,0,-1,true, "MBRP Course for Addiction at the LBC Oct 20-Nov 24", 95,75,0,-1,true, "Buddhist Meditation Foundation Course at St Martins Lane Oct 25-Nov 15",68,48,0,-1,true, "Introductory Weekend Retreat at Vajrasana Nov 14-16",115,80,50,12,true, "Buddhist Meditation Foundation Course at the LBC Nov 18-Dec 16",57,40,0,-1,true, "Cultivating Loving Kindness Course at the LBC Nov 20-Dec 18",57,40,0,-1,true, "Into Silence - Women Mitras' retreat at Vajrasana Nov 21-23",105,75,50,-1,true, "Buddhist Meditation Foundation Course at St Martins Lane Nov 22-Dec 13",68,48,0,-1,true, "Introductory Day Retreat at the LBC Nov 29",28,21,0,-1,true, "Awakening at LBC Nov 30",21,16,0,-1,true, "Introductory Weekend Retreat at Vajrasana Dec 5-7",115,80,50,12,true, "Winter Open Retreat - Sibford (10 days) PRICE UNTIL DEC 1 Dec 22-Jan 1",350,250,50,-1,true, "Winter Open Retreat - Sibford(First 5 days) PRICE UNTIL DEC 1 Dec 22- 27",200,150,50,-1,true, "Winter Open Retreat - Sibford(Second 5 days) PRICE UNTIL DEC 1 Dec 27- Jan 1",200,150,50,-1,true, "Mandala Retreat at Vajrasana Dec 28-Jan 1",155,115,50,12,true ) var retreats = new Array() var cost var deposit var totalToPay function changePayment() { displayTotalCost() } function changeDonation() { donation=document.forms[0].Donation if (isNaN(donation.value)||donation.value<0) {alert("The donation must be a valid amount in pounds")} displayTotalCost() } function changeRate() { rate=document.forms[0].Rate concession=document.forms[0].Concession if (rate[0].checked) { concession.length=5 concession[4].text="None" concession.selectedIndex=4 concession.disabled=true } else { concession.length=4 concession.disabled=false } displayTotalCost() } function changeLBCEvent() { lbcEvent=document.forms[0].LBCEvent minibusNeeded=document.forms[0].MinibusNeeded minibus=document.forms[0].Minibus minibusCost=retreats[6*lbcEvent.selectedIndex+4] if (minibusCost>=0) { minibusNeeded.disabled=false minibus.value="No" document.getElementById('minibusText').innerHTML=" There is a £"+minibusCost+" charge for the minibus, which is paid on the day" } else { minibusNeeded.checked=false minibusNeeded.disabled=true minibus.value="Not available" document.getElementById('minibusText').innerHTML=" A minibus is not available for this event" } displayTotalCost() } function changeMinibusNeeded() { minibusNeeded=document.forms[0].MinibusNeeded minibus=document.forms[0].Minibus if (minibusNeeded.checked) {minibus.value="Yes"} else {minibus.value="No"} displayTotalCost() } function displayTotalCost() { rate=document.forms[0].Rate payment=document.forms[0].Payment lbcEvent=document.forms[0].LBCEvent minibusNeeded=document.forms[0].MinibusNeeded minibus=document.forms[0].Minibus desc=document.forms[0].Description donation=document.forms[0].Donation desc.value=lbcEvent[lbcEvent.selectedIndex].text if (rate[0].checked) {cost=retreats[6*lbcEvent.selectedIndex+1]} else {cost=retreats[6*lbcEvent.selectedIndex+2]} document.getElementById('totalCostText').innerHTML=" The total cost of £"+cost deposit=retreats[6*lbcEvent.selectedIndex+3] if (deposit>0) { payment[1].disabled=false document.getElementById('depositText').innerHTML=" A non-refundable, non-transferable deposit of £"+deposit } else { payment[0].checked=true payment[1].checked=false payment[1].disabled=true document.getElementById('depositText').innerHTML=" A deposit is not available for this event" } if (payment[0].checked) { totalToPay=cost } else { totalToPay=deposit } if (isNaN(donation.value)==false&&donation.value>=0) {totalToPay=(+totalToPay)+(+donation.value)} document.getElementById('totalToPayText').innerHTML="£"+totalToPay } function setup() { j=0 for (i=0; i