var globals = {
    baseUrl: '/decorations/portlet/leraar24-default/',
    urlParser: ''
}

var videoPlayer = null;
function playerReady(thePlayer) {
    videoPlayer = document.getElementById(thePlayer.id);
    videoPlayer.addModelListener("time", "timeTracker");
}
var timeTrackers = new Array();
function timeTracker(event) {
    for (var i = 0; i < timeTrackers.length; i++) {
        timeTrackers[i].call(this, event);
    }
}

$(function() {

    if (window.location.pathname == '/home.psml'
            && (navigator.userAgent.indexOf('iPhone') >= 0 || navigator.userAgent.indexOf('iPad') >= 0)
            && !$.cookie('iphone_redirected')) {
        $.cookie('iphone_redirected', 'true', { expires: 365, path: '/' });
        window.location = "/iphone-promotie.html";
    }

	$("a.dossierVideosCount").click(function(event) {
		event.preventDefault();
		
		var sourceLi = $(this).parent().parent().parent();
		var dossierVideoList = sourceLi.find("ol");
		dossierVideoList.toggle(200);
	});

	var alreadySubmitted = false;
	$("form#questionForm ul#scores input").click(function() {
		if (alreadySubmitted) return;
		alreadySubmitted = true;
		document.getElementById("questionForm").submit();
	});

	$("table.categoryScores div.scoreGraph").each(function() {
		var score = $(this).find("div.scoreText").html();
		var max_width = 495;
		$(this).width(score * max_width);
		if (score < 0.334) {
			$(this).css('background','#EC6400');
		} else if (score >= 0.334 && score < 0.667) {
			$(this).css('background','#98989B');
		} else if (score >= 0.667) {
			$(this).css('background','#60AF20');
		}
	});

	$("ol.quickscan div.subCompetence div.infoImage").click(function(event) {
		var sourceLi = $(this).parent().parent();
		var explanationDiv = sourceLi.find("div.subCompetenceExplanation");
		explanationDiv.toggle(100);
	});	
	$("ol.quickscan div.subCompetence a").click(function(event) {
		event.preventDefault();
		var sourceLi = $(this).parent().parent();
		var explanationDiv = sourceLi.find("div.subCompetenceExplanation");
		explanationDiv.toggle(100);
	});
	$("ol.quickscan div.subCompetenceExplanation div.hide a").click(function(event) {
		event.preventDefault();
		var explanationDiv = $(this).parent().parent();
		explanationDiv.hide(100);
	});
	
	$("div.competenceScore div.explanationFooter span.explanationLink a").click(function(event) {
		event.preventDefault();
		var span = $(this).parent();
		var footer = span.parent();
		if (footer.hasClass('collapsed')) {
			footer.removeClass('collapsed');
			footer.find('div.explanation').css('display', 'block');
			$(this).html('Verberg Uitleg');
		} else {
			footer.addClass('collapsed');
			footer.find('div.explanation').css('display', 'none');
			$(this).html('Toon Uitleg');
		}
	});
	
    $('.help').tooltip({ id: 'helpTooltip' });

    $('form#commentForm input[name=name], form#commentForm textarea[name=text], input[name=captchaResponse]').labelify({
        labelledClass: 'labelled'
    });

    $('dialog').bgiframe();

    $('#theVideo').each(function() {    	
    	var myPlayer = VideoJS.setup("theVideo");
    });

    $('#carrousel').each(function(i, carrousel) {
    	var items = $('ol.nav a', carrousel);
    	var i = 1;
    	var d = 10000;
    	function next() {
    		$(items.get(i)).click();
    		
    	}
    	var timer = setTimeout(next, d);
    	items.each(function(j, nav) {
    		$(this).click(function(event) { event.preventDefault();
    			clearTimeout(timer);
    			i = j + 1;
        		i = i % items.length;
    			$('li', carrousel).removeClass('active');
    			$(this).parent().addClass('active');
    			$($('a.item', carrousel).addClass('hidden').get(j)).removeClass('hidden');
    			timer = setTimeout(next, d);
    		});
    	});
    });

    $('div.rate form').stars({
        oneVoteOnly: true,
        callback: function(ui, type, value) {
            $.get('/api/rate', {'sourceId': ui.element.attr("sourceId"), 'rating': value});
        }
    });

    $('div.related h4:not(.inactive)').click(function() {
        $(this).toggleClass('collapsed').siblings('ol').slideToggle('fast');
    });

    /***************************************************************************
     * Search
     **************************************************************************/
    $('div.search.block input').click(function(event) { event.preventDefault();
    	window.location = $(this).next().attr('href');
    });

    $('div.search.result').each(function(i, block) {
    	$('li.dossier a.related', block).click(function(event) { event.preventDefault();
    		$('li.video.' + $(this).attr('rel'), block).toggle();
    	});
    });

    $('#competencesFilter').each(function(i, block) {
    	$('a[rel]', block).click(function(event) { event.preventDefault();
    		$('.hidden', block).show();
    		$(this).remove();
    	});
    });

    /***************************************************************************
     * Details page
     **************************************************************************/
    $('div.video.social').each(function(i, block) {
    	$('a[rel]:not(.captcha)', block).click(function(event) { event.preventDefault();
			$('div.mail', block).hide();
			$('div.embed', block).hide();
			$('div.rate', block).hide();

	        var rel = $(this).attr('rel');
	        var split = rel.indexOf('[');
	        var valuePart = rel.substring(split + 1, rel.length - 1);

	        $('div.' + valuePart, block).show();
    	});
    	
    	$('div.block:has(div.errors)', block).each(function() {
    		$(this).show();
    	});
    });

    /***************************************************************************
     * Comments
     **************************************************************************/
    $('.comments').each(function(i, block) {

    	$('a.add', block).click(function(event) { event.preventDefault();
    		$('form', block).show();
        	$('p.nocomments', block).remove();
    	});

    	if ($('li.hidden', block).length > 0) {
    		$('<a>').attr('href', '#')
    		        .text('Toon alle reacties')
    		        .click(function(event) { event.preventDefault();
    		        	$('li.hidden', block).removeClass('hidden');
    		        	$(this).remove();
    		        })
    		        .appendTo(block);
    	}
    });
    
    $('div.comments:has(div.errors)').each(function() {
    	$('form', this).show();
    });

    /***************************************************************************
     * Suggestions
     **************************************************************************/
    $('form.search.main input[name=trefwoord]').suggestions({ minimumInput: 3 });
    $('input.keyword.suggest').suggestions({ autoSubmit: false });

    $('form#dossier').submit(function() {
        $('#linksTable tbody tr', this).each(function(index) {
            var linkId = this.id.substring('link_display_'.length);
            $('#linksTable tbody').append($('<input name="links[' + index + '].id" type="hidden" value="' + linkId + '" />'))
                                  .append($('<input name="links[' + index + '].title" type="hidden" value="' + $('td:eq(1) a', this).text() + '" />'))
                                  .append($('<input name="links[' + index + '].url" type="hidden" value="' + $('td:eq(2) span.hidden', this).text() + '" />'))
                                  .append($('<input name="links[' + index + '].description" type="hidden" value="' + $('td:eq(3)', this).text() + '" />'));
        });
    });

    /***************************************************************************
     * Related links input
     **************************************************************************/
    $('dd.related.links').each(function() {
        var minLinkId = -1;
        var block = $(this);

        var createDialog = null;

        function editLink(event) { event.preventDefault();
            var row = $(this).parents('tr:first');
            var linkId = row.attr('id');
            linkId = linkId.substring('link_display_'.length, linkId.length);

            $('#new_link_id').val(linkId);
            $('#new_link_title').val($('#link_display_' + linkId + ' td:eq(1) a').text());
            $('#new_link_url').val($('#link_display_' + linkId + ' td:eq(2) span.hidden').text());
            $('#new_link_description').val($('#link_display_' + linkId + ' td:eq(3)').text());

            createDialog.dialog('open');
        }

        createDialog = $('#createLinkDialog')
                .dialog({
                    autoOpen: false,
                    buttons: {
                        'Ok': function() {
                            var title = $.trim($('#new_link_title').val());
                            var url = $.trim($('#new_link_url').val());
                            var desc = $('#new_link_description').val();
                            
                            if (title.length == 0) {
                                alert('De link titel is leeg');
                            } else if (url.length == 0) {
                                alert('De link url is leeg');
                            } else {
                                var linkId = $('#new_link_id').val();

                                var displayUrlText = $('#new_link_url').val();
                                if(displayUrlText.length > 45) displayUrlText = displayUrlText.substring(0,45) + "...";

                                var displayUrl = $('<span>').addClass('display').text(displayUrlText);
                                var actualUrl = $('<span>').addClass('hidden').text($('#new_link_url').val());

                                var row = $('<tr>').attr('id', 'link_display_' + linkId)
                                                   .append($('<td>').append($('<input type="checkbox">')))
                                                   .append($('<td>').append($('<a href="#">' + title + '</a>').click(editLink)))
                                                   .append($('<td>').append(displayUrl).append(actualUrl))
                                                   .append($('<td>').text(desc));

                                
                                var existing = $('#link_display_' + linkId);
                                if (existing.length > 0) {
                                    existing.replaceWith(row)
                                } else {
                                    row.appendTo($('#linksTable tbody'));
                                }

                                $('#new_link_id').val('');
                                $('#new_link_title').val(''); 
                                $('#new_link_url').val('');
                                $('#new_link_description').val('');

                                $('#linksTable').trigger("update");         

                                $(this).dialog('close');
                            }
                        },
                        'Cancel': function() { $(this).dialog('close'); }
                    },
                    modal: true,
                    width: 470,
                    height: 400
                });

        $('<a href="#">toevoegen</a>').addClass('button add').appendTo(block).click(function(event) { event.preventDefault();
            $('#new_link_id').val(minLinkId--);
            createDialog.dialog('open');
        });
        $('<a href="#">verwijderen</a>').addClass('button delete').appendTo(block).click(function(event) { event.preventDefault();
            $('tr:has(input:checked)', block).remove();
        });
        $('a.link', this).click(editLink);
    });

    /***************************************************************************
     * Related sources input
     **************************************************************************/
    $('dd.related.sources').each(function() {
        var block = $(this);

        var addDialog = $('#' + $('select', this).attr('id') + 'Dialog')
                .dialog({
                    autoOpen: false,
                    buttons: {
                        'Ok': function() { $(this).dialog('close'); }
                    },
                    modal:true,
                    width: 800,
                    height: 600
                });

        $('<a href="#">omhoog</a>').addClass('button up').appendTo(block).click(function(event) { event.preventDefault();
            $('option:selected', block).each(function() {
                $(this).insertBefore($(this).prev());
            });
        });
        $('<a href="#">omlaag</a>').addClass('button down').appendTo(block).click(function(event) { event.preventDefault();
            $('option:selected', block).each(function() {
                $(this).insertAfter($(this).next());
            });
        });
        $('<a href="#">toevoegen</a>').addClass('button add').appendTo(block).click(function(event) { event.preventDefault();
            addDialog.dialog('open');
            $('form', addDialog).submit();
        });
        $('<a href="#">verwijderen</a>').addClass('button delete').appendTo(block).click(function(event) { event.preventDefault();
            var selected = $('option:selected', block);
            if (selected.length > 0 && confirm("Weet u zeker dat u deze koppeling(en) wilt verbreken? Dit kan niet ongedaan gemaakt worden, maar u kunt de koppeling altijd nog opnieuw leggen.")) {                
                selected.remove();
            }
        });
    });

    $('#relatedAttachmentsSearch').submit(function(event) { event.preventDefault();
    	var form = $(this);
    	form.siblings('ul').remove();
    	var table = form.siblings('table');
        var searchtext = $("input[name='searchtext']", this).val();
        var page = $("input[name='page']", this);
        var pageVal = page.val() || 1;
        var result = [];
        $('#relatedAttachments option').each(function() {
            result.push(this.value);
        });
        $.getJSON('/api/unrelated/attachments', {'text': searchtext, 'alreadyRelated': result, 'page': pageVal}, function(data) {
            $('tbody', table).remove();
            if (typeof data == 'object') {
                var content = $('<tbody>');
                var records = data.records;
                
                for (var i = 0; i < records.length; i++) {
                    var identifier = records[i].indentifier ? records[i].indentifier : '';
                    var title = records[i].title;

                    $('<tr>').append($('<td>').text(identifier))
                             .append($('<td>').text(title))
                             .append($('<td>').text(records[i].published ? 'Ja' : 'Nee'))
                             .append($('<td>').append($('<a>').attr('href', '#').text('Voeg toe').bind('click', {elemId: records[i].id, title: title}, function(event) {
                                     $(this).parents('tr').remove();
                                     $('<option>').text(event.data.title)
                                                  .attr('value', event.data.elemId)
                                              .appendTo($('#relatedAttachments'))
                                 })))
                             .appendTo(content);
                }

                table.append(content);
                
                var pageLinks = $('<ul>').addClass('plain horizontal paging');
                for (var i = 1; i <= data.totalPages; i++) {
                	$('<li>').append($('<a>').attr('href', '#').text(i).bind('click', {temp: i}, function(event) {
                			event.preventDefault();
                			page.val(event.data.temp);
                			form.submit();
                		}))
                	.appendTo(pageLinks);
                	$($('li', pageLinks).get(pageVal-1)).addClass('active');
                }
                page.val(1);
                
                table.parent().append(pageLinks);
            }
        });
    });

    $('#relatedDocumentsSearch').submit(function(event) { event.preventDefault();
    	var form = $(this);
    	form.siblings('ul').remove();
    	var table = form.siblings('table');
        var searchtext = $("input[name='searchtext']", this).val();
        var page = $("input[name='page']", this);
        var pageVal = page.val() || 1;
        var result = [];
        $('#relatedDocuments option').each(function() {
            result.push(this.value);
        });
        $.getJSON('/api/unrelated/documents', {'text': searchtext, 'alreadyRelated': result, 'page': pageVal}, function(data) {
            $('tbody', table).remove();
            if (typeof data == 'object') {
                var content = $('<tbody>');
                var records = data.records;
                
                for (var i = 0; i < records.length; i++) {
                    var identifier = records[i].indentifier ? records[i].indentifier : '';
                    var title = records[i].title;
                    
                    $('<tr>').append($('<td>').text(identifier))
                             .append($('<td>').text(title))
                             .append($('<td>').text(records[i].published ? 'Ja' : 'Nee'))
                             .append($('<td>').append($('<a>').attr('href', '#').text('Voeg toe').bind('click', {elemId: records[i].id, title: title}, function(event) {
                                     $(this).parents('tr').remove();
                                     $('<option>').text(event.data.title)
                                                  .attr('value', event.data.elemId)
                                              .appendTo($('#relatedDocuments'))
                                 })))
                             .appendTo(content);
                }

                table.append(content);
                
                var pageLinks = $('<ul>').addClass('plain horizontal paging');
                for (var i = 1; i <= data.totalPages; i++) {
                	$('<li>').append($('<a>').attr('href', '#').text(i).bind('click', {temp: i}, function(event) {
                			event.preventDefault();
                			page.val(event.data.temp);
                			form.submit();
                		}))
                	.appendTo(pageLinks);
                	$($('li', pageLinks).get(pageVal-1)).addClass('active');
                }
                page.val(1);
                
                table.parent().append(pageLinks);
            }
        });
    });
    $('#relatedDossiersSearch').submit(function(event) { event.preventDefault();
    	var form = $(this);
    	form.siblings('ul').remove();
    	var table = form.siblings('table');
        var searchtext = $("input[name='searchtext']", this).val();
        var page = $("input[name='page']", this);
        var pageVal = page.val() || 1;
        var result = [];
        $('#relatedDossiers option').each(function() {
            result.push(this.value);
        });
        $.getJSON('/api/unrelated/dossiers', {'text': searchtext, 'alreadyRelated': result, 'page': pageVal}, function(data) {
            $('tbody', table).remove();
            if (typeof data == 'object') {
                var content = $('<tbody>');
                var records = data.records;
                
                for (var i = 0; i < records.length; i++) {
                    var identifier = records[i].indentifier ? records[i].indentifier : '';
                    var title = records[i].title;

                    $('<tr>').append($('<td>').text(identifier))
                             .append($('<td>').text(title))
                             .append($('<td>').text(records[i].published ? 'Ja' : 'Nee'))
                             .append($('<td>').append($('<a>').attr('href', '#').text('Voeg toe').bind('click', {elemId: records[i].id, title: title}, function(event) {
                                     $(this).parents('tr').remove();
                                     $('<option>').text(event.data.title)
                                                  .attr('value', event.data.elemId)
                                                  .appendTo($('#relatedDossiers'))
                                 })))
                             .appendTo(content);
                }

                table.append(content);
                
                var pageLinks = $('<ul>').addClass('plain horizontal paging');
                for (var i = 1; i <= data.totalPages; i++) {
                	$('<li>').append($('<a>').attr('href', '#').text(i).bind('click', {temp: i}, function(event) {
                			event.preventDefault();
                			page.val(event.data.temp);
                			form.submit();
                		}))
                	.appendTo(pageLinks);
                	$($('li', pageLinks).get(pageVal-1)).addClass('active');
                }
                page.val(1);
                
                table.parent().append(pageLinks);
            }
        });
    });
    $('#relatedVideosSearch').submit(function(event) { event.preventDefault();
    	var form = $(this);
    	form.siblings('ul').remove();
        var table = form.siblings('table');
        var searchtext = $("input[name='searchtext']", this).val();
        var page = $("input[name='page']", this);
        var pageVal = page.val() || 1;
        var result = [];
        $('#relatedVideos option').each(function() {
            result.push(this.value);
        });
        $.getJSON('/api/unrelated/videos', {'text': searchtext, 'alreadyRelated': result, 'page': pageVal}, function(data) {
            $('tbody', table).remove();
            if (typeof data == 'object') {
                var content = $('<tbody>');
                var records = data.records;
                
                for (var i = 0; i < records.length; i++) {
                    var identifier = records[i].indentifier ? records[i].indentifier : '';
                    var title = records[i].title;

                    $('<tr>').append($('<td>').text(identifier))
                             .append($('<td>').text(title))
                             .append($('<td>').text(records[i].published ? 'Ja' : 'Nee'))
                             .append($('<td>').append($('<a>').attr('href', '#').text('Voeg toe').bind('click', {elemId: records[i].id, title: title}, function(event) {
                                     $(this).parents('tr').remove();
                                     $('<option>').text(event.data.title)
                                                  .attr('value', event.data.elemId)
                                              .prependTo($('#relatedVideos'))
                                 })))
                             .appendTo(content);
                }
                    
                table.append(content);

                var pageLinks = $('<ul>').addClass('plain horizontal paging');
                for (var i = 1; i <= data.totalPages; i++) {
                	$('<li>').append($('<a>').attr('href', '#').text(i).bind('click', {temp: i}, function(event) {
                			event.preventDefault();
                			page.val(event.data.temp);
                			form.submit();
                		}))
                	.appendTo(pageLinks);
                	$($('li', pageLinks).get(pageVal-1)).addClass('active');
                }
                page.val(1);
                
                table.parent().append(pageLinks);
            }
        });
    });

    $("form#dossier").submit(function() {
        $("#relatedDossierIds").val($('#relatedDossiers option').map(function() {
            return $(this).val();
        }).get().join(','));
        $("#relatedDocumentIds").val($('#relatedDocuments option').map(function() {
            return $(this).val();
        }).get().join(','));
        $("#relatedVideoIds").val($('#relatedVideos option').map(function() {
            return $(this).val();
        }).get().join(','));
    });
    $("form#document").submit(function() {
        $("#relatedDossierIds").val($('#relatedDossiers option').map(function() {
            return $(this).val();
        }).get().join(','));
    });
    $('form#video').submit(function() {
        $("#relatedAttachmentIds").val($('#relatedAttachments option').map(function() {
            return $(this).val();
        }).get().join(','));
        $("#relatedDossierIds").val($('#relatedDossiers option').map(function() {
            return $(this).val();
        }).get().join(','));
        $("#relatedDocumentIds").val($('#relatedDocuments option').map(function() {
            return $(this).val();
        }).get().join(','));
    });

    /***************************************************************************
     * Tab support
     **************************************************************************/
    $('div.portlet.tabs').each(function(i, tabGroup) {
        var tabGroupId = $(tabGroup).attr('id');

        $('ol.tabs li', this).click(function() {
            var j = $(this).parent().children().index($(this));
            $('ol.tabs li, div.tab', tabGroup).removeClass('active');
            var tabId = $(this).addClass('active').attr('id');
            $('div.tab:eq(' + j + ')', tabGroup).addClass('active');

            $.get('/twisty', {
                twistyId: tabGroupId,
                state: tabId
            });
        });
    });

    $('ol.tabs li').corner('top 3px');
    $('#relatedEmpty').parents('div.tabs').children('ol.tabs').children('li:last').click();

    /***************************************************************************
     * Special links/buttons
     **************************************************************************/
    $('a[rel=cancel]').click(function(event) {
        if (!confirm("Weet u zeker dat u wilt annuleren? Wijzigingen worden dan niet doorgevoerd.")) {
            event.preventDefault();
        }
    });
    $('a.delete.attachment').click(function(event) {
        if (!confirm("Weet u zeker dat u deze verdiepende video wilt verwijderen? Alle gegevens inclusief het videobestand worden onomkeerbaar verwijderd.")) {
            event.preventDefault();
        }
    });
    $('a.delete.carousel').click(function(event) {
        if (!confirm("Weet u zeker dat u dit carrousel item wilt verwijderen?")) {
            event.preventDefault();
        }
    });
    $('a.delete.comment').click(function(event) {
        if (!confirm("Weet u zeker dat u deze enkele reactie wilt verwijderen?\nDeze handeling kan niet ongedaan gemaakt worden en de reactie is later niet meer terug te halen.")) {
            event.preventDefault();
        }
    });
    $('a.delete.competence').click(function(event) {
        if (!confirm("Weet u zeker dat u deze competentie wilt verwijderen?")) {
            event.preventDefault();
        }
    });
    $('a.delete.content').click(function(event) {
        if (!confirm('Weet u zeker dat u dit Content element wilt verwijderen ?\nDit kan niet ongedaan gemaakt worden.')) {
            event.preventDefault();
        }
    });
    $('a.delete.dynamicpage').click(function(event) {
        if (!confirm("Weet u zeker dat u deze pagina wilt verwijderen?")) {
            event.preventDefault();
        }
    });
    $('a.delete.image').click(function(event) {
        if (!confirm('Weet u zeker dat u deze afbeelding wilt verwijderen?\nAlle gegevens over deze afbeelding worden onomkeerbaar verwijderd.')) {
            event.preventDefault();
        }
    });
    $('a.delete.newsletter').click(function(event) {
        if (!confirm("Weet u zeker dat u deze nieuwsbrief wilt verwijderen?")) {
            event.preventDefault();
        }
    });
    $('a.delete.document').click(function(event) {
        if (!confirm('Weet u zeker dat u dit document wilt verwijderen?\nAlle gegevens over dit document worden onomkeerbaar verwijderd.\nKoppelingen met dossiers worden verbroken, maar deze dossiers blijven nog wel beschikbaar.')) {
            event.preventDefault();
        }
    });
    $('a.delete.dossier').click(function(event) {
        if (!confirm("Weet u zeker dat u dit Dossier wilt verwijderen ?\nAlle artikelen, columns en actualiteiten worden ook verwijderd.\nDit kan niet ongedaan gemaakt worden.")) {
            event.preventDefault();
        }
    });
    $('a.delete.video').click(function(event) {
        if (!confirm("Weet u zeker dat u deze video wilt verwijderen? Alle gegevens inclusief het videobestand worden onomkeerbaar verwijderd en koppelingen met dossiers worden verbroken, maar deze dossiers blijven nog wel beschikbaar.")) {
            event.preventDefault();
        }
    });
    $('a[rel=upload]').click(function(event) {
        var url = $(this).attr('href');
        window.open(url, 'upload', 'width=490,height=240,location=no,status=no,menubar=no,resizable=no,scrollbars=no');
        event.preventDefault();
    });
    $('a[rel=popup]').click(function(event) {
        if (typeof popup != 'undefined') popup.close();
        var url = $(this).attr('href');
        popup = window.open(url, 'upload', 'width=650,height=540,location=no,status=no,menubar=no,resizable=no,scrollbars=yes');
        event.preventDefault();
    });
    $('a.more').click(function(event) {
        event.preventDefault();
        $(this).siblings('ol').children().css('display', 'block');
        $(this).remove();
    });
    $('a.reload.captcha').click(function(event) { event.preventDefault();
        var rel = $(this).attr('rel');
        var value = rel.substring('captcha['.length, rel.length - 1);
        var randomnumber = Math.floor(Math.random()*1000);
        var captcha = $('#captcha-' + value);
        $(captcha).attr('src', captcha.attr('src') + '&r=' + randomnumber);
    });
    $('div.chapters a[rel]').click(function(event) { event.preventDefault();
        var rel = $(this).attr('rel');
        var time = rel.substring(rel.indexOf('[') + 1, rel.length - 1);

        if (videoPlayer) {

            function seekDelayed() {
                var pos = $.inArray(seekDelayed, timeTrackers);
                if (pos >= 0) timeTrackers.splice(pos, 1);

                videoPlayer.sendEvent("SEEK", time);
                videoPlayer.sendEvent("MUTE", false);
            }

            if (videoPlayer.getConfig().state == 'IDLE') {
                videoPlayer.sendEvent("MUTE", true); 
                videoPlayer.sendEvent("PLAY");
                timeTrackers.push(seekDelayed)
            } else {
                videoPlayer.sendEvent("SEEK", time);
            }
        }
    });
    $('a.lastviewed').click(function(event) { event.preventDefault();
        $('div.source.lastviewed').replaceWith('<div class="source lastviewed">Geen laatst bekeken dossiers of videos.</div>')
        $.cookie('nl.leraar24.cookie.LastViewed', null, { path: '/' });
    });

    /****/
    if ( $("#accordion").length > 0 ) {     
        $("#accordion").accordion({
            alwaysOpen: false,
            header: 'h3',
            collapsible:true,
            active: false,
            autoHeight: false,
            change: function(event, ui) { 
                if(ui.newHeader && ui.newHeader.hasClass('ui-state-active')){
                    $('#accordion h3').each(     
                        function(it, el){          
                            var isActive = $(el).hasClass('ui-state-active');   
                            if(isActive){
                                $.cookie('accordion-active', it, {path:'/'});
                            }   
                        } 
                    );
                } else {
                    $.cookie('accordion-active', '', {path:'/'});
                 }
            }
        });
        
        if($.cookie('accordion-active')) {
            $("#accordion").accordion('activate' , parseInt($.cookie('accordion-active'), 10));
        }
    }

    $('div.tab:has(div.errors), div.tab:has(form.portalConfigForm)').each(function() {
        var index = $(this).parent().children().index(this);
        var tab = $(this).siblings('ol').children().get(index - 1);
        if (tab) $(tab).click();

        var position = $(this).parent().position();
        window.scrollTo(position.left, position.top);
    });

    $('dd div.competence').each(function(i, competence) {
    	var selected = $('<ol>').addClass('plain horizontal selected').prependTo(competence);
    	$('.subCompetences', competence).each(function(j, subcompetence) {
    		$('span', subcompetence).each(function(k, option) {
    			$(option).addClass('add').click(function(event) {
                    event.preventDefault();
            		if ($('input:checked', option).length == 0) {
            		    $('input', option).attr('checked', 'checked');
            			removeLink().appendTo(selected);
          		    }
                });

        		var lbl = $('label', option).text();
        		function removeLink() {
        			var link = $('<a>').attr('href', '#').text(lbl);
        			var li = $('<li>').append(link).click(function(event) {
                       event.preventDefault();
                       $('input', option).removeAttr('checked');
                       $(this).remove();
                   });
        			return li;
        		}
        		if ($('input:checked', option).length > 0) {
        			removeLink().appendTo(selected);
        		}
        		$('<a>').attr('href', '#').text(lbl).appendTo(option);
    		});
    	});
    });

    $('.source.related').each(function(i, block) {
    	var hiddenBlocks = $('li.hidden', block);

    	if (hiddenBlocks.length > 0) {
    		$('<a>').attr('href', '#')
    		        .addClass('more')
    		        .text('Toon alle gekoppelde bronnen')
    		        .click(function(event) { event.preventDefault();
    		        	hiddenBlocks.toggleClass('hidden');
    		        	$(this).text($(this).text() == 'Toon alle gekoppelde bronnen' ? 'Verberg bronnen' : 'Toon alle gekoppelde bronnen');
    		        })
    		        .appendTo(block);
    	}
    });

	// Always clear checkbox if the upload box is filled out
	// This script only works correctly when one thumbnail upload screen is presented
	$("#thumbnailFile").change(function() {
		$("#useDefaultThumbnail").attr('checked', false);
	});
});
