/*
	graphical user interface scripts
*/
var $j;
window.onload=function(){
	if (document.getElementsByClassName == undefined) {
		document.getElementsByClassName = function(className)
		{
			var hasClassName = new RegExp("(?:^|\\s)" + className + "(?:$|\\s)");
			var allElements = document.getElementsByTagName("*");
			var results = [];

			var element;
			for (var i = 0; (element = allElements[i]) != null; i++) {
				var elementClass = element.className;
				if (elementClass && elementClass.indexOf(className) != -1 && hasClassName.test(elementClass))
					results.push(element);
			}
			return results;
		}
	}
	
	jQuery.noConflict();
	$j = jQuery;

	
	initFancyBox();
	if( typeof(window.makeEditable ) == 'function') 
		makeEditable();
	
	addLinkIcons();
	add_events_links();
	add_click_searchbox();
	fixMainMenu();
	clearRelations();
	startGlider();
	
	if(typeof(onloadBekendmakingen) == 'function') { onloadBekendmakingen(); }
	if(typeof(onloadRegelingen) == 'function') { onloadRegelingen(); }
	
	
	/*
	var xx = 0;	
	$j("#menu > .level1").each( function( index ){
		//alert( xx );
		if( xx == 2 ){
		$j(this).addClass("tijdelijk" );
		}
		xx = xx + 1;
	});
	*/
}

function clearRelations()
{
	if (!$j ("#relaties ul").length ) {
		$j ('#relaties').remove();
	}
}

function addLinkIcons()
{
	var h = $j(location).attr('href');
	
	var mailimg = '&nbsp;<img src="/style/images/icons/mailimg.png" alt="(Dit is een link naar een mail-adres)" />';
	var extimg = '&nbsp;<img src="/style/images/icons/externeimg.png" alt="(Dit is een link naar andere website)" />';
	
	$j("a").each( function( index ) {
	
		if( $j(this).attr("href") ){
		
			var ldump = $j(this).attr("href").split( "/" );
			var mdump = $j(this).attr("href").split( ":" );
			
			if( mdump[0].toUpperCase() == "MAILTO" ){	
				$j(this).addClass("maillink");
				$j(this).html( $j(this).text() + mailimg );
			}
			
			if( (ldump[0].toUpperCase() == "HTTP:") && ( ldump[2].toUpperCase() != h.toUpperCase() ) ){
			
			
			if( ( $j(this).attr("class") != "newwindow" ) && ( $j(this).attr("class") != "addthis_button_facebook at300b" ) && ( $j(this).attr("class") != "addthis_button_hyves at300b" ) && ( $j(this).attr("class") != "newwindownoicon" ) ) {
				$j(this).addClass("externelink");
				$j(this).html( $j(this).text() + extimg );
			}
				
				
			}
		}
	});
}

function startGlider(){
	
	id = "scroller";
	
	if((document.getElementById) && ( document.getElementById(id))){
		
		$j("#scroller").scrollable({
		
			size: 1,
			clickable: false,
			loop: false,
			speed: 400
			
			}).circular().navigator({

			navi: "#scrollerNav",
			naviItem: 'a',
			activeClass: 'current'

		}).autoscroll( {
			autoplay: true,
			interval: 9000,
			steps: 1
			
		});		
	}
	
}

function fixMainMenu(){

	$j("#menu .level1").each( function( index, value )
	{
		
		var ul = $j( "ul.ullevel1" , value );
		var li = $j("<li class='enkel'></li>").prependTo( ul );
		var enkel = $j( "<ul></ul>" ).prependTo( li );
		
		$j(value).find(".level2").each( function( nr , ul )
		{
			
			var l = $j(ul).find(".level3").length;
			if( l == 0 ){
				
				$j(ul).appendTo(enkel);	
			}
			
		});
			
	});
	
	$j("#menu .enkel ul").each( function() {
		var elem = $j(this);
		if(elem.children().length == 0){
			elem.remove();
		}
		
	});
	
	$j("#menu .enkel").each( function() {
		var elem = $j(this);
		if(elem.children().length == 0){
			elem.remove();
		}
		
	});
	
}

function initFancyBox()
{
	$j("a.gallery").each(function(key, value)
	{
		$j(value).attr('rel','aap');
	});
	
	$j("a.gallery").fancybox({
		'type'	: 'image',
		'titleShow' : true,
		'transitionIn' : 'fade',
		'transitionOut' : 'fade'
	});
}

String.prototype.trim = function() {
	return this.replace(/^\s+|\s+$/g,"");
}
function hasClass(ele,cls) {
	return ele.className.match(new RegExp('(\\s|^)'+cls+'(\\s|$)'));
}
function addClass(ele,cls) {
	if (!this.hasClass(ele,cls)) ele.className += " "+cls;
}
function removeClass(ele,cls) {
	if (hasClass(ele,cls)) {
		var reg = new RegExp('(\\s|^)'+cls+'(\\s|$)');
		ele.className=ele.className.replace(reg,' ');
	}
}


/*
 * Seach form functions
*/

function add_click_searchbox()
{
	set_click('q');
	set_click('zoeken');
}

function set_click(id)
{
	var s_box = document.getElementById(id);
	
	if (s_box)
	{
		s_box.onclick = function(){clear_sbox(this)};
	}
}

function clear_sbox(a_box)
{
	if (a_box.value == 'Vul hier uw zoekopdracht in')
	{
		a_box.value = '';
	}
	if (a_box.value == 'Uw zoekopdracht')
	{
		a_box.value = '';
	}
}






/*
 * 
*/
function add_anchor_events()
{
	var content = document.getElementById('content');
	var links = content.getElementsByTagName('a');
	for (var n = 0; n < links.length; n++)
	{
		var l = new String(links[n].getAttribute('href'));
		if (l.indexOf('#') > -1)
		{
			links[n].onclick = function(){backlight(this)}
		}
	}
}

function toggleEditForm()
{
	toggle = document.getElementById('social_networks');
	toggle2 = document.getElementById('display');
	if (hasClass(toggle, "hidden"))
	{
		removeClass(toggle, "hidden");
		addClass(toggle2, "hidden");
	}
	else
	{
		removeClass(toggle2, "hidden");
		addClass(toggle, "hidden");
	}
}

function newwin()
{
	window.open(this.href,'_blank');
	return false;
}

function add_events_links()
{
	var links 	= document.getElementsByTagName('a');
	var img 	= '&nbsp;<img src="/style/images/icons/newwindow.png" alt="(Deze link opent in een nieuw venster)" />';
	for (var i = 0; i < links.length; i++)
	{
		title	= links[i].getAttribute('title');
		if(title == null)
			title = links[i].getAttribute('href');		
		
		var classes = links[i].className.split(' ');
		for(var j = 0; j < classes.length; j++)
		{
			
			switch (classes[j])
			{
				case 'newwindow':
					links[i].setAttribute('title', title + ', opent in een nieuw venster.');  
					links[i].onclick = newwin;
					links[i].innerHTML = links[i].innerHTML + img;
					break;
				case 'newwindow externelink':
					links[i].setAttribute('title', title + ', opent in een nieuw venster.');  
					links[i].onclick = newwin;
					links[i].innerHTML = links[i].innerHTML + img;
					break;
				case 'newwindownoicon':
					links[i].setAttribute('title', title + ', opent in een nieuw venster.');  
					links[i].onclick = newwin;
					links[i].innerHTML = links[i].innerHTML;
					break;
			}
		}
	}
}


/*
 * login form functions
*/
function hide_login()
{
	$j('#login').offset({top: -45});

	$j('#togglelogin').toggle(
	
		function()
		{
			$j('#login').animate({"top": "+=43px"}, "600");
			$j("#login input[name='username']").focus();
		},
		function()
		{
			$j('#login').animate({"top": "-=43px"}, "fast");
		}
	);
};
