//Accor Hotels Validation JS

var hex_color_error = "#FF0000";
var hex_color_good = "#606B71";

//this returns the label reference of the form element
function GetLabel(e) {
	return document.getElementById('lbl' + e);		
}

//this returns the element (object)
function GEId(e){	
	return document.getElementById(e);		
}

//validate subscription forms
function validate_form(form){
	
	var error = false;
	var highlight = false;
	var error_msg = '';

	//save copy of form globally
	oform = form;

	for (var i=0; i<input_text.length; i++)
	{
		if (!validate_field(input_text[i],GEId(input_text[i]))){	
			error = true;
			highlight = true;
						
			if (input_text[i] == 'member_name') {
				error_msg = error_msg + "Please provide a valid Member Name\n";
			} else if(input_text[i] == 'member_number') {
				error_msg = error_msg + "Please provide a valid Member Number (16 digits)\n";
			} else if(input_text[i] == 'passenger_name') {
				error_msg = error_msg + "Please provide a valid Passenger Name\n";
			} else if(input_text[i] == 'booking_number') {
				error_msg = error_msg + "Please provide a valid Booking Number (6 digits)\n";
				} else if(input_text[i] == 'ticket_number') {
				error_msg = error_msg + "Please provide a valid Ticket Number (12 digits)\n";
			} else if(input_text[i] == 'holiday_booking') {
				error_msg = error_msg + "Please provide a valid Holiday Booking Value\n";
			}
		}
				
		GetLabel(input_text[i]).style.color = highlight ? hex_color_error : hex_color_good;				
		highlight = false;
	}
	
	if (error == true) {
		alert(error_msg);		
		return false;		
	} else {
		return true;		
	}
}

function validate_field(name, input_text)
{	
	switch(name)
	{	
		case 'member_number':
			return input_text.value.match(/^\d{16}$/);
		case 'booking_number':
			return input_text.value.match(/^\d{6}$/);
		case 'ticket_number':
			return input_text.value.match(/^086\d{10}$/);
		case 'holiday_booking': 
			return input_text.value.match(/^([a-zA-Z0-9\$\.])+/);
		default:
			return input_text.value.length > 0;
	}		
}
