Hi Rasmus,
Thank you for your help again. This was exactly what I was looking for. I didn't realise that you need to specify the scheduled start/scheduled end as well as the duration. It is working a treat now. It is intended to be used by a large number of staff - to book out our fleet vehicles - who will not necessarily receive CRM training and so this is why I wanted to make a custom form - so I can keep things as simple as possible for them. As it stands, all the staff have to do now is fill out a form like so:
NAME (Subject field on the Service Activity form - so the name appears on the calendar)
REGISTRATION (Facilities/Equipment resources - so it verifies that the registration is correct)
VEHICLE TAKEN check box
VEHICLE RETURNED check box
If they tick vehicle taken (and it hasn't already been booked out) then it will create a booking of 8 hours duration on the Service Calendar. When they return, they double click their booking, tick Vehicle Returned and it ends the booking and makes the resource available for new bookings.
A workflow may have been able to accomplish a large part of this, as you say, but not using one this time has really helped my knowledge of implementing JS within CRM. I'm more of an amateur than a professional developer.