openBottomDropdown = function(e){
  if ($('div.accordion.open',$(this).parent()).size() > 0) {
    actuallyCloseBottomDropdown();
  } else {
  	var t = $(e.target);
    if (t.is("a") && t.parents('div.accordion').size() > 0) {
    	return;
   	} else {
	    actuallyCloseBottomDropdown();
    	$("div.accordion", $(this).parent("li.submenu")).addClass("open").show("slide", { direction: "down" }, 400, function(){
      	$(document).bind("click", closeBottomDropdown);
    	});
  	}
  }
  e.preventDefault();
  return false;
}

closeBottomDropdown = function(e) {
  if ($(e.target).parents("div.accordion.open").size() > 0) {
  } else {
    actuallyCloseBottomDropdown();
    e.preventDefault();
  }
}

actuallyCloseBottomDropdown = function(){
  $("div.accordion.open").removeClass("open").hide("slide", { direction: "down" }, 400, function(){
    $(document).unbind("click", closeBottomDropdown);
  });
}

openTopDropdown = function(e){
   if ($('div.accordion.open',$(this).parent()).size() > 0) {
// if ($('div.accordion.open').size() > 0) {    
  	actuallyCloseTopDropdown();
  } else {
  	var t = $(e.target);
    if (t.is("a") && t.parents('div.accordion').size() > 0) {
    	return;
    } else {
      actuallyCloseTopDropdown();
	    $("div.accordion", $(this).parent("li.submenu")).addClass("open").show("slide", { direction: "up" }, 800, function(){
  	    $(document).bind("click", closeTopDropdown);
    	});
    }
  }
  e.preventDefault();
  return false;
}

closeTopDropdown = function(e) {
  if ($(e.target).parents("div.accordion.open").size() > 0) {
  } else {
    actuallyCloseTopDropdown();
    e.preventDefault();
  }
}

actuallyCloseTopDropdown = function(){
  $("div.accordion.open").removeClass("open").hide("slide", { direction: "up" }, 800, function(){
    $(document).unbind("click", closeTopDropdown);
  });
}


$.fn.accordion = function(){
  this.each(function(){

    function openItem(item) {
      item.addClass("open").slideDown();
    }

    $('img', this).click(function(e){
      var old_ul = $('div.accordion ul.open');
      var new_ul = $(this).next("ul");
      var is_same = (new_ul.attr("id") == old_ul.attr("id")) ? true : false;
      if (old_ul.size() > 0 && !is_same) {
          old_ul.slideUp().removeClass("open");
      }
      if (!is_same)
        openItem(new_ul);
    });
    return this;
  })
}

$(document).ready(function(){
  $('#bottom li.submenu a').bind("click", openBottomDropdown);
  $('#main_nav li.submenu a').bind("click", openTopDropdown);
  $('div.accordion').accordion();
});