/**
 * Copyright (c) 2008 MiEnterprise Pty Ltd. All rights reserved.
 */

	function submitCancel(form) 
	{	
		sendCommonUpdate("cancelMakeBooking",  $(form).serialize(), null, function(){Modalbox.hide();});		
	}
	
    function makeBooking(form) 
    {
	    if(!checkCount())
	    {
	    	return;
	    }	 
	    
	    var paymentMethod = null;
	    
	    if (document.timesheet.paymentMethod != null)
	    {
		    for (var i=0; i < document.timesheet.paymentMethod.length; i++)
		    {
		    if (document.timesheet.paymentMethod[i].checked)
		       {
		       var paymentMethod = document.timesheet.paymentMethod[i].value;
		       }
		    }
	    }

	    if (paymentMethod == 'creditCard' || paymentMethod == null)
	    {
	    	submitAndPayByCreditCard(form);
	    }
	    else if (paymentMethod == 'cash')
	    {
	    	submitAndPayByCash(form);
	    }
	    else if (paymentMethod == 'noPayment')
	    {
	    	submitNoPay(form);
	    }
	}
	
    function submitNoPay(form) {

		submitNoPaySuccessFunction = function(transport) {
			updateBookingsFromTransport(transport);
	    	Modalbox.hide();
	    	closeHover();
	    }

	    document.timesheet.do_payment.value = 'false';
	    sendCommonUpdate("makePublicBooking",  $(form).serialize() + "&action=book_no_pay", submitNoPaySuccessFunction, null, {asynchronous: false});
	}

	function submitAndPayByCreditCard(form) {

		submitAndPayByCreditCardSuccessFunction = function(transport) {
	    	var paymentURL = '/publicmember/accounts/secure/MakePayment.msp?account_type_code=4600';
	    	var parameters = getFromTransport(transport, 'Parameter');
	    	
	    	for (var i=0; i<parameters.length; i=i+1) {
	    		var paramName = getTagContent(parameters[i],'Name');
	    		var paramValue = getTagContent(parameters[i],'Value');
	    		paymentURL = paymentURL + '&' + paramName + '=' + paramValue;
	    	} 	
	    	document.location = paymentURL;
	    }

		document.timesheet.do_payment.value = 'true';
		sendCommonUpdate("makePublicBooking",  $(form).serialize() + "&action=book_and_pay", submitAndPayByCreditCardSuccessFunction, null, {asynchronous: false});
	}
	
	function submitAndPayByCash(form) {

		submitAndPayByCashSuccessFunction = function(transport) {
			updateBookingsFromTransport(transport);
	    	Modalbox.hide();
	    	closeHover();
	    }

		document.timesheet.do_payment.value = 'true';
		sendCommonUpdate("makePublicBooking",  $(form).serialize() + "&action=book_and_pay_by_cash", submitAndPayByCashSuccessFunction, null, {asynchronous: false});
	}

	function showSection(sectionName)
	{	
		hideAll();
		$$("div." + sectionName).invoke("show");

		disableAll();
		
		if (sectionName == 'book_only')
		{
			document.timesheet.bookingType.value = 'bookOnly';
		}
		if (sectionName == 'already_registered')
		{
			document.timesheet.bookingType.value = 'alreadyRegistered';
		}
		if (sectionName == 'register_player')
		{
			document.timesheet.bookingType.value = 'register';
		}
		if (sectionName != 'terms_and_conditions')
		{
			$$("div.payment_area").invoke("show");			
		}
		
		enableButton(sectionName);
	}

	function enableButton(name)
	{
		if ($(name) != null)
		{
			$(name).removeClassName('low');
			$(name).addClassName('high');
		}
	}

	function disableButton(name)
	{
		if ($(name) != null)
		{
			$(name).addClassName('low');
			$(name).removeClassName('high');
		}
	}

	function disableAll()
	{
		disableButton('book_only');
		disableButton('already_registered');
		disableButton('register_player');
		disableButton('terms_and_conditions');		
	}
	
	function hideAll()
	{	
		$$("div.already_registered").invoke("hide");
		$$("div.book_only").invoke("hide");
		$$("div.register_player").invoke("hide");
		$$("div.terms_and_conditions").invoke("hide");
		$$("div.payment_area").invoke("hide");
	}

	function showAll()
	{	
		$$("div.already_registered").invoke("show");
		$$("div.book_only").invoke("show");
		$$("div.register_player").invoke("show");
		$$("div.terms_and_conditions").invoke("show");
		$$("div.payment_area").invoke("show");
	}
	
