﻿
var ContactInfoImagesToLoad = new Object();

function addImageToLoadQueue(categoryControlId, imageUrl, imageControlId)
{
    var categoryImages = ContactInfoImagesToLoad[categoryControlId];
    if(categoryImages == null)
    {
        categoryImages = new Object();
        categoryImages.isLoaded = false;
        categoryImages.images = new Array();
    }
    
    var imageToLoad = new Object();
    imageToLoad.imageControlId = imageControlId;
    imageToLoad.imageUrl = imageUrl;
    
    categoryImages.images.push(imageToLoad);
    ContactInfoImagesToLoad[categoryControlId] = categoryImages;
    
    //if there is no header - load image
    var categoryCtrl = jQuery("#" + categoryControlId);
    if(categoryCtrl.length == 0)
    {
        loadImage(imageControlId, imageUrl);
    }
}

jQuery(document).ready(function()
{
    initializeToggables();
    initializeHidden();
    initializeLoadContacts();
    applyVeryLastSectionStyle();
});

function initializeToggables()
{
    var clickables = jQuery('.toggleNext');
    for(var i = 0; i < clickables.length; ++i)
    {
        var clickable = jQuery(clickables[i]);
        clickable.click(function()
        {
            var elem = jQuery(this);
            if(jQuery.browser.msie == true && (jQuery.browser.version.substr(0, 1) == "7" || jQuery.browser.version.substr(0, 1) == "6"))
            {
                if (elem.next().is(":hidden"))
                { 
                    elem.next().children().css('visibility', 'hidden');
                    elem.next().slideDown("slow", function(){
                        elem.next().children().css('visibility', 'visible');
                    });
                }
                else 
                {
                    elem.next().children().css('visibility', 'hidden');
                    elem.next().slideUp("slow");
                }
            }
            else
            {
                elem.next().slideToggle("slow");
            }
            
            jQuery(this).toggleClass("collapsed");
            jQuery(this).toggleClass("expanded");
        });
    }
}

function initializeHidden()
{
    jQuery('.hiddenOnLoad').each(function()
    {
        jQuery(this).hide();
    });
}

function initializeLoadContacts()
{
    jQuery(".loadContacts").click(function()
    {
        var categoryControlId = this.id;
        loadImages(categoryControlId);
    });
}

function applyVeryLastSectionStyle()
{
    jQuery(".contactCategoryContainer:last").removeClass("underline");
}

function loadImages(categoryControlId)
{
    var images = ContactInfoImagesToLoad[categoryControlId];    
    if(images.isLoaded == true)
    {
        return;
    }
    
    for(var i = 0; i < images.images.length; ++i)
    {
        loadImage(images.images[i].imageControlId, images.images[i].imageUrl);        
    }
    
    images.isLoaded = true;
}

function loadImage(imageControlId, imageUrl)
{
    var image = jQuery("#" + imageControlId)[0];
    image.src = imageUrl;
}