var setTab = function(name) {
	if (name == null) {
		var parts = window.location.href.split('#');
		if (parts[1] == null) {
			var tab = 'tab_searchform';
		} else {
			var tab = parts[1];
		}
	} else {
		var tab = name;
		$('div#tabs li').removeClass('active');
	}
	var innerParts = tab.split('_');
	$('div#tabs li#' + tab).addClass('active');
	$('div.tabs div.tab').css('display', 'none');
	$('div.tabs div#' + innerParts[1]).css('display', 'block');
}

var toggleZndWords = function() {
	if (true == $('input#vergelijkbare_betekenis').is(':checked')) {
		$('input#znd_words').attr('disabled', true);
	} else {
		$('input#znd_words').removeAttr('disabled');
	}
}

var paginatorExtra = function ($ul, min, max) {
	var visible = new Array();
	var $li1 = $('<' + 'li>')
	.attr({
		id: 'dots_first'//,
		//'class': 'pagenrs_dots'
	})
	.css({
		'list-style-type': 'none',
		display: 'inline'
	})
	.text('...');
	var $li2 = $li1.clone().attr('id', 'dots_last');
	var range = 9;
	var mid = Math.floor(range/2);
	if ($('li.pagenrs', $ul).length > (range + 2)) {
		$selected = parseInt($('a.active', $ul).attr('id').replace($ul.attr('id') +'_page_', ''));
		if ($selected <= mid+1) {
			var start = min;
			var end = (min + range);
		} else if ($selected >= (max - mid)) {
			var end = max;
			var start = max - range;
		} else {
			var start = ($selected - mid) <= min ? min : ($selected - mid);
			var end = ($selected + mid) >= max ? max : ($selected + mid);
		}
		for (var i = start; i <= end; i++) {
			visible.push(i);
		}
		
		if ($.inArray(min, visible) == '-1') visible.push(min);
		if ($.inArray(max, visible) == '-1') visible.push(max);
		
		if ($.inArray(min + 1, visible) == '-1') {
			if ($('li#dots_first', $ul).length == 0) {
				$('li.pagenrs:first', $ul).after($li1);
			}
		} else {
			$('li#dots_first', $ul).remove();
		}
		if ($.inArray(max - 1, visible) == '-1') {
			if ($('li#dots_last', $ul).length == 0) {
				$('li.pagenrs:last', $ul).before($li2);
			}
		} else {
			$('li#dots_last', $ul).remove();
		}
	}
	
	$('li.pagenrs', $ul).css({ display: 'none' });
	if (visible.length == 0) visible = new Array(1,2,3,4,5,6,7,8,9); // quickfix
	for (var x = 0; x < visible.length; x++) {
		$('a#' + $ul.attr('id') + '_page_' + visible[x], $ul).parents('li').css({ display: 'inline' });
	}
}

$(function() {
	// login fields gedeelte
	$('input#form-username').focus(function() {
		$(this).val('');
	}).blur(function() {
		if ($(this).val() == '' || $(this).val() == null) {
			$(this).val('gebruikersnaam');
		}
	});
	$('input#form-password2').focus(function() {
		$(this).hide();
		$('input#form-password').show().focus();
	});
	$('input#form-password').blur(function() {
		if ($(this).val() == '' || $(this).val() == null) {
			$(this).hide();
			$('input#form-password2').show();
		}
	});
	
	// zoekveld header
	$('input#search-input').focus(function() {
		$(this).val('');
	}).blur(function() {
		if ($(this).val() == ''  || $(this).val() == null) {
			$(this).val('Hier uw zoekterm');
		}
	});
	
	// filters
	var types = new Array('soort', 'thema', 'auteur');
	for (i in types) {
		$('input#' + types[i] + '_alle').click(function() {
			var parts = this.id.split('_');
			var checked = this.checked;
			$('input.' + parts[0]).each(function() {
				$(this).attr('checked', checked);
			});
		}); 
	}
	
	//tabs
	$('div#tabs li').each(function() {
		$(this).click(function() {
			$('div#tabs li').removeClass('active');
			$(this).addClass('active');
			document.location.href = '#' + this.id;
			$('div.tabs div.tab').css('display', 'none');
			var parts = this.id.split('_');
			$('div.tabs div#' + parts[1]).css('display', 'block');
		});
	});
	
	// zoekresultaten paginator
	var min = 1;
	var max = parseInt($('ul.paginator li.pagenrs:last a').text());
	$('ul.paginator').each(function() {
		$ul = $(this);
		paginatorExtra($ul, min, max); //initial load
	});
	$('ul.paginator a').bind('click', function() {
		$ul = $(this).parents('ul').eq(0);
		var nr = this.id.replace($ul.attr('id')+'_', '');
		
		if (this.id.replace($ul.attr('id')+'_', '') === 'page_first') {
			nr = $('li.pagenrs:first a', $ul).attr('id').replace($ul.attr('id') + '_', '');
		} else if (this.id.replace($ul.attr('id')+'_', '') === 'page_previous') {
			nr = parseInt($('a.active', $ul).attr('id').replace($ul.attr('id') + '_page_', '')) - 1;
			nr = 'page_' + (nr <= min ? min : nr); 
		} else if (this.id.replace($ul.attr('id')+'_', '') === 'page_next') {
			nr = parseInt($('a.active', $ul).attr('id').replace($ul.attr('id') + '_page_', '')) + 1;
			nr = 'page_' + (nr >= max ? max : nr); 
		} else if (this.id.replace($ul.attr('id')+'_', '') === 'page_last') {
			nr = $('li.pagenrs:last a', $ul).attr('id').replace($ul.attr('id') + '_', '');
		}
		
		$('div.page.active').removeClass('active');
		$('div.' + nr).addClass('active');
		$('ul.paginator').each(function() {
			$('a.active', $(this)).removeClass('active');
			$('a#' + $(this).attr('id') + '_' + nr).addClass('active');
			paginatorExtra($(this), min, max);
		});
	});
	
	$('input.auteur').click(function() {
		if ($(this).is(':checked') == true) {
			$('div.bron_extra.' + this.id).removeClass('hidden');
		} else {
			$('div.bron_extra.' + this.id).addClass('hidden');
		}
	});
	
	$('input.date_input').keyup(function(e) {
		$this = $(this);
		var classes = $(this).attr('class').split(' ');
		for (var i = 0; i < classes.length; i++) {
			if (classes[i] != 'date_input' && classes[i] !== 'form_input') {
				$('input#' + classes[i]).attr('checked', true);
			}
		}
		$('input[value="informatie_datum"]').attr('checked', true);
		$('input.date_input').each(function() {
			if ($(this).attr('class') != $this.attr('class')) {
				$(this).val('');
			}
		});
	});
});
