Your IP : 216.73.216.50


Current Path : /proc/1908984/root/proc/1908984/root/home/digilove/www/41423/
Upload File :
Current File : //proc/1908984/root/proc/1908984/root/home/digilove/www/41423/class.tar

loader.php000064400000002222152354423270006530 0ustar00<?php
/**
 * @package     Joomla.Libraries
 * @subpackage  Class
 *
 * @copyright   (C) 2014 Open Source Matters, Inc. <https://www.joomla.org>
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;

use Composer\Autoload\ClassLoader;

/**
 * Decorate Composer ClassLoader for Joomla!
 *
 * For backward compatibility due to class aliasing in the CMS, the loadClass() method was modified to call
 * the JLoader::applyAliasFor() method.
 *
 * @since  3.4
 */
class JClassLoader
{
	/**
	 * The composer class loader
	 *
	 * @var    ClassLoader
	 * @since  3.4
	 */
	private $loader;

	/**
	 * Constructor
	 *
	 * @param   ClassLoader  $loader  Composer autoloader
	 *
	 * @since   3.4
	 */
	public function __construct(ClassLoader $loader)
	{
		$this->loader = $loader;
	}

	/**
	 * Loads the given class or interface.
	 *
	 * @param   string  $class  The name of the class
	 *
	 * @return  boolean|null  True if loaded, null otherwise
	 *
	 * @since   3.4
	 */
	public function loadClass($class)
	{
		if ($result = $this->loader->loadClass($class))
		{
			JLoader::applyAliasFor($class);
		}

		return $result;
	}
}
common/js/gooeymenu.js000064400000005065152401414270011023 0ustar00/* jQuery Gooey Menu
* Created: April 7th, 2011 by DynamicDrive.com. This notice must stay intact for usage 
* Author: Dynamic Drive at http://www.dynamicdrive.com/
* Visit http://www.dynamicdrive.com/ for full source code
*/

jQuery.noConflict()

jQuery.extend(jQuery.easing, {easeOutBack:function(x, t, b, c, d, s){ //see http://gsgd.co.uk/sandbox/jquery/easing/
		if (s == undefined) s = 1.70158;
		return c*((t=t/d-1)*t*((s+1)*t + s) + 1) + b;
	}
})


var gooeymenu={
	effectmarkup: '<li class="fancy"></li>',

	setup:function(usersetting){
		jQuery(function($){ //on document.ready
			//alert( $selectedlink.offset().left);
			function snapback(dur){
				if ($selectedlink.length>0)
					$effectref.dequeue().animate({left: $selectedlink.offset().left - ($selectedlink.parents('.navi').offset().left  ), width:($selectedlink.outerWidth()  )}, dur, setting.fx, function(){
						setTimeout(function(){
							$effectref.dequeue().css({
								left: $selectedlink.offset().left - ($selectedlink.parents('.navi').offset().left  ),
								width:($selectedlink.outerWidth())
							});
						},1500);
						
					})
			}
			
			var setting = jQuery.extend({fx:'easeOutBack', fxtime:500, snapdelay:300}, usersetting)
			var $menu = $('#'+setting.id).find('li:eq(0)').parents('ul:eq(0)') //select main menu UL
			var $menulinks = $menu.find('li.level1 ')
			var $effectref = $(gooeymenu.effectmarkup).css({top:$menulinks.eq(0).position().top, height:$menulinks.eq(0).outerHeight(), zIndex:-1}).appendTo($menu) //add trailing effect LI to the menu UL
			var $selectedlink = $menulinks.filter('.active') //find item with class="selected" manually defined
			
			
			$effectref.css({left: - $menu.offset().left- $effectref.outerWidth()-5}) //position effect LI behind the left edge of the window
			setting.defaultselectedBool=$selectedlink.length
			
			$menulinks.mouseover(function(){
				clearTimeout(setting.snapbacktimer)
				var $target=$(this)
				//alert($target.position().left)
				
				$target.removeClass('hover');
				$effectref.dequeue().animate({left: $target.position().left, width:$target.outerWidth()}, setting.fxtime, setting.fx)
				if (setting.defaultselectedBool==0) //if there is no default selected menu item
					$selectedlink=$target //set current mouseover element to selected element
			})
			
			if ($selectedlink.length>0){
				snapback(0)
				$menu.mouseleave(function(){
					setting.snapbacktimer=setTimeout(function(){
						snapback(setting.fxtime)
					}, setting.snapdelay)
				})
			}
			
			$(window).bind('resize', function(){
				snapback(setting.fxtime)
			})
			
		})
	}
}common/js/jquery.easing.1.3.js000064400000017641152401414270012103 0ustar00/*
 * jQuery Easing v1.3 - http://gsgd.co.uk/sandbox/jquery/easing/
 *
 * Uses the built in easing capabilities added In jQuery 1.1
 * to offer multiple easing options
 *
 * TERMS OF USE - jQuery Easing
 * 
 * Open source under the BSD License. 
 * 
 * Copyright © 2008 George McGinley Smith
 * All rights reserved.
 * 
 * Redistribution and use in source and binary forms, with or without modification, 
 * are permitted provided that the following conditions are met:
 * 
 * Redistributions of source code must retain the above copyright notice, this list of 
 * conditions and the following disclaimer.
 * Redistributions in binary form must reproduce the above copyright notice, this list 
 * of conditions and the following disclaimer in the documentation and/or other materials 
 * provided with the distribution.
 * 
 * Neither the name of the author nor the names of contributors may be used to endorse 
 * or promote products derived from this software without specific prior written permission.
 * 
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY 
 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
 *  COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
 *  EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
 *  GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED 
 * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
 *  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED 
 * OF THE POSSIBILITY OF SUCH DAMAGE. 
 *
*/

// t: current time, b: begInnIng value, c: change In value, d: duration
jQuery.easing['jswing'] = jQuery.easing['swing'];

jQuery.extend( jQuery.easing,
{
	def: 'easeOutQuad',
	swing: function (x, t, b, c, d) {
		//alert(jQuery.easing.default);
		return jQuery.easing[jQuery.easing.def](x, t, b, c, d);
	},
	easeInQuad: function (x, t, b, c, d) {
		return c*(t/=d)*t + b;
	},
	easeOutQuad: function (x, t, b, c, d) {
		return -c *(t/=d)*(t-2) + b;
	},
	easeInOutQuad: function (x, t, b, c, d) {
		if ((t/=d/2) < 1) return c/2*t*t + b;
		return -c/2 * ((--t)*(t-2) - 1) + b;
	},
	easeInCubic: function (x, t, b, c, d) {
		return c*(t/=d)*t*t + b;
	},
	easeOutCubic: function (x, t, b, c, d) {
		return c*((t=t/d-1)*t*t + 1) + b;
	},
	easeInOutCubic: function (x, t, b, c, d) {
		if ((t/=d/2) < 1) return c/2*t*t*t + b;
		return c/2*((t-=2)*t*t + 2) + b;
	},
	easeInQuart: function (x, t, b, c, d) {
		return c*(t/=d)*t*t*t + b;
	},
	easeOutQuart: function (x, t, b, c, d) {
		return -c * ((t=t/d-1)*t*t*t - 1) + b;
	},
	easeInOutQuart: function (x, t, b, c, d) {
		if ((t/=d/2) < 1) return c/2*t*t*t*t + b;
		return -c/2 * ((t-=2)*t*t*t - 2) + b;
	},
	easeInQuint: function (x, t, b, c, d) {
		return c*(t/=d)*t*t*t*t + b;
	},
	easeOutQuint: function (x, t, b, c, d) {
		return c*((t=t/d-1)*t*t*t*t + 1) + b;
	},
	easeInOutQuint: function (x, t, b, c, d) {
		if ((t/=d/2) < 1) return c/2*t*t*t*t*t + b;
		return c/2*((t-=2)*t*t*t*t + 2) + b;
	},
	easeInSine: function (x, t, b, c, d) {
		return -c * Math.cos(t/d * (Math.PI/2)) + c + b;
	},
	easeOutSine: function (x, t, b, c, d) {
		return c * Math.sin(t/d * (Math.PI/2)) + b;
	},
	easeInOutSine: function (x, t, b, c, d) {
		return -c/2 * (Math.cos(Math.PI*t/d) - 1) + b;
	},
	easeInExpo: function (x, t, b, c, d) {
		return (t==0) ? b : c * Math.pow(2, 10 * (t/d - 1)) + b;
	},
	easeOutExpo: function (x, t, b, c, d) {
		return (t==d) ? b+c : c * (-Math.pow(2, -10 * t/d) + 1) + b;
	},
	easeInOutExpo: function (x, t, b, c, d) {
		if (t==0) return b;
		if (t==d) return b+c;
		if ((t/=d/2) < 1) return c/2 * Math.pow(2, 10 * (t - 1)) + b;
		return c/2 * (-Math.pow(2, -10 * --t) + 2) + b;
	},
	easeInCirc: function (x, t, b, c, d) {
		return -c * (Math.sqrt(1 - (t/=d)*t) - 1) + b;
	},
	easeOutCirc: function (x, t, b, c, d) {
		return c * Math.sqrt(1 - (t=t/d-1)*t) + b;
	},
	easeInOutCirc: function (x, t, b, c, d) {
		if ((t/=d/2) < 1) return -c/2 * (Math.sqrt(1 - t*t) - 1) + b;
		return c/2 * (Math.sqrt(1 - (t-=2)*t) + 1) + b;
	},
	easeInElastic: function (x, t, b, c, d) {
		var s=1.70158;var p=0;var a=c;
		if (t==0) return b;  if ((t/=d)==1) return b+c;  if (!p) p=d*.3;
		if (a < Math.abs(c)) { a=c; var s=p/4; }
		else var s = p/(2*Math.PI) * Math.asin (c/a);
		return -(a*Math.pow(2,10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )) + b;
	},
	easeOutElastic: function (x, t, b, c, d) {
		var s=1.70158;var p=0;var a=c;
		if (t==0) return b;  if ((t/=d)==1) return b+c;  if (!p) p=d*.3;
		if (a < Math.abs(c)) { a=c; var s=p/4; }
		else var s = p/(2*Math.PI) * Math.asin (c/a);
		return a*Math.pow(2,-10*t) * Math.sin( (t*d-s)*(2*Math.PI)/p ) + c + b;
	},
	easeInOutElastic: function (x, t, b, c, d) {
		var s=1.70158;var p=0;var a=c;
		if (t==0) return b;  if ((t/=d/2)==2) return b+c;  if (!p) p=d*(.3*1.5);
		if (a < Math.abs(c)) { a=c; var s=p/4; }
		else var s = p/(2*Math.PI) * Math.asin (c/a);
		if (t < 1) return -.5*(a*Math.pow(2,10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )) + b;
		return a*Math.pow(2,-10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )*.5 + c + b;
	},
	easeInBack: function (x, t, b, c, d, s) {
		if (s == undefined) s = 1.70158;
		return c*(t/=d)*t*((s+1)*t - s) + b;
	},
	easeOutBack: function (x, t, b, c, d, s) {
		if (s == undefined) s = 1.70158;
		return c*((t=t/d-1)*t*((s+1)*t + s) + 1) + b;
	},
	easeInOutBack: function (x, t, b, c, d, s) {
		if (s == undefined) s = 1.70158; 
		if ((t/=d/2) < 1) return c/2*(t*t*(((s*=(1.525))+1)*t - s)) + b;
		return c/2*((t-=2)*t*(((s*=(1.525))+1)*t + s) + 2) + b;
	},
	easeInBounce: function (x, t, b, c, d) {
		return c - jQuery.easing.easeOutBounce (x, d-t, 0, c, d) + b;
	},
	easeOutBounce: function (x, t, b, c, d) {
		if ((t/=d) < (1/2.75)) {
			return c*(7.5625*t*t) + b;
		} else if (t < (2/2.75)) {
			return c*(7.5625*(t-=(1.5/2.75))*t + .75) + b;
		} else if (t < (2.5/2.75)) {
			return c*(7.5625*(t-=(2.25/2.75))*t + .9375) + b;
		} else {
			return c*(7.5625*(t-=(2.625/2.75))*t + .984375) + b;
		}
	},
	easeInOutBounce: function (x, t, b, c, d) {
		if (t < d/2) return jQuery.easing.easeInBounce (x, t*2, 0, c, d) * .5 + b;
		return jQuery.easing.easeOutBounce (x, t*2-d, 0, c, d) * .5 + c*.5 + b;
	}
});

/*
 *
 * TERMS OF USE - EASING EQUATIONS
 * 
 * Open source under the BSD License. 
 * 
 * Copyright © 2001 Robert Penner
 * All rights reserved.
 * 
 * Redistribution and use in source and binary forms, with or without modification, 
 * are permitted provided that the following conditions are met:
 * 
 * Redistributions of source code must retain the above copyright notice, this list of 
 * conditions and the following disclaimer.
 * Redistributions in binary form must reproduce the above copyright notice, this list 
 * of conditions and the following disclaimer in the documentation and/or other materials 
 * provided with the distribution.
 * 
 * Neither the name of the author nor the names of contributors may be used to endorse 
 * or promote products derived from this software without specific prior written permission.
 * 
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY 
 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
 *  COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
 *  EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
 *  GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED 
 * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
 *  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED 
 * OF THE POSSIBILITY OF SUCH DAMAGE. 
 *
 */common/index.html000064400000000054152401414270010030 0ustar00<html><body bgcolor="#FFFFFF"></body></html>mega/assets/index.html000064400000000054152401414270010753 0ustar00<html><body bgcolor="#FFFFFF"></body></html>mega/assets/jquery.megamenu.css.js000064400000012122152401414270013216 0ustar00(function($){
	$.fn.megamenu = function(options) {
		options = jQuery.extend({
								  wrap:'#meganavigator',
								  easing: "easeInOutCirc",
								  speed: 300,
	                              justify: "left",
	                              mm_timeout: 0
	                          }, options);
		var menuwrap = $(this);
		//$('li.level1').css({ 'float': options.justify });
		buildmenu(menuwrap);
		
		// Build menu
		function buildmenu(mwrap){
			mwrap.find('li').each(function(){
				var menucontent 		= $(this).find(".mega-content:first");
				var menuitemlink 		= $(this).find(".item-link:first");
		    	var menucontentinner 	= $(this).find(".mega-content-inner");
		    	var mshow_timer = 0;
		    	var mhide_timer = 0;
		     	var li = $(this);
		     	var islevel1 = (li.hasClass('level1'))?true:false;
				var havechild = (li.hasClass('havechild'))?true:false;
				if(menucontent){
		     		menucontent.hide();
		     	}
				li.mouseenter(function(el){
					
					addHover(li);
					if(havechild){
						positionSubMenu(li, islevel1);
						mshow_timer = setTimeout(function(){ //Emulate HoverIntent					
							showSubMenu(li, menucontent);
						});	
					}
				}).mouseleave(function(el){ //return;
					
					if(havechild){
						mhide_timer = setTimeout(function(){ //Emulate HoverIntent					
							showSubMenu(li, menucontent);
						});	

					}
					removeHover(li);
			    });
			});
		}
		
		// Show Submenu
		function showSubMenu(li, mcontent){		
			mcontent.toggle();
		}
		
	
		
		// Add class hover to li
		function addHover(el){
			$(el).addClass('hover');
		}
		
		// Remove class hover to li
		function removeHover(el){
			$(el).removeClass('hover');
		}
		// Position Submenu
		function positionSubMenu(el, islevel1){
			menucontent 		= $(el).find(".mega-content:first");
			menuitemlink 		= $(el).find(".item-link:first");
	    	menucontentinner 	= $(el).find(".mega-content-inner");
	    	wrap_O				= menuwrap.offset().left;
	    	wrap_W				= menuwrap.outerWidth();
	    	menuitemli_O		= menuitemlink.parent('li').offset().left;
	    	menuitemli_W		= menuitemlink.parent('li').outerWidth();
	    	menuitemlink_H		= menuitemlink.outerHeight();
	    	menuitemlink_W		= menuitemlink.outerWidth();
	    	menuitemlink_O		= menuitemlink.offset().left;
	    	menucontent_W		= menucontent.outerWidth();
			
			if (islevel1) { 
				menucontent.css({
					'top': menuitemlink_H + "px",
					'left': menuitemlink_O - menuitemli_O + 'px'
				})
				
				if(options.justify == "left"){
					var wrap_RE = wrap_O + wrap_W;
											// Coordinates of the right end of the megamenu object
					var menucontent_RE = menuitemlink_O + menucontent_W;
											// Coordinates of the right end of the megamenu content
					if( menucontent_RE >= wrap_RE ) { // Menu content exceeding the outer box
						menucontent.css({
							'left':wrap_RE - menucontent_RE + menuitemlink_O - menuitemli_O + 'px'
						}); // Limit megamenu inside the outer box
					}
				} else if( options.justify == "right" ) {
					var wrap_LE = wrap_O;
											// Coordinates of the left end of the megamenu object
					var menucontent_LE = menuitemlink_O - menucontent_W + menuitemlink_W;
											// Coordinates of the left end of the megamenu content
					if( menucontent_LE <= wrap_LE ) { // Menu content exceeding the outer box
						menucontent.css({
							'left': wrap_O
							- (menuitemli_O - menuitemlink_O) 
							- menuitemlink_O + 'px'
						}); // Limit megamenu inside the outer box
					} else {
						menucontent.css({
							'left':  menuitemlink_W
							+ (menuitemlink_O - menuitemli_O) 
							- menucontent_W + 'px'
						}); // Limit megamenu inside the outer box
					}
				}
			}else{
				_leftsub = 0;
				
				menucontent.css({
					'top': menuitemlink_H*0 +"px",
					'left': menuitemlink_W + _leftsub + 'px'
				})
				
				if(options.justify == "left"){
					var wrap_RE = wrap_O + wrap_W;
											// Coordinates of the right end of the megamenu object
					var menucontent_RE = menuitemli_O + menuitemli_W + _leftsub + menucontent_W;
											// Coordinates of the right end of the megamenu content
			
					if( menucontent_RE >= wrap_RE ) { // Menu content exceeding the outer box
						menucontent.css({
							'left': _leftsub - menucontent_W + 'px'
						}); // Limit megamenu inside the outer box
					}
					
				} else if( options.justify == "right" ) {
					var wrap_LE = wrap_O;
											// Coordinates of the left end of the megamenu object
					var menucontent_LE = menuitemli_O - menucontent_W + _leftsub;
											// Coordinates of the left end of the megamenu content
					//console.log(menucontent_LE+' vs '+wrap_LE);
					if( menucontent_LE <= wrap_LE ) { // Menu content exceeding the outer box
						menucontent.css({
							'left': menuitemli_W - _leftsub + 'px'
						}); // Limit megamenu inside the outer box
					} else {
						menucontent.css({
							'left':  _leftsub - menucontent_W + 'px'
						}); // Limit megamenu inside the outer box
					}
				}
			}
		}
	};
})(jQuery);
mega/assets/jquery.megamenu.js000064400000014222152401414270012432 0ustar00(function($){
	$.fn.megamenu = function(options) {
		options = jQuery.extend({
								  wrap:'#meganavigator',
								  easing: "easeInOutCirc",
								  speed: 300,
								  justify: "left",
	                              mm_timeout: 250
								
	                          }, options);
		var menuwrap = $(this);
		//$('li.level1').css({ 'float': options.justify });
		buildmenu(menuwrap);
		// Build menu
		function buildmenu(mwrap){
			mwrap.find('li').each(function(){
				var menucontent 		= $(this).find(".mega-content:first");
				var menuitemlink 		= $(this).find(".item-link:first");
		    	var menucontentinner 	= $(this).find(".mega-content-inner");
		    	var mshow_timer = 0;
		    	var mhide_timer = 0;
		     	var li = $(this);
		     	var islevel1 = (li.hasClass('level1'))?true:false;
				var havechild = (li.hasClass('havechild'))?true:false;
				if(menucontent){
		     		menucontent.hide();
		     	}
				li.mouseenter(function(el){
					el.stopPropagation();
					clearTimeout(mhide_timer);
					clearTimeout(mshow_timer);
					addHover(li);
					if(havechild){
						positionSubMenu(li, islevel1);
						mshow_timer = setTimeout(function(){ //Emulate HoverIntent					
							showSubMenu(li, menucontent, menucontentinner);
						}, options.mm_timeout);	
					}
				}).mouseleave(function(el){ //return;
					clearTimeout(mshow_timer);
					clearTimeout(mhide_timer);
					if(havechild){
						mhide_timer = setTimeout(function(){ //Emulate HoverIntent					
							hideSubMenu(li, menucontent, menucontentinner);
						}, options.mm_timeout);	

						//hideSubMenu(li, menucontent, menucontentinner);
					}
					removeHover(li);
			    });
				var isiPad = navigator.userAgent.match(/iPad/i) ;
				if (isiPad) {
					li.bind('touchstart', function(el){
						if($(this).hasClass('hover')){
							mhide_timer = setTimeout(function(){ //Emulate HoverIntent					
								hideSubMenu(li, menucontent, menucontentinner);
							}, options.mm_timeout);	

							//hideSubMenu(li, menucontent, menucontentinner);
						}
						removeHover(li);
						el.stopPropagation();
					});
				}
				
				
				
			});
		}
		// Show Submenu
		function showSubMenu(li, mcontent, mcontentinner){		
			mcontentinner.animate({
				  opacity: 1
				}, 100);
			mcontent.stop(true, true).slideDown({ duration: options.speed, easing: options.easing});
		}
		
		// Hide Submenu
		function hideSubMenu(li, mcontent, mcontentinner){
			mcontentinner.animate({
				  opacity: 0
				}, 2*options.mm_timeout);
			mcontent.slideUp({ duration: options.mm_timeout,easing: options.easing});
		}
		// Add class hover to li
		function addHover(el){
			$(el).addClass('hover');
		}
		// Remove class hover to li
		function removeHover(el){
			$(el).removeClass('hover');
		}
		// Position Submenu
		function positionSubMenu(el, islevel1){
			menucontent 		= $(el).find(".mega-content:first");
			menuitemlink 		= $(el).find(".item-link:first");
	    	menucontentinner 	= $(el).find(".mega-content-inner");
	    	wrap_O				= menuwrap.offset().left;
	    	wrap_W				= menuwrap.outerWidth();
	    	menuitemli_O		= menuitemlink.parent('li').offset().left;
	    	menuitemli_W		= menuitemlink.parent('li').outerWidth();
	    	menuitemlink_H		= menuitemlink.outerHeight();
	    	menuitemlink_W		= menuitemlink.outerWidth();
	    	menuitemlink_O		= menuitemlink.offset().left;
	    	menucontent_W		= menucontent.outerWidth();

			if (islevel1) { 
				menucontent.css({
					'top': menuitemlink_H + "px",
					'left': menuitemlink_O - menuitemli_O + 'px'
				})
				
				if(options.justify == "left"){
					var wrap_RE = wrap_O + wrap_W;
											// Coordinates of the right end of the megamenu object
					var menucontent_RE = menuitemlink_O + menucontent_W;
											// Coordinates of the right end of the megamenu content
					if( menucontent_RE >= wrap_RE ) { // Menu content exceeding the outer box
						menucontent.css({
							'left':wrap_RE - menucontent_RE + menuitemlink_O - menuitemli_O + 'px'
						}); // Limit megamenu inside the outer box
					}
				} else if( options.justify == "right" ) {
					var wrap_LE = wrap_O;
											// Coordinates of the left end of the megamenu object
					var menucontent_LE = menuitemlink_O - menucontent_W + menuitemlink_W;
											// Coordinates of the left end of the megamenu content
					if( menucontent_LE <= wrap_LE ) { // Menu content exceeding the outer box
						menucontent.css({
							'left': wrap_O
							- (menuitemli_O - menuitemlink_O) 
							- menuitemlink_O + 'px'
						}); // Limit megamenu inside the outer box
					} else {
						menucontent.css({
							'left':  menuitemlink_W
							+ (menuitemlink_O - menuitemli_O) 
							- menucontent_W + 'px'
						}); // Limit megamenu inside the outer box
					}
				}
			}else{
				_leftsub = 0;
				menucontent.css({
					'top': menuitemlink_H*0 +"px",
					'left': menuitemlink_W + _leftsub + 'px'
				})
				
				if(options.justify == "left"){
					var wrap_RE = wrap_O + wrap_W;
											// Coordinates of the right end of the megamenu object
					var menucontent_RE = menuitemli_O + menuitemli_W + _leftsub + menucontent_W;
											// Coordinates of the right end of the megamenu content
					
					if( menucontent_RE >= wrap_RE ) { // Menu content exceeding the outer box
						menucontent.css({
							'left': _leftsub - menucontent_W + 'px'
						}); // Limit megamenu inside the outer box
					}
				} else if( options.justify == "right" ) {
					var wrap_LE = wrap_O;
											// Coordinates of the left end of the megamenu object
					var menucontent_LE = menuitemli_O - menucontent_W + _leftsub;
											// Coordinates of the left end of the megamenu content
					//console.log(menucontent_LE+' vs '+wrap_LE);
					if( menucontent_LE <= wrap_LE ) { // Menu content exceeding the outer box
						menucontent.css({
							'left': menuitemli_W - _leftsub + 'px'
						}); // Limit megamenu inside the outer box
					} else {
						menucontent.css({
							'left':  _leftsub - menucontent_W + 'px'
						}); // Limit megamenu inside the outer box
					}
				}
			}
		}
	};
})(jQuery);
mega/tmpl/default.php000064400000020274152401414270010573 0ustar00<?php
/** 
 * YouTech menu template file.
 * 
 * @author The YouTech JSC
 * @package menusys
 * @filesource default.php
 * @license Copyright (c) 2011 The YouTech JSC. All Rights Reserved.
 * @tutorial http://www.smartaddons.com
 */

global $yt;
$document 			= JFactory::getDocument();
if ( $this->isRoot() ){
	$menucssid = $this->params->get('menustyle') . 'navigator' . $this->params->get('cssidsuffix');
	$addCssRight = $document->direction =='rtl' ? "rtl" : "";
	echo '<ul id="'.$menucssid.'" class="clearfix navi '.($addCssRight=='rtl' ? ' navirtl':'').'">';
	if($this->haveChild()){
		$idx = 0;
		foreach($this->getChild() as $child){
			$child->addClass('level'.$child->get('level',1));
			++$idx;
			if ($idx==1){
				$child->addClass('first');
			} else if ($idx==$this->countChild()){
				$child->addClass('last');
			}
			if ($child->haveMegaContent()){
				$child->addClass('havechild');
			}
			$child->getContent();
		}
	}
	echo "</ul>";
	echo "<button class='btn-hamburger js-slideout-toggle hidden-lg' type='button'>
                <i class='fa fa-bars'></i> &nbsp;Menu&nbsp;
        </button>";
		
	// import assets
	$fancyMenu			= $yt->getParam('fancyMenu');
	$moofx				= $yt->getParam('moofx');
	
	
	if($moofx !='fade'){
		$document->addScript($yt->templateurl().'menusys/class/mega/assets/jquery.megamenu.js');
		$document->addScript($yt->templateurl().'menusys/class/common/js/jquery.easing.1.3.js');
	}
	else $document->addScript($yt->templateurl().'menusys/class/mega/assets/jquery.megamenu.css.js');
	
	if($fancyMenu) $document->addScript($yt->templateurl().'menusys/class/common/js/gooeymenu.js');
	
	$timeOut   	= $this->params->get('moofxtimeout', '250');
	$transition = $this->params->get('moofx', 'linear');
	$justify 	= 	$document->direction !='rtl' ? 'left' : 'right';
	$activeSlider = intval($this->params->get('activeslider', '0')) ? 1 : 0;
	?>
	<script type="text/javascript">
		<?php if($fancyMenu) {?>
				gooeymenu.setup({id:'<?php echo $menucssid?>', fx:'swing'})
		<?php };?>
		jQuery(function($){
            $('#meganavigator').megamenu({ 
            	'wrap':'#yt_menuwrap .container',
            	'easing': '<?php echo $transition ?>',
				'mm_timeout': '<?php echo $timeOut ?>',
				'justify':'<?php echo $justify ?>'
            });
	    });
		
	</script>
	<?php
} else if ( $this->canAccess() ){
	$haveChild = $this->haveChild();
	$liClass = $this->haveClass() ? "class=\"{$this->getClass()}\"" : "";
	
	// get mega description
	$ytext_cols = $this->params->get('ytext_cols', 1);
	
	// get computed width of columns
	$mega_cols = $this->getMegaCols();
	
	if ($ytext_cols=='auto'){
		$ytext_cols = count($mega_cols);
	} else if (!is_numeric($ytext_cols)){
		$ytext_cols = 1;
	}
	$ytext_cols = ((int)$ytext_cols<=1) ? 1 : $ytext_cols;
	
	// what's type of menu item.
	$item_content_type = $this->params->get('ytext_contenttype', 'menu');	
	if ($item_content_type=='megachild' || $item_content_type=='menu') {
		$mega_template = 'mega_item';
		// get child of this item
		$listChilds = $this->getChild();
		//$listModules = array_reverse($listModules);		
		$cm = array();
		$mega_cols_render = true;
		if ($mega_cols_render){
			$r = count($listChilds) % $ytext_cols;
			$n = floor(count($listChilds)/$ytext_cols);
			$next = 1;
			$icol = 0;
			foreach ($listChilds as $myChild){
				if (!isset($cm[$next])){
					$cm[$next] = array();
					$icol = 0;
				}
				$cm[$next][$icol++] = $myChild;
				if ($next<=$r){ $max = $n+1; } else { $max = $n; }
				if ($icol>=$max){
					$next++;
				}
			}
		} else {
			$listChilds = array_reverse($listChilds);
			$next = 1;
			foreach ($listChilds as $myChild){
				if (!isset($cm[$next])){
					$cm[$next] = array();					
				}
				$icol = count($cm[$next]);
				$cm[$next][$icol] = $myChild;
				if (++$next >= $ytext_cols){
					$next = 1;
				}
			}
		}
	
	} else {
		// get modules if content type is mod or pos
		$listModules = $this->loadModules();
		//$listModules = array_reverse($listModules);		
		$cm = array();
		$mega_cols_render = true;
		if ($mega_cols_render){
			$r = count($listModules) % $ytext_cols;
			$n = floor(count($listModules)/$ytext_cols);
			$next = 1;
			$icol = 0;
			foreach ($listModules as $module){
				if (!isset($cm[$next])){
					$cm[$next] = array();
					$icol = 0;
				}
				$cm[$next][$icol++] = $module;
				if ($next<=$r){ $max = $n+1; } else { $max = $n; }
				if ($icol>=$max){
					$next++;
				}
			}
		} else {
			$listModules = array_reverse($listModules);
			$next = 1;
			foreach ($listModules as $module){
				if (!isset($cm[$next])){
					$cm[$next] = array();					
				}
				$icol = count($cm[$next]);
				$cm[$next][$icol] = $module;
				if (++$next >= $ytext_cols){
					$next = 1;
				}
			}
		}	
	}
	$mega_content_width = $this->params->get('ytext_width');	
	$mega_content_style = $mega_content_width>0? "style=\"width:" . (int)$mega_content_width . "px\"" : "";
	
	$mega_content_cssid = $this->params->get('ytext_cssid');
	$mega_content_attr  = !empty($mega_content_cssid) ? " id=\"{$mega_content_cssid}\"" : "";
	
	$sublevelClass = 'level'.( 1+$this->get('level',1) );
	
	$sys_image = $this->params->get('menu_image');
	if (isset($sys_image) && $sys_image!='-1'){
		$baseuri = JURI::base(true);
		$mega_icon = "<img class=\"menu-icon\" style=\"background-image:url({$baseuri}/images/stories/{$sys_image});\">";
	}
?>
<li <?php echo $liClass; ?>>
	<?php echo $this->getLink(); ?>
	
	<?php
		if($this->haveMegaContent()){
			
		?>
		<!-- open mega-content div -->
		<div class="<?php echo $sublevelClass; ?> <?php  echo $item_content_type?> mega-content" <?php echo $mega_content_attr; ?>>
			<div class="mega-content-inner clearfix" <?php echo $mega_content_style; ?>>
			
				
				<?php
				foreach ($mega_cols as $i => $w):
					if ($w<=0 && $w!='auto'){
						continue;
					} else {						
						$styleWidth = $w!='auto' ? "style=\"width:" . $w . "%;\"" : "";
					}
					$cmi=$i+1;
					if(isset($cm[$cmi])):
						if ($cmi==1){
							$addclass = ' first';
						} else if ($cmi==count($mega_cols)) {
							$addclass = ' last';
						} else {
							$addclass = '';
						}
						$numb_element_of_col = count($cm[$cmi]);
				?>
					<div class="mega-col<?php echo $addclass;?><?php echo count($mega_cols)>1?' more':' one'; ?>" <?php echo $styleWidth; ?>>
						<?php
						$submenuClass='subnavi ' . $sublevelClass;
						if($item_content_type=='menu'){
							$cidx = 0;
							echo "<ul class=\"{$submenuClass}\">";			
							foreach($cm[$cmi] as $child){
								$child->addClass($sublevelClass);
								++$cidx;
								if ($cidx==1){
									$child->addClass('first');
								} else if ($cidx==$numb_element_of_col){
									$child->addClass('last');
								}
								if ($child->haveMegaContent()){
									$child->addClass('havechild');
								}
								$child->getContent();
							}
							echo "</ul>";
						} else if($item_content_type=='megachild'){
							$allchild = count($cm[$cmi]);
							$iofchild = 0;
													
							foreach($cm[$cmi] as $k => $child){								
								$child->addClass($sublevelClass);
								$child->params->set('styleofcolumn', $styleWidth);
								$child->getContent('default_group');								
							}
							
						} else {												
							foreach($cm[$cmi] as $k => $module):
								$m_params = new YtParams($module->params);
								$m_class_sfx = $m_params->get('moduleclass_sfx', '');
								$m_showtitle = $module->showtitle; //$m_params->get('moduleclass_sfx', '');
							?>
								<div class="mega-module<?php echo $m_class_sfx;?> moduletable<?php echo $m_class_sfx; ?>">
									<?php if ($m_showtitle):?>
									<div class="mega-module-title">
										<h3><?php echo $module->title; ?></h3>
									</div>
									<?php endif; ?>
									<div class="mega-module-content">
									<?php
										echo JModuleHelper::renderModule($module, array('style'=>'raw')); 
									?>
									</div>
								</div>
							<?php
							endforeach;
						}
						?>
					</div>
				<?php
					endif;
				endforeach;
				?>
			
		</div>
	</div>
		<?php
		}
	?>
</li>

<?php 
}

?>mega/tmpl/default_group.php000064400000004130152401414270012000 0ustar00<?php
/** 
 * YouTech menu template file.
 * 
 * @author The YouTech JSC
 * @package menusys
 * @filesource default_group.php
 * @license Copyright (c) 2011 The YouTech JSC. All Rights Reserved.
 * @tutorial http://www.smartaddons.com
 */
 
	$sublevelClass = 'level'.( 1+$this->get('level',1) );
	$submenuClass  = 'subnavi ' . $sublevelClass;
?>
<div class="mega-group">
	<div class="mega-group-title">
		<?php 
			echo $this->getLink();
		?>
	</div>
	<?php 
	if($this->haveMegaContent()){
		$contentType = $this->params->get('ytext_contenttype');
	?>
	<div class="mega-group-content">
		<?php
		if($contentType=='menu' || $contentType=='megachild'){
			$styleofcolumn = $this->params->get('styleofcolumn', '');
		?>
		<ul class="<?php echo $submenuClass; ?>">
			<?php
				if($this->haveChild()){
					$idx = 0;					
					foreach($this->getChild() as $child){
						$child->addClass('level'.$child->get('level',1));
						++$idx;
						if ($idx==1){
							$child->addClass('first');
						} else if ($idx==$this->countChild()){
							$child->addClass('last');
						}
						if ($child->haveMegaContent()){
							$child->addClass('havechild');
						}
						$child->getContent();
					}
				}
			?>
		</ul>
		<?php
		} else if ($contentType=='mod' || $contentType=='pos'){
			$listModules = $this->loadModules();
			if (count($listModules)>0){
				foreach ($listModules as $k => $module){
					$m_params = new YtParams($module->params);
					$m_class_sfx = $m_params->get('moduleclass_sfx', '');
					$m_showtitle = $module->showtitle; //$m_params->get('moduleclass_sfx', '');
				?>
					<div class="mega-module<?php echo $m_class_sfx;?> moduletable<?php echo $m_class_sfx; ?>">
						<?php if ($m_showtitle):?>
						<div class="mega-module-title">
							<h3><?php echo $module->title; ?></h3>
						</div>
						<?php endif; ?>				
						<div class="mega-module-content">
						<?php
							echo JModuleHelper::renderModule($module, array('style'=>'raw')); 
						?>
						</div>
					</div>
				<?php
				}
			}
		}
		?>
	</div>
	<?php
	}
	?>
</div>mega/tmpl/index.html000064400000000054152401414270010425 0ustar00<html><body bgcolor="#FFFFFF"></body></html>mega/index.html000064400000000054152401414270007451 0ustar00<html><body bgcolor="#FFFFFF"></body></html>mobile/tmpl/collapse.php000064400000002140152401414270011277 0ustar00<?php
/** 
 * YouTech menu template file.
 * 
 * @author The YouTech JSC
 * @package menusys
 * @filesource default.php
 * @license Copyright (c) 2011 The YouTech JSC. All Rights Reserved.
 * @tutorial http://www.smartaddons.com
 */
global $yt;
?>
<?php
if ( $this->canAccess() ){
	$haveChild = $this->haveChild(); ?>
    <?php
    $class = '';
    if($this->get('level',1) >= 1){
        $class .= ($haveChild)?'haveChild level'. $this->get('level',1) :'';
        $class .= ($class!='' && $this->get('active')>=1)?' open':'';
        $class = ($class!='')?' class="'.$class.'"':'';
    }
    echo '<li'.$class.'>'.$this->getLinkInMobile($this->get('level',1));
    if($haveChild){ ?>
			<?php if( $this->get('level',1)>=1 ){?>
				<span class="menuress-toggle"></span>
            <?php } ?>
				<div class="res-wrapnav">
				<ul class="nav">
			<?php
				$cidx = 0;
				foreach($this->getChild() as $child){
					++$cidx;
					$child->getContent('collapse');
				}
			?>
				</ul>
				</div>
			</li>
        <?php
    }else{ ?>
        </li>
    <?php
    } ?>
<?php
} ?>mobile/tmpl/default.php000064400000002460152401414270011126 0ustar00<?php
/** 
 * YouTech menu template file.
 * 
 * @author The YouTech JSC
 * @package menusys
 * @filesource default.php
 * @license Copyright (c) 2011 The YouTech JSC. All Rights Reserved.
 * @tutorial http://www.smartaddons.com
 */
global $yt;
$typelayout = $yt->getParam('layouttype');

?>

<?php
if ($this->isRoot()){
	if($typelayout=='res'){ ?>
		<div id="resmenu" class="slideout-menu hidden-lg">
			<ul class="nav resmenu">
			<?php
			if($this->haveChild()){
				$idx = 0;
				foreach($this->getChild() as $child){
					++$idx;
					$child->getContent('collapse');
				}
			}
			?>
			</ul>
		</div>
		<script type="text/javascript">
		jQuery(document).ready(function($){
			var slideout = jQuery('#resmenu');
			var widthMenu = $('.slideout-menu').width(); 
			
			slideout.css({left:-widthMenu});
			
			var bd = jQuery('<div class="slide-modal modal-backdrop fade in"></div>');
			jQuery('.js-slideout-toggle').on('click', function() {
				slideout.animate({left:"0px"});
				bd.appendTo(document.body);
			});
			
			jQuery('body').on('touchstart click','.slide-modal', function(e){
				e.stopPropagation(); e.preventDefault();
				jQuery(this).closest('.slide-modal').remove();
				slideout.animate({left:-widthMenu});
			});

		});
		</script>
	<?php
	}
}
?>
mobile/tmpl/index.html000064400000000054152401414270010763 0ustar00<html><body bgcolor="#FFFFFF"></body></html>mobile/index.html000064400000000054152401414270010007 0ustar00<html><body bgcolor="#FFFFFF"></body></html>moo/assets/index.html000064400000000054152401414270010634 0ustar00<html><body bgcolor="#FFFFFF"></body></html>moo/assets/jquery.moomenu.css.js000064400000012233152401414270012763 0ustar00(function($){
	$.fn.moomenu = function(options) {
		options = jQuery.extend({
								  wrap:'#moofxduration',
								  easing: "easeInOutCirc",
								  speed: 300,
	                              justify: "left",
	                              mm_timeout: 250
	                          }, options);
		var menuwrap = $(this);
		//$('li.level1').css({ 'float': options.justify });
		buildmenu(menuwrap);
		// Build menu
		function buildmenu(mwrap){
			mwrap.find('li').each(function(){
				var menucontent 		= $(this).find(".subnavi:first");
				var menuitemlink 		= $(this).find(".item-link:first");
		    	var menucontentinner 	= $(this).find(".mega-content-inner");
		    	var mshow_timer = 0;
		    	var mhide_timer = 0;
		     	var li = $(this);
		     	var islevel1 = (li.hasClass('level1'))?true:false;
				var havechild = (li.hasClass('havechild'))?true:false;
				if(menucontent){
		     		menucontent.hide();
		     	}
				li.mouseenter(function(el){
					el.stopPropagation();
					clearTimeout(mhide_timer);
					clearTimeout(mshow_timer);
					addHover(li);
					if(havechild){
						positionSubMenu(li, islevel1);
						mshow_timer = setTimeout(function(){ //Emulate HoverIntent					
							showSubMenu(li, menucontent, menucontentinner);
						});	
					}
				}).mouseleave(function(el){ //return;
					
					if(havechild){
						mhide_timer = setTimeout(function(){ //Emulate HoverIntent					
							showSubMenu(li, menucontent, menucontentinner);
						});	

						
					}
					removeHover(li);
			    });
			});
		}
		// Show Submenu
		function showSubMenu(li, mcontent, mcontentinner){		
			mcontent.toggle();
		}
		// Hide Submenu
		
		// Add class hover to li
		function addHover(el){
			$(el).addClass('hover');
			
		}
		// Remove class hover to li
		function removeHover(el){
			$(el).removeClass('hover');
		}
		// Position Submenu
		function positionSubMenu(el, islevel1){
			menucontent 		= $(el).find(".subnavi:first");
			menuitemlink 		= $(el).find(".item-link:first");
	    	menucontentinner 	= $(el).find(".mega-content-inner");
	    	wrap_O				= menuwrap.offset().left;
	    	wrap_W				= menuwrap.outerWidth();
	    	menuitemli_O		= menuitemlink.parent('li').offset().left;
	    	menuitemli_W		= menuitemlink.parent('li').outerWidth();
	    	menuitemlink_H		= menuitemlink.outerHeight();
	    	menuitemlink_W		= menuitemlink.outerWidth();
	    	menuitemlink_O		= menuitemlink.offset().left;
	    	menucontent_W		= menucontent.outerWidth();

			if (islevel1) { 
				menucontent.css({
					'top': menuitemlink_H + "px",
					'left': menuitemlink_O - menuitemli_O + 'px'
				})
				
				if(options.justify == "left"){
					var wrap_RE = wrap_O + wrap_W;
											// Coordinates of the right end of the megamenu object
					var menucontent_RE = menuitemlink_O + menucontent_W;
											// Coordinates of the right end of the megamenu content
					if( menucontent_RE >= wrap_RE ) { // Menu content exceeding the outer box
						menucontent.css({
							'left':wrap_RE - menucontent_RE + menuitemlink_O - menuitemli_O + 'px'
						}); // Limit megamenu inside the outer box
					}
				} else if( options.justify == "right" ) {
					var wrap_LE = wrap_O;
											// Coordinates of the left end of the megamenu object
					var menucontent_LE = menuitemlink_O - menucontent_W + menuitemlink_W;
											// Coordinates of the left end of the megamenu content
					if( menucontent_LE <= wrap_LE ) { // Menu content exceeding the outer box
						menucontent.css({
							'left': wrap_O
							- (menuitemli_O - menuitemlink_O) 
							- menuitemlink_O + 'px'
						}); // Limit megamenu inside the outer box
					} else {
						menucontent.css({
							'left':  menuitemlink_W
							+ (menuitemlink_O - menuitemli_O) 
							- menucontent_W + 'px'
						}); // Limit megamenu inside the outer box
					}
				}
			}else{
				_leftsub = 0;
				menucontent.css({
					'top': menuitemlink_H*0 +"px",
					'left': menuitemlink_W - _leftsub + 'px'
				})
				
				if(options.justify == "left"){
					var wrap_RE = wrap_O + wrap_W;
											// Coordinates of the right end of the megamenu object
					var menucontent_RE = menuitemli_O + menuitemli_W + _leftsub + menucontent_W;
											
					
					if( menucontent_RE >= wrap_RE ) { // Menu content exceeding the outer box
						menucontent.css({
							'left': _leftsub - menucontent_W + 'px'
						}); // Limit megamenu inside the outer box
					}
				} else if( options.justify == "right" ) {
					var wrap_LE = wrap_O;
											// Coordinates of the left end of the megamenu object
					var menucontent_LE = menuitemli_O - menucontent_W + _leftsub;
											// Coordinates of the left end of the megamenu content
					//console.log(menucontent_LE+' vs '+wrap_LE);
					if( menucontent_LE <= wrap_LE ) { // Menu content exceeding the outer box
						menucontent.css({
							'left': menuitemli_W - _leftsub + 'px'
						}); // Limit megamenu inside the outer box
					} else {
						menucontent.css({
							'left':  _leftsub - menucontent_W + 'px'
						}); // Limit megamenu inside the outer box
					}
				}
			}
		}
	};
})(jQuery);
moo/assets/jquery.moomenu.js000064400000013244152401414270012177 0ustar00(function($){
	$.fn.moomenu = function(options) {
		options = jQuery.extend({
								  wrap:'#moofxduration',
								  easing: "easeInOutCirc",
								  speed: 300,
	                              justify: "left",
	                              mm_timeout: 250
	                          }, options);
		var menuwrap = $(this);
		//$('li.level1').css({ 'float': options.justify });
		buildmenu(menuwrap);
		// Build menu
		function buildmenu(mwrap){
			mwrap.find('li').each(function(){
				var menucontent 		= $(this).find(".subnavi:first");
				var menuitemlink 		= $(this).find(".item-link:first");
		    	var menucontentinner 	= $(this).find(".mega-content-inner");
		    	var mshow_timer = 0;
		    	var mhide_timer = 0;
		     	var li = $(this);
		     	var islevel1 = (li.hasClass('level1'))?true:false;
				var havechild = (li.hasClass('havechild'))?true:false;
				if(menucontent){
		     		menucontent.hide();
		     	}
				li.mouseenter(function(el){
					el.stopPropagation();
					clearTimeout(mhide_timer);
					clearTimeout(mshow_timer);
					addHover(li);
					if(havechild){
						positionSubMenu(li, islevel1);
						mshow_timer = setTimeout(function(){ //Emulate HoverIntent					
							showSubMenu(li, menucontent, menucontentinner);
						}, options.mm_timeout);	
					}
				}).mouseleave(function(el){ //return;
					clearTimeout(mshow_timer);
					clearTimeout(mhide_timer);
					if(havechild){
						mhide_timer = setTimeout(function(){ //Emulate HoverIntent					
							hideSubMenu(li, menucontent, menucontentinner);
						}, options.mm_timeout);	

						hideSubMenu(li, menucontent, menucontentinner);
					}
					removeHover(li);
			    });
			});
		}
		// Show Submenu
		function showSubMenu(li, mcontent, mcontentinner){		
			mcontentinner.animate({
				  opacity: 1
				}, 100, function() {
			});
			mcontent.stop(true, true).slideDown({ duration: options.speed, easing: options.easing});
		}
		// Hide Submenu
		function hideSubMenu(li, mcontent, mcontentinner){
			mcontentinner.animate({
				  opacity: 0
				}, 2*options.mm_timeout, function() {
			});
			mcontent.slideUp({ duration: options.mm_timeout, easing: 'linear'});
		}
		// Add class hover to li
		function addHover(el){
			$(el).addClass('hover');
			
		}
		// Remove class hover to li
		function removeHover(el){
			$(el).removeClass('hover');
		}
		// Position Submenu
		function positionSubMenu(el, islevel1){
			menucontent 		= $(el).find(".subnavi:first");
			menuitemlink 		= $(el).find(".item-link:first");
	    	menucontentinner 	= $(el).find(".mega-content-inner");
	    	wrap_O				= menuwrap.offset().left;
	    	wrap_W				= menuwrap.outerWidth();
	    	menuitemli_O		= menuitemlink.parent('li').offset().left;
	    	menuitemli_W		= menuitemlink.parent('li').outerWidth();
	    	menuitemlink_H		= menuitemlink.outerHeight();
	    	menuitemlink_W		= menuitemlink.outerWidth();
	    	menuitemlink_O		= menuitemlink.offset().left;
	    	menucontent_W		= menucontent.outerWidth();

			if (islevel1) { 
				menucontent.css({
					'top': menuitemlink_H + "px",
					'left': menuitemlink_O - menuitemli_O + 'px'
				})
				
				if(options.justify == "left"){
					var wrap_RE = wrap_O + wrap_W;
											// Coordinates of the right end of the megamenu object
					var menucontent_RE = menuitemlink_O + menucontent_W;
											// Coordinates of the right end of the megamenu content
					if( menucontent_RE >= wrap_RE ) { // Menu content exceeding the outer box
						menucontent.css({
							'left':wrap_RE - menucontent_RE + menuitemlink_O - menuitemli_O + 'px'
						}); // Limit megamenu inside the outer box
					}
				} else if( options.justify == "right" ) {
					var wrap_LE = wrap_O;
											// Coordinates of the left end of the megamenu object
					var menucontent_LE = menuitemlink_O - menucontent_W + menuitemlink_W;
											// Coordinates of the left end of the megamenu content
					if( menucontent_LE <= wrap_LE ) { // Menu content exceeding the outer box
						menucontent.css({
							'left': wrap_O
							- (menuitemli_O - menuitemlink_O) 
							- menuitemlink_O + 'px'
						}); // Limit megamenu inside the outer box
					} else {
						menucontent.css({
							'left':  menuitemlink_W
							+ (menuitemlink_O - menuitemli_O) 
							- menucontent_W + 'px'
						}); // Limit megamenu inside the outer box
					}
				}
			}else{
				_leftsub = 0;
				menucontent.css({
					'top': menuitemlink_H*0 +"px",
					'left': menuitemlink_W - _leftsub + 'px'
				})
				
				if(options.justify == "left"){
					var wrap_RE = wrap_O + wrap_W;
											// Coordinates of the right end of the megamenu object
					var menucontent_RE = menuitemli_O + menuitemli_W + _leftsub + menucontent_W;
											
					
					if( menucontent_RE >= wrap_RE ) { // Menu content exceeding the outer box
						menucontent.css({
							'left': _leftsub - menucontent_W + 'px'
						}); // Limit megamenu inside the outer box
					}
				} else if( options.justify == "right" ) {
					var wrap_LE = wrap_O;
											// Coordinates of the left end of the megamenu object
					var menucontent_LE = menuitemli_O - menucontent_W + _leftsub;
											// Coordinates of the left end of the megamenu content
					//console.log(menucontent_LE+' vs '+wrap_LE);
					if( menucontent_LE <= wrap_LE ) { // Menu content exceeding the outer box
						menucontent.css({
							'left': menuitemli_W - _leftsub + 'px'
						}); // Limit megamenu inside the outer box
					} else {
						menucontent.css({
							'left':  _leftsub - menucontent_W + 'px'
						}); // Limit megamenu inside the outer box
					}
				}
			}
		}
	};
})(jQuery);
moo/tmpl/default.php000064400000005723152401414270010456 0ustar00<?php
/** 
 * YouTech menu template file.
 * 
 * @author The YouTech JSC
 * @package menusys
 * @filesource default.php
 * @license Copyright (c) 2011 The YouTech JSC. All Rights Reserved.
 * @tutorial http://www.smartaddons.com
 */
global $yt;
$document = JFactory::getDocument();

if ($this->isRoot()){
	$menucssid = $this->params->get('menustyle') . 'navigator' . $this->params->get('cssidsuffix');
	$addCssRight = $document->direction =='rtl' ? "rtl" : "";
	echo '<ul id="'.$menucssid.'" class="navi'.($addCssRight=='rtl' ? ' navirtl':'').'">';
	if($this->haveChild()){
		$idx = 0;
		foreach($this->getChild() as $child){
			$child->addClass('level'.$child->get('level',1));
			++$idx;
			if ($idx==1){
				$child->addClass('first');
			} else if ($idx==$this->countChild()){
				$child->addClass('last');
			}
			if ($child->haveChild()){
				$child->addClass('havechild');
			}
			$child->getContent();
		}
	}
	echo "</ul>";
	
		
	// import assets
	$fancyMenu				    = $yt->getParam('fancyMenu');
	$moofx				= $yt->getParam('moofx');
	
	
	if($moofx !='fade'){
		$document->addScript($yt->templateurl().'menusys/class/moo/assets/jquery.moomenu.js');
		$document->addScript($yt->templateurl().'menusys/class/common/js/jquery.easing.1.3.js');
	}
	else $document->addScript($yt->templateurl().'menusys/class/moo/assets/jquery.moomenu.css.js');
	if($fancyMenu) $document->addScript($yt->templateurl().'menusys/class/common/js/gooeymenu.js');
	
	$duration   = $this->params->get('moofxduration', '300');
	$transition = $this->params->get('moofx', 'linear');
	$justify 	= 	$document->direction !='rtl' ? 'left' : 'right';
	$activeSlider = intval($this->params->get('activeslider', '0')) ? 1 : 0;	
	
	
	?>
	
	<script type="text/javascript">
		jQuery(function($){
			<?php if($fancyMenu) {?>
				gooeymenu.setup({id:'<?php echo $menucssid?>', fx:'swing'})
			<?php };?>
			
            $('#moonavigator').moomenu({ 
            	'wrap':'#yt_menuwrap .container',
            	'easing': '<?php echo $transition ?>',
				'speed': '<?php echo $duration ?>',
				'justify':'<?php echo $justify ?>'
            });
	    });
	</script>
	<?php
} else if ( $this->canAccess() ){
	$haveChild = $this->haveChild();
	$liClass = $this->haveClass() ? "class=\"{$this->getClass()}\"" : "";
?>

<li <?php echo $liClass; ?>>
	<?php echo $this->getLink(); ?>
	<?php
		if($haveChild){
			$levelClassName = 'level'.($this->get('level',1)+1);
			$subStyleWidth = $this->getSubmenuWidth();
			
			echo "<ul class=\"{$levelClassName} subnavi\" $subStyleWidth>";
			$cidx = 0;
			foreach($this->getChild() as $child){
				$child->addClass($levelClassName);
				++$cidx;
				if ($cidx==1){
					$child->addClass('first');
				} else if ($cidx==$this->countChild()){
					$child->addClass('last');
				}
				if ($child->haveChild()){
					$child->addClass('havechild');
				}
				$child->getContent();
			}
			echo "</ul>";
		}
	?>
</li>

<?php 
}
?>moo/tmpl/index.html000064400000000054152401414270010306 0ustar00<html><body bgcolor="#FFFFFF"></body></html>moo/index.html000064400000000054152401414270007332 0ustar00<html><body bgcolor="#FFFFFF"></body></html>index.html000064400000000054152401414270006540 0ustar00<html><body bgcolor="#FFFFFF"></body></html>