//Make sidebar modules and homepage feature module expand/collapse
//Uses scriptaculous
//Ben Hayes, June 2006

function setupeffects() {

if(document.getElementById('thema-arrow')) {
	var themaArrow = document.getElementById('thema-arrow');
	
	themaArrow.onclick = function() { 
		new Effect.toggle('thema-list', 'blind');
		//toggle arrow position:
		if(themaArrow.className == 'closed') themaArrow.className = 'open';
		else themaArrow.className = 'closed';
	 }
}

if(document.getElementById('bezug-arrow')) {
	var bezugArrow = document.getElementById('bezug-arrow');
	bezugArrow.onclick = function() {
		new Effect.toggle('bezug-list', 'blind');
		//toggle arrow position:
		if(bezugArrow.className == 'closed') bezugArrow.className = 'open';
		else bezugArrow.className = 'closed';
	}
}

if(document.getElementById('relevanz-arrow')) {
	var relevanzArrow = document.getElementById('relevanz-arrow');
	relevanzArrow.onclick = function() {
		new Effect.toggle('relevanz-list', 'blind');
		//toggle arrow position:
		if(relevanzArrow.className == 'closed') relevanzArrow.className = 'open';
		else relevanzArrow.className = 'closed';	
	}
}

if(document.getElementById('ausge-arrow')) {
	var ausgeArrow = document.getElementById('ausge-arrow');
	ausgeArrow.onclick = function() { 
		new Effect.toggle('ausge-list', 'blind'); 
		//toggle arrow position:
		if(ausgeArrow.className == 'closed') ausgeArrow.className = 'open';
		else ausgeArrow.className = 'closed';
	}
}

if(document.getElementById('archiv-arrow')) {
	var archivArrow = document.getElementById('archiv-arrow');
	archivArrow.onclick = function() { 
		new Effect.toggle('archiv-list', 'blind'); 
		//toggle arrow position:
		if(archivArrow.className == 'closed') archivArrow.className = 'open';
		else archivArrow.className = 'closed';
	}
}

if(document.getElementById('mehr-arrow')) {
	var mehrArrow = document.getElementById('mehr-arrow');
	mehrArrow.onclick = function() { 
		new Effect.toggle('mehr-list', 'blind'); 
		//toggle arrow position:
		if(mehrArrow.className == 'closed') mehrArrow.className = 'open';
		else mehrArrow.className = 'closed';
	}
}

if(document.getElementById('feature-arrow')) {
	var featureArrow = document.getElementById('feature-arrow');
	featureArrow.open = false;
	featureArrow.onclick = function() {
		if(featureArrow.open) {
			new Effect.Scale('feature-image', 28.5, { scaleX: false, scaleContent: false});
			featureArrow.open = false;
		}
		else {
			new Effect.Scale('feature-image', 350, { scaleX: false, scaleContent: false});
			featureArrow.open = true;
		}
		if(featureArrow.className == 'closed') featureArrow.className = 'open';
		else featureArrow.className = 'closed';
	}
}
}

function restrict_imagesize() {
//This function applies a maximum width to images in the post.  Note that in FF you can do this using max-width in CSS but in Safari, this doesn't work well because the height is not scaled
//Max with is 505px

/*Only run this on single article pages: */
if(!document.getElementById('singleentry')) return false;

//Get each image in the post:
var imageLinks = document.getElementsByClassName('imagelink');
for(var i=0; i<imageLinks.length; i++) {
	var image = imageLinks[i].firstChild;

	//Check we only do this if we've got a real image:
	if(image.tagName == 'img' || image.tagName == 'IMG') {

		var oldWidth = image.offsetWidth;
		var oldHeight = image.offsetHeight;

		if(oldWidth > 505) {
			var newWidth = 505;
			var newHeight = (oldHeight / oldWidth) * 505;

			image.style.width = newWidth + 'px';
			image.style.height = newHeight + 'px';
		}
	}
}



}

function set_link_height() {
/* We need the overlayed links on the gallery to be exactly the height of the image itself.
IE/Win doesn't like setting height to 100% on absolutely position elements, so this hack 
sets the height directly in the DOM */

//We only need this on a gallery page, that has links:
if(!document.getElementById('galleryimage') && !document.getElementById('next')) { return; }

var galleryImage = document.getElementById('galleryimage');
var imageHeight = galleryImage.clientHeight + "px";

var prevLink = document.getElementById('previous');
var nextLink = document.getElementById('next');

prevLink.style.height = imageHeight;
nextLink.style.height = imageHeight;
}

function insert_link_labels() {
/* Creates label for linked images on single entry pages.
Hack to avoid having to alter core WP files, which would make 
WP updates complicated */

/*Only run this on single article pages: */
if(!document.getElementById('singleentry')) return false;

var imageLinks = document.getElementsByClassName('imagelink');

/* Create a new element for the label */

var newEl = document.createElement('span');
newEl.setAttribute('class','imagelabel');
var newTxt = document.createTextNode('Galerie');
newEl.appendChild(newTxt);

/* Insert the new elements.  We need to use clones of the new
element as there may be more than one */
for(var i=0; i<imageLinks.length; i++) {
	imageLinks[i].appendChild(newEl.cloneNode(true));
}

}

window.onload = function() {
restrict_imagesize();
setupeffects();
set_link_height();
insert_link_labels();
}
