var i18n = { 
    'clic.here.to.move' : 'Click here to move to move the map' , 
    'clic.here.to.close' : 'Click here to close', 
	'rates.and.reservation':'Rates and reservation',
	'hotel.list':'List of hotels',
	'previous.hotel':'Previous hotel',
	'next.hotel':'Next hotel',
	'add.to.favorites':'Add to favorites',
	'you.are.not.identified':'You are not registered',
	'avantages':'Advantages',
	'register':'Register here',
	'already.registered':'Identify yourself'
};

var I18N = {
	'fh' : {
		'Click here to move to move the map' :'Click here to move to move the map' , 
		'Click here to close'                :'Click here to close', 
		'Rates and reservation'              :'Rates and reservation',
		'List of hotels'                     :'List of hotels',
		'Previous hotel'                     :'Previous hotel',
		'Next hotel'                         :'Next hotel',
        'Previous'                           :'Previous',
        'Next'                               :'Next',
		'All'               			 	 :'All hotels',
		'Add to favorites'                   :'Add to favorites',
		'You are not registered'             :'You are not registered',
		'Avantages'                          :'Advantages',
		'Register here'                      :'Register here',
		'Identify yourself'                   :'Identify yourself'

		},
		
		'meetingRoomConfigurationType' : 
		{
			'NONE'									  : 'No preference',          
			'U'                				: 'U-shaped room',
			'BOARD'              			: 'Board Room',               
			'CLASS'                   : 'Classroom',                    
			'THEATRE'                 : 'Theatre'                     
		},
		
		'bol.guestrooms' : {
				'wrongRoomNb' : 'Please select the number of rooms that you required.',
				'noSelection'	: 'Please select the number of rooms that you required.'
		},
	
	'formval' : {
		'required checkbox'		:	"Cette case doit \u00EAtre coch\u00E9e",
		'required radio'		:	"Vous devez s\u00E9lectionner une de ces options",
		'required text'			:	"Attention, ce champ est obligatoire",
		'required select'		:	"Vous devez s\u00E9lectionner l'objet de votre demande",
		'email'					:	"Cette adresse e-mail est erron\u00E9e",
		'name'					:	"Ce champ ne doit comporter que des lettres, et les caract&egrave;res suivants : '-'" ,          
		'numbers'				:	"Ce champ ne doit comporter que des chiffres",
		'decimal'				:	"Ce champ ne doit comporter que des chiffres",
		'phonenumber'			:	"Ce champ ne doit comporter que des chiffres", 
		'phonenumber2'			:	"Veuillez v\u00E9rifier votre num\u00E9ro de t\u00E9l\u00E9phone",
		'equalsto'				:	"Ce champ doit &ecirc;tre identique au pr&eacute;c&eacute;dent" ,
		'codepostal'			:	"Ce code postal est erron\u00E9",
		'cpordep'				:	"Vous ne pouvez mettre qu'un num\u00E9ro de d\u00E9partement ou un code portal",
		'pseudo'				:	'Attention, votre pseudo doit contenir uniquement 20 caract&egrave;res, des lettres et des num\u00E9ros et les signes "_" et "-"',
		'image'					:	"Votre fichier n'est pas au bon format",
		'minimum'				:	"Vous devez remplir au moins ## champ",
		'requiredexclusif'		:	"Vous devez remplir au moins un des champs"	        
		         
	},
	
	'calendar_months' : {
		'January'	:	'January',
		'February'	:	'February',
		'March'		:	'March',
		'April'		:	'April',
		'May'		:	'May',
		'June'		:	'June',
		'July'		:	'July',
		'August'	:	'August',
		'September'	:	'September',
		'October'	:	'October',
		'November'	:	'November',
		'December'	:	'December'
	},
	
	
	'calendar_days' : {
		'Mo'	:'M',
		'Tu'	:'T',
		'We'	:'W',
		'Th'	:'T',
		'Fr' 	:'F',
		'Sa'	:'S',
		'Su'	:'S'
	},
	
	'common' : {
		'language'	:	'gb',
		'You request is being processed.' : "Your request is being processed...",
		'Please wait.' : "Please wait.",
		'Show details' : "See details",
		'Hide details' : "Mask details"
	},
		
	'calendar' : {
		'outOfMinDate' : "You cannot make a reservation for a date previous to today's date.",
		'outOfMaxDate' : "You cannot book after: ",
		'tooManyNights': "You may book up to %x nights",
		'nightNotAvailable' : 'You cannot select a period including dates with any room available',
		'mustSelect2Dates': "Please select an arrival date and a departure date.",
		'date.already.clicked' : "In order to delete the date that you would like to change, please click on it."
	},
	
	'express' : {
		'No cards' : 'none',
		'With card' : 'yes',
		'close' : 'CLOSE',
		'more'	: 'Know more',
		'Show hotel average' : 'Hotel rating',
		'Show web average' : 'See hotel review',
		'Vote' : 'Write your review'
	},
	
	'popup' : {
		'Close': 'Close'                   
	},
	
	'multirates' : {
		'Back to prices' : 'Back to rates',
		'See prices for this room' : 'Display the rates for this room',
		'extend_stay_dates_not_changed_error_msg' : 'If you would like to modify your stay, please change the dates below. Otherwise, please click on the button corresponding to the "package".',
	    'Rooms 1 and 2' : 'Rooms 1 and 2',
        'Rooms 1, 2 and 3' : 'Rooms 1, 2 and 3',
		'Complimentary' : 'Complimentary',
		'OnRequest' : 'On request',
		'For 2 rooms' : 'For both rooms'
    },
  'upsale' : {
  	'2 chambres en famille' : '2 family rooms'
  },
  
  'customer-details' : {
		'Your Reservation' : 'Your reservation'
	},

	'title-reservation' : {
		'title' : 'Search results'
	},
    
    'confirmation' : {
		'Your selection' : 'Your selection',
    'Your confirmed booking' : 'Your reservation',
    'Confirmation of your booking request' : "Confirmation of your booking request" 
	},
    "cross_selling" : {
		'euro_savetime' : 'Save time by pre-filling the Europcar booking form with your name and contact details.',
		'europcar' : 'Europcar will not keep this information for any other purpose than your booking today. No credit card information will be transferred.',
		'yes' : 'YES',
		'no' : 'NO',
		'prefill' : 'Prefill the form',
		'noprefill' : 'I\'ll type my details again'
	},

	"promo.booking.errors.msg": {
		"Please fill in the following fields": "Please fill in the following:",
		"destination": "destination",
		"countries": "country",
		"cities": "city",
		"hotels": "hotel",
		"check-in date": "check-in date"
	},
	
	"promo.booking.defaults": {
		"Country": "Country",
		"Select a country": "Select a country",
		"City": "City",
		"Select a city": "Select a city",
		"Hotel": "Hotel",
		"Select a hotel": "Select a hotel",
		"Close": "Close"
	},
	
	"cartography": {
		"Show on a map": "Show on a map"
	},
	
	"hotels.list": {
		"Book": "Book",
		"Request a proposal": "Request a quotation",
		"wHotels" : "hotels",
		"wHotel" : "hotel",
		"You may select a maximum": "You may select a maximum of {0} hotels",
		"You have to select at least": "You have to select 1 hotel at least",
		"You may select up to": "You may select up to {0} hotels",
		"Compare": "Compare",
		"You should select at least to make a comparison": "You should select at least 2 hotels to make a comparison"
	},
	
	"hotels.filter": {
	    "TOW": "City center", 
	    "SUB": "Suburb", 
	    "AIR": "Airport",
	    "restaurant": "Restaurant",
	    "swimmingPool": "Swimming pool",
	    "parking": "Parking",
	    "meetingRoom": "Meeting room",
	    "wifi": "Wifi",
	    "petAllowed": "Pets allowed",
	    "hotels match": "hotels match",
	    "hotel match": "hotel match",
	    "Show list of hotels" : "Show list of hotels",
	    "No result": ""
	},
	
	"hotels.compare": {
		"Back": "Return to list of hotels",
		"Request a proposal": "Request a quotation",
        "You have to select one hotel at least": 'You have to select one hotel at least.',
        "you may select a maximum": "you may select a maximum of {0} hotels"
	},
	
	"profil.comboLabel": {
		"day" : "Day",
		"month" : "Month",
		"year" : "Year"
	},
	
	"profil.civilityLabel":{
			"R" : "Mr.",
			"A" : "Mrs",
			"M" : "Miss"
	},
	
	"profil.contextAccroche":{
			"pro" : "Are you a business traveller?",
			"leisure" : "Are you an individual?"
	},
	
	"profil.errors":{
			"generic.error.validation" : "Please amend or complete the details entered in the compulsory fields, shown in red.",
			"generic.error.technical" : "A technical problem has occurred on our site. Please try again.",
			"generic.error.service.down" : "This service is momentarily unavailable.",
			"generic.error.server" : "This service is momentarily unavailable.",
			
			"same card" : "You have already chosen an identical type of card.",
			"wait" : "Please wait...",
			"error.requested.invalid" : "We are unable to deal with your request: the link that you used is no longer valid.",
			
			"error.professionalData.get.failed" : "These Company user details are not valid: please check the details entered.",
			"error.identifiers.missing" : "These Company user details are not valid: please check the details entered.<br />Si vous êtes un particulier, <a href='/fr/profil/registration.shtml?context=B2C'>cliquez ici</a>",
			
			"error.email.blocked" : "Please amend or complete the details entered.<br />Email addresses ending in @accor.com and similar email addresses are not accepted because you already have an A|Club account.",
			"error.email.unknown" : "E-maill address unknown. Please enter correct address.",
			"error.email.already.exists" : 'This email address is already registered.<br />Please sign in by clicking on the "Already registered?" link.',
			
			"error.login.failed.wrong.identifiers" : "Not a valid identification. Please try again or create a profile (My Profile).",
			"error.login.failed.account.blocked" : 'To unblock your account, please click on the "Forgotten your password?" link.',
			"error.login.failed.application.blocked" : "Not a valid identification. Please try again or create a profile (My Profile).",

			"error.user.notIdentified" : 'To access this page, please sign in by <a href="/fr/profil/login.shtml">clicking here</a>.'
	},
	
	"profil.formValues":{
		"password" :"Password",
		"true" : "Yes",
		"false" : "No"
	},
	
	"profil.messages":{
    "message.email.requested.valid" : "Thank you for your request: a message has been sent.<br />To activate the change, please check your email inbox.",
    "message.password.requested.valid" : "Your password has been changed.<br >A notification email has been sent to you. "
  },
	
	"profil.modify":{
		'npai': "In previous newsletter mailings, your e-mail address was identified as inaccessible. Please modify if necessary.",
		'nocard':"You do not yet have a registered loyalty card.",
		'nofavhotel':"You have not selected a favorite hotel.",
		'noprefdestination' : "You have not yet chosen a favorite destination.",
		'unknown' : 'Not entered',
		'save eMail' : "Save email address",
		'save password' : 'Save password',
		'save' : 'Register',
		'validate identifiers' : 'Confirm my user details',
		'no.subscription' : "You are not subscribed to our newsletters.<br /><br />Subscribe now and receive our top promotions."
	},
	
	"profil.newsletter" : {
				
		// MAR_AEC
		"ALL_AEC" : "Accorhotels.com newsletter and services",
		"SOF_AEC" : "Sofitel.com newsletter and services",
		"NOV_AEC" : "Novotel.com newsletter and services",
		"MER_AEC" : "Mercure.com newsletter and services",
		"SUI_AEC" : "Suitehotel.com newsletter and services",
		"IBI_AEC" : "Ibishotel.com newsletter and services",
		"THA_AEC" : "AccorThalassa.com newsletter and services",
		"ETP_AEC" : "Etaphotel.com newsletter and services",
		"FOR_AEC" : "HotelFormule1.com newsletter and services",
		"PUL_AEC" : "Pullmanhotels.com newsletter and services",
		"ASE_AEC" : "News, services and special offers on the All Seasons site",
		
		// AEC
		"AEC" : "Special services from our e-concierge",
		
		// PMO
		"PMO" : "The Accorhotels.com newsletter",
		
		"PMO_AEC" : " Accorhotels.com newsletter and services",
		
		// Marque
		"ALL" : "Accorhotels.com newsletter",
		"SOF" : "Sofitel.com newsletter",
		"NOV" : "Novotel.com newsletter",
		"MER" : "Mercure.com newsletter",
		"SUI" : "Suitehotel.com newsletter",
		"IBI" : "Ibishotel.com newsletter",
		"THA" : "AccorThalassa.com newsletter",
		"ETP" : "Etaphotel.com newsletter",
		"FOR" : "HotelFormule1.com newsletter",
		"PUL" : "Pullmanhotels.com newsletter",
		"ASE" : "The latest news and special offers on the All Seasons site",
		"MGA" : "The MGallery.com newsletter",
		
		// PRO
		"BUS" : "Business traveler E-news",
		"MEE" : "Meetingataccorhotels.com E-news",
		
		// Autres
		"BRE" : "The offers on Accor hotels Brazil",
		"ASI" : "Accorhotels.com Asia",
		"AUS" : "Accorhotels.com Australia",
		"BOT" : "The Accor Thalassa online shop newsletter",
		"TRA" : "Travel agencies E-news",
		"LEI" : "Leisure Professionals E-news"
	},
	
	"freenight" : {"paper.needed" : "Paper Certificate needed"},
	"leasure.form" : {"welcome" : "Welcome to "},

  _ : function (cat,str) {
		return I18N.gettext(cat,str);
	},

	gettext : function (cat,str) {
		if (I18N[cat] && I18N[cat][str]) str = I18N[cat][str];
		return str;
	},
	
	/**
	 * Methode permettant d'afficher des textes a tous.
	 * exemple:
	 * I18N.getFormatedText("categety", "key", param0, param1, param2, ...., paramN)
	 * dant le texte a trou de "key", il sera remplacé {0} par param0, {1} par param1,
	 * .., {N} par paramN
	 * concretement:
	 * "test": {
	 *      "test": "This is the {0} time I'm {1} today"
	 *  }
	 *  I18N.getFormatedText("test", "test", "7th", "eating") 
	 * affichera: "This is the 7th time I'm eating today"
	 * @see http://javascript.internet.com/miscellaneous/message-format.html
	 */
	getFormatedText : function (cat,str) {
	    var str;
	    var i=2;
	    if (I18N[cat] && I18N[cat][str]) str = I18N[cat][str];
	    while(i<arguments.length) str=str.replace("{"+(i-2)+"}",arguments[i++]);
	    return str;
	}
}

