$(document).ready(function () {


	// domenabled class
	$('body').addClass('js');

	$('.release_2').append('<div class="release_2_overlay"></div>');
	$('.release_2_overlay').each(function () {
		var $release2Width = $(this).parent().width();
		var $release2Height = $(this).parent().height();
		$(this).css({ width: $release2Width, height: $release2Height });
	});
	var divReports = $('#ctl00_plhMainContentArea_divReports');
	divReports.append('<div class="reports_overlay"></div>').append('<div class="reports_overlay_text"><h1>Even geduld...</h1>De rapportage wordt gegenereerd.<br/><br/>Klik <span style="cursor:pointer;" onclick="$(\'#ctl00_plhMainContentArea_divReports\').removeClass(\'reports\')"><u>hier</u></span> wanneer u de rapportage gedownload heeft.</div>');
	$('.reports_overlay, .reports_overlay_text').css({ width: divReports.width(), height: divReports.height() });

	$('.print_overlay').append('<div class="print_overlay_overlay"></div>');


	// IE6 test
	var msie6 = /msie 6/i.test(navigator.userAgent);

	// // toggle list
	// $('.list-collapse .item-content').not($('.list-collapse .active .item-content')).hide();
	// $('.list-collapse h4 a').click(function() {
	//     var $nextDiv = $(this).parent().nextAll('.item-content');
	//     var $visibleSiblings = $nextDiv.parents('li').siblings().find('.item-content');
	//     $(this).parents('li').toggleClass('active').siblings().removeClass('active');
	//     if ($visibleSiblings.length ) {
	//         $visibleSiblings.slideUp('fast', function() {
	//             $nextDiv.slideToggle('fast');
	//         });
	//     }
	// });

	// print link
	$('#content .print').click(function () {
		window.print();
		return false;
	});


	// forgotten_details
	$('.page_home #box_login #forgotten_details').hide();
	$('.page_home #box_login .forgotten_details').click(function () {
		$(this).parents('.middle').find('fieldset').hide();
		$(this).parents('.middle').find('#forgotten_details').show();
		return false
	});
	$('.page_home #box_login #forgotten_details .reset').click(function () {
		$(this).parents('fieldset').hide().siblings().show();
		return false
	});

	// equal heights homepage
	var $loginBox = $('.page_home #box_login .middle').height();
	$('.page_home .box_highlight .middle').css('min-height', $loginBox - 9);

	// action list
	$('.list_actions .action_detail').not($('.list_actions .action_detail_show')).hide();
	$('.list_actions a.toggle').click(function () {
		$(this).parents('.field').toggleClass('active').siblings().removeClass('active');
		$(this).parent().nextAll('.action_detail').toggle().parents('.field').siblings().find('.action_detail').hide()
		return false
	});

	// bigtarget
	$("#content .table_row_link a").not(
		$('#content .table_row_link .table_actions a, #content .table_row_link .calendar_status_img, #content .table_row_link .subject a')
	).bigTarget({
		hoverClass: 'hover', // CSS class applied to the click zone onHover
		clickZone: 'tr:eq(0)' // jQuery parent selector
	});

	// alternative bigtarget for message dialog links
	$('.table_messages td.subject a').each(function () {
		var link = this;
		$(link).closest('tr').eq(0).click(function (e) {
			var target = $(e.target).closest('a');
			if (target.length == 0) {
				LBi.Dispatcher.fire('click', link);
			}
		});
	});

	// hoverables
	$('#content .list_roles li, .table_messages tr').hover(function () {
		$(this).addClass('hover');
	}, function () {
		$(this).removeClass('hover');
	});

	// faq list
	$('.list_faq .faq_detail').hide();
	$('.list_faq a').not($('.list_faq .faq_detail a')).click(function () {
		$(this).parent().toggleClass('active').siblings().removeClass('active');
		$(this).next().toggle().parent().siblings().find('.faq_detail').hide()
		return false
	});

	// search results pagination
	$('#content #pagination_search').clone().insertAfter('#table_search_results');

	// table create rie
	$('#table_create_rie .edit').parents('tr').next().children('td').each(function () {
		$(this).hide();
	});
	$('#table_create_rie .edit').click(function () {
		$(this).toggleClass('edit_active').parents('tr').next().children('td').each(function () {
			$(this).toggle();
		});
		return false
	});
	$('#table_create_rie .button').click(function () {
		$(this).parents('tr').prev().find('.edit').click();
		return false
	});

	$('#table_create_rie .edit_2').parents('tr').next().children('td').each(function () {
		$(this).hide();
	});
	$('#table_create_rie .edit_2').click(function () {
		$(this).toggleClass('edit_active').parents('tr').next().children('td').each(function () {
			$(this).toggle();
		});
		return false
	});
	$('#table_create_rie .button').click(function () {
		$(this).parents('tr').prev().find('.edit_2').click();
		return false
	});

	// Nav
	// add arrow to navigation
	$('#nav_main li .nav_sub').parent().find('a:first').addClass('arrow_added').after('<span class="arrow"></span>');
	$('table td.last .list_documents ul').parent().find('a:first').addClass('arrow_added').after('<span class="arrow"></span>');

	// hover menu
	$('#nav_main ul li span.arrow, .list_documents li span.arrow').hover(function () {
		$(this).parent().addClass('hover')
	}, function () {
		$(this).parent().removeClass('hover')
	});

	$('#nav_main ul li a').not('#nav_main ul ul li a').hover(function () {
		$(this).parent().addClass('hover')
	}, function () {
		$(this).parent().removeClass('hover')
	});


	// open menu
	$('#nav_main ul li span.arrow, .list_documents li span.arrow').click(function () {
		$(this).parent('li').toggleClass('open').siblings().removeClass('open');
	});

	if (msie6) {
		$('#nav_main ul li span.arrow, .list_documents li span.arrow').hover(function () {
			$(this).addClass('arrow_hover')
		}, function () {
			$(this).removeClass('arrow_hover')
		});
	}

	// close menu
	$(document).click(function (e) {
		if (!$(e.target).parents('#nav_main, .list_documents')[0]) {
			$('#nav_main ul li, .list_documents li').removeClass('open');
		}
	});

	// tr:hover ie
	if (msie6) {
		$('#content .table_hover tr, #content .table_hover_2 tr, #content .table_messages tr').hover(function () {
			$(this).addClass('hover');
		}, function () {
			$(this).removeClass('hover');
		});
	}

	// finder navigation
	var finders = $('div.finder');
	if (finders.length && finders.finder) {

		finders.finder({
			clipSelector: 'div.finder_clip',
			crumbSelector: 'ul.finder_breadcrumb',
			columnSelector: '.finder_folder'
		});
	}


	/**
	* default form functionality, provided by jquery.lbi.js
	* includes input hints, replaced inputs and event routing
	*/
	var forms = new LBi.Forms({
		hintSelector: 'input[title], textarea[title]',
		hintClass: 'blurred',
		replaceInputs: true
	});

	/**
	* Tabs!
	*/
	var tabs = new LBi.Tabs({
		activeClass: 'active'
	});

	// explanation
	$('.explanation').toggle(function () {
		$(this).addClass('explanation_close').parent().nextAll('.explanation_detail').show();
	}, function () {
		$(this).removeClass('explanation_close').parent().nextAll('.explanation_detail').hide();
	});

	// Dialogs

	var manager = new LBi.Dialogs({
		template: '<div class="box dialog"><span class="top"></span><div class="middle"><h2>Bericht</h2><p></p></div><span class="bottom"></span></div>',
		dialogClass: LBi.CenteredDialog,
		modal: true
	});


	manager.register('ajax', LBi.Class.extend(
	// base class to extend from
		LBi.CenteredDialog,

	// constructor
		function () {
		}, {

			// prototype
			activate: function (toggle) {
				if (toggle) {
					$.get(this.origin.href, this.write.bind(this));
				}
			},

			write: function (response) {
				var target = this.$container.find('p:first');
				target.html(response);
				this.redraw();
			}
		}));

	//  maxlength
	$('fieldset .maxlength').maxlength({
		statusClass: "maxlength_status", // The class on the status div 
		statusText: "karakters over", // The status text 
		notificationClass: "maxlength_notification"  // Will be added when maxlength is reached 
	});

	// search_criteria collapse
	$('fieldset.search_criteria ul.collapsible > li.option').each(function (i, item) {
		var next = $(this).next();
		if (next.hasClass('option')) {
			return;
		}

		next.toggle();
		var button = $('<button class="toggle">+</button>').click(function (e) {
			var target = $(this).parent().next();
			target.css('display') == 'none' ? $(this).text('-') : $(this).text('+');
			$(this).parent().next().toggle();
			e.preventDefault();
		});
		$(this).append(button);
	});



});
