var mtimeout = 500;
var closetimer = 0;
var ddmenuitem = 0;
var faceIndex = -1;
var facesDelay = 10000;
var facesPaused = false;
var facesRemainMs = 0;
var facesReplay = false;
var faceDiv1;
var faceDiv2;
var fx1;
var fx2;
var pageLoadComplete = false;
var faces = [
	{
		pic: 'lueck.jpg',
		name: 'Dr. Monika Lück',
		position: 'Consultant',
		cite: 'Bei ORBITAK werden  Wissenschaft und Praxis vernetzt: Meine Erfahrungen aus dem wissenschaftlichen Umfeld um Themen wie das menschliche Fühlen, Denken und Handeln fließen innovativ in unsere Beratungsprojekte ein.'
	},
	{
		pic: 'szczesny.jpg',
		name: 'Mathilde Szczesny',
		position: 'Auszubildende',
		cite: 'Ich mache meine Ausbildung bei ORBITAK, weil ich hier viele Möglichkeiten und Perspektiven für meine berufliche Zukunft sehe.'
	},
	{
		pic: 'huljus.jpg',
		name: 'Marie Juliane Huljus',
		position: 'Consultant',
		cite: 'ORBITAK ermöglicht mir, meine humanwissenschaftliche Ausbildung mit betriebswirtschaftlichen Themen praxisnah zu verbinden.'
	},
	{
		pic: 'preuschoff.jpg',
		name: 'Dr. Alexander Preuschoff',
		position: 'Manager',
		cite: 'Ich bin Manager bei der ORBITAK, weil in unseren Projekten die eigene Meinung zählt und damit Leadership bewiesen werden kann.'
	},
	{
		pic: 'dalenburg.jpg',
		name: 'Tibor Dalenburg',
		position: 'Consultant',
		cite: 'Ich arbeite bei der ORBITAK, weil mir hier täglich ein hoher Grad an Dynamik in Projekten mit professionellem Umfeld geboten wird.'
	},
	{
		pic: 'herbst.jpg',
		name: 'Sebastian Herbst',
		position: 'Human Resources Manager',
		cite: 'Die Möglichkeit, in einem internationalen Umfeld Projekte gemeinsam zu bewegen, ist eine Bereicherung für die tägliche Arbeit.'
	},
	{
		pic: 'nonnenbruch.jpg',
		name: 'Jann Nonnenbruch',
		position: 'Consultant',
		cite: 'Ich arbeite gerne hier, weil kein Tag wie der andere ist. Täglich gibt es neue Herausforderungen, die die Kreativität eines jeden einzelnen fordern.'
	},
	{
		pic: 'motzkus.jpg',
		name: 'Steffen Motzkus',
		position: 'Consultant',
		cite: 'Mir gefällt bei ORBITAK die Kombination aus eigenständiger Projektverantwortung und die Unterstützung durch ein engagiertes Team. Die flachen Hierarchien bei ORBITAK beschleunigen den direkten und schnellen Ideenaustausch.'
	},
	{
		pic: 'haerter.jpg',
		name: 'Matthias Härter',
		position: 'Consultant',
		cite: 'Ich arbeite bei ORBITAK, da es mir nicht genug ist, nur zu wissen - ich will auch anwenden können.'
	},
	{
		pic: 'hollmann.jpg',
		name: 'Dierk Hollmann',
		position: 'Controller',
		cite: 'Ich bin für die ORBITAK tätig, weil ich mich in diesem erfolgsorientiertem Unternehmen zu Hause fühle und die ORBITAK eine professionelle Basis für die Zukunft bietet.'
	},
	{
		pic: 'herberg.jpg',
		name: 'Alexander Herberg',
		position: 'Consultant',
		cite: 'Ich arbeite bei ORBITAK, weil das Aufgabenfeld vielfältig und herausfordernd ist. Die Projekte sind spannend und abwechslungsreich.'
	},
	{
		pic: 'heckel.jpg',
		name: 'Stefan Heckel',
		position: 'Consultant',
		cite: 'Als Berufseinsteiger bei ORBITAK werde ich direkt in anspruchsvolle Projekte in innovativen Branchen eingebunden. Mein Beratungs- und Fachwissen wächst enorm und ich lerne, was eine professionelle Unternehmensberatung ausmacht!'
	}
];

function onPageLoadComplete() {
	pageLoadComplete = true;
}

function setMouseAction(li) {
	var a = $(li.getElement('a'));
	var child = $(li.getElement('div'));
	if (child) {
		a.onmouseover = function() {
			mcancelclosetime();
			mclose();
			ddmenuitem = child;
			ddmenuitem.setStyle('visibility', 'visible');
		};
		a.onmouseout = function() {
			mclosetime();
		};
		child.onmouseover = function() {
			mcancelclosetime();
		};
		child.onmouseout = function() {
			mclosetime();
		};
	}
}

function mclose() {
	if (ddmenuitem) {
		ddmenuitem.setStyle('visibility', 'hidden');
	}
}

function mclosetime() {
	closetimer = window.setTimeout(mclose, mtimeout);
}

function mcancelclosetime() {
	if (closetimer) {
		window.clearTimeout(closetimer);
		closetimer = 0;
	}
}

function setupHoverMenus() {
	if ($('sideNavContentIe')) {
		$('sideNavContentIe').setStyle('display', 'none');
	}
	var nodes = $('navigation').getElements('li');
	for (var i=0; i<nodes.length; i++) {
		var node = nodes[i];
		if (node.getParent() == $('navigation')) {	
			setMouseAction(node);
		}
	}
}

function checkSize() {
	var nav = document.getElementById('sideNavBox');
	if (nav) {
		var content = document.getElementById('content');
		if (nav.offsetHeight+50 > content.offsetHeight) {
			content.style.height = (nav.offsetHeight+50) + "px";
		}
	}
}

function getKompetenzenAktivId() {
	var map = {
		28: 12,
		27: 11,
		26: 10,
		25: 9,
		24: 8,
		23: 7,
		22: 6,
		21: 5,
		20: 4,
		19: 3,
		18: 2,
		29: 0,
		69: 1
	};
	var path = '' + window.location.pathname + '';
	for (var id in map) {
		if (path.contains('/' + id + '-')) {
			return map[id];
		}
	}
	return 0;
}

function getBranchenAktivId() {
	var map = {
		40: 13,
		39: 12,
		38: 11,
		37: 10,
		36: 9,
		35: 8,
		34: 7,
		33: 6,
		32: 5,
		31: 4,
		30: 3,
		4: 2,
		41: 0,
		70: 1
	};
	var path = '' + window.location.pathname + '';
	for (var id in map) {
		if (path.contains('/' + id + '-')) {
			return map[id];
		}
	}
	return 0;
}

function getCurrentLanguageCode() {
	var path = '' + window.location.pathname + '';
	var searchString = '' + window.location.search + '';
	if (path.contains('-1-') || searchString.contains('clang=1')) {
		return 1;
	}
	return 0;
}

function neighborFaces() {
	for (var i=0; i<faces.length-1; i++) {
		if (faces[i].name == faces[i+1].name) {
			return true;
		}
	}
	return false;
}

function initFaces() {
	if ($('facesContainer')) {
		do {
			faces.sort(function() { return (Math.round(Math.random())-0.5); });
		} while (neighborFaces());
		for (var i=0; i<faces.length; i++) {
			var faceDiv = $(document.createElement('div'));
			faceDiv.setStyle('display', 'none');
			
			var img = $(document.createElement('img'));
			img.setAttribute('src', '/files/templates/orbitak/faces/'+faces[i].pic);
			img.setStyle('margin-'+(i%2 == 0 ? 'right' : 'left'), '10px');
			img.setStyle('float', i%2 == 0 ? 'left' : 'right');
			faceDiv.appendChild(img);
			
			var divName = $(document.createElement('div'));
			divName.appendChild(document.createTextNode(faces[i].name));
			divName.setStyle('font-weight', 'bold');
			faceDiv.appendChild(divName);
			
			faceDiv.appendChild(document.createTextNode(faces[i].position));
			
			var divCite = $(document.createElement('div'));
			divCite.appendChild(document.createTextNode('"' + faces[i].cite + '"'));
			divCite.setStyle('font-style', 'italic');
			divCite.setStyle('margin-top', '10px');
			faceDiv.appendChild(divCite);
			
			var clearDiv = $(document.createElement('div'));
			clearDiv.setStyle('clear', 'both');
			faceDiv.appendChild(clearDiv);
			
			$('facesContainer').appendChild(faceDiv);
			faces[i].div = faceDiv;
		}
		faceDiv1 = $(document.createElement('div'));
		faceDiv2 = $(document.createElement('div'));
		faceDiv1.setStyle('padding-bottom', '30px');
		faceDiv2.setStyle('padding-bottom', '30px');
		faceDiv2.setStyle('text-align', 'right');
		faceDiv1.setStyle('overflow', 'hidden');
		faceDiv2.setStyle('overflow', 'hidden');
		faceDiv1.setStyle('width', '500px');
		faceDiv2.setStyle('width', '500px');
		$('facesContainer').appendChild(faceDiv1);
		$('facesContainer').appendChild(faceDiv2);
		fx1 = new MySlide(faceDiv1, {mode: 'horizontalRtL'});
		fx2 = new MySlide(faceDiv2, {mode: 'horizontal'});
		fx1.hide();
		fx2.hide();
		
		var buttons = $(document.createElement("div"));
		buttons.setStyle("margin-top", "30px");
		buttons.setStyle("text-align", "center");
		var play = $(document.createElement("img"));
		play.setAttribute('src', '/files/templates/orbitak/faces/play.png');
		play.setAttribute('id', 'facesPlay');
		play.setStyle('cursor', 'pointer');
		play.setStyle('display', 'none');
		play.onclick = function() {
			$('facesPause').setStyle('display', '');
			$('facesPlay').setStyle('display', 'none');
			facesPaused = false;
			hideFaces();
		};
		buttons.appendChild(play);
		var pause = $(document.createElement("img"));
		pause.setAttribute('src', '/files/templates/orbitak/faces/pause.png');
		pause.setAttribute('id', 'facesPause');
		pause.setStyle('cursor', 'pointer');
		pause.onclick = function() {
			$('facesPause').setStyle('display', 'none');
			$('facesPlay').setStyle('display', '');
			facesPaused = true;
		};
		buttons.appendChild(pause);
		$('facesContainer').appendChild(buttons);
		
		var progress = $(document.createElement("div"));
		progress.setAttribute('id', 'facesProgress');
		progress.setStyle("height", "3px");
		progress.setStyle("background-color", "#002159");
		progress.setStyle("margin-top", "3px");
		progress.setStyle("width", "0px");
		progress.setStyle("font-size", "1px");
		progress.setStyle("line-height", "1px");
		progress.innerHTML = "&nbsp;";
		$('facesContainer').appendChild(progress);
		
		faceIndex = -1;
		if (pageLoadComplete) {
			showFaces();
		} else {
			window.addEvent('load', showFaces);
		}
	}
}

function incFaceIndex() {
	faceIndex = faceIndex == faces.length-1 ? 0 : faceIndex+1;
	facesReplay = true;
}

function showFace1() {
	incFaceIndex();
	faceDiv1.innerHTML = faces[faceIndex].div.innerHTML;
	fx1.slideIn();
}

function showFace2() {
	incFaceIndex();
	faceDiv2.innerHTML = faces[faceIndex].div.innerHTML;
	fx2.slideIn();
}

function showFaces() {
	if (faceIndex == faces.length-1 && facesReplay) {
		$('facesContainer').empty();
		initFaces();
		return;
	}
	showFace1();
	window.setTimeout("showFace2()", 350);
	facesRemainMs = facesDelay + 350;
	window.setTimeout("hideFaces()", 40);
}

function hideFaces() {
	if (!facesPaused) {
		if (facesRemainMs <= 0) {
			fx1.slideOut();
			fx2.slideOut();
			window.setTimeout("showFaces()", 650);
		} else {
			$('facesProgress').setStyle('width', Math.floor((1-facesRemainMs/(facesDelay+350))*500)+'px');
			facesRemainMs = facesRemainMs-40;
			window.setTimeout("hideFaces()", 40);
		}
	}
}

function setupSwf() {
	var params = {};
	var attributes = {};
	if ($('swfWelcome')) {
		params = {
			datenxml: '<root><url>43-'+getCurrentLanguageCode()+'-Operations.html</url><url>44-'+getCurrentLanguageCode()+'-Training.html</url><url>42-'+getCurrentLanguageCode()+'-Strategie.html</url></root>',
			pfadTexte: '/files/templates/orbitak/swf/ring'+getCurrentLanguageCode()+'.xml'
		};
		swfobject.embedSWF("/files/templates/orbitak/swf/ring"+getCurrentLanguageCode()+".swf", "swfWelcome", "950", "400", "9.0.0", "/files/templates/orbitak/swf/expressInstall.swf", params, {wmode: 'transparent'});
	}
	if ($('swfKompetenzen')) {
		params = {
			pfadRubriken: '/files/templates/orbitak/swf/Rubriken_kompetenzen'+getCurrentLanguageCode()+'.swf',
			objektAktiv: getKompetenzenAktivId(),
			datenxml: '<root><url>29-'+getCurrentLanguageCode()+'-Change+Management.html</url><url>28-'+getCurrentLanguageCode()+'-Software+Solutions.html</url><url>27-'+getCurrentLanguageCode()+'-Innovationsmanagement.html</url><url>26-'+getCurrentLanguageCode()+'-HR-Management.html</url><url>25-'+getCurrentLanguageCode()+'-Markenstrategie.html</url><url>24-'+getCurrentLanguageCode()+'-Beschaffung.html</url><url>23-'+getCurrentLanguageCode()+'-Marktforschung.html</url><url>22-'+getCurrentLanguageCode()+'-Kostenoptimierung.html</url><url>21-'+getCurrentLanguageCode()+'-Projektmanagement.html</url><url>20-'+getCurrentLanguageCode()+'-Strategieberatung.html</url><url>19-'+getCurrentLanguageCode()+'-Process+Outsourcing.html</url><url>18-'+getCurrentLanguageCode()+'-Prozessmanagement.html</url><url>69-'+getCurrentLanguageCode()+'-Vertriebsunterstuetzung.html</url></root>'
		};
		swfobject.embedSWF("/files/templates/orbitak/swf/main_vertikal.swf", "swfKompetenzen", "310", "490", "9.0.0", "/files/templates/orbitak/swf/expressInstall.swf", params, {wmode: 'transparent'});
		if (swfobject.hasFlashPlayerVersion("9.0.0")) {
			$('sideNavContentIe').setStyle('display', 'none');
		} else {
			$('sideNavContentIe').setStyle('display', 'block');
		}
	}
	if ($('swfBranchen')) {
		params = {
			pfadRubriken: '/files/templates/orbitak/swf/Rubriken_branchen'+getCurrentLanguageCode()+'.swf',
			objektAktiv: getBranchenAktivId(),
			datenxml: '<root><url>41-'+getCurrentLanguageCode()+'-Luft-+und+Raumfahrt.html</url><url>40-'+getCurrentLanguageCode()+'-Telekommunikation+.html</url><url>39-'+getCurrentLanguageCode()+'-Verkehr+und+Logistik.html</url><url>38-'+getCurrentLanguageCode()+'-Konsumgueter+und+Handel.html</url><url>37-'+getCurrentLanguageCode()+'-Bildung.html</url><url>36-'+getCurrentLanguageCode()+'-High+Tech.html</url><url>35-'+getCurrentLanguageCode()+'-Financial+Services+.html</url><url>34-'+getCurrentLanguageCode()+'-Oeffentlicher+Sektor.html</url><url>33-'+getCurrentLanguageCode()+'-Chemie+und+Pharma.html</url><url>32-'+getCurrentLanguageCode()+'-Erneuerbare+Energien.html</url><url>31-'+getCurrentLanguageCode()+'-Energie+und+Versorgung.html</url><url>30-'+getCurrentLanguageCode()+'-Automotive.html</url><url>4-'+getCurrentLanguageCode()+'-Anlagenbau.html</url><url>70-'+getCurrentLanguageCode()+'-Medien.html</url></root>'
		};
		swfobject.embedSWF("/files/templates/orbitak/swf/main_horizontal.swf", "swfBranchen", "735", "180", "9.0.0", "/files/templates/orbitak/swf/expressInstall.swf", params, {wmode: 'transparent'});
		if (swfobject.hasFlashPlayerVersion("9.0.0")) {
			$('sideNavContentIe').setStyle('display', 'none');
		}
	}
	if ($('swfStrategieOrbis')) {
		swfobject.embedSWF("/files/templates/orbitak/swf/strategie_Orbis.swf", "swfStrategieOrbis", "101", "105", "9.0.0", "/files/templates/orbitak/swf/expressInstall.swf", {}, {wmode: 'transparent'});
	}
	if ($('swfOperationsOrbis')) {
		swfobject.embedSWF("/files/templates/orbitak/swf/operations_Orbis.swf", "swfOperationsOrbis", "90", "93", "9.0.0", "/files/templates/orbitak/swf/expressInstall.swf", {}, {wmode: 'transparent'});
	}
	if ($('swfTrainingOrbis')) {
		swfobject.embedSWF("/files/templates/orbitak/swf/training_Orbis.swf", "swfTrainingOrbis", "150", "120", "9.0.0", "/files/templates/orbitak/swf/expressInstall.swf", {}, {wmode: 'transparent'});
	}
	if ($('swfNeuro')) {
		swfobject.embedSWF("/files/templates/orbitak/swf/neuro.swf", "swfNeuro", "200", "156", "9.0.0", "/files/templates/orbitak/swf/expressInstall.swf", {}, {wmode: 'transparent'});
	}
	if ($('claim')) {
		swfobject.embedSWF("/files/templates/orbitak/swf/claim.swf", "claim", "230", "80", "9.0.0", "/files/templates/orbitak/swf/expressInstall.swf", {}, {wmode: 'transparent'});
	}
	if ($('orbiBottomStrategie')) {
		swfobject.embedSWF("/files/templates/orbitak/swf/strategie_Orbis_Start.swf?hintText="+(getCurrentLanguageCode() == 1 ? "Strategy" : "Strategie-\nentwicklung")+"&forwardUrl=42-"+getCurrentLanguageCode()+"-Strategy.html", "orbiBottomStrategie", "98", "120", "9.0.0", "/files/templates/orbitak/swf/expressInstall.swf", {}, {wmode: 'transparent'});
	}
	if ($('orbiBottomOperations')) {
		swfobject.embedSWF("/files/templates/orbitak/swf/operations_Orbis_Start.swf?hintText="+(getCurrentLanguageCode() == 1 ? "Operations" : "Projekt-\nunterstützung")+"&forwardUrl=43-"+getCurrentLanguageCode()+"-Operations.html", "orbiBottomOperations", "98", "120", "9.0.0", "/files/templates/orbitak/swf/expressInstall.swf", {}, {wmode: 'transparent'});
	}
	if ($('orbiBottomTraining')) {
		swfobject.embedSWF("/files/templates/orbitak/swf/training_Orbis_Start.swf?hintText="+(getCurrentLanguageCode() == 1 ? "Training" : "Training")+"&forwardUrl=44-"+getCurrentLanguageCode()+"-Training.html", "orbiBottomTraining", "98", "120", "9.0.0", "/files/templates/orbitak/swf/expressInstall.swf", {}, {wmode: 'transparent'});
	}
}

function initPage() {
	setupHoverMenus();
	setupSwf();
	initFaces();
	checkSize();
}

window.addEvent('domready', initPage);
document.addEvent('click', mclose);
window.addEvent('load', onPageLoadComplete);

MySlide = new Class({
  Extends: Fx.Slide,
 
  initialize: function(element,options){
    this.parent(element,options);
    if(this.options.mode == 'horizontalRtL'){
        this.wrapper.setStyle('float','right');
        this.extraWrapper = new Element('div',{
            styles: {
                overflow: 'hidden'
            }
        }).wraps(this.wrapper);    
    }
  },
 
  horizontalRtL: function(){
	  this.margin = 'margin-right';
	  this.layout = 'width';
	  this.offset = this.element.offsetWidth;
  }
 
});