YAHOO.group = function() {
	var e = YAHOO.util.Event;
	var d = YAHOO.util.Dom;
	var a = YAHOO.util.Anim;
	
	return {

		init: function() {
			e.addListener(window, "load", this.doGrouping);
		},
		
		doGrouping: function(){
			// Find all GroupingBlocks
			var boxes = d.getElementsByClassName("groupContainer");
			for (var i=0; i<boxes.length; i++) {
				// groupBlock hidden
				groupBlocks = d.getElementsByClassName("groupBlock", "div", boxes[i]);
				for (var k = 0; k < groupBlocks.length; k++) {
					d.addClass(groupBlocks[k], "unsichtbar");
				}
				
				// get names
				blocks =  d.getElementsByClassName("groupBlockName", "div", boxes[i]);
				
				// get selector
				selector =  d.getElementsByClassName("containerSelector", "select", boxes[i]);
				for (var j=0; j<blocks.length; j++) {
					d.addClass(blocks[j], "unsichtbar");
					// add names to selector
					var newOpt = selector[0].appendChild(document.createElement('option'));
    				newOpt.text = YAHOO.group.trim(blocks[j].innerHTML);
					
				}
			}

		},
		
		selectorChange: function(sel) {
			var searchName = sel.options[sel.selectedIndex].innerHTML;
			var block = sel.id.replace(/^groupSelector/g,"groupContainer");
			blocks =  d.getElementsByClassName("groupBlockName", "div", block);
			groupBlocks = d.getElementsByClassName("groupBlock", "div", block);
			for (var i = 0; i < blocks.length; i++) {
				if (YAHOO.group.trim(blocks[i].innerHTML) == searchName) {
					d.removeClass(groupBlocks[i], "unsichtbar");
				} else {
					d.addClass(groupBlocks[i], "unsichtbar");
				}
				
				
			}
		},
		
		trim: function(aString) {
			return aString.replace(/^\s+|\s+$/g,"");
		}
		

	}
}();





YAHOO.group.init();
