// ************************************************************************ // ** 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 ** // ** seven 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 ** // ** 7. The Admit system event ID ** // ** ** // ** 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,EVT001 ** // ** ** // ** 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 ** // ** 3.0 Matt Greenshields 21/06/2008 - Admit ID added, event ** // ** length made a variable ** // ** and TotalCost added ** // ** 4.0 Matt Greenshields 26/05/2009 - Event selection mandated ** // ** 5.0 Matt Greenshields 07/10/2009 - Booking conditions added ** // ************************************************************************ var allRetreats = new Array("Introductory Weekend Retreat at Vajrasana Feb 10-12",130,95,50,-1,false,"EVT02227", "Opening the Dharma Doors Course Feb 10-24",40,30,0,-1,true,"EVT02237", "Metta Bhavana Course Feb 17-Mar 16",25,15,0,-1,true,"EVT02236", "A Circle of Fire - Weekend Retreat at Vajrasana Feb 17-19",130,95,50,-1,false,"EVT02247", "Introductory Meditation Day Feb 19",35,25,0,-1,true,"EVT02221", "Weekend Retreat (GFR Women) at Vajrasana Feb 24-26",130,95,50,20,true,"EVT02248", "Before I Die - Making a Will Feb 26",25,20,0,-1,true,"EVT02255", "Introduction to Buddhism and Meditation Course Feb 27-Apr 2",80,60,0,-1,true,"EVT02254", "Tracking Stillness Course Mar 2-30",70,50,0,-1,true,"EVT02238", "Kindness Behaviour Training at Breathing Space Mar 7-Apr 25",170,125,0,-1,true,"EVT02219", "Breathing Space Retreat at Breathing Space Mar 9-11",135,100,0,0,true,"EVT02198", "Buddhist Meditation Foundation Course at St Martin Mar 10-31",75,55,0,-1,true,"EVT02290", "Women's Class Weekend Retreat Mar 16-18",130,95,50,20,true,"EVT02249", "Introductory Meditation Day Mar 18",35,25,0,-1,true,"EVT02222", "Introductory Weekend Retreat at Vajrasana Mar 23-25",130,95,50,20,true,"EVT02228", "MBA Training Day for Health Professionals at Breathing SpaceMar 24",90,65,0,-1,true,"EVT02274", "Compassionate Communication Mar 25",25,20,0,-1,true,"EVT02245", "Men's Aikido & Meditation Retreat Mar 26-30",200,160,0,-1,true,"EVT02250", "Spring Open Retreat at Vajrasana CAMPING RATE Apr 6-15",340,245,50,-1,true,"EVT02229", "Spring Open Retreat at Vajrasana RESIDENTIAL RATE Apr 6-15",395,280,50,-1,true,"EVT02230", "Buddhist Meditation Foundation Course at St Martin Apr 7-28",75,55,0,-1,true,"EVT02291", "Mindfulness Based Cognitive Therapy at Breathing Space Apr 10-May 29",170,125,0,-1,true,"EVT02318", "Puja - Ritual Course Apr 13-May 25",85,65,0,-1,true,"EVT02239", "Gardening Weekend Retreat Apr 20-22",70,45,50,20,true,"EVT02265", "Working Mind Working Heart Apr 22-27",70,70,50,0,true,"EVT02251", "Lesbian and Gay & Bisexual Women's Med Day at LBC Apr 22",25,20,0,-1,true,"EVT02225", "Mindfulness Based Relapse Prevention at Breathing Space Apr 23-May 28",130,95,0,-1,true,"EVT02311", "Introductory Meditation Day Apr 29",35,25,0,-1,true,"EVT02223", "Buddhist Meditation Foundation Course at St Martin May 5-26",75,55,0,-1,true,"EVT02302", "Introductory Weekend Retreat at Vajrasana May 11-13",130,95,50,20,true,"EVT02275", "Introductory Weekend Retreat at Vajrasana Jun 1-3",130,95,50,20,true,"EVT02276", "Buddhist Meditation Foundation Course at St Martin Jun 9-30",75,55,0,-1,true,"EVT02303", "The Art of Awareness Retreat RESIDENTIAL RATE Jun 15-22",330,230,50,-1,true,"EVT02286", "The Art of Awareness Retreat CAMPING RATE Jun 15-22",260,200,50,-1,true,"EVT02287", "Gardening Weekend Retreat Jun 29-Jul 1",70,45,50,20,true,"EVT02284", "Men's Intensive Meditation Retreat at Vajrasana RESIDENTIAL Jul 13-22",395,280,50,-1,true,"EVT02292", "Men's Intensive Meditation Retreat at Vajrasana CAMPING RATEJul 13-22",340,245,50,-1,true,"EVT02293", "Women's Intensive Meditation Retreat at Vajrasana RESIDENTIAAug 3-12",395,280,50,-1,true,"EVT02294", "Women's Intensive Meditation Retreat at Vajrasana CAMPING RAAug 3-12",340,245,50,-1,false,"EVT02295", "Summer Open Retreat at Vajrasana CAMPING RATE Aug 18-27",340,245,50,-1,true,"EVT02296", "Summer Open Retreat at Vajrasana RESIDENTIAL RATE Aug 18-27",395,280,50,-1,true,"EVT02297", "Gardening Weekend Retreat Sep 7-9",70,45,50,20,true,"EVT02285", "Working Mind Working Heart Sep 9-14",70,70,50,0,true,"EVT02298", "Introductory Weekend Retreat at Vajrasana Sep 21-23",130,95,50,20,true,"EVT02277", "Women Mitra Weekend Oct 12-14",130,95,50,20,true,"EVT02299", "Introductory Weekend Retreat at Vajrasana Oct 19-21",130,95,50,20,true,"EVT02278", "Regulars' Weekend Nov 16-18",130,95,50,20,true,"EVT02300", "The Devotional Heart Retreat at Vajrasana Nov 18-23",200,160,50,-1,true,"EVT02301", "Introductory Weekend Retreat at Vajrasana Nov 23-25",130,95,50,20,true,"EVT02279" ) var retreats = new Array() var cost var deposit var totalToPay var eventLength = 7 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 eventID=document.forms[0].EventID eventID.value=retreats[eventLength*lbcEvent.selectedIndex+6] minibusNeeded=document.forms[0].MinibusNeeded minibus=document.forms[0].Minibus minibusCost=retreats[eventLength*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 from the LBC 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 totalCost=document.forms[0].TotalCost desc.value=lbcEvent[lbcEvent.selectedIndex].text if (rate[0].checked) {cost=retreats[eventLength*lbcEvent.selectedIndex+1]} else {cost=retreats[eventLength*lbcEvent.selectedIndex+2]} totalCost.value=cost document.getElementById('totalCostText').innerHTML=" The total cost of £"+cost deposit=retreats[eventLength*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() { // Put a first row in the dropdown which cannot be booked retreats[0]="-- Please select an event from this list --" retreats[1]=0 retreats[2]=0 retreats[3]=0 retreats[4]=-1 retreats[5]=false retreats[6]="EVT00000" j=1 for (i=0; i