
/***************************************************************************************************
	*	function hide
	*		blendet die Lightbox, iframe und den schliessen button aus
	*************************************************************************************************/
function hide()
{
	document.getElementById('lightbox').style.display 		= 'none';
	document.getElementById('detailbox').style.display		= 'none';	
	document.getElementById('close_button').style.display	= 'none';
	
	document.getElementById('header_wrap').style.left = 0;
}

/***************************************************************************************************
	*	function show
	*		zeigt die lightbox, den iframe und den schliessen button an
	*
	*	@param iframe_src:String	zu öffnende htm Datei (ohne Endung)
	*************************************************************************************************/
function show(iframe_src, ie)
{
	if(ie)
	{
		popup = window.open('entries/' + iframe_src + '.htm', 'Portfolio_Detail', 'width=900, height=490, status=no, scrollbars=no, resizable=no');
		popup.focus();
	}
	else
	{	
		// Lade entsprechende html-Datei in iframe
		document.getElementById('detailbox_iframe').src = "entries/" + iframe_src + ".htm";
		
		// Zeige lightbox und iframe an
		var light 	= document.getElementById('lightbox');
		light.style.display	= 'block';
	
		var box 		= document.getElementById('detailbox');
		box.style.display		= 'block';
		
		// weiterer schliessen Button (immer sichtbar, auch bei viel zu geringer höhe)
		var btn = document.getElementById('close_button');
		btn.style.display = 'inline';
	}
	
		/*
		// Versetze iframe zu xOffset falls IE < 7.0
		if(document.defaultCharset)											//Explorer
		{
			if(document.compatMode)												//Version 6 (?)														
			{
				// ie7 im compatmode: zugriff auf xOffset über iebody, andere browser über document (hier überflüssig)
				var iebody 	= (document.compatMode && document.compatMode != "BackCompat")? document.documentElement : document.body
				var xOffset = document.all? iebody.scrollLeft : pageXOffset
				
				box.style.left = xOffset + (document.body.clientWidth-900)/2;					// Veschiebe Fenster zur aktuellen Position
				document.getElementById('header_wrap').style.left = xOffset;
			}
		}
	*/
	
}

/***************************************************************************************************
	*	function getElementsByClassName
	*		http://www.robertnyman.com/2005/11/07/the-ultimate-getelementsbyclassname/
	*		Sucht nach Knoten mit bestimmten Klassennamen
	*
	*	@param	oElm:Array					Liste der zu durchsuchenden Knoten
	*	@param	strTagName:String		zu suchendes Tag das den Klassennamen trägt
	*	@param	strClassName:String	Name der gesuchten Klasse
	*	@return	liefert Array der gefundenen Knoten zurück
	*************************************************************************************************/
function getElementsByClassName(oElm, strTagName, strClassName)
{
	var arrElements = (strTagName == "*" && oElm.all)? oElm.all : oElm.getElementsByTagName(strTagName);
	var arrReturnElements = new Array();
	strClassName = strClassName.replace(/\-/g, "\\-");
	var oRegExp = new RegExp("(^|\\s)" + strClassName + "(\\s|$)");
	var oElement;
	for(var i=0; i<arrElements.length; i++){
		oElement = arrElements[i];
		if(oRegExp.test(oElement.className)){
			arrReturnElements.push(oElement);
		}
	}	
	return (arrReturnElements)
}

/***************************************************************************************************
	*	function showSelection
	*		Zeigt nur ausgewählte Kateg
	*
	*	@param classToHide:String		zu verändernde Klasse
	*	@param displayValue:String	none | inline | block
	*************************************************************************************************/
function showSelection(classToHide, displayValue)
{
	var result_Array = new Array();
	
	result_Array = getElementsByClassName(document.getElementById("entries"), "li", classToHide);	
	
	for(var i=0; i < result_Array.length; i++)
	{
		result_Array[i].style.display = displayValue;
	}
	
	window.scrollTo(0,0);
}

/***************************************************************************************************
	*	function select_entries
	*		blende Selektierte Kategorie ein, alle anderen aus
	*
	*	@param foi:Array	Klassennamen (Value) und Sichtbarkeit ("selected"). Options-Liste aus select
	*************************************************************************************************/
function select_entries(foi)
{
	if(foi[0].selected)															// falls "Alle Einzeigen" (erster Eintrag) gewählt
	{
		for( var i=0; i<foi.length; i++)
		{
			showSelection(foi[i].value, 'block');
		}
	}
	else																						// falls Kategorie ausgesucht
	{
		for( var i=0; i<foi.length; i++)
		{
			if(foi[i].selected)
			{
				showSelection(foi[i].value, 'block');			// Ausgewähltes anzeigen
			}
			else
			{
				showSelection(foi[i].value, 'none');			// anderen ausblenden
			}
		}
	}
	
	hide();																					// falls Lightbox noch offen, schliessen
}



