function weatherBoxController() {
	this.toggleVisible = function(htmlLinkObject) {
		var headElement = $(htmlLinkObject).parents("div.header");
		var contentElement = headElement.find('+ div.content');
		
		if (arguments.length > 1) {
			// Manually hide!
			this.doHide(headElement, contentElement, false);
		} else {
			if (contentElement.is(':hidden')) {
				// content element is not visible > display!
				this.doShow(headElement, contentElement, true);
			} else {
				this.doHide(headElement, contentElement, true);
			}
		}
	}
	
	this.doHide = function(headElement, contentElement, animate) {		
		if (animate) {
			contentElement.slideUp(800);
		} else {
			contentElement.hide();
		}
		
		headElement
			.find('a')
			.show()
			.unbind()
			.click(function() {
				boxController.toggleVisible(this);
			}
		);
	}
	
	this.doShow = function(headElement, contentElement, animate) {
		headElement.find('a').hide();
		
		if (animate) {
			contentElement.slideDown(800);
		} else {
			contentElement.hide();
		}
		
		contentElement
			.find('a')
			.unbind()
			.click(function() {
				boxController.toggleVisible(headElement.find('a'));
			}
		);
	}
	
	$(document).ready(function() {
		$('div#wetter_warnungen')
			.find('a').each(function(){
				boxController.toggleVisible(this, 'hide');
		});
	});
}

var boxController = new weatherBoxController();