var mysort;
document.addEvent("domready",function()
{
	if($('thema_filter')) $('thema_filter').fade('hide');
	if($('opdracht_filter')) $('opdracht_filter').fade('hide');
	
	if($('opdracht_filter') || $('thema_filter'))
	{
		var opdracht_height = $('opdracht_filter').offsetHeight;
		var thema_height = $('thema_filter').offsetHeight;
		
	}
	

	if($('rearangeByThema_container'))
	{
		$('rearangeByThema_container').addEvents(
		{
			"mouseenter" :function()
			{
				$('thema_filter').fade('in');
				$('rearange_items').tween('height',(15+thema_height));

			},
			"mouseleave" : function()
			{
				$('thema_filter').fade('out');
				$('rearange_items').tween('height',15);
			}
		
		});
	}
	
	if($('rearrangeByOpdracht_container'))
	{
		$('rearrangeByOpdracht_container').addEvents(
		{
			"mouseenter" :function()
			{
				$('opdracht_filter').fade('in');
				$('rearange_items').tween('height',(15+opdracht_height));
			},
			"mouseleave" : function()
			{
				$('opdracht_filter').fade('out');
				$('rearange_items').tween('height',15);
			}
		
		});
	}
	if(Browser.Engine.trident) 
	{
		//so if IE, any version, or browsers that use the same engine then,...
		
		var columnizer = new Equalizer('.ervaring_item').equalize('height');
	}
	
	if($('ui_inactive'))
	{
		$('ui_inactive').addEvent("mouseover",function()
		{
			$('login_but').src='/images/but_login.gif';
		});
		$('ui_inactive').addEvent("mouseout",function()
		{
			$('login_but').src='/images/but_login_hidden.gif';
		});
	}
	
	$$(".comment_submit, .comment_submit2").each(function(el)
	{
		el.addEvent("mouseenter",function()
		{
			el.addClass("submit_hover");
		});
		el.addEvent("mouseleave",function()
		{
			el.removeClass("submit_hover");
		});
	});
	
	if($('rearange_items'))
	{
		mysort = new Fx.Sort($$('#newsitems_wrapper div.ervaring_item'), {
		  transition: Fx.Transitions.Sine,
		  duration: 500
		});
		
		
		
		var date_string = "";
		
		var reqdate = new Request(
		{
			url : '/ajax.php',
			method : 'post',
			onComplete : function(result)
			{
				date_string = result
			}
		});
		reqdate.send('rearange=datum');

		var reqthema = new Request(
		{
			url : '/ajax.php',
			method : 'post',
			onComplete : function(result)
			{
				thema_string = result
			}
		});
		reqthema.send('rearange=thema');
		var reqopdracht = new Request(
		{
			url : '/ajax.php',
			method : 'post',
			onComplete : function(result)
			{
				opdracht_string = result
			}
		});
		reqopdracht.send('rearange=opdracht');
		
		if($('rearangeByDate'))
		{
			$('rearangeByDate').addEvent("click",function()
			{
				showItems($$(".ervaring_item"));
				mysort.sortByElements(onlyVisible($$(""+date_string))).chain(function() { mysort.rearrangeDOM() });
				changeLinkUnderline($('rearangeByDate'));
				
			});
		}
		if($('rearangeByThema'))
		{
			$('rearangeByThema').addEvent("click",function()
			{
					
				showItems($$('.ervaring_item'));
				changeLinkUnderline($('rearangeByThema'));
				mysort.sortByElements(onlyVisible($$(""+thema_string))).chain(function() { mysort.rearrangeDOM() });
				
			});
		}
		if($('rearangeByOpdracht'))
		{
			$('rearangeByOpdracht').addEvent("click",function()
			{	
				showItems($$(".ervaring_item"));
				changeLinkUnderline($('rearangeByOpdracht'));
				mysort.sortByElements(onlyVisible($$(""+opdracht_string))).chain(function() { mysort.rearrangeDOM() });
				
			});

		
		}
	}
	
	if($('keys'))
	{
		$$(".hidden").each(function(el)
		{
			el.hide();
		});

	}
		
});


function changeLinkUnderline(element)
{
	$$("#rearange_items a.greenlink").each(function(el)
	{
		el.removeClass("sort_active");
	});
	
	element.addClass("sort_active");
}

var Equalizer = new Class({
	initialize: function(elements) {
		this.elements = $$(elements);
	},
	equalize: function(hw) {
		if(!hw) { hw = 'height'; }
		var max = 0,
			prop = (typeof document.body.style.maxHeight != 'undefined' ? 'min-' : '') + hw; //ie6 ftl
			offset = 'offset' + hw.capitalize();
		this.elements.each(function(element,i) {
			var calc = element[offset];
			if(calc > max) { max = calc; }
		},this);
		this.elements.each(function(element,i) {
			element.setStyle(prop,max - (element[offset] - element.getStyle(hw).toInt()));
		});
		return max;
	}
});

function showItems(items)
{
	items.each(function(el)
	{
		el.setStyle('display','block');
	});
}

var validList = new Array();
function onlyVisible(list)
{
	validList = Array();
	var i = 0;
	list.each(function(item)
	{
		if(item.isDisplayed())
		{
			validList[i] = item;
			i++;
		}
	
	});
	return validList;
	
}

