﻿$(document).ready(function() {

    var listOptions = {
        serviceId:      location.href,
        linkId:         '',
        pageType:       '',
        iterateDetails: $('.service-items-list li a'),
        currentList:    ''
    };
    
    listOptions.serviceId = listOptions.serviceId.match("-([0-9]+)")[0];
    listOptions.serviceId = listOptions.serviceId.substring(1);
    

    
    $('.service-items-list').hide();
    
    if (location.href.indexOf("ServiceList") != -1) {
        $('.service-items-list').each(function() {
            listOptions.linkId = $(this).siblings('h2').eq(0).children('a').attr('href');
            listOptions.linkId = listOptions.linkId.match("-([0-9]+)")[0];
            listOptions.linkId = listOptions.linkId.substring(1);
            
            if (listOptions.linkId !== listOptions.serviceId) {
                if ($(this).children().length > 0) {
                    $(this).siblings('h2').prepend('<span class="expander"/>');
                    $(this).siblings('h2').addClass('has-items');
                }
            } else {
                $(this).show();
                $(this).siblings('h2').prepend('<span class="expander visible"/>');
                $(this).siblings('h2').addClass('has-items');
            }
        });
    }
    if (location.href.indexOf("ServiceDetail") != -1) {
        
        var serviceItems = listOptions.iterateDetails.get();
        // Find the current list and store it in listOptions.currentList
        for (var i in serviceItems) {
            listOptions.linkId = $(listOptions.iterateDetails).eq(i).attr('href');
            listOptions.linkId = listOptions.linkId.match("-([0-9]+)")[0];
            listOptions.linkId = listOptions.linkId.substring(1);
            if (listOptions.linkId === listOptions.serviceId) {
                listOptions.currentList = listOptions.iterateDetails.eq(i).parents('li').parents('ul');
                break;
            }
        }
        // Iterate through lists, hide all, and append expander
        $('.service-items-list').each(function(i) {
            if ($(this).children().length > 0) {
                $(this).siblings('h2').prepend('<span class="expander"/>');
                $(this).siblings('h2').addClass('has-items');
            }
        });
        // Show the current list
        listOptions.currentList.show();
        listOptions.currentList.siblings('h2').children('span').addClass('visible');

        
    }
    
    $('.expander').toggle(
        function() {
            if ($(this).hasClass('visible')) {
                $(this).removeClass('visible');
                $(this).parent().siblings('ul').hide();
                return false;
            } else {
                $(this).addClass('visible');
                $(this).parent().siblings('ul').show();
                return false;
            }
        },
        function() {
            if ($(this).hasClass('visible')) {
                $(this).removeClass('visible');
                $(this).parent().siblings('ul').hide();
                return false;
            } else {
                $(this).addClass('visible');
                $(this).parent().siblings('ul').show();
                return false;
            }
        }
    );
});
