// JavaScript Document

(function(){
   $.fn.slideMenu = function(options){
   var settings=$.extend({
   						 selects  	 	 :  this.children(),
						 slide     		 :  true,
						 sildeTime  	 :  1000,
						 animate   	     :  false,
						 animateShow     :  {height:"100%"},
						 animateHide     :  {height:"0px"},
						 animateShowTime :  1000,
						 animateHideTime :  1000
                                             },options);
   function isMouseLeaveOrEnter(e, handler) {   
    if (e.type != 'mouseout' && e.type != 'mouseover') return false;   
    var reltg = e.relatedTarget ? e.relatedTarget : e.type == 'mouseout' ? e.toElement : e.fromElement;   
    while (reltg && reltg != handler)   
        reltg = reltg.parentNode;   
    return (reltg != handler);   
    }
	function clearSlide(){
		for(var i=0;i<settings.selects.length;i++){
			$($(settings.selects[i]).children()[1]).stop(true,true);
			$($(settings.selects[i]).children()[1]).hide();
		}
	}
   for(var i=0;i<settings.selects.length;i++){
     $(settings.selects[i]).mouseover(
	 							function(e){ 
								             if(isMouseLeaveOrEnter(e,this)){
											 	clearSlide();
												if(settings.slide){
	 										 		$(this.children[1]).slideDown(settings.slideTime);
												}
												else if(settings.animate){
												    $(this.children[1]).css('overflow','hidden');
													$(this.children[1]).css('display','block');
												    $(this.children[1]).animate(settings.animateShow,settings.animateShowTime);
												}
												else{
												    $(this.children[1]).show();
												}
											}
										  }
								);
	$(settings.selects[i]).mouseout(
	 							function(e){
	 										 if(isMouseLeaveOrEnter(e,this)){
													if(settings.slide){
															$(this.children[1]).slideUp(settings.slideTime);
														}
													else if(settings.animate){
												         $(this.children[1]).animate(settings.animateHide,settings.animateHideTime);
												     }
													else{
															$(this.children[1]).hide();
													}
											   }
											}
								);							
   }
   
 }
 })();

