
function showAddBooking () {
	
	$('addBooking').setStyle({'display':'block'});
	
}


function addBooking ( dateStr, artistID, locationStr, user_id, day_start_time ) {
		
		var startStr = $('start_hour').value+':'+$('start_min').value+$('start_ampm').options[$('start_ampm').selectedIndex].text;
		var finishStr = $('finish_hour').value+':'+$('finish_min').value+$('finish_ampm').options[$('finish_ampm').selectedIndex].text;
		var serverPage = '/web/services/create/booking.php?date='+dateStr+'&artist_id='+artistID+'&from='+startStr+'&till='+finishStr+'&location='+locationStr+'&area_id='+$('area_id').value+'&notavailable='+$('notavailable').checked+"&user_id="+user_id+"&day_start_time="+day_start_time;
		
		new Ajax.Request(serverPage, {
				method: 'get',
				onSuccess: function(resp) {
					if ( resp.responseText > 0 ) {
						$('validation_response').update( new Element('div').update("<strong>Added Booking</strong>") );
						rosterCalendarView(user_id, dateStr);
					} else
						$('validation_response').update( new Element('div').update("<strong>"+resp.responseText+"</strong>") );
				}
			});
}

function clearValidationResponse() {
	
	$('validation_response').update('');
}

function validateBooking( dateStr ) {
	
	showProcessor("validation_response");
	var startStr = $('start_hour').value+':'+$('start_min').value+$('start_ampm').options[$('start_ampm').selectedIndex].text;
	var finishStr = $('finish_hour').value+':'+$('finish_min').value+$('finish_ampm').options[$('finish_ampm').selectedIndex].text;
	var serverPage = '/web/services/validatebooking.php?date='+dateStr+'&artist_id='+$('artist_id').value+'&from='+startStr+'&till='+finishStr+'&location='+$('location').value+'&area_id='+$('area_id').value;

	new Ajax.Request(serverPage, {
		method: 'get',
		onSuccess: function(transport) {
			var resp = transport.responseText;
			var a = new Element('div').update( resp );
			if ( resp == 'TRUE' ) {
				a.update("Booking Valid");
			} else {
				new Effect.Highlight('validation_response', { startcolor: '#ff0000' });
				a.update("<strong>"+resp+"</strong>");				
			}
			$('validation_response').update(a);
		}
	});	
}

function validateRoster (theform) {
	//Effect.SlideDown('rostervalidationoutput');
	$('rostervalidationoutput').setStyle({'display':'block' });
	//new Effect.SlideDown('rostervalidationoutput', {duration: '0.5'});

	showProcessor("rostervalidationoutput");
	$('rosterformid').value = theform.id;
	var serverPage = '/web/services/validateroster.php';
	var str = $(theform).serialize();
	
	new Ajax.Request(serverPage, {
		method: 'post',
		parameters: str,
		onSuccess: function( resp ) { 
			$('rostervalidationoutput').update ( new Element('div').update( resp.responseText ) );
		}
	});
}

function getBookingList ( reloadDiv ) {
	
	showLoader(  reloadDiv );
	var str = $('filters').serialize();
	var serverPage= '/web/common/view/bookinglist.php?'+str;
	//console.log(serverPage);
	new Ajax.Request(serverPage, {
		method: 'get',
		onSuccess: function( resp ) {
			$(reloadDiv).update(resp.responseText);
		}
	});
	
}

function copyArtistBooking ( bookingid, targetdate, user_id, reloadtime ) {
	
	var serverPage = "/web/services/copyBooking.php?sourceid="+bookingid+"&target="+targetdate;
	if ( bookingid > 0 ) {
		new Ajax.Request(serverPage, {
			method: 'get',
			onSuccess: function() {
				rosterCalendarView(user_id, reloadtime);
			}
		});
	}
	//console.log ( serverPage );
	
}

function moveArtistBooking ( bookingid, targetdate, user_id, reloadtime ) {
	
	var serverPage = "/web/services/moveBooking.php?sourceid="+bookingid+"&target="+targetdate;
	console.log(serverPage);
	if ( bookingid > 0 ) {
		new Ajax.Request(serverPage, {
			method: 'get',
			onSuccess: function() {
				rosterCalendarView(user_id, reloadtime);
			}
		});
	}
	//console.log ( serverPage );
	
}

function copyVenueBooking ( dragged, dropped, event, user_id, reloadtime ) {
	
	var serverPage = "/web/services/copyBooking.php?sourceid="+dragged.id+"&target="+dropped.id+"&venue=true";

	new Ajax.Request(serverPage, {
		method: 'get',
		onSuccess: function() {
			rosterCalendarView(user_id, reloadtime);
		}
	});


	
}

function moveVenueBooking ( dragged, dropped, event, user_id, reloadtime ) {
	
	var serverPage = "/web/services/moveBooking.php?sourceid="+dragged.id+"&target="+dropped.id+"&venue=true";
	console.log(serverPage);

	new Ajax.Request(serverPage, {
		method: 'get',
		onSuccess: function() {
			rosterCalendarView(user_id, reloadtime);
		}
	});

	
}

function cancelBooking ( bookingid, reloadtime ) {
	
	var serverPage = "/web/services/cancelBooking.php?bookingid="+bookingid;
	if ( confirm("Are you sure you want to cancel this booking?") && bookingid > 0 ) {
		new Ajax.Request(serverPage, {
			method: 'get',
			onSuccess: function(resp) {
				rosterCalendarView(user_id, reloadtime);
			}
		});
	}
	//console.log ( serverPage );
	
}



function rosterCalendarView ( user_id , time ) {
	
	var target = $('calendarcontainer').value;
	var serverPage = '/web/common/view/'+target+'.php?user_id='+user_id+'&time='+time+'&target='+target+'&area_id='+$('area_id').value;
	if ( $('fromDate') != undefined )
		serverPage += '&from='+$('fromDate').value;
	if ( $('tillDate') != undefined )
		serverPage += '&till='+$('tillDate').value;
	if ( $('artist_id') != undefined )
		serverPage += '&artist_id='+$('artist_id').value;
	if ( $('active') != undefined )
		serverPage += '&active='+$('active').value;
	//console.log(serverPage);
	showLoader(target);
	new Ajax.Request(serverPage, {
		method: 'get',
		onSuccess: function(thepage) {
			var resp = thepage.responseText;
			var a = new Element('div');
			if ( resp == 'false' )
				$(target).value.update( a.update("ERROR") );
			else
				$(target).update( a.update(resp) );
		}
	});
	
} 

function updateRoster ( theform, user_id, time ) {
	
	showLoader($('calendarcontainer').value);
	var str = $(theform).serialize();
	var serverPage= '/web/common/updateroster.php';
	new Ajax.Request(serverPage, {
		method: 'post',
		parameters: str,
		onSuccess: function() {
			rosterCalendarView ( user_id , time );
		}
	});
}