// ********************************************* //
// Expandable listing accordian                  //
// ********************************************* //

// Returns an array containing a QueryString Key/Value 
// collection or null
function QueryStringArrayGet() {
    dictionary = {};
    split = location.href.split('?');
    
    if (split.length > 1) {
        
        pairs = split[1].split('&');
        
        for (i=0;i<pairs.length;i++) {
			var pair = pairs[i].split('=');
			dictionary[pair[0]] = pair[1].replace('+', ' ');
		}
		
		return dictionary;
    }
    
    return null;
}

// Expands items selected in the QueryString 
function ExpandItemsByQueryString() {
    var qs = QueryStringArrayGet();
    
    if (qs != null && qs["selected"] != null && qs["selected"] != '') {
        var item = $("ul.expandable> li.expandable> h2:contains('" + qs["selected"] + "')");
        
        for (i=0;i<=item.length;i++) {
            var currentItem = item.eq(i);
            
            if (currentItem.text() == qs["selected"]) {
                offset = currentItem.offset().top;
                var parentListItem = currentItem.parents().get(0);
                var childItem = $(parentListItem).children("div.expander");
                
                $('html,body').delay(500).animate({scrollTop: offset}, 1000);
        
                currentItem.delay(500).toggleClass('open');
                currentItem.delay(500).toggleClass('closed');
                childItem.delay(500).slideToggle('slow');
            }
        }
    }
}

$(document).ready(function() {
    $('ul.expandable> li.expandable> div.expander').hide();
    $('ul.expandable> li.expandable> h2').toggleClass('open');
    $('ul.expandable> li.expandable> h2').toggleClass('closed');
    
    ExpandItemsByQueryString();
    
    $('ul.expandable> li.expandable> h2').click(function(event) {
        var parentListItem = $(this).parents().get(0);
        var childItem = $(parentListItem).children("div.expander");
        
        $(this).toggleClass('open');
        $(this).toggleClass('closed');
        childItem.slideToggle('slow');
        
        event.preventDefault();
    });
});
