/* js voor pagina vak 
    gebruikt jquery
*/

function showTheme(ev) {
    ev.stopPropagation();
    var target = ev.target;
    var themeDiv = $(target).parent('div.theme');
    var themeID = $(themeDiv).attr('id');
    
    openTheme(themeID);
}

function slideUp(item,speed) {
    if ($.browser.msie && $.browser.version > 7) {
      item.hide();
    } else {
      item.slideUp(speed);
    }
}

function slideDown(item,speed) {
    if ($.browser.msie && $.browser.version > 7) {
      item.show();
    } else {
      item.slideDown(speed);
    }
}

function openTheme(id) {
    slideDown( $('#' + id).find('div.items'),400);
//    if ($.browser.msie) {
//      $('#' + id).find('div.items').show();
//    } else {
//      $('#' + id).find('div.items').slideDown();
//    }
    $('#' + id).removeClass('closed');
    $('#' + id).addClass('open');
    
    $('#' + id + " > div.head").unbind();
    $('#' + id + " > div.head").click(function(ev) { hideTheme(ev); });
}

function hideTheme(ev) {
    ev.stopPropagation();
    var target = ev.target;
    var themeDiv = $(target).parent('div.theme');
    var themeID = $(themeDiv).attr('id');
    
    slideUp($('#' + themeID).find('div.items'),400);
//    if ($.browser.msie) {
//      $('#' + themeID).find('div.items').hide();
//    } else {
//      $('#' + themeID).find('div.items').slideUp();
//    }
    $(themeDiv).removeClass('open');
    $(themeDiv).addClass('closed');
    
    $('#' + themeID + " > div.head").unbind();
    $('#' + themeID + " > div.head").click(function(ev) { showTheme(ev);});
}

function hideSubject(ev) {
    ev.stopPropagation();
    var target = ev.target;
    var subjID = $(target).attr('id');
  
    slideUp($("#" + subjID).siblings("dd"),'fast');  
//    if ($.browser.msie) {
//      $("#" + subjID).siblings("dd").hide();
//    } else {
//      $("#" + subjID).siblings("dd").slideUp('fast');
//    }
    $('#' + subjID).unbind();
    $('#' + subjID).click(function(ev) { showSubject(ev); });  
}

function showSubject(ev) {
    ev.stopPropagation();
    var target = ev.target;
    var subjID = $(target).attr('id');
    
    openSubject(subjID);
}

function openSubject(id) {
    slideDown($("#" + id).siblings("dd"),'fast');
//    if ($.browser.msie) {
//      $("#" + id).siblings("dd").show();
//    } else {
//      $("#" + id).siblings("dd").slideDown('fast');
//    }
    $('#' + id).unbind();
    $('#' + id).click(function(ev) { hideSubject(ev); });
}

function vakbrowser() {
    $('div.theme > div.items').hide();
    $('div.theme div.head').click(function(ev) { showTheme(ev); });
    $('div.theme').addClass('closed');
    //$('div.theme > div.items > dl > dd').hide();
    $('div.theme > div.items > dl > dt').click(function(ev) { hideSubject(ev); });
    openViaHash();
}

/* 
 * Looks at the hash part (#t1540418o1541518) of the url and opens 
 * the appropiate theme and subject when found.
 *
 */
function openViaHash() {
    var hash = window.location.hash;    // the #part of url
    var subjID, themeID;
    //console.log("hash: " + hash);
    if (hash != undefined && hash.indexOf("t") > -1) {
        if (hash.indexOf("o") > -1) {
            themeID = hash.substring(hash.indexOf("t"), hash.indexOf("o"));
            subjID = hash.substring(hash.indexOf("o"), hash.length);
            openTheme(themeID);
            openSubject(subjID);
        } else {
            themeID = hash.substring(hash.indexOf("t"), hash.length);
            openTheme(themeID);
        }
        //console.log("theme: " + themeID + ", subject: " + subjID);
    }
}

$(document).ready(function() {
    vakbrowser();
});

