// Checks the initial booking form for any errors
function formInitialCheck()
{
	//===== DATE CHECKS ======//
	var d = new Date();
	var year, month, date, today, depart_day, depart_month, depart_date, return_day, return_month, return_date;
	
	year 	= d.getFullYear();
	month 	= d.getMonth() + 1;
	if( month < 10 ) month = '0'+month;
	date 	= d.getDate();
	if( date < 10 ) date = '0'+date;
	
	today = ''+year+month+date;
		
	depart_day 		= document.getElementById('depart_day').value;
	depart_month 	= document.getElementById('depart_month').value.replace('-', '');
	depart_date		= depart_month+depart_day;
	
	return_day 		= document.getElementById('return_day').value;
	return_month 	= document.getElementById('return_month').value.replace('-', '');
	return_date		= return_month+return_day;	
		
	var error, error_msg;
	error = 0;
	error_msg = 'Please correct the following errors:';
	
	// Do the date checks
	if( depart_date < today )
	{
		error = 1;
		error_msg += '\n* Depart date has passed.';
	}
	
	if( return_date < today )
	{
		error = 1;		
		error_msg += '\n* Return date has passed.';
	}
	
	// Check that return date is after depart date - but only on return bookings
	if( document.getElementById('return').checked == true && return_date < depart_date )
	{
		error = 1;		
		error_msg += '\n* Return date can\'t be before depart date.';
	}
	
	// Make sure locations are actual locations
	if( document.getElementById('depart_location').value == "" )
	{
		error = 1;		
		error_msg += '\n* Please choose a specific depart location.';
	}
	
	if( document.getElementById('return_location').value == "" )
	{
		error = 1;		
		error_msg += '\n* Please choose a specific return location.';

	}	
	
	if(document.getElementById('fareTypeSelect').value=="Click for type")
	{
		error_msg += '\n* Please choose a Fare Type.';
		document.getElementById('fareTypeSelect').focus();
		error = 1;
	}
	
	// Return an error alert or nothing
	if( error )
	{
		alert( error_msg );
		return 1;
	}
	else
		return 0;
}


// Checks the choose time form for errors
function formChooseTimeCheck()
{
	var error, error_msg;
	error = 0;
	error_msg = 'Please correct the following errors:';
	
	if( document.getElementById( 'chosen_depart_time' ).value == '' )
	{
		error = 1;
		error_msg += '\n* Please select a departing pickup time.';
	}
	
	if( document.getElementById( 'chosen_return_time' ) &&
		document.getElementById( 'chosen_return_time' ).value == '' )
	{
		error = 1;
		error_msg += '\n* Please select a returning pickup time.';
	}	
	
	// Return an error alert or nothing
	if( error )
	{
		alert( error_msg );
		return 1;
	}
	else
		return 0;
}


function formDetailsCheck()
{
	var error, error_msg;
	error = 0;
	error_msg = 'Please correct the following errors:';	
	
	// Check the passenger details
	var max_passengers = 8;
	var passenger_errors;
		
	for( i = 1; document.getElementById( 'passenger_first_'+i ); i++ )
	{	
        if( document.getElementById( 'passenger_row_'+i ).style.display != 'none')
        {
        
		if( document.getElementById( 'passenger_first_'+i ).value == '' ||
			document.getElementById( 'passenger_last_'+i ).value == ''
			)
		{			
			error = 1;
			error_msg += '\n* Please insert all passenger '+i+' details.';
		}
		
		if( document.getElementById( 'passenger_id_'+i ) &&
			document.getElementById( 'passenger_id_'+i ).value == ''
			)
		{			
			error = 1;
			error_msg += '\n* Please insert passenger '+i+' pension ID #.';
		}
        }		
	}
	
	// Check contact details
	if( document.getElementById( 'contact_first' ).value == '' ||
		document.getElementById( 'contact_last' ).value == ''
		)
	{
		error = 1;
		error_msg += '\n* Please insert all contact name details.';
	}
	
	
	if( document.getElementById( 'contact_phone' ).value == ''  )
	{
		error = 1;
		error_msg += '\n* Please insert contact phone number.';
	}
	
	
	if( document.getElementById( 'contact_email' ).value == '' )
	{
		error = 1;
		error_msg += '\n* Please insert contact email.';
	}	


	// Return an error alert or nothing
	if( error )
	{
		alert( error_msg );
		return 1;
	}
	else
		return 0;
}


function formPaymentCheck()
{
	var error, error_msg;
	error = 0;
	error_msg = 'Please correct the following errors:';		
	
//	if( $( 'isAgent' ).value!= "checked")
//	{ 
//	
	// Check card name and number
	if( document.getElementById( 'card_name' ).value == ''  )
	{
		error = 1;
		error_msg += '\n* Please insert the name on card.';
	}
	
	card_no = document.getElementById('card_number1').value+document.getElementById('card_number2').value+document.getElementById('card_number3').value+document.getElementById('card_number4').value;
			  
	card_type = document.getElementById('card_type').value;
	
	if( card_type != "bankcard" )
	{
		if( !checkCreditCard(card_no, card_type) )
		{
			error = 1;
			error_msg += '\n* Please check the card number.';
		}
	}		
	
	
	// Check Card CVV
	if( document.getElementById('card_cvv').value == "" )
	{
		error = 1;
		error_msg += '\n* Please input the correct CVV number.';
	}
	
	// Check card expiry date
	var d = new Date();
	var year, month, today, card_month, card_year;
	
	year 	= d.getFullYear();
	month 	= d.getMonth() + 1;
	if( month < 10 ) month = '0'+month;
	
	today = ''+year+month;
	
	card_month = document.getElementById('card_month').value;
	card_year = document.getElementById('card_year').value;
	
	card_date = '20'+card_year+card_month;
	
	if( card_date < today )
	{
		error = 1;
		error_msg += '\n* Your expiry date seems to have passed.';		
	}
//	}
//	else
//	{
//	// Check agent id
//	if( document.getElementById( 'agent_code' ).value == ''  )
//	{
//		error = 1;
//		error_msg += '\n* Please insert the agent code.';
//	}
//	// Check agent name
//	if( document.getElementById( 'agent_name' ).value == ''  )
//	{
//		error = 1;
//		error_msg += '\n* Please insert the agent name.';
//	}
//	}
	
//	var agents = new Array(document.getElementById('agentArray').value);
//	error_msg += agents.length;
	// Return an error alert or nothing
	if( error )
	{
		alert( error_msg );
		return 1;
	}
	else
		return 0;	
}

// Changes the highlighted scheduled row to this one
function scheduleRowChange( key, depart_return, row_id )
{
	// Make all rows unhighlighted
	for( i = 1; row = document.getElementById( depart_return+'_row_'+i ); i++ )
	{
		row.style.background = "";
	}
	
	document.getElementById('chosen_'+depart_return+'_time').value = key;
	document.getElementById( depart_return+'_radio_'+row_id ).checked = true;
	document.getElementById( depart_return+'_row_'+row_id ).style.background = '#C2E6CA';
}


// Check the email form to make sure email address and body contains something
function emailFormValidate()
{
	if( document.getElementById('email_address').value == '' ||
		document.getElementById('email_body').value == '' )
	{
		alert('Please fill in all fields.');
		return true;
	}
}
