Sindbad~EG File Manager

Current Path : /var/www/ispania.gr/templates/rslibro/js/
Upload File :
Current File : /var/www/ispania.gr/templates/rslibro/js/device-dropdown.js

jQuery(document).ready(function(jQuery) {
	var window_w	= jQuery(window).width();
	var device		= detectMobileBrowser();
	
	if (window_w >= 980 && device) {
		// First level
		jQuery('.dropdown > a').bind('tap', detectTap);
		
		// Deeper levels
		jQuery('.dropdown-submenu > a').bind('tap', detectTap);
		jQuery('body').bind( 'tap', closeDropdowns);
	}
	
	jQuery(window).resize(function() {
		window_w = jQuery(window).width();
		
		if (window_w >= 980 && device) {
			// First level
			jQuery('.dropdown > a').bind('tap', detectTap);
			
			// Deeper levels
			jQuery('.dropdown-submenu > a').bind('tap', detectTap);
			jQuery('body').bind( 'tap', closeDropdowns);
		} else {
			// First level
			jQuery('.dropdown > a').unbind('tap', detectTap);
			
			// Deeper levels
			jQuery('.dropdown-submenu > a').unbind('tap', detectTap);
			jQuery('body').unbind('tap', closeDropdowns);
		}
	});
});

function detectMobileBrowser() {
	if (/Android|webOS|iPhone|iPod|BlackBerry|IEMobile|Opera Mini|Mobile|mobile/i.test(navigator.userAgent))
		return true;
	return false;
}

function detectTap(event) {
	var clickedElement	= jQuery(event.target);
	var parentElement	= jQuery(clickedElement.parent());
	var dropdown		= parentElement.find('.dropdown-menu').first();
	var isLink			= clickedElement.attr('href');
	
	// Close other opened dropdowns
	if (isLink) {
		if (parentElement.hasClass('dropdown')) {
			jQuery('.dropdown').each(function() {
				var dropdown = jQuery(this).find('.dropdown-menu');
				
				if (dropdown.css('display') == 'block' && parentElement.attr("class") !== dropdown.parent().attr("class") && dropdown.parent().hasClass("current")) {
					dropdown.css('display', 'none');
				} else if (dropdown.css('display') == 'block' && parentElement.attr("class") !== dropdown.parent().attr("class")) {
					dropdown.parent().removeClass('active');
					dropdown.css('display', 'none');
				}
			});
		}
	}
	
	// First tap -> open dropdown and second tap -> open dropdown parent url
	if ((parentElement.hasClass('dropdown') || parentElement.hasClass('dropdown-submenu')) && parentElement.hasClass('active') && dropdown.css('display') == 'block') {
		return true;
	} else if (parentElement.hasClass('dropdown') || parentElement.hasClass('dropdown-submenu')) {
		parentElement.addClass('active');
		parentElement.find('.dropdown-menu').first().css('display', 'block');
		return false;
	}
}

function closeDropdowns(event) {
	var clickedElement	= jQuery(event.target);
	var parentElement	= clickedElement.parent();
	var isLink			= clickedElement.attr('href');
	
	// Close dropdowns when the tap is outside the menu
	if (!isLink) {
		if (!parentElement.hasClass('dropdown') || !parentElement.hasClass('dropdown-submenu')) {
			jQuery('.dropdown').each(function() {
				var dropdown = jQuery(this).find('.dropdown-menu');
				
				if (dropdown.css('display') == 'block' && dropdown.parent().hasClass('current')) {
					dropdown.css('display', 'none');
				} else if (dropdown.css('display') == 'block') {
					dropdown.parent().removeClass('active');
					dropdown.css('display', 'none');
				}
			});
		}
	}
}

Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists