$(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').each(function(i, item) {
		$(this).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);
	});



});