﻿// Sprachmenue Konfiguration
// nicht benoetigte Menueeintraege mit // in allen 3 Bereichen auskommentieren (languages, countycode, available_parts)
// die Sprache erscheint dann nicht mehr im Menue
// verfuegbare Bereiche der einzelnen Sprachen bei available_parts eintragen

// current_part und current_language muessen in den einzelnen Seiten gesetzt sein.
// current_part ist der Bereich, der beim Sprachwechsel erscheint (wenn vorhanden)
// current_language ist die aktuelle Sprache
// 	  var current_part='in-depth';
//	  var current_language='de';

// Sprachmenue-Liste
var languages = new Array();
// Wording des Sprachmen&uumls
languages.push('Deutsch');    // de
languages.push('English');    // en
languages.push('Italiano');   // it
languages.push('Français');   // fr
languages.push('Español');    // es
languages.push('Português');  // pt
languages.push('Nederlands'); // nl
languages.push('Dansk');      // da
languages.push('Svenska');    // sv
languages.push('&#1056;&#1091;&#1089;&#1089;&#1082;&#1080;&#1081;'); // ru
languages.push('suomi');      // fi
languages.push('Ελληνικά');    // el

// Laenderkuerzel-Liste
var countrycodes = new Array();
// Laenderkuerzel der Sprachen in der Reihenfolge des Sprachmenues (languages)
countrycodes.push('de'); // de
countrycodes.push('en'); // en
countrycodes.push('it'); // it
countrycodes.push('fr'); // fr
countrycodes.push('es'); // es
countrycodes.push('pt'); // pt
countrycodes.push('nl'); // nl
countrycodes.push('da'); // da
countrycodes.push('sv'); // sv
countrycodes.push('ru'); // ru
countrycodes.push('fi'); // fi
countrycodes.push('el'); // el

// Liste der verfuegbaren Bereiche der Sprachen
var available_parts = new Array();
// Verfuegbare Bereiche der Sprachen in der Reihenfolge des Sprachmenues (languages)
// nach folgendem Schema:
// Sprachhinweis, Disclaimer, Startseite, Ueberblick, Erleben, Transparent, Vertiefen, Kommunizieren, Informieren
// (sprachhinweis, disclaimer, home, overview, experience, transparent, in-depth, communication, information)
available_parts.push(new Array(1,1,1,1,1,1,1,1,0)); // de
available_parts.push(new Array(1,1,1,1,1,1,1,1,0)); // en
available_parts.push(new Array(1,1,1,0,0,0,1,1,0)); // it
available_parts.push(new Array(1,1,1,0,0,0,1,1,0)); // fr
available_parts.push(new Array(1,1,1,0,0,0,1,1,0)); // es
available_parts.push(new Array(1,1,1,0,0,0,1,1,0)); // pt
available_parts.push(new Array(1,1,1,0,0,0,1,1,0)); // nl
available_parts.push(new Array(1,1,1,0,0,0,1,0,0)); // da
available_parts.push(new Array(1,1,1,0,0,0,1,0,0)); // sv
available_parts.push(new Array(1,1,1,0,0,0,1,0,0)); // ru
available_parts.push(new Array(1,1,1,0,0,0,1,0,0)); // fi
available_parts.push(new Array(1,1,1,0,0,0,1,0,0)); // el

//alert(available_parts[1][6]);

var part_names = new Array();
// Namen der Bereiche der BAi
// Bereichsvariable wird im Head der HTML-Dateien gesetzt (current_part)
part_names.push('languages'); 
part_names.push('disclaimer'); 
part_names.push('home'); 
part_names.push('overview'); 
part_names.push('experience'); 
part_names.push('transparent'); 
part_names.push('in-depth'); 
part_names.push('communication'); 
part_names.push('information'); 


var part_paths = new Array();
// Pfade der Bereiche
// Pfade und Dateinamen der Startseiten der Bereiche
// Sprachenhinweis, Disclaimer, Startseite, Ueberblick, Erleben, Transparent, Vertiefen, Kommunizieren, Informieren
part_paths.push('languages.html'); 
part_paths.push('index.html'); 
part_paths.push('flash8.html'); 
part_paths.push('overview/index.html'); 
part_paths.push('experience/index.html'); 
part_paths.push('transparent/index.html'); 
part_paths.push('in-depth/index_a.shtml'); 
part_paths.push('communication/index.shtml'); 
part_paths.push('information/index.html'); 


function getLanguagePath(theCountryCode, thePart){
	// liefert den Pfad (inkl. Dateiname) zum Bereich der gewaehlten Sprache
	// theCountryCode: Laenderkuerzel (de, en, ...)
	// thePart: Name des Bereichs (disclaimer, home, ...)
	var partPage="languages.html";
	var pathUp="";
	var langId=countrycodes.findIndex(theCountryCode);
	var partId=part_names.findIndex(thePart);
	if (partId>-1&&langId>-1) {
		var isAvailable=available_parts[langId][partId];
		if (isAvailable>0) partPage=part_paths[partId];
	}
	// ausnahme fuer sitemap, da in jeder sprache vorhanden
	if (thePart=='sitemap') {
		var isAvailable=available_parts[langId][1];
		if (isAvailable>0) partPage='sitemap.html';
		partId=1; // damit die naechste zeile nicht pathUp setzt
	}
	if (partId>=3 || partId<0) pathUp="../";
	var thePath=pathUp+"../"+theCountryCode+"/"+partPage;
	return thePath;
}


Array.prototype.findIndex = function(value){
// ermittelt den Index eines Elements aus einer Liste
	var defRet = -1;
	for (var i=0; i < this.length; i++) {
		if (this[i] == value) {
			return i;
		}
	}
	return defRet;
};



var menu1=new Array();
if (typeof current_part=="undefined"){
// falls auf Seite nicht definiert, Defaultwert setzen
	var current_part=part_names[0];
}
if (typeof current_language=="undefined"){
// falls auf Seite nicht definiert, Defaultwert setzen
	var current_language=countrycodes[0];
}
// Generierung Sprachmenue aus den Listen
for (var i=0; i < languages.length; i++) {
	var my_language=languages[i];
	var my_countrycode=countrycodes[i];
	var my_path=getLanguagePath(my_countrycode, current_part);
	var my_link='<a href="'+my_path+'">'+my_language+'</a>';
	menu1.push(my_link);
}


function writeIsPartAvailable(theCountryCode, thePart){
// setzt die Kreuze der verfuegbaren Bereiche/Sprachen auf der Hinweis-Seite (language.html)
	var langId=countrycodes.findIndex(theCountryCode);
	if (langId==-1) {
		document.write('&nbsp;');
	} else {
		var isAvailable=available_parts[langId][thePart];

		if (isAvailable==1) {
			document.write('X');
		} else {
			document.write('&nbsp;');
		}
	}
}



