﻿/// <reference name="MicrosoftAjax.js"/>
$(document).ready(function() {
    // Start sub navigation
    var ulExpanded = new Array();
    // Initialization processing program
    // Install expanded status about sub navigation
    $('#content .container .subNav .title').each(function() {
        var $span = $(this),
            $ul = $span.next();

        var expanded = $span.attr('expanded');
        if (expanded == 'collapsed') {
            var objExpanded = new Object();
            objExpanded.id = $span.text();
            objExpanded.ul = $span.next();
            ulExpanded.push(objExpanded);

            $ul.hide();
        } else {
            $ul.show();
        }
    });

    // Judge the object which existed in the Array
    function Array_Has(array, id) {
        var i;
        for (i = 0; i < array.length; i++) {
            if (array[i].id == id) {
                return i;
            }
        }
        return -1;
    }

    var startDate;
    var isLeave = false;
    // Sub nvaigation mouse down event
    $('#content .container .subNav div').mouseenter(function(event) {
        var $div = $(this),
            $span = $div.find('.title'),
            $ul = $span.next(),
            expanded = $span.attr('expanded');

        if (expanded == 'collapsed') {
            event.preventDefault();
            startDate = event.timeStamp;

            $ul.slideDown('slow');

            var index = Array_Has(ulExpanded, $span.text());
            if (index == -1) {
                var objExpanded = new Object();
                objExpanded.id = $span.text();
                objExpanded.ul = $span.next();
                objExpanded.isExpand = true;
                ulExpanded.push(objExpanded);
            } else {
                ulExpanded[index].isExpand = true;
            }
        }

        isLeave = false;
    });

    // Sub navigation mouse leave event
    $('#content .container .subNav').mouseleave(function(event) {
        isLeave = true;
        event.preventDefault();
    });

    // Start the polling that sub navigation slided up when it is expanded
    window.setInterval(function() {
        var diffDate = (new Date()).getTime() - startDate;

        if (ulExpanded.length > 0 && isLeave && diffDate > 500) {
            for (var i in ulExpanded) {
                var objExpanded = ulExpanded[i];
                if (objExpanded.isExpand) {
                    objExpanded.ul.slideUp('fast');
                    objExpanded.isExpand = false;
                }
            }
            isLeave = false;
        }
    }, 1000);

    // End sub navigation
});
