useGrafikpfad = 'images/shared/gbg/grafikpack-full';
useGrafikpfadLang = 'images/de/gbg/grafikpack-full';

var I18N = {
	'wordTable' : {
		'noObjInFrontOfAds' : 'Bitte die das Objekt nicht vor die Werbung schieben - auch DL braucht Werbung :/',
		'tavernTableEmpty' : 'Tisch {0} ist unbesetzt!',
		'tavernTableInfo' : 'Tischinfo',
		'tavernTableWithId' : 'Tisch {0}',
  		'DECIMAL_POINT' : ',',
  		'THOUSANDS_SEP' : '.',
  		'SECOND' : ['Sekunde', 'Sekunden'],
  		'MINUTE' : ['Minute', 'Minuten'],
  		'HOUR' : ['Stunde', 'Stunden'],
  		'DAY' : ['Tag', 'Tage'],
  		'ABORT' : 'Abbrechen',
  		'AREANAME_0' : 'Ozean',
  		'AREANAME_7' : 'Flüsterwald',
  		'AREANAME_8' : 'Splitterebene',
  		'AREANAME_9' : 'Nag\'rd Nöj',
  		'AREANAME_10' : 'Lichterhain',
  		'AREANAME_11' : 'Smaragdtäler',
  		'AREANAME_12' : 'Land von Damagra',
  		'AREANAME_13' : 'Moderia',
  		'AREANAME_14' : 'Singwüste',
  		'AREANAME_15' : 'Glastal',
  		'HIRE_PACK_QUESTION' : 'Das Söldnerteam \'{0}\' wirklich anheuern?',
  		'JS_NO_MONSTERS_ON_FIELD' : 'Keine Monster',
  		'JS_MONSTER_DISPLAY_DEACTIVATED' : 'Monsteranzeige deaktiviert',
  		'QUEUE_ENTRY_READY' : 'Fertig',
		'BUILDING_PLACEMENT_INFO' : 'Platziert das Gebäude an der gewünschten Position in Eurer Siedlung durch Bewegen der Maus. Klickt dort dann mit der linken Maustaste, um den Bau zu starten. [color=tomato]Grüne Bereiche werden beim Platzieren entfernt, rote Bereiche können nicht entfernt werden.[/color] Falls Ihr das Gebäude doch nicht errichten wollt, schliesst einfach dieses Fenster und die Platzierung wird abgebrochen.',
		'INFO_MENU_HH' : 'Gebäu<u>d</u>ebau',
		'INFO_MENU_BIBO' : '<u>B</u>ibliothek',
		'INFO_MENU_TEMPEL' : 'Tempe<u>l</u>',
		'INFO_MENU_HEXE' : 'Laboratorium',
		'INFO_MENU_KASERNE' : 'K<u>a</u>serne',
		'INFO_MENU_FRIEDHOF' : '<u>F</u>riedhof',
		'INFO_MENU_DRACHENHOF' : 'Drachenh<u>o</u>f',
		'INFO_MENU_SCHATTENPORTAL' : 'S<u>c</u>hattenportal',
		'INFO_MENU_VERTEIDIGUNG' : '<u>V</u>erteidigung',
		'INFO_MENU_MARKT' : '<u>M</u>arktplatz',
		'INFO_MENU_HANDEL' : 'Handel',
		'INFO_MENU_WAPPEN' : '<u>W</u>appen',
		'INFO_MENU_TRUPPEN' : '<u>T</u>ruppen',
		'INFO_MENU_EINHEITEN' : '<u>E</u>inheiten',
		'INFO_MENU_KARTE' : '<u>K</u>arte',
		'INFO_MENU_AREA' : 'Gebiete',
		'INFO_MENU_GRUPPE' : '<u>G</u>ruppe',
		'INFO_MENU_KRIEG' : 'Kriege',
		'INFO_MENU_TOPLIST1' : 'Toplist 1',
		'INFO_MENU_TOPLIST2' : 'Toplist 2',
		'INFO_MENU_TOPLIST3' : 'Toplist 3',
		'INFO_MENU_TOPLISTG' : 'Gruppentoplist',
		'INFO_MENU_IGM' : '<u>N</u>achrichten',
		'INFO_MENU_HILFE' : '<u>H</u>ilfe',
		'INFO_MENU_SONSTIGES' : 'Sonstiges',
		'INFO_MENU_TAVERN' : 'Taverne',
		'INFO_MENU_COMMITMENT' : 'Umfragen',
		'INFO_MENU_TOURNEY' : 'Turniere',
		'INFO_MENU_SETTLESHOP' : 'Dekoshop',
		'INFO_MENU_JUICESHOP' : 'Basar',
		'INFO_MENU_QUESTBUILDING1' : 'Magisches Gewächshaus',
		'INFO_MENU_FORUM' : 'Forum',
		'INFO_MENU_TRIBUNAL' : 'INFO_MENU_TRIBUNAL',
		'INFO_MENU_OUTLAWS' : 'INFO_MENU_OUTLAWS',
		'GTYPE_ANARCHIE_BONUS' : 'Herrscht Anarchie, werden zweimal im Monat (1. und 15. Tag) sämtliche Gruppenposten zufällig unter allen Gruppenmitgliedern verteilt. Es wird eine Informationsnachricht an die neuen Amtsinhaber verschickt, falls dies passiert.',
		'GTYPE_SCHATTENBRUT_BONUS' : 'Bei der Schattenbrut werden täglich um 4:30 die Gruppenposten der Stärke der Spieler nach (Bewohnerzahl) verteilt. Der stärkste Spieler erhält dabei den Führungsposten. Absteigend die Posten für den Nachfolger, General, Minister und Magier.',
		'GTYPE_RITUALISTEN_BONUS' : 'Die Ritualisten legen sehr viel Wert auf Opfergaben. Die Posten werden täglich um 4:30 nach der Menge der Opferpunkte unter den Mitgliedern verteilt. Je mehr Opferpunkte, desto einflussreicher der Posten. Absteigend werden die Posten belegt für den Gruppenleiter, Nachfolger, General, Minister und Magier.',
		'GTYPE_JAEGER_SAMMLER_BONUS' : 'Bei den Jägern und Sammlern hat derjenige das Vorrecht auf Beherrschung der Gruppe, der die größte Produktion vorweisen kann. Absteigend nach Menge der produzierten Rohstoffe werden die anderen Ämter (Nachfolger, General, Minister, Magier) verteilt (täglich um 4:30).',
		'MAX_TRADE_DIFF_X' : 'Wertdifferenz darf max. {0}% betragen!',
		'TRADE_DIFF_OKAY' : 'Verhältnis der Ressourcen OK!',
		'ORE' : 'Erz',
		'GOLD' : 'Gold',
		'WOOD' : 'Holz',
		'FOOD' : 'Nahrung',
		'SILVER' : 'Silber',
		'DURATION_UNTIL_ENDTIME' : '{0} bis {1}',
		'ENTER_TEMPLATE_NAME' : 'Wie soll die Vorlage heissen?',
		'YES' : 'Ja',
		'NO' : 'Nein',
		'MONSTERFIELD_TYPE_0' : 'Gemischt',
		'MONSTERFIELD_TYPE_1' : 'Nahkampf',
		'MONSTERFIELD_TYPE_2' : 'Fernkampf',
		'MONSTERFIELD_TYPE_3' : 'Kampfmagie',
		'MONSTERFIELD_TYPE_4' : 'Supportmagie',
		'MONSTERFIELD_CHALLENGE' : '(Herausforderung)',
		'SAVE_NOTES' : 'Notizblöcke speichern',
		'CLOSE_NOTES' : 'Schliessen',
		'ITEM_COSTS_POPUP' : 'Der Gegenstand \'{0}\' verändert die Kapazität einer Einheit um [b]{1} TP[/b] und man benötigt [b]{2} Opferpunkte[/b] um Ihn ausrüsten zu können. Er kostet Euch:\n\n[img]{3}/icons/20x20/erz.gif[/img][b] Erz:[/b] {4} - [img]{3}/icons/20x20/gold.gif[/img][b] Gold:[/b] {5} - [img]{3}/icons/20x20/holz.gif[/img][b] Holz:[/b] {6} - [img]{3}/icons/20x20/nahrung_{7}.gif[/img][b] Nahrung:[/b] {8} - [img]{3}/icons/20x20/silber.gif[/img][b] Silber:[/b] {9}',
		'DO_REPAIR' : 'Reparieren',
		'REPAIR_MARKET_RES' : 'Euch fehlen folgende Ressourcen zum [b]Reparieren[/b]:',
		'HEAL_UNITS' : 'Einheiten heilen',
		'HEAL_MARKET_RES' : 'Euch fehlen folgende Ressourcen zum [b]Heilen[/b]:',
		'CHANGE_LEADER_CONFIRMATION' : 'Möchtest du [b]{0}[/b] wirklich zum Gruppenleiter ernennen?',
		'MISSING_RES' : 'Fehlende Ressourcen',
		'FACEBOOK_FRIENDLIST' : 'Deine Freunde bei Facebook',
		'FB_INVITE_NAME' : 'Battlegrounds - Der Krieg ruft Dich!',
		'FB_INVITE_ACTION_NAME' : 'Werde ein Teil von Battlegrounds und kämpfe deine eigenen Schlachten!',
		'FB_INVITE_DESC' : 'Tauche in Battlegrounds ein, dem fantastischen Actionstrategiespiel! Züchte Drachen und grauenhafte Dämonen und sichere Dir in dieser nie da gewesenen Mischung aus Action, Strategie und Rollenspiel einen Platz in der Geschichte! Melde Dich sofort an - kostenlos und unverbindlich - und werde Teil dieses ewigen Krieges um Macht und Ruhm.',
		'FB_INVITE' : 'FB_INVITE',
		'MONDAY_SHORT' : 'Mo',
		'TUESDAY_SHORT' : 'Di',
		'WEDNESDAY_SHORT' : 'Mi',
		'THURSDAY_SHORT' : 'Do',
		'FRIDAY_SHORT' : 'Fr',
		'SATURDAY_SHORT' : 'Sa',
		'SUNDAY_SHORT' : 'So',
		'DISTANCE_UNIT_SHORT' : 'km',
		'DISTANCE_UNIT' : 'Kilometer',
		'CREATE_DIPLOMACY_BUTTON' : 'Eintragen',
		'DIPLOMACY_ACCEPT' : 'Annehmen',
		'DIPLOMACY_REJECT' : 'Ablehnen',
		'SPEEDUP_NO_QUEUEENTRIES_INFO' : 'Ihr wollt etwas beschleunigen mein Herr? Eure Auftragsliste ist leer. Gebt neue Gebäude, Forschungen oder Einheiten in Auftrag und ich zeige euch, wie schnell ich sie fertigstellen kann.'
	},
	
	/**
	  * Format number according to the locale
	  *
	  * @param theNumber The number to be formatted
	  * @param decimalDigits The number of decimal digits can be passed to this functions, as it is not locale specific. Defaults to 0 decimal digits.
	  */
	'numberFormat' : function(theNumber, decimalDigits) {
		return(number_format(theNumber, decimalDigits, this.wordTable['DECIMAL_POINT'], this.wordTable['THOUSANDS_SEP']));
	},

	/**
	 * Format a duration according to the locale
	 *
	 * @param duration The duration to format
	 * @param showUnit (optional) If the unit shall be displayed, set this to true (default)
	 */
	 'durationFormat' : function(duration, showUnit) {
		if(duration < 60) {
		  multiplier = 1;
		  unitLangId = 'SECOND';
		} else if(duration < 3600) {
		  multiplier = 60;
		  unitLangId = 'MINUTE';
		} else if(duration < 86400) {
		  multiplier = 3600;
		  unitLangId = 'HOUR';
		} else {
		  multiplier = 86400;
		  unitLangId = 'DAY';
		}
		
		durationString = this.numberFormat(duration / multiplier, 1);
		if(durationString.indexOf(this.wordTable['DECIMAL_POINT']) != -1) { // If we have a fractionated number
			durationString = durationString.replace(/0+$/, '');						// Trim right zeroes
			if(durationString.substr(durationString.length - 1, 1) == this.wordTable['DECIMAL_POINT']) durationString = durationString.substr(0, durationString.length - 1);  // If, after trimming zeroes, the decimal point is the end of the string, remove it as well
		}
		return(durationString + (showUnit ? ' ' + this.pluralize(Math.round(duration / multiplier * 10) / 10, unitLangId) : ''));
	},
	
	/**
	  * Function to pluralize a given language object
	  *
	  * @param theNumber The number that we are seeking the plural form for
	  * @param langObjId The language object ID. This must refer to an array of objects inside this internationalization classes word table
	  */
	'pluralize' : function(theNumber, langObjId) {
		if(theNumber != 1) return(this.wordTable[langObjId][1]); // In german, everything with a count of 2 or more uses the plural
		return(this.wordTable[langObjId][0]);			// Otherwise return the singular
	},
	
	/**
	  * Returns a specific string
	  * In contrast to the PHP I18N function, this function is used rarely, only when JS strings have wildcards that must be replaced. Usually, the variables are accessed directly through the word table.
          *
	  * @param varName The variable name of the string
	  * @param params A number indexed array of values. The wildcard {0} in the string is replaced with the value at index 0 etc. If the array is empty, nothing is changed
	  */
	'getSpecificString' : function(varName, params) {
		var varVal = this.wordTable[varName];
		if(typeof(varVal) == 'undefined') return(varName);
		if(typeof(params) != 'undefined' && typeof(params.length) != 'undefined') {
			for(var i = 0, len = params.length; i < len; ++i) {
				var replacer = new RegExp('\\{' + String(i) + '\\}', 'g');
				varVal = varVal.replace(replacer, params[i]);
			}
		}
		return(varVal);
	}


}
