function submitEditReservation()

in web/js/requests.js [1589:1656]


function submitEditReservation() {
	if(dijit.byId('editResDlgBtn').get('label') == _('View Available Times')) {
		dijit.byId('suggestDlgBtn').set('disabled', true);
		showDijitButton('suggestDlgBtn');
		dijit.byId('suggestDlgCancelBtn').set('label', _('Cancel'));
		showSuggestedTimes();
		return;
	}
	var cont = dojo.byId('editrescont').value;
	var data = {continuation: cont};
	if(dijit.byId('day'))
		data.day = dijit.byId('day').value;
	if(dijit.byId('editstarttime')) {
		var t = dijit.byId('editstarttime').value;
		data.starttime = dojox.string.sprintf('%02d%02d',
		                                      t.getHours(),
		                                      t.getMinutes());
		var tmp = dijit.byId('day').value.match(/([0-9]{4})([0-9]{2})([0-9]{2})/);
		var teststart = new Date(tmp[1], tmp[2] - 1, tmp[3], t.getHours(), t.getMinutes(), 0, 0);
		var now = new Date();
		if(teststart < now) {
			dojo.byId('editResDlgErrMsg').innerHTML = _("The submitted start time is in the past.");
			return;
		}
	}
	if(dijit.byId('newnousercheck') && dijit.byId('newnousercheck').get('value') == 1)
		data.newnousercheck = 1;
	else
		data.newnousercheck = 0;
	if(dijit.byId('servername'))
		data.servername = dijit.byId('servername').get('value');
	if(dijit.byId('admingrpsel')) {
		data.admingroupid = dijit.byId('admingrpsel').get('value');
		data.logingroupid = dijit.byId('logingrpsel').get('value');
	}
	else if(dojo.byId('admingrpsel')) {
		data.admingroupid = dojo.byId('admingrpsel').value;
		data.logingroupid = dojo.byId('logingrpsel').value;
	}
	if((! dojo.byId('dateradio') && ! dojo.byId('indefiniteradio') && dijit.byId('length')) ||
	   (dojo.byId('lengthradio') && dojo.byId('lengthradio').checked)) {
		data.length = dijit.byId('length').value;
		data.endmode = 'length';
	}
	else if((dojo.byId('dateradio') && dojo.byId('dateradio').checked) ||
	        (dijit.byId('openenddate') && ! dojo.byId('indefiniteradio')) ||
	        (dijit.byId('openenddate') && dojo.byId('indefiniteradio') && ! dojo.byId('indefiniteradio').checked)) {
		var d = dijit.byId('openenddate').value;
		var t = dijit.byId('openendtime').value;
		data.ending = dojox.string.sprintf('%d%02d%02d%02d%02d',
		              d.getFullYear(),
		              (d.getMonth() + 1),
		              d.getDate(),
		              t.getHours(),
		              t.getMinutes());
		data.endmode = 'ending';
		var testend = new Date(d.getFullYear(), d.getMonth(), d.getDate(), t.getHours(), t.getMinutes(), 0, 0);
		if(dijit.byId('editstarttime') && testend <= teststart) {
			dojo.byId('editResDlgErrMsg').innerHTML = _("The end time must be later than the start time.");
			return;
		}
	}
	else {
		data.endmode = 'indefinite';
	}
	document.body.style.cursor = 'wait';
	RPCwrapper(data, submitEditReservationCB, 1, 30000);
}