/* 
Меню, которое следует за указателем мыши
Автор: malihu [http://manos.malihu.gr | manos@malihu.gr]
*/

(function($) {

$mouseover_title="МЕНЮ"; //Заголовок на плашке при наведении указателя мыши
$mouseout_title="МЕНЮ"; //Заголовок на плашке в отсутствии указателя мыши
$menu_following_speed=2000; //Задержка, с которой меню следует за указателем (в миллисекундах)
$menu_following_easing="easeOutCirc"; 
$menu_cursor_space=30; //Расстояние между указателем и меню
$menu_show_speed="slow"; //Скорость анимации открытия меню
$menu_show_easing="easeOutExpo"; //Тип перехода при открытии меню
$menu_hide_speed="slow"; //Скорость анимации закрытия меню
$menu_hide_easing="easeInExpo"; //Тип перехода при закрытии меню

//Кэшируем селекторы
$menu=$("#cf_menu");
$menu_title=$("#cf_menu .title");
$menu_container=$("#cf_menu .container");
$menu_ul=$("#cf_menu ul:first");
$menu_li=$("#cf_menu li");
$menu_ul_ul=$("#cf_menu ul ul");
$menu_a=$("#cf_menu a");

$(window).load(function() {
	MoveMenu();
	$menu_ul_ul.hide();
	$menu.addClass("cf_menu_transparency");
	$menu.offset({top:10, left:200});
	
	function MouseMove(e){
		var posY=e.pageY+$menu_cursor_space;
		var posX=e.pageX+$menu_cursor_space;
		$menu.stop().animate({top:posY ,left:posX}, $menu_following_speed,$menu_following_easing);
		if($menu_ul.is(":visible")){
			$menu_ul.slideUp($menu_hide_speed,$menu_hide_easing,function(){
				$menu_title.show("fast","easeOutCirc");
			});
		}
	}
	
	function MoveMenu(){
		$("body").bind("mousemove", function(event){
			MouseMove(event);
		});
	}
	
	$menu.hover( //Указатель мыши над меню
		function(){ 
			var $this=$(this);
			$("body").unbind("mousemove");
			$this.stop().removeClass("cf_menu_transparency");
			///$menu_title.html($mouseover_title);
		},
		function(){ //Укахатель мыши покинул меню
			var $this=$(this);
			$this.stop().addClass("cf_menu_transparency");
			///$menu_title.html($mouseout_title);
			if($menu.data("curr_sub_menu")){
				HideSubMenu($menu.data("curr_sub_menu"));
			}
			MoveMenu();
		}
	);
	
	//Нажатие на пункте меню
	$menu.bind("click", function(event){
		var $this=$(this);
			var offset = $this.offset();
			//alert(offset.left);
			if (offset.left > 800) {$menu.offset({left:800});}		
		$this.stop();
		$menu_title.hide("fast","easeOutCirc",function(){
			$menu_ul.slideDown($menu_show_speed,$menu_show_easing);
			
		});
	});
	
	//Нажатие на пункте меню, у которого есть подпункты
	$menu_a.bind("click", function(event){
		var $this=$(this);
		if($this.parent("li").children("ul").length){
			event.preventDefault();
			if($menu.data("curr_sub_menu")){
				HideSubMenu($menu.data("curr_sub_menu"));
			}
			if($this.parent("li").children("ul").is(":visible") == false){
				$this.parent("li").children("ul").fadeIn("fast","easeInExpo");
				$menu.data("curr_sub_menu",$this);
			}
		}
	});
	
	function HideSubMenu(submenu){
		submenu.parent("li").children("ul").fadeOut("fast","easeOutExpo");
	}
});
	
//Анимация
function Animate2id(id2Animate){
	var animSpeed=1500; //Скорость нанимации
    var easeType="easeInOutExpo"; //Тип переходов
    if($.browser.webkit){ //Браузеры webkitне подддерживают animate-html
        $("body").stop().animate({scrollTop: $(id2Animate).offset().top}, animSpeed, easeType);
    } else {
        $("html").stop().animate({scrollTop: $(id2Animate).offset().top}, animSpeed, easeType);
    }
}

})(jQuery);
