
jQuery.noConflict();

var com = {};
com.mediafant = {};

com.mediafant.mainMenu = {};
com.mediafant.mainMenu.treeId = 'com-mediafant-mainMenu';
com.mediafant.mainMenu.slideDownSpeed = 600,
com.mediafant.mainMenu.slideUpSpeed = 600,
com.mediafant.mainMenu.parentFocusedClassName = 'subParentBtnFocused',
com.mediafant.mainMenu.deeperLevelClassName = 'deeperLevel',
com.mediafant.mainMenu.deeperLevelOverClassName = 'deeperLevelOver',
com.mediafant.mainMenu.deeperLevelIcon = true,
com.mediafant.mainMenu.mouseDeeperLevelClassName = 'mouseDeeper',

com.mediafant.subMenu = {};
com.mediafant.subMenu.treeId = 'com-mediafant-subMenu';
com.mediafant.subMenu.openFolderClassName = 'open',
com.mediafant.subMenu.emptyFolderClassName = 'empty',
com.mediafant.subMenu.currentFolderClassName = 'current',
com.mediafant.subMenu.slideDownSpeed = 500,
com.mediafant.subMenu.slideUpSpeed = 500,

com.mediafant.sitemap = {};
com.mediafant.sitemap.treeId = 'com-mediafant-sitemap';
com.mediafant.sitemap.openFolderClassName = 'open',
com.mediafant.sitemap.emptyFolderClassName = 'empty',
com.mediafant.sitemap.slideDownSpeed = 500,
com.mediafant.sitemap.slideUpSpeed = 500,




(function($) {
	$.fn.com = function() {};
	$.fn.com.mediafant = function() {};

	
	
	/* --- MAIN-MENU --- */
	
	$.fn.com.mediafant.mainMenu = function() {};
	
	$('#'+com.mediafant.mainMenu.treeId).ready(function() {
		$.fn.com.mediafant.mainMenu.initDisplay();
		$.fn.com.mediafant.mainMenu.initEvents();
	});
	
	$.fn.com.mediafant.mainMenu.initDisplay = function() {
		$('#'+com.mediafant.mainMenu.treeId+' ul').hide();
		if(com.mediafant.mainMenu.deeperLevelIcon == true) {
			$('#'+com.mediafant.mainMenu.treeId+' li ul li ul')
				.parent()
				.addClass(com.mediafant.mainMenu.mouseDeeperLevelClassName)
				.find('a:first')
				.addClass(com.mediafant.mainMenu.deeperLevelClassName);
		}
	}
	
	$.fn.com.mediafant.mainMenu.initEvents = function() {
		$('#'+com.mediafant.mainMenu.treeId+' li').hover( function(e) {
			e.stopPropagation();
			$(this).find('a:first')
				.addClass(com.mediafant.mainMenu.deeperLevelOverClassName);
			$(this).find('a:first')
				.addClass(com.mediafant.mainMenu.parentFocusedClassName);
			
			if( $(this).hasClass(com.mediafant.mainMenu.mouseDeeperLevelClassName) ) {
				$(this).find('ul:first')
					.show('slide',{direction:'left'},{duration:com.mediafant.mainMenu.slideDownSpeed,easing:'easeOutExpo'});
			} else {
				$(this).find('ul:first')
					.slideDown({duration:com.mediafant.mainMenu.slideUpSpeed,easing:'easeOutExpo'});			
			}
				
		}, function() {
			$(this).find('a:first')
				.removeClass(com.mediafant.mainMenu.deeperLevelOverClassName);
			$(this).find('a:first')
				.removeClass(com.mediafant.mainMenu.parentFocusedClassName);
			
			if( $(this).hasClass(com.mediafant.mainMenu.mouseDeeperLevelClassName) ) {
				$(this).find('ul:first')
					.hide('slide',{direction:'left'},{duration:com.mediafant.mainMenu.slideDownSpeed,easing:'easeOutExpo'});
			} else {
				$(this).find('ul:first')
					.slideUp({duration:com.mediafant.mainMenu.slideUpSpeed,easing:'easeOutExpo'});
			}
		});
	}
	
	
	
	
	/* --- SUB-MENU --- */
	
	$.fn.com.mediafant.subMenu = function() {};
	
	$('#'+com.mediafant.subMenu.treeId).ready(function() {
		$.fn.com.mediafant.subMenu.initDisplay();
		$.fn.com.mediafant.subMenu.initEvents();
	});
	
	$.fn.com.mediafant.subMenu.initDisplay = function() {
		$('#'+com.mediafant.subMenu.treeId+' ul').hide();
		$('#'+com.mediafant.subMenu.treeId)
			.find('li')
			.addClass(com.mediafant.subMenu.emptyFolderClassName);
		$('#'+com.mediafant.subMenu.treeId)
			.find('ul')
			.parent()
			.removeClass(com.mediafant.subMenu.emptyFolderClassName);
		$('#'+com.mediafant.subMenu.treeId)
			.find('li.'+com.mediafant.subMenu.currentFolderClassName)
			.addClass(com.mediafant.subMenu.openFolderClassName)
			.find('ul:first')
			.slideDown(com.mediafant.subMenu.slideDownSpeed);
	}
	$.fn.com.mediafant.subMenu.initEvents = function() {
		var clickedArr = [];
		$('#'+com.mediafant.subMenu.treeId+' li').click( function(clickedElement) {
			clickedElement.stopPropagation();
			if($($(clickedElement)[0].currentTarget).hasClass(com.mediafant.subMenu.emptyFolderClassName)) {
				//
			} else if( $($(clickedElement)[0].currentTarget).hasClass(com.mediafant.subMenu.openFolderClassName) ) {
				$($(clickedElement)[0].currentTarget)
					.removeClass(com.mediafant.subMenu.openFolderClassName);
				$($(clickedElement)[0].currentTarget)
					.find('ul:first')
					.slideUp(com.mediafant.subMenu.slideUpSpeed);
			} else {
				$(this).addClass(com.mediafant.subMenu.openFolderClassName);
				$(this).css({height:'auto'});
				
				$($(clickedElement)[0].currentTarget)
					.prevAll()
					.removeClass(com.mediafant.subMenu.openFolderClassName)
					.find('ul:first')
					.slideUp(com.mediafant.subMenu.slideUpSpeed);
				
				$($(clickedElement)[0].currentTarget)
					.nextAll()
					.removeClass(com.mediafant.subMenu.openFolderClassName)
					.find('ul:first')
					.slideUp(com.mediafant.subMenu.slideUpSpeed);
				
				$($(clickedElement)[0].currentTarget)
					.find('ul:first')
					.slideDown(com.mediafant.subMenu.slideDownSpeed);
			}
		});
		
		$('#slidein-all').click(function(){
			$('#'+com.mediafant.subMenu.treeId).find('li ul')
				.slideDown(com.mediafant.subMenu.slideDownSpeed);
			$('li','#'+com.mediafant.subMenu.treeId).find('ul')
				.parent()
				.removeClass(com.mediafant.subMenu.openFolderClassName);
			$('li','#'+com.mediafant.subMenu.treeId).find('ul')
				.parent()
				.addClass(com.mediafant.subMenu.openFolderClassName);
		});
		$('#slideout-all').click(function(){
			$('li','#'+com.mediafant.subMenu.treeId).find('ul')
				.slideUp(com.mediafant.subMenu.slideUpSpeed);
			$('li','#'+com.mediafant.subMenu.treeId).find('ul')
				.parent()
				.removeClass(com.mediafant.subMenu.openFolderClassName);
		});
		
	}
	
	
	
	
	
	
	
	/* --- SITEMAP --- */
	
	$.fn.com.mediafant.sitemap = function() {};
	
	$('#'+com.mediafant.sitemap.treeId).ready(function() {
		$.fn.com.mediafant.sitemap.initDisplay();
		$.fn.com.mediafant.sitemap.initEvents();
	});
	
	$.fn.com.mediafant.sitemap.initDisplay = function() {
		$('#'+com.mediafant.sitemap.treeId+' ul')
			.hide();
		$('#'+com.mediafant.sitemap.treeId)
			.find('li')
			.addClass(com.mediafant.sitemap.emptyFolderClassName);
		$('#'+com.mediafant.sitemap.treeId)
			.find('ul')
			.parent()
			.removeClass(com.mediafant.sitemap.emptyFolderClassName);
	}
	
	$.fn.com.mediafant.sitemap.initEvents = function() {
		var clickedArr = [];
		$('#'+com.mediafant.sitemap.treeId+' li').click( function(clickedElement) {
			clickedElement.stopPropagation();
			if($($(clickedElement)[0].currentTarget).hasClass(com.mediafant.sitemap.emptyFolderClassName)) {
				//
			} else if( $($(clickedElement)[0].currentTarget).hasClass(com.mediafant.sitemap.openFolderClassName) ) {
				$($(clickedElement)[0].currentTarget)
					.removeClass(com.mediafant.sitemap.openFolderClassName);
				$($(clickedElement)[0].currentTarget)
					.find('ul:first')
					.slideUp(com.mediafant.sitemap.slideUpSpeed);
			} else {
				$(this).addClass(com.mediafant.sitemap.openFolderClassName);
				$(this).css({height:'auto'});
				
				$($(clickedElement)[0].currentTarget)
					.prevAll()
					.removeClass(com.mediafant.sitemap.openFolderClassName)
					.find('ul:first')
					.slideUp(com.mediafant.sitemap.slideUpSpeed);
				
				$($(clickedElement)[0].currentTarget)
					.nextAll()
					.removeClass(com.mediafant.sitemap.openFolderClassName)
					.find('ul:first')
					.slideUp(com.mediafant.sitemap.slideUpSpeed);
				
				$($(clickedElement)[0].currentTarget)
					.find('ul:first')
					.slideDown(com.mediafant.sitemap.slideDownSpeed);
			}
		});
		
		$('#slidein-all').click(function(){
			$('#'+com.mediafant.sitemap.treeId)
				.find('li ul')
				.slideDown(com.mediafant.sitemap.slideDownSpeed)
				.css({height:'auto'});
			$('li','#'+com.mediafant.sitemap.treeId)
				.find('ul')
				.parent()
				.removeClass(com.mediafant.sitemap.openFolderClassName);
			$('li','#'+com.mediafant.sitemap.treeId)
				.find('ul')
				.parent()
				.addClass(com.mediafant.sitemap.openFolderClassName)
				.css({height:'auto'});
		});
		$('#slideout-all').click(function(){
			$('li','#'+com.mediafant.sitemap.treeId)
				.find('ul')
				.slideUp(com.mediafant.sitemap.slideUpSpeed);
			$('li','#'+com.mediafant.sitemap.treeId)
				.find('ul')
				.parent()
				.removeClass(com.mediafant.sitemap.openFolderClassName)
				.css({height:'24px'});
		});
		
	}
	
})(jQuery);

