/**********************************************************
Author:
Adam Barry
Klestrup partners
www.klestrup-partners.dk

Date: December 4 2008

© 2008 Adam Barry, all rights reserved
-----------------------------------------------------------

Name:
filterInit script

-----------------------------------------------------------
Description:
Function that enable

-----------------------------------------------------------
Usage:
Simply place a link to the this script in the head-section
of the XHTML page. The script will then automatically
execute on page load.

<script type="text/javascript" src="filterInit.js"></script>

-----------------------------------------------------------
Example:
<script type="text/javascript" src="filterInit.js"></script>

<div>
	<a class="filter">Filter</a>

	<form method="get" action="default.html" onsubmit="return validateForm(this)">
		<fieldset class="filter">
		</fieldset>
	</form>
</div>

-----------------------------------------------------------
Dependencies:
This script depends on the windowOnLoad-script to execute

**********************************************************/

function filterInit() {

	if (!document.getElementsByTagName) return;
 	var anchors = document.getElementsByTagName("a");

 	for (var i=0; i < anchors.length; i++) {
   		var anchor = anchors[i];

   		if (anchor.className.indexOf('filter') == 0) {

			anchor.onclick = function() {
				toggleFilter(this);
				return false;
			}
		}
   	}
}
addLoadEvent(function(){filterInit();});


function toggleFilter(element) {
	var bar = element.parentNode;
	var fieldsets = bar.getElementsByTagName("fieldset");

	for (var i = 0;i < fieldsets.length;i++) {
		if (fieldsets[i].className.indexOf('filter') > -1) {
			var fieldset = fieldsets[i];

			/* Set or remove the visible class on the filter fieldset */
			if (fieldset.className.indexOf('visible') < 0) {
				fieldset.className+=" visible";
			}

			else {
				fieldset.className = fieldset.className.replace(new RegExp("visible\\b"), "");
			}
		}
	}

	/* Set or remove the visible class on the filter anchor */
	if (element.className.indexOf('visible') < 0) {
		element.className+=" visible";
	}

	else {
		element.className = element.className.replace(new RegExp("visible\\b"), "");
	}

	element.blur();
}
