function tooltip() {
    /* Tooltip engine */
    $('.tooltip-show').click(function() {
        $('.tooltip').hide();
        var thisHref = $(this).attr("rel");
        var name = thisHref.substr(1);
        name = "." + name;
        var offset = "0";
        offset = $(this).offset();
        var thisWidth = $(this).width();
        var thisParent = $(this).parent().parent().offset();
        
        //alert(thisParent);
        
        $(name).css({
        //'left': offset.left + $(thisParent).width() - 400,
            'left': 130,
            'top': offset.top - 385,
            'position': 'absolute'
        });

        $(this + " div").addClass("content");
        $(".tooltip-close").fadeIn("fast");

        $(name).fadeIn();
        $('.zoekopties_select').hide();
        return false;


    });

	$('.kolom-rechts .tooltip-show').click(function() {
        $('.tooltip').hide();
        var thisHref = $(this).attr("rel");
        var name = thisHref.substr(1);
        name = "." + name;

		var offset = "0";
        offset = $(this).offset();
        var thisWidth = $(this).width();


		$(name).css({
        'left': 60,
        'top': offset.top - 390,
        'position': 'absolute'
        });

		$(this + " div").addClass("content");
        $(".tooltip-close").fadeIn("fast");

		$(name).fadeIn();
        $('.zoekopties_select').hide();
		return false;
	});



	$('.tooltip-close').click(function() {
	    $(this).parent().parent().css({"top":"-2000px"});
	    $('.zoekopties_select').show();
	    return false;
	});
}

function table_Highlight() {
    if ($('#FunctieMixResultaten').length > 0) {
        $('#FunctieMixResultaten tr').hover(function() {
            $(this).addClass("hilite");
        }, function() {
            $(this).removeClass("hilite");
        });
    }
}

function selecteerPeriode() {
    if($('.selecteerperiode').length > 0) {
        $('.selecteerperiode ul li').hover(function() {
            $('.selecteerperiode ul li').css({ "background": "white", "border-right": "1px solid #4e9625" });
            $('.selecteerperiode ul li.active a').css({ "color": "black" });

            $(this).addClass("hoverprimair");
            $(this).prev().addClass("hoversecundair");
            $(this).next().addClass("hoversecundair");
            var itemRight = $(this).next().length;
            var itemLeft = $(this).prev().length;
            if (itemRight == "0") {
                $(this).prev().prev().addClass("hoversecundair");
            }
            if (itemLeft == "0") {
                $(this).next().next().addClass("hoversecundair");
            }

        }, function() {
            $('.selecteerperiode ul li.active').css({ "background": "#4e9625", "color": "white" });
            $('.selecteerperiode ul li.active a').css({ "color": "white" });
            $(this).removeClass("hoverprimair");
            $(this).prev().removeClass("hoversecundair");
            $(this).prev().prev().removeClass("hoversecundair");
            $(this).next().removeClass("hoversecundair");
            $(this).next().next().removeClass("hoversecundair");
        });
    }

}
function faq() {
    if ($('.faq').length > 0) {
        $('.faq').accordion({ activate: "23", autoheight: false, header: 'a.first', alwaysOpen: false, navigation: false });
        //$('.faq').accordion({ active: false, header: 'a.first', navigation: true, event: 'mouseover', fillSpace: true, animated: 'easeslide' });
        $('.faq').accordion("activate", -1);

        
    } // active: -1, 
}

function doThings() {

    
    EnableExtraOptions();
    table_Highlight();
    
    selecteerPeriode();
    faq();
    
    tooltip();
    
    if ($('.watermark').length > 0) {
    $(".watermark").Watermark("Zoeken op vrije tekst...", "#999");
    }
    
    $('.needsHiding').addClass('hidden');
    $('.needsDisabling').attr('disabled', 'disabled');
   
    $('.progressHolder').each(function() {
    var parentTag = $(this).parent().parent().get(0);
    var informationHeight = $(parentTag).height();
    var informationWidth = $(parentTag).width();
        
    $(this).css({ 'height': informationHeight, 'opacity': '0.9' });
        
    });
    


    }
    $(document).ready(function() {

    //doThings();
    tooltip();
    selecteerPeriode();
    faq();

    $('.needsHiding').addClass('hidden');
    $('.needsDisabling').attr('disabled', 'disabled');

});


function EnableExtraOptions() {
    if($('#divvie').length > 0) {
        var elm = $('#divvie');
        if (elm == null) { return; }
            var txt = $('.zoektermveld');
            if (txt.attr('value') != '') {
                elm.show();
            }
            else {
                elm.hide();
            }
        }
    }

//Add events for initialize and pageloaded
    var postbackElement;
    var manager = Sys.WebForms.PageRequestManager.getInstance();
    manager.add_initializeRequest(OnInitializeRequest);
    manager.add_pageLoaded(OnPageLoaded);
    manager.add_beginRequest(OnBeginRequest);
    manager.add_endRequest(OnEndRequest);

//Request init event
    function OnInitializeRequest(sender, args) {
    //Register the postbackelement for use when Ajax returns
    postbackElement = args.get_postBackElement();
    }


function OnPageLoaded(sender, args) {
    //alert("OnPageLoaded start");
    //Check if there is an event trigger
    //if (postbackElement && postbackElement != null) {
    //}
    doThings();
    //alert("OnPageLoaded einde");
    }


function OnBeginRequest(sender, args) {
    //alert("OnBeginRequest start");
    var pbe = args._postBackElement;
    
    var ph = $(pbe).find('.progressHolder:last')
    $('#ctl00_lblTemp').html($(ph).parent().parent().attr('id'));
    ph.show();
    
    
    if (/MSIE (\d+\.\d+);/.test(navigator.userAgent)) {
    var ieversion = new Number(RegExp.$1)
    if (ieversion >= 6) {
    $('select').hide(); 
    }
    }
    
    //alert("OnBeginRequest einde");
    
}

function OnEndRequest(sender, args) {
    //alert("OnEndRequest start ");
    
    var e = args.get_error();

    if (e != null) {
        $('#ctl00_lblTemp').html(e);
        $('.progressHolder').hide();
        args.set_errorHandled(true);
    }
    if (/MSIE (\d+\.\d+);/.test(navigator.userAgent)) {
        var ieversion = new Number(RegExp.$1)
        if (ieversion >= 6) {
            $('select').show();
        }
    }
    
    //alert("OnEndRequest einde");
    
    
}

function doAccordeons()
{
    /*
	 * hide .vakgebiedToggle and display on click
	 */
	if ( $(".vakgebiedToggle").length > 0 ) {
		
		$(".vakgebied").each(function(i) {
			if(!$(this).hasClass('done')) {
				
				$(this).hide();	
				
				$(".vakgebiedToggle:eq(" + i + ")").parent().parent().css('border-bottom','0');
				var vakgebiedToggle_text = $(".vakgebiedToggle:eq(" + i + ")").html();
				$(".vakgebiedToggle:eq(" + i + ")").html('<a href="#vakgebied_start" name="vakgebied_start">' + vakgebiedToggle_text + '</a>');
				
				 
				if ( $(".vakgebied:eq(" + i + ") table.uitklapbaar").length > 0 ) {	
					
					/*
					 * create links of <tr> sets; class
					 */
					$(".vakgebied:eq(" + i + ") table.uitklapbaar").each(function(j) {
						var previous = '';
						var current = '';
						$(".vakgebied:eq(" + i + ") table.uitklapbaar:eq(" + j + ") tr").each(function(k) {
							current = $(".vakgebied:eq(" + i + ") table.uitklapbaar:eq(" + j + ") tr:eq(" + k + ")").attr('class');
							if( previous != current ) {
								var this_value = $(".vakgebied:eq(" + i + ") table.uitklapbaar:eq(" + j + ") tr:eq(" + k + ") th span").html();
								var this_name = 'u-' + j + '-' + j;
								$(".vakgebied:eq(" + i + ") table.uitklapbaar:eq(" + j + ") tr:eq(" + k + ") th span").html("<a href='#" + this_name + "' name='" + this_name + "'>" + this_value + "</a>");
							} else if( current!='' ) {
								$(this).hide();
							}
							previous = current;
						});
					});					
				}
				
				$(".vakgebiedToggle:eq(" + i + ") a").click(function() {
					if( !$(this).hasClass('uitgeklapt') ) {
		
						// <div class="functiemixHeader">
						//   <span class="tooltipper">
						//     <span id="vakgebiedToggle">Bevoegdheid naar vakgebied</span>
						//     [..]
						
						$(".vakgebiedToggle:eq(" + i + ")").parent().parent().css('border-bottom','2px solid #4e9625');
						$(this).addClass('uitgeklapt');
					} else {
						$(".vakgebiedToggle:eq(" + i + ")").parent().parent().css('border-bottom','0');
						$(this).removeClass('uitgeklapt');
					}
						
					$(".vakgebied:eq(" + i + ")").toggle();
				});
				
				$(this).addClass('done');
			}
		});
	}

	/*
	 * hide .vakgebiedVerdelingToggle and display on click
	 */
	if ( $(".vakgebiedVerdelingToggle").length > 0 ) {

		$(".vakgebiedVerdeling").each(function(i) {
			if(!$(".vakgebiedVerdeling:eq(" + i + ")").hasClass('done')) {
				
				$(this).hide();	
				
				$(".vakgebiedVerdelingToggle:eq(" + i + ")").parent().parent().css('border-bottom','0');				
				var vakgebiedVerdelingToggle_text = $(".vakgebiedVerdelingToggle:eq(" + i + ")").html();
				$(".vakgebiedVerdelingToggle:eq(" + i + ")").html('<a href="#vakgebied-verdeling_start" name="vakgebied-verdeling_start">' + vakgebiedVerdelingToggle_text + '</a>');
				
				$(".vakgebiedVerdelingToggle a").each(function(i) {
					$(this).click(function() {
						if( !$(this).hasClass('uitgeklapt') ) {
							//
							// <div class="functiemixHeader">
							//   <span class="tooltipper">
							//     <span id="vakgebiedToggle">Bevoegdheid naar vakgebied</span>
							//     [..]
							//
							$(".vakgebiedVerdelingToggle:eq(" + i + ")").parent().parent().css('border-bottom','2px solid #4e9625');
							$(this).addClass('uitgeklapt');
						} else {
							$(".vakgebiedVerdelingToggle:eq(" + i + ")").parent().parent().css('border-bottom','0');
							$(this).removeClass('uitgeklapt');
						}
							
						$(".vakgebiedVerdeling:eq(" + i + ")").toggle();
					});
				});
				
				$(this).addClass('done');
			}
		});
		
	}
	
	/*
	if ( $(".vakgebied:not(.done) table.uitklapbaar").length > 0 ) {			 
		$(".vakgebied:not(.done) table.uitklapbaar a").click(function() {
*/
    
    
	if ( $("table.uitklapbaar").length > 0 ) {	
	    $("table.uitklapbaar").each(function(i) {
	    
    		$(this).parents().map(function () { 
    		    
                if(!$(this).hasClass("done"))
                {
                
                
                    $("table.uitklapbaar:eq(" + i + ") a").click(function() {

			            // <table class="uitklapbaar">
			            //   <tbody>
			            //     <tr class="uitklappen_technischevakken">
			            //       <th scope='row' class='textAlignLeft'><span>Technische vakken</span></th>
            	
			            if( !$(this).hasClass('uitgeklapt') ) {
				            $(this).addClass('uitgeklapt');
				            var this_class = $(this).parent().parent().parent().attr('class'); /* <a> [-->] <span> [-->] <th> [-->] <tr> */
				            $("table.uitklapbaar:eq(" + i + ") ." + this_class).show();

				            $(".vakgebiedVerdeling:eq(" + i + ")").show();
				            $(".vakgebiedVerdelingToggle:eq(" + i + ")").parent().parent().css('border-bottom','2px solid #4e9625');
				            $(".vakgebiedVerdelingToggle:eq(" + i + ") a").addClass('uitgeklapt');
			            } else {
				            $(this).removeClass('uitgeklapt');
				            var this_class = $(this).parent().parent().parent().attr('class'); /* <a> [-->] <span> [-->] <th> [-->] <tr> */
				            $("table.uitklapbaar:eq(" + i + ") tr." + this_class).each(function(i) {
					            if(i != 0)
						            $(this).hide();
				            });
			            }
		            });
                
                
                
                } 
            });
	    });
	    
		 
		
	}

}

$(document).ready(function() {
	doAccordeons();
	
	/*
	$(".vakgebiedToggle").load(function(){
	    doAccordeons();
	});
	*/
});