/**
 * HoverAccordion - jQuery plugin for intuitively opening accordions and menus
 * 
 * http://berndmatzner.de/jquery/hoveraccordion/
 * 
 * Copyright (c) 2008-2010 Bernd Matzner
 * 
 * Dual licensed under the MIT and GPL licenses:
 * http://www.opensource.org/licenses/mit-license.php
 * http://www.gnu.org/licenses/gpl.html
 * 
 * Version: 0.9.1
 * 
 * Requires jQuery 1.4.4 or higher
 */
var sfgovMenu ={
 initMenus: function(css) {
 if (css=='ftp/CssFiles/Department_of_Elections.css'){
 
	$(".content_help a")
		.attr('href',"http://www.sfgov.org")
		.attr('title',"San francisco SFGov");
		
  $.ajax({
  url: 'Modules/DropDownMenuLeft.html',
  async: false,
  success: function(data) {
	data = data.replace(/><a class="dropdownitemhaschildlevel1" href="index.aspx\?page=599">.*?<\/a>/,' class=\"electionli\"\>');
	data = '<div>'+ data + '</div>';
 	$html = $(data).find('li.electionli');
	$ulf=$html.find('ul:first');	
	$ulf.addClass('menu'); 
	$ulf.attr('id','menu1');	
	$ulf.prepend('<li><a class="dropdownitemlevel2" href="index.aspx?page=599">Welcome</a></li>');
	$out = $html.html();
	$('.leftnav_menu')
		.html($out)
		.css('display','block');
      }
  });
	var href=window.location.href;
	var urls = href.split("/");
	var url=urls[urls.length-1];
	var container =$('#menu1');
	var pageHref = window.location.href;
	var i = 0;
    var options = jQuery.extend({
            speed : 'fast',
            activateItem : true,
            keepHeight : true,
            onClickOnly : false,
            classActive : 'active',
            classHeader : 'left_header',
            classHover : 'left_hover',
            classOpen : 'left_opened',
			classCurrent: 'current',
            classClosed : 'left_closed'
        }, options);
		
	  function doHover(itemList, itemHeader, listHeight) {
            var oldList = $(container).find('.' + options.classOpen).closest(
            'li').find('ul:first');

            if (false === oldList.is(':animated')) {
                if (options.keepHeight == true) {
                    listHeight = maxHeight;
                }
                if (itemHeader.hasClass(options.classOpen) == false) {
                    itemList.children().show();
                    itemList.animate({
                        height : listHeight
                    }, {
                        step : function(n, fx) {
                            itemList.height(listHeight - n);
                        },
                        duration : options.speed
                    });

                    oldList.animate({
                        height : 0
                    }, {
                        step : function(n, fx) {
                            itemList.height(listHeight - n);
                        },
                        duration : options.speed
                    }).children().hide();

                    itemHeader.addClass(options.classOpen).removeClass(
                    options.classClosed);

                    oldList.closest('li').removeClass(options.classActive)
                    .find('a:first').addClass(options.classClosed).removeClass(
                    options.classOpen);
                }
            }
        }

		var itemNo = 0;
        var maxHeight = 0;

        $(container)
        .children('li')
        .each(
        function() {
            var item = $(this);
            var isActive = false;

            itemNo++;

            var itemHeader = item.find('a:first').addClass(options.classHeader);

            if (itemHeader.length > 0) {
                itemHeader.hover(function() {
                    itemHeader.addClass(options.classHover);
                }, function() {
                    itemHeader.removeClass(options.classHover);
                });

                var itemHref = itemHeader.attr('href');
                if (itemHref == '#') {
                    itemHeader.click(function() {
                        this.blur();
                        return false;
                    });
                } else if (options.activateItem == true
                && pageHref.indexOf(itemHref) > 0
                && pageHref.length - pageHref.lastIndexOf(itemHref) == itemHref.length) {
                    isActive = true;
                    item.addClass(options.classActive);
                    itemHeader.removeClass(options.classClosed).addClass(
                    options.classOpen);
                }
            }

            var itemList = item.find('ul:first');

            if (itemList.length > 0) {
                var listHeight = itemList.height();
                if (maxHeight < listHeight)
                    maxHeight = listHeight;
                if (options.onClickOnly == true) {
                    itemHeader.click(function() {
                        doHover(itemList, itemHeader, listHeight);
                    });
                } else {
                    itemHeader.hover(function() {
                        i = setInterval(function() {
                            doHover(itemList, itemHeader, listHeight);
                            clearInterval(i);
                        }, 400);
                    }, function() {
                        clearInterval(i);
                    });
                }
                if (options.activateItem == true) {
                    itemList
                    .children('li')
                    .each(
                    function() {
                        var m = $(this).find('a').attr('href');
						
                        if (m) {
                            if (pageHref.indexOf(m) > 0
                            && pageHref.length - pageHref.lastIndexOf(m) == m.length) {
                                isActive = true;
                                item.addClass(options.classActive);
                                itemHeader.removeClass(options.classClosed)
                                .addClass(options.classOpen);
                            }
if(m==url){$(this).find('a').addClass(options.classCurrent);}
                        }
                    });
                } else if (parseInt(options.activateItem, 10) == itemNo) {
                    isActive = true;
                    item.addClass(options.classActive);
                    itemHeader.removeClass(options.classClosed).addClass(
                    options.classOpen);
                }
            }
            if (!isActive) {
                itemHeader.removeClass(options.classOpen);
                if (itemList.length > 0) {
                    itemList.children().hide();
                    itemHeader.addClass(options.classClosed);
                }
            }
        });
}
}
};

