﻿var Menu = (function () {
	$(document).ready(function(){
		createMenuHandlers();
	});
	
	var openParentID = function(elID){
		$("#" + elID + " ul").fadeIn('fast');

		$("#" + elID).unbind("click");
		$("#" + elID).bind("click", function(event){
			var target = event.target;
			var targetClass = $(target).parent().attr("class");
			
			if ("child" == targetClass){ return; }
			
			targetClass = $(target).parent().parent().attr("class");
			
			if ("child" == targetClass){ return; }
			
			closeParentID(elID);
		});
		
		$("#" + elID).removeClass('closed');
		$("#" + elID).addClass('open');
	}
	
	var closeParentID = function (elID){
		$("#" + elID + " ul").fadeOut('fast');
		
		$("#" + elID).unbind("click");
		$("#" + elID).bind("click", function(event){
			var target = event.target;
			var targetClass = $(target).parent().attr("class");
			
			if ("child" == targetClass){ return; }
			
			targetClass = $(target).parent().parent().attr("class");
			
			if ("child" == targetClass){ return; }
			
			openParentID(elID);
		});
		
		$("#" + elID).removeClass('open');
		$("#" + elID).addClass('closed');
	}
	
	var createMenuHandlers = function(){
		$(".menu.collapsible li.parent").bind("click", function(){
			openParentID($(this).attr("id"));
		});
		
		$(".menu.collapsible li.parent").bind("click", function(){
			closeParentID($(this).attr("id"));
		});		
	}
	
	var publicMethods = {
		openParentID: openParentID,
		closeParentID: closeParentID
	}
	
	return publicMethods;
})();
