// StartUpJobs
$(document).ready(function()
{	
	if (typeof defaultValue === 'undefined'){
		defaultValue = 'Mitarbeitersuche';
	}
	
	$('input#searchForm').val(defaultValue);
	
	// AnkerCheck initialisieren
	$.historyInit(pageload);
	
	// Suche initialisieren
	$('div#teamStage div.person').quicksearch({
		position: 'before',
		attached: 'div#teamStage',
		loaderText: '',
		inputText: defaultValue,
		delay: 0
	})
	
	// Suche löschen
	$('div#teamSearchClear').click(function()
	{
		// Default-Wert setzen
    	$('input#searchForm').val(defaultValue);
		// Filter entfernen und Personen anzeigen
		$('div.departmentWrapper div.person').removeAttr('langx').show();
		// Detailansicht ausblenden
		$('div#detail').hide();
		// kleine Darsetllung der Personen aktivieren
		changeView(1);
		// Anker in Url zurücksetzen
		document.location.hash = '#';
    });
	
	// Tooltip
	$('div#teamStage div.person').nxToolTip({speed: 150, delay: 500});
	
	// Klick auf eine Person
	$('div.departmentWrapper div.person').click(function()
	{
		elemID = $(this).attr('id');
		elemID = elemID.replace('nx-', '');
		makeDetail(elemID, 'start');
		return false;
    });
	
	// Detailansichht Vor-Pfeil
	$('div#detail_next a').click(function()
	{
		var elemID 	= $("div#detail_inner div.person").attr('id');
		elemID 		= elemID.replace('details-', '');
		makeDetail(elemID, 'next');
		return false;
    });
	
	// Detailansichht Zurück-Pfeil
	$('div#detail_prev a').click(function()
	{
		var elemID 	= $("div#detail_inner div.person").attr('id');
		elemID 		= elemID.replace('details-', '');
		
		makeDetail(elemID, 'prev');
		return false;
    });
	
	// Event-Handler für Abteilungen
	$("div.departmentWrapper").each(function(intIndex, obj)
	{
		$(this).hover(function()
		{
			$(this).attr('lang', 'activeElems');
			$('div.departmentWrapper[lang!=activeElems][lang!=bleachedElems]').attr('lang', 'bleachedElems').addClass('opacityFX');
			$('div.person, div.person .image, div:first a', obj).addClass('hover');
			
		}, function() {
			$('div.departmentWrapper').removeAttr('lang').removeClass('opacityFX');
			$('div.person, div.person .image, div:first a', obj).removeClass('hover');
		});
		
		$(this).click(function()
		{
			labelShowClick($(this).attr('id'));
			$('div#detail').hide();
			return false;
		});

	});

})


function pageload(hash)
{
	if (hash)
	{
		anchorCheck(hash);
		return false;
	}
}

function anchorCheck(urlAnchor)
{
	if (urlAnchor != '')
	{
		var departmentArray = ['Vorstand', 'Marketing', 'BeratungKonzeption', 'BeratungRedaktion', 'Design', 'Entwicklung', 'Projektmanagement', 'Administration'];
		urlAnchor			= urlAnchor.replace('#', '');
		
		// prüfen ob der Anker eine Abteilung ist
		if (jQuery.inArray(urlAnchor, departmentArray) == '-1')
		{	
			makeDetail(urlAnchor, 'start');
			return false;
		}
		else
		{
			labelShowStart(urlAnchor);
			return false;
		}
	}
}

function labelShowClick(elemID)
{
	if ($('input#searchForm').val() != '' && $('input#searchForm').val() != defaultValue)
	{
		$('input#searchForm').keydown();
	}
	
	//console.log('labelShowClick: '+elemID);
	
	var labelName = elemID.replace('dw-', '');
	$('div.departmentWrapper div.person').removeAttr('langx');
	$('div.departmentWrapper div.person:hidden').show();
	
	if (document.location.hash != '') 
	{
		var clearHash	= false;
		var urlAnchor	= document.location.hash;
		urlAnchor 		= urlAnchor.replace('#', '');			
		
		if (urlAnchor == labelName)
		{	
			$('div.departmentWrapper div.person').removeAttr('langx');
			$('div.departmentWrapper div.person').show();
			clearHash = true;
		}
		else
		{	
			$('div#'+elemID+' div.person').attr('langx', 'activeDepartment');
			$('div.departmentWrapper div.person[langx!=activeDepartment][langx!=hiddenDepartment]').attr('langx', 'hiddenDepartment').hide();
		}
	}
	else
	{		
		$('div#'+elemID+' div.person').attr('langx', 'activeDepartment');
		$('div.departmentWrapper div.person[langx!=activeDepartment][langx!=hiddenDepartment]').attr('langx', 'hiddenDepartment').hide();
	}
	
	// Anzahl der anzuzeigenen Personen zählen
	var counts = $('div.departmentWrapper div.person:visible').size();
	
	// Darstellung nach Anzahl der anzuzeigenden Personen wechseln
	if (counts <= 25 && $('div#teamStage').hasClass('size2') === false)
	{
		changeView(2);
	}
	else if (counts > 25 && $('div#teamStage').hasClass('size1') === false)
	{
		changeView(1);
	}
	
	if (clearHash === true)
	{
		// Anker leeren
		document.location.hash	= '#';
	}
	else
	{
		// Anker für aktuelle Abteilungsfilter setzen
		document.location.hash	= labelName;
	}
	
	return false;
}


function labelShowStart(elemID)
{
	//console.log('labelShowStart: '+elemID);
	
	var labelName = 'label-'+elemID;
	jObj = $('div#'+labelName).parent();
	
	$('div.departmentWrapper div.person').removeAttr('langx');
	$('div.departmentWrapper div.person:hidden').show();
	$('div.person', jObj).attr('langx', 'activeDepartment');
	
	
	var counts = $('div.departmentWrapper div.person[langx=activeDepartment]').size();
	
	if (counts <= 25 && $('div#teamStage').hasClass('size2') === false)
	{
		changeView(2);
	}
	else if (counts > 25 && $('div#teamStage').hasClass('size1') === false)
	{
		changeView(1);
	}
	
	$('div.departmentWrapper div.person[langx!=activeDepartment][langx!=hiddenDepartment]').attr('langx', 'hiddenDepartment').hide();
	
	document.location.hash	= labelName.replace('label-', '');
}


function makeDetail(elemID, action)
{
	//console.log(">> elemID: "+elemID);
	//console.log(">> action: "+action);
	
	var elemHtml 	= false;
	var setHash		= false;
	var cacheElem	= new Array();
	var aE			= false;
	
	if (typeof $('div#nx-'+elemID).attr('id') != 'undefined' && $('div#nx-'+elemID).hasClass('person') === true)
	{
		// VOR
		if (action == 'next')
		{
			var nextElem = $('div#nx-'+elemID).next(':visible');
			
			if (nextElem.hasClass('person') === false)
			{
				$('div#teamStage div.person:visible').each(function(i, obj){
					cacheElem[i] = $(this).attr('id');
					cacheElem[i] = cacheElem[i].replace('nx-', '');
					if (cacheElem[i] == elemID)
					{
						aE = i;
					}
				});
				
				aE++;
				
				if ((aE) >= cacheElem.length)
				{
					aE = 0;
				}
				
				nextElem = $('div#nx-'+cacheElem[aE]);
			}
			
			elemHtml	= nextElem.html();
			personName	= nextElem.attr('id');
			setHash		= true;
		}
		// ZURÜCK
		else if (action == 'prev')
		{
			var prevElem = $('div#nx-'+elemID).prev(':visible');
			
			if (prevElem.hasClass('person') === false)
			{
				$('div#teamStage div.person:visible').each(function(i, obj){
					cacheElem[i] = $(this).attr('id');
					cacheElem[i] = cacheElem[i].replace('nx-', '');
					if (cacheElem[i] == elemID)
					{
						aE = i;
					}
				});
				aE--;
				if ((aE) < 0)
				{
					aE = cacheElem.length-1;
				}
				prevElem = $('div#nx-'+cacheElem[aE]);
			}
			
			elemHtml	= prevElem.html();
			personName	= prevElem.attr('id');
			setHash		= true;
		}
		else if (action == 'start')
		{
			elemHtml	= $('div#nx-'+elemID).html();
			personName	= $('div#nx-'+elemID).attr('id');
			setHash		= true;
		}
		
		var detailHtml	= elemHtml;
		detailHtml		= detailHtml.replace('_01.jpg', '_03.jpg');
		
		personName = personName.replace('nx-', '');
		
		if ($('div#detail').is(':visible') === false)
		{
			//console.log("nicht sichtbar");
			//console.log("inner id gesetzt: "+personName);
			
			$('div#detail_inner').html('<div class="person" id="details-'+personName+'">'+detailHtml+'</div>');
			$('div#detail').show();
		}
		else
		{
			personID = $("div#detail_inner div.person").attr('id');
			personID = personID.replace('details-', '');
			
			//console.log("else sichtbar");
			//console.log("personID: "+personID);
			//console.log("personName: "+personName);
			if (personID != personName)
			{
				//console.log("else -> if: war nicht sichtbar: "+personName);
				//console.log("inner id gesetzt: "+personName);
				$('#detail_inner').html('<div class="person" id="details-'+personName+'">'+detailHtml+'</div>');
			}
		}
		
		if (setHash === true)
		{
			//console.log("set hash: "+personName);
			personName = personName.replace('nx-', '');
			document.location.hash	= personName;
			return false;
		}
	}
	return false;
}


function changeView(view)
{	
	$("#teamStage").removeClass().addClass("size" + view);
}

function searchResultScore (scoreCounter) {
	return true;
}


function werk(key, val, action)
{
	var Y = "";
	var Z = "ilt";
	for (j=0 ; j < key.length ; j++)
	{
		Y += String.fromCharCode((key.charCodeAt(j))-val);
	}
	if (action == 'clickAction')
	{
		location.href = "ma"+Z+"o:"+Y;	
	}
	else if (action == 'returnData')
	{
		return Y;
	}
}
