/* $Id: errorMessages.js,v 1.24 2010/04/26 14:13:56 clinton Exp $ */

function errorMessage(errorNumber, parameters) {
  if (errorNumber == null || typeof errorNumber == 'undefined') {
    return '';
  } else  if (!Object.isNumber(errorNumber)) {
    return '';
  }

  if (parameters == null || Object.isUndefined(parameters)) {
    parameters = new Object();
  }
  if (Object.isString(errorMessages[errorNumber])) {
    return (new Template(errorMessages[errorNumber])).evaluate(parameters);
  } else {
    return '';
  }

}

var errorMessages = new Array();
var ERR_MANDATORY = 1;
  errorMessages[ERR_MANDATORY] = "#{field} is mandatory.";

var ERR_RAIL_NO_PAX = 10001; 
  errorMessages[ERR_RAIL_NO_PAX] = "At least one guest must travel.";
var ERR_RAIL_RETURN_BEFORE_DEPARTURE = 10002; 
  errorMessages[ERR_RAIL_RETURN_BEFORE_DEPARTURE] = "Return before departure.";
var ERR_RAIL_TRAIN_TO_NOWHERE = 10003; 
  errorMessages[ERR_RAIL_TRAIN_TO_NOWHERE] = "Destination == origin.";
var ERR_RAIL_TOO_MANY_PAX = 10004; 
  errorMessages[ERR_RAIL_TOO_MANY_PAX] = "A maximum of 9 persons may be booked on a single booking.";
var ERR_RAIL_NEED_ORIGIN = 10005; 
  errorMessages[ERR_RAIL_NEED_ORIGIN] = "Please select an origin.";
var ERR_RAIL_NEED_DEST = 10006; 
  errorMessages[ERR_RAIL_NEED_DEST] = "Please select a destination.";
var ERR_RAIL_SELECT_DATE = 10007  
  errorMessages[ERR_RAIL_SELECT_DATE] = "Please select a #{type} date.";
var ERR_RAIL_RETURN_BEFORE_ARRIVAL = 10008;
  errorMessages[ERR_RAIL_RETURN_BEFORE_ARRIVAL] = "Return before arrival.";
var ERR_RAIL_NO_SERVICE = 10104;
  errorMessages[ERR_RAIL_NO_SERVICE] = "There are no available services for the chosen return route (#{origin} to #{destination}).\nOne-way journey type selected.";

var ERR_RAIL_NO_ADULTS = 10105;
  errorMessages[ERR_RAIL_NO_ADULTS] = "At least one adult must travel.";

var ERR_RAIL_AGT_PAX_CONVERT = 10108;
  errorMessages[ERR_RAIL_AGT_PAX_CONVERT] = 'Some concession types are not valid for this brochure, these guests have been converted to Adults.';
var ERR_RAIL_NOT_CONCESSION = 10107;
  errorMessages[ERR_RAIL_NOT_CONCESSION] = 'The guest does not hold a valid concession type and we have selected Adult for the guest.'

var ERR_RAIL_CI_NOT_ENOUGH_DETAIL = 10009; 
  errorMessages[ERR_RAIL_CI_NOT_ENOUGH_DETAIL] = "Please complete all details for sector #{leg}.";
var ERR_RAIL_CI_TOO_MANY_PAX = 10100; 
  errorMessages[ERR_RAIL_CI_TOO_MANY_PAX] = "A maximum of 9 persons may be booked on a single booking. (Sector #{leg}).";
var ERR_RAIL_CI_NO_PAX = 10101; 
  errorMessages[ERR_RAIL_CI_NO_PAX] = "At least one guest must travel (Sector #{leg}).";
var ERR_RAIL_CI_OUT_OF_ORDER = 10102;
  errorMessages[ERR_RAIL_CI_OUT_OF_ORDER] = "Leg #{leg} departs before the previous leg arrives.";
var ERR_RAIL_CI_MAX_LEGS = 10103;
  errorMessages[ERR_RAIL_CI_MAX_LEGS] = "Sorry, the maximum number of legs is 8.";
var ERR_RAIL_CI_NO_ADULTS = 10106;
  errorMessages[ERR_RAIL_CI_NO_ADULTS] = "At least one adult must travel (Sector #{leg}).";
    
var ERR_RAIL_CABIN_MISMATCH = 10011; 
  errorMessages[ERR_RAIL_CABIN_MISMATCH] = "All guests on each leg must travel in the same cabin class (Sector #{leg}).";
var ERR_RAIL_CABIN_NOAVAIL = 10012; 
  errorMessages[ERR_RAIL_CABIN_NOAVAIL] = "Insufficient availability in selected cabins (Sector #{leg}).";
var ERR_RAIL_CABIN_TRAIN_CRASH = 10013;
  errorMessages[ERR_RAIL_CABIN_TRAIN_CRASH] = "You have selected a departure date prior to the previous sector arrival date.  Please amend before proceeding.";
var ERR_RAIL_CABIN_TRAIN_OUTOFORDER = 10014;
  errorMessages[ERR_RAIL_CABIN_TRAIN_OUTOFORDER] = "You have selected a departure date prior to the previous sector arrival date.  Please amend before proceeding.";
var ERR_RAIL_CABIN_BADSERVICE = 10015;
errorMessages[ERR_RAIL_CABIN_BADSERVICE] = "Please use the Next and Prev Departure buttons to select an alternative service (Sector #{leg}).";

var ERR_HOTEL_ROOM_NOPAX = 10021;
  errorMessages[ERR_HOTEL_ROOM_NOPAX] = "Please select room occupants.";
var ERR_HOTEL_ROOM_TOO_MANY_PAX = 10022;
  errorMessages[ERR_HOTEL_ROOM_TOO_MANY_PAX] = "A maximum of 9 persons may be booked on a single booking.";
var ERR_HOTEL_ROOM_BAD_OCCUPANCY_PATTERN = 10023;
  errorMessages[ERR_HOTEL_ROOM_BAD_OCCUPANCY_PATTERN] = "Selected guests exceed room occupancy, please refer to Maximum Occupancy information.";

var ERR_NAMES_BAD_DATE = 10031;
  errorMessages[ERR_NAMES_BAD_DATE] = "Invalid date of birth.";
var ERR_NAMES_TOO_OLD = 10032;
  errorMessages[ERR_NAMES_TOO_OLD] = "Age is invalid for the given guest type. The valid range for #{typeplur} is #{earlydate} to #{latedate}.";
var ERR_NAMES_NO_NAME = 10033;
  errorMessages[ERR_NAMES_NO_NAME] = "Please enter a #{which} name.";
var ERR_NAMES_BAD_NAME = 10034;
  errorMessages[ERR_NAMES_BAD_NAME] = "Invalid characters in #{which} name, permitted characters are letters, hyphens and apostrophes. (No accents)";
var ERR_NAMES_NOT_ENOUGH = 10035;
  errorMessages[ERR_NAMES_NOT_ENOUGH] = "Not enough #{type} have been assigned to sector #{leg}.";
var ERR_NAMES_TOO_MANY = 10036;
  errorMessages[ERR_NAMES_TOO_MANY] = "Too many #{type} have been assigned to sector #{leg}.";
var ERR_NAMES_NO_MEMNO = 10037;
  errorMessages[ERR_NAMES_NO_MEMNO] = "You must provide a concession number and permit us to validate it with Centrelink.";
var ERR_NAMES_BAD_EMAIL = 10038;
  errorMessages[ERR_NAMES_BAD_EMAIL] = "Invalid email address.";
var ERR_NAMES_NEED_CCES = 10039;
  errorMessages[ERR_NAMES_NEED_CCES] = "In order to validate your entitlement to concessionary rates, you must authorise Great Southern Rail to verify your entitlement with Centrelink or DVA.";


var ERR_NAMES_MAND_ADDRESS = 10131;
  errorMessages[ERR_NAMES_MAND_ADDRESS] = "A complete address is mandatory for the booking contact."

var ERR_PAYMENT_NO_CARD = 10051;
  errorMessages[ERR_PAYMENT_NO_CARD] = "No card number.";
var ERR_PAYMENT_NO_EMAIL = 10052;
  errorMessages[ERR_PAYMENT_NO_EMAIL] = "Require both email addresses.";
var ERR_PAYMENT_NO_ADDRESS = 10053;
  errorMessages[ERR_PAYMENT_NO_ADDRESS] = "Insufficient address fields populated.";
var ERR_PAYMENT_NO_POSTCODE = 10054;
  errorMessages[ERR_PAYMENT_NO_POSTCODE] = "Postcode/ZIP code is mandatory for #{country}.";
var ERR_PAYMENT_NO_EXPIRY = 10055;
  errorMessages[ERR_PAYMENT_NO_EXPIRY] = "Invalid expiry date.";
var ERR_PAYMENT_NO_CVV = 10056;
  errorMessages[ERR_PAYMENT_NO_CVV] = "Must include card security (CVV) code.";
var ERR_PAYMENT_NO_EMGNAME = 10057;
  errorMessages[ERR_PAYMENT_NO_EMGNAME] = "No emergency contact name.";
var ERR_PAYMENT_NO_EMGPHONE = 10058;
  errorMessages[ERR_PAYMENT_NO_EMGPHONE] = "No emergency contact number.";
var ERR_PAYMENT_MISMATCH_EMAIL = 10059;
  errorMessages[ERR_PAYMENT_MISMATCH_EMAIL] = "Email address is not the same as confirmation address.";
var ERR_PAYMENT_BAD_EMAIL = 10060;
  errorMessages[ERR_PAYMENT_BAD_EMAIL] = "Invalid email address.";
var ERR_PAYMENT_BAD_CARD = 10061;
  errorMessages[ERR_PAYMENT_BAD_CARD] = "Invalid card number.";
var ERR_PAYMENT_NO_CARDNAME = 10062;
  errorMessages[ERR_PAYMENT_NO_CARDNAME] = "No cardholder name.";
var ERR_PAYMENT_BAD_TELNO = 10063;
  errorMessages[ERR_PAYMENT_BAD_TELNO] = "Invalid telephone number.";
var ERR_PAYMENT_BAD_EMGPHONE = 10064;
  errorMessages[ERR_PAYMENT_BAD_EMGPHONE] = "Invalid emergency phone number.";
var ERR_PAYMENT_BAD_CVV = 10065;
  errorMessages[ERR_PAYMENT_BAD_CVV] = "Invalid security (CVV) code.";
var ERR_PAYMENT_BAD_ISSUE = 10066;
  errorMessages[ERR_PAYMENT_BAD_ISSUE] = "Invalid issue number.";
var ERR_PAYMENT_BAD_EMGMOB = 10067;
  errorMessages[ERR_PAYMENT_BAD_EMGMOB] = "Invalid emergency mobile number.";
var ERR_PAYMENT_NO_LEADNAME = 10068
  errorMessages[ERR_PAYMENT_NO_LEADNAME] = "Lead guest name is required.";
var ERR_PAYMENT_INVALID_POSTCODE = 10069;
  errorMessages[ERR_PAYMENT_INVALID_POSTCODE] = "The ZIP/Postal code entered does not appear to be valid for the selected country.";

var ERR_PAYMENT_BAD_AEMAIL = 10160;
  errorMessages[ERR_PAYMENT_BAD_AEMAIL] = "Invalid agent email address.";
var ERR_PAYMENT_NO_AEMAIL = 10161;
  errorMessages[ERR_PAYMENT_NO_AEMAIL] = "No agent email address.";
var ERR_PAYMENT_NO_AGREF= 10162;
  errorMessages[ERR_PAYMENT_NO_AGREF] = "No agent reference.";
var ERR_PAYMENT_BAD_PAYMENT = 10163;
  errorMessages[ERR_PAYMENT_BAD_PAYMENT] = "The #{payType} id is invalid.";
var ERR_PAYMENT_CARD_EXPIRED = 10164;
  errorMessages[ERR_PAYMENT_CARD_EXPIRED] = "Card expired";


var ERR_RECALL_NO_BKGNO = 10071;
  errorMessages[ERR_RECALL_NO_BKGNO] = "Must provide booking reference.";
var ERR_RECALL_BAD_BKGNO = 10072;
  errorMessages[ERR_RECALL_BAD_BKGNO] = "Invalid booking reference.";
var ERR_RECALL_NO_LEADNAME = 10073;
  errorMessages[ERR_RECALL_NO_LEADNAME] = "Must provide lead guest's surname.";

var ERR_HOTEL_NO_PAX = 10081;
  errorMessages[ERR_HOTEL_NO_PAX] = "At least one guest must be selected.";
var ERR_HOTEL_RETURN_BEFORE_DEPARTURE = 10082;
  errorMessages[ERR_HOTEL_RETURN_BEFORE_DEPARTURE] = "Checkout before checkin.";
var ERR_HOTEL_CLOSED = 10083;
  errorMessages[ERR_HOTEL_CLOSED] = "The check in/out date range you have chosen includes dates when the room is not available - Please reselect.";
var ERR_HOTEL_TOO_MANY_PAX = 10084;
  errorMessages[ERR_HOTEL_TOO_MANY_PAX] = "A maximum of 9 persons may be booked on a single booking.";
var ERR_HOTEL_SELECT_RESORT = 10085;
  errorMessages[ERR_HOTEL_SELECT_RESORT] = "Please select a location."
var ERR_HOTEL_DATE_HISTORIC = 10086;
  errorMessages[ERR_HOTEL_DATE_HISTORIC] = "The checkin date can be no earlier than tomorrow."
var ERR_HOTEL_DATE_INVALID = 10087;
  errorMessages[ERR_HOTEL_DATE_INVALID] = "Invalid #{type} date selected."


var ERR_TOUR_NO_PAX = 10091;
  errorMessages[ERR_TOUR_NO_PAX] = "At least one guest must be selected.";
var ERR_TOUR_RETURN_BEFORE_DEPARTURE = 10092;
  errorMessages[ERR_TOUR_RETURN_BEFORE_DEPARTURE] = "Search date range end before start.";
var ERR_TOUR_TOO_MANY_PAX = 10094;
  errorMessages[ERR_TOUR_TOO_MANY_PAX] = "A maximum of 9 persons may be booked on a single booking.";
var ERR_TOUR_SELECT_RESORT = 10095;
  errorMessages[ERR_TOUR_SELECT_RESORT] = "Please select a location."
var ERR_TOUR_DATE_INVALID = 10087;
  errorMessages[ERR_HOTEL_DATE_INVALID] = "Invalid #{type} date selected."


var ERR_PKG_NO_PAX = 10191;
  errorMessages[ERR_PKG_NO_PAX] = "At least one guest must be selected.";
var ERR_PKG_NEED_PKG_CODE= 10192;
  errorMessages[ERR_PKG_NEED_PKG_CODE] = "A package code must be entered.";
var ERR_PKG_BAD_DATE= 10193;
  errorMessages[ERR_PKG_BAD_DATE] = "A date must be selected.";
var ERR_PKG_TOO_MANY_PAX = 10194;
  errorMessages[ERR_PKG_TOO_MANY_PAX] = "A maximum of 9 persons may be booked on a single booking.";


var ERR_INS_NO_PAX = 10121;
  errorMessages[ERR_INS_NO_PAX] = "At least one guest must be selected.";
var ERR_INS_TOO_MANY_PAX = 10124;
  errorMessages[ERR_INS_TOO_MANY_PAX] = "A maximum of 9 persons may be booked on a single booking.";
var ERR_INS_NOT_ACKTAC = 10125
errorMessages[ERR_INS_NOT_ACKTAC] = "You must acknowledge that you accept the Terms & Conditions as set out in the Product Disclosure Statement."
