ZEturf = {
	constant: {
		betslips: {
			fr: 1,
			inter: 2
		},
		creditMaxPeriodAttributes: { 45: 1, 46: 2, 47: 3 },
		documentLegalType: {
			jeuResponsable: 2
		},
		TypeJetonCritere: {
			PARI: 1,
			PARI_VERTICAL: 2,
			QUESTION: 3,
			COURSE: 4,
			REUNION: 5,
			PAYS_REUNION: 6,
			TYPE_COURSE: 7,
			DEPOT: 8,
			MOBILE_APP: 9,
			SPORT_MODE: 100,
			SPORT_TYPE_MISE: 102,
			SPORT_COTE_MINIMALE: 103,
			SPORT_ID_SPORT: 104,
			SPORT_ID_COMPETITION: 105,
			SPORT_ID_EVENEMENT: 106,
			SPORT_ID_QUESTION: 107,
			SPORT_NB_CHOIX_MIN_COMBINE: 108
		},
		OperationMemberProgressionEtat: { EN_ATTENTE: 0, EN_COURS: 1, SUCCESS: 2, EXPIRE: 3, IGNORE: 4 },
		marketing: {
			defi: 5,
			cagnotte: 1,
			cashback: 3,
			filrouge: 7,
			generique: 6,
			rajoutze5: 4,
			zemiles: 2,
			sport: {
				cagnotte: 1,
				eurosofferts: 2,
				cashback: 3,
				gainsboostes: 4,
				defi: 5,
				gainsdoubles: 6,
				coucoursfreebet: 8,
				cotesboostees: 9,
				cote42: 10,
				choisistonchampion: 11
			},
			modeouverturelien: {
				memeonglet: 1,
				nouvelonglet: 2,
				nouvellefenetre640x692: 3,
				nouvellefenetre920x420: 4
			}
		},
		PariVertical: {
			1: 'V75',
			2: 'GRAND_SLAM_75',
			3: 'V86',
			4: 'V64',
			5: 'V65',
			6: 'DD',
			7: 'V4',
			8: 'V5',
			9: 'DD2',
			37: 'D4',
			32: 'D5',
			33: 'MR',
			10: 'PP',
			11: 'QP',
			35: 'Z3PLUS',
			36: 'Z4PLUS',
			34: 'Z5PLUS',
			12: 'WSC',
			13: 'VIC5'
		},
		PariZEturf: {
			1: 'Simple gagnant',
			2: 'Simple plac\u00e9',
			3: 'Jumel\u00e9 gagnant',
			4: 'Jumel\u00e9 ordre',
			5: 'Jumel\u00e9 plac\u00e9',
			6: 'Trio',
			7: 'ZE couillon',
			8: 'ZE 4',
			9: 'ZE report',
			10: 'ZE 5X',
			11: 'Triordre',
			12: 'ZE 5',
			13: 'ZE 2/4',
			14: 'Simple plac\u00e9 4',
			15: 'ZE 234',
			16: 'ZE 345',
			18: 'Triple Trio',
			19: 'Daily Quattro',
			20: 'Daily 5',
			22: 'ZE4ordre',
			24: 'ZE4+ (obsol\u00e8te)',
			25: 'ZE5+ (obsol\u00e8te)',
			26: 'Tierce',
			28: 'Multi',
			29: 'ZEshow',
			30: 'Daily R\u00e9union',
			31: 'Super Simple',
			32: 'D5 - Daily 5',
			33: 'MR - Maxi R\u00e9union',
			37: 'D4 - Daily 4',
			39: 'ZE5ordre'
		},
		phone_number_prefixes: {
			'+225': { length: [10], starts: ['01', '05'] },
			'+228': { length: [8], starts: ['70', '73', '90', '91', '92', '93', '79', '99', '98', '96', '97'] },
			'+237': { length: [9], starts: ['242', '243', '62', '65', '66', '67', '68', '69'] },
			'+224': { length: [9], starts: ['66', '610', '611', '62'] },
			'+229': { length: [8], starts: ['51', '52', '53', '54', '61', '62', '66', '67', '69', '90', '91', '96', '97'] },
			'+223': {
				length: [8],
				starts: [
					'66',
					'61',
					'65',
					'62',
					'69',
					'80',
					'96',
					'97',
					'98',
					'76',
					'71',
					'82',
					'83',
					'84',
					'90',
					'91',
					'92',
					'93',
					'94'
				]
			},
			'+226': {
				length: [8],
				starts: [
					'01',
					'02',
					'51',
					'52',
					'53',
					'60',
					'61',
					'62',
					'63',
					'70',
					'71',
					'72',
					'73',
					'06',
					'07',
					'54',
					'55',
					'56',
					'57',
					'64',
					'65',
					'66',
					'67',
					'74',
					'75',
					'76',
					'77'
				]
			},
			'+243': { length: [9], starts: ['80', '81', '82', '84', '85', '89'] },
			'+221': { length: [9], starts: ['33', '70', '75', '76', '77', '78'] }
		},
		preferred_choices: {
			fr: ['FR', 'RE', 'BL', 'MF', 'GP', 'GF', 'MQ', 'YT', 'WF', 'NC', 'PF', 'PM'],
			be: ['BE', 'FR', 'CH', 'CA', 'SN'],
			es: ['ES'],
			nl: ['NL'],
			sn: ['SN'],
			default: ['FR', 'BE', 'CH', 'CA', 'SN', 'ES', 'NL']
		},
		domTomCountryCodes: ['RE', 'BL', 'MF', 'GP', 'GF', 'MQ', 'YT', 'WF', 'NC', 'PF', 'PM'],
		disabled_dropdown_for_tld: { sn: ['SN'] },
		rate_cfa_euro: 0.0015,
		multiple_cfa_euro: 20,
		regex: {
			pwd: '^(?=.*[A-Z])(?=.*[a-z])(?=.*\\d)(?=.*[\u20ac\\-+^_&#\\\'(),.\\/<>\\[\\]\\{\\}|~!*$=@%_?:;"]).+$',
			login:
				'^(?!__)(?! )(?!.*  )(?!.*@.*\\..*)(?!.*\\..*@.*)[0-9A-Za-z\u00c0\u00c2\u00c4\u00c7\u00c9\u00c8\u00ca\u00cb\u00ce\u00cf\u00d4\u00d6\u00d9\u00db\u00dc\u0178\u00e0\u00e2\u00e4\u00e7\u00e9\u00e8\u00ea\u00eb\u00ee\u00ef\u00f4\u00f6\u00f9\u00fb\u00fc\u00ff\u00c6\u0152\u00e6\u0153\u20ac#$()*,.\\/:;=?!@_ -]*$'
		},
		retrait_min_lga_cinetpay: 1000,
		retrait_max_lga_cinetpay: 200000,
		themes: { sport: 'zebet', turf: 'turf' },
		tlds: { fr: 'fr', com: 'com', sn: 'sn', be: 'be', nl: 'nl', es: 'es' },
		TypeDeNumeroDNI: '6',
		TypeDeNumeroNIE: '7',
		typeNumeroIdentite: {
			UNKNOWN: 0,
			CARTE_IDENTITE: 1,
			CARTE_SEJOUR: 2,
			PASSEPORT: 3,
			NUMERO_FISCAL: 4,
			AUTRE: 5,
			DNI: 6,
			NIE: 7,
			NUMERO_SECURITE_SOCIALE: 8
		},
		userdataOverrideCookieName: 'userdata_override',
		messagesTextoCookieName: 'messages_textos',
		messagesNotificationsCookieName: 'messages_notifications',
		ZEturfDureeInactiviteTtl: '{"es":1200,"com":1800,"nl":3600}',
		ZEturfES: '25',

		propositionlimites:
			'{"occasionnel":{"plafonds_mise_mise_max":200,"plafonds_creditMaxInfo_creditMax":50,"plafonds_plafonds_retrait_auto_seuil_solde_max":250,"plafonds_plafonds_retrait_auto_montant_solde_cible":50},"debutant":{"plafonds_mise_mise_max":500,"plafonds_creditMaxInfo_creditMax":200,"plafonds_plafonds_retrait_auto_seuil_solde_max":400,"plafonds_plafonds_retrait_auto_montant_solde_cible":200},"regulier":{"plafonds_mise_mise_max":1500,"plafonds_creditMaxInfo_creditMax":750,"plafonds_plafonds_retrait_auto_seuil_solde_max":1000,"plafonds_plafonds_retrait_auto_montant_solde_cible":750},"assidu":{"plafonds_mise_mise_max":5000,"plafonds_creditMaxInfo_creditMax":1500,"plafonds_plafonds_retrait_auto_seuil_solde_max":2000,"plafonds_plafonds_retrait_auto_montant_solde_cible":1500}}',
		ZEturfPro: {
			CourseType: { P: 2, S: 7, H: 4, C: 6, T: 5, A: 1, M: 3 },
			Oeilleres: { X: [1, 3], A: [2, 4] },
			Deferes: { A: 1, B: 1, C: 5, H: 5, P: 2, Q: 2, D: 6, I: 6, 4: 3, 5: 3, E: 7, J: 7, F: 16, K: 16, G: 25, L: 25 }
		},
		CourseEtatPage: { DEPART_LOINTAIN: 1, DEPART_PROCHE: 2, EN_COURS: 3, DEFINITIF: 4 },
		depot_min_lga_cinetpay: 1000,
		depot_max_lga_cinetpay: 50000,
		harryBoy: 'HB',
		host: document.location.host,
		RestrictionClient: {
			ACCESS_REFUSED_MAX_INVALID_LOGIN_REACHED: 'ACCESS_REFUSED_MAX_INVALID_LOGIN_REACHED',
			ACCES_REFUSED_BAD_REQUEST: 'ACCES_REFUSED_BAD_REQUEST',
			ACCES_REFUSED_BAD_CREDENTIALS: 'ACCES_REFUSED_BAD_CREDENTIALS',
			ACCESS_REFUSED_BIRTHDATE: 'ACCESS_REFUSED_BIRTHDATE',
			ACCESS_REFUSED_EMPTY_TOKEN: 'ACCESS_REFUSED_EMPTY_TOKEN',
			ACCESS_REFUSED_CRUKS: 'ACCESS_REFUSED_CRUKS',
			ACCESS_REFUSED_CJH: 'ACCESS_REFUSED_CJH',
			ACCES_REFUSED_GEO: 'ACCES_REFUSED_GEO',
			ACCOUNT_CLOSED: 'ACCOUNT_CLOSED',
			ACCOUNT_COOLOFF: 'ACCOUNT_COOLOFF',
			RENEW_PASSWORD: 'RENEW_PASSWORD',
			READ_ONLY: 'READ_ONLY',
			NEED_RULES_VALIDATION: 'NEED_RULES_VALIDATION',
			ERREUR_MATERIELLE_SAISIE: 'ERREUR_MATERIELLE_SAISIE',
			JOUEUR_A_RISQUE_JEU_RESPONSABLE: 'JEU_RESPONSABLE',
			INTERDIT_DE_JEU: 'INTERDIT_DE_JEU',
			MAX_ATTEMPT_REACHED: 'MAX_ATTEMPT_REACHED',
			ACCESS_REFUSED_COMPTE_SUSPENDU: 'ACCESS_REFUSED_COMPTE_SUSPENDU',
			RESTR_DEPOT: 'RESTRICTION_DEPOT',
			RESTR_JEU: 'RESTRICTION_JEU',
			RESTR_RETRAIT: 'RESTRICTION_RETRAIT',
			ANJ_ACCESS_BLACKLISTED: 'ANJ_ACCESS_BLACKLISTED'
		},
		limite: {
			credit_max_day: 1,
			credit_max_month: 3,
			credit_max_week: 2
		}
	},

	applyConfig: function (params) {
		this.theme = params.theme;
		for (var serverConstant in params.constant) {
			this.constant[serverConstant] = params.constant[serverConstant];
		}
	},

	init: function () {
		// Si le module "monaie" est chargé, on l'initialise
		if (typeof CurrencyEuro != 'undefined' && CurrencyEuro) {
			// Objet global (on a plus le CurrencyCFA)
			ZEturfCurrency = CurrencyEuro;
		}
	}
};
