(function(){
	var triggerTimer, menuTimer;
	
	$('#device-list .mobile').hover(
		function(){
			$('.popmenu-wrap').hide();
			clearTimeout(menuTimer);
			$('#device-list .mobile').css('backgroundPosition', "right top");
			var popmenu_wrap = $(this).next('.popmenu-wrap'),
				popmenu_bottom = $(this).offset().top + popmenu_wrap.innerHeight(),
				window_limit = $(window).height() + $(window).scrollTop(),
				popmenu = popmenu_wrap.find('.popmenu'),
				popmenu_top = $(window).scrollTop() - $(this).offset().top;
			
			if (popmenu_bottom > window_limit) {
				popmenu.css('marginTop', window_limit - popmenu_bottom - 10 );
			}
			else if (popmenu_top > 0)
				popmenu.css('marginTop', popmenu_top + 10 );
			else {
				popmenu.css('marginTop', 'auto' );
			}
			popmenu_wrap.show();
		},
		function(){
			var trigger = $(this);
			triggerTimer = setTimeout( function() {
				trigger.next('.popmenu-wrap').hide();
				$('#device-list .mobile').css('backgroundPosition', "left top");
				trigger.next('.popmenu-wrap').find('.popmenu').css('marginTop', 'auto' );
			}, 50);
		}
	);
	
	$('#device-list .popmenu-wrap').hover(
		function(){
			clearTimeout(triggerTimer);
			clearTimeout(menuTimer);
			$('#device-list .mobile').css('backgroundPosition', "right top");
		},
		function(){
			var menu = $(this);
			menuTimer = setTimeout( function() {
				menu.hide();			
				$('#device-list .mobile').css('backgroundPosition', "left top");

			}, 250);
		}
	);
	
})();
