PageSourceSearch

https://diwali.ie/wp-content/themes/grandrestaurant/js/custom_plugins.js

js diwali.ie collected 2026-09-26 19:07:16 UTC 6,406 bytes, 205 lines download raw bytes

1jQuery.fn.center = function ()
2{
3    this.css("left", (jQuery(window).width() / 2) - (this.outerWidth() / 2));
4    return this;
5}
6
7jQuery.fn.animateAuto = function(prop, speed, callback){
8    var elem, height, width;
9    return this.each(function(i, el){
10        el = jQuery(el), elem = el.clone().css({"height":"auto"}).appendTo("body");
11        
12        if (navigator.userAgent.indexOf('Safari') != -1 && navigator.userAgent.indexOf('Chrome') == -1)
13        {
14        	height = elem.height();
15	        height = elem.css("auto"),
16	        width = elem.css("width");
17        }
18        else
19        {
20	        height = elem.height();
21	        height = height,
22	        width = elem.css("width");
23	    }
24        elem.remove();
25        
26        if(prop === "height")
27            el.animate({"height":height+15}, speed, callback);
28        else if(prop === "max-height")
29            el.animate({"max-height":height}, speed, callback);
30        else if(prop === "width")
31            el.animate({"width":width}, speed, callback);  
32        else if(prop === "both")
33            el.animate({"width":width,"height":height}, speed, callback);
34    });  
35}
36
37jQuery.fn.setNav = function(){
38	var calScreenWidth = jQuery(window).width();
39	var menuLayout = jQuery('#pp_menu_layout').val();
40	
41	if(calScreenWidth >= 960)
42	{
43		jQuery('#main_menu li ul').css({display: 'none', opacity: 1});
44		
45		if(menuLayout != 'leftmenu')
46		{
47			jQuery('#menu_wrapper div .nav li.megamenu > ul > li').each(function()
48			{
49				jQuery(this).css('height', jQuery(this).parent('ul').height()+'px');
50			});
51		}
52	
53		jQuery('#main_menu li').each(function()
54		{	
55			var jQuerysublist = jQuery(this).find('ul:first');
56			
57			jQuery(this).hover(function()
58			{	
59				position = jQuery(this).position();
60				
61				if(jQuery(this).parents().attr('class') == 'sub-menu')
62				{	
63					jQuerysublist.stop().fadeIn(500);
64				}
65				else
66				{
67					jQuerysublist.stop().css({overflow: 'visible'}).fadeIn(500);
68				}
69			},
70			function()
71			{	
72				jQuerysublist.stop().css({height:'auto'}).fadeOut(500);
73			});
74	
75		});
76		
77		jQuery('#menu_wrapper .nav ul li ul').css({display: 'none', opacity: 1});
78	
79		jQuery('#menu_wrapper .nav ul li').each(function()
80		{
81			
82			var jQuerysublist = jQuery(this).find('ul:first');
83			
84			jQuery(this).hover(function()
85			{	
86				jQuerysublist.stop().fadeIn(500);	
87			},
88			function()
89			{	
90				jQuerysublist.stop().fadeOut(500);	
91			});		
92			
93		});
94	}
95	
96	jQuery('body').on('click', '.mobile_main_nav > li a', function(event) {
97	    var jQuerysublist = jQuery(this).parent('li').find('ul.sub-menu:first');
98	    var menuContainerClass = jQuery(this).parent('li').parent('#mobile_main_menu.mobile_main_nav').parent('div');
99	    
100	    if(jQuerysublist.length>0)
101	    {
102		    event.preventDefault();
103	    }
104	    
105	    var menuLevel = 'top_level';
106	    var parentMenu = '';
107	    var menuClickedId = jQuery(this).attr('id');
108	    
109	    if(jQuery(this).parent('li').parent('ul').attr('id')=='mobile_main_menu')
110	    {
111		    menuLevel = 'parent_level';
112	    }
113	    else
114	    {
115		    parentMenu = jQuery(this).parent('li').attr('id');
116	    }
117
118	    if(jQuerysublist.length>0)
119	    {
120		    jQuery('#mobile_main_menu.mobile_main_nav').addClass('mainnav_out');
121		    jQuery('.mobile_menu_wrapper div #sub_menu').removeClass('subnav_in');
122		    jQuery('.mobile_menu_wrapper div #sub_menu').addClass('mainnav_out');
123		    
124		    setTimeout(function() {
125		    	jQuery('#mobile_main_menu.mobile_main_nav').css('display', 'none');
126		    	jQuery('.mobile_menu_wrapper div #sub_menu').remove();
127		    
128		        var subMenuHTML = '<li><a href="#" id="menu_back" class="'+menuLevel+'" data-parent="'+parentMenu+'">'+jQuery('#pp_back').val()+'</a></li>';
129		        subMenuHTML += jQuerysublist.html();
130		        
131		    	menuContainerClass.append('<ul id="sub_menu" class="nav '+menuLevel+'"></ul>');
132		    	menuContainerClass.find('#sub_menu').html(subMenuHTML);
133		    	menuContainerClass.find('#sub_menu').addClass('subnav_in');
134		    }, 200);
135	    }
136	});
137	
138	jQuery('body').on('click', '#menu_back.parent_level', function() {
139		jQuery('.mobile_menu_wrapper div #sub_menu').removeClass('subnav_in');
140		jQuery('.mobile_menu_wrapper div #sub_menu').addClass('subnav_out');
141		jQuery('#mobile_main_menu.mobile_main_nav').removeClass('mainnav_out');
142		
143		setTimeout(function() {
144			jQuery('.mobile_menu_wrapper div #sub_menu').remove();
145			jQuery('#mobile_main_menu.mobile_main_nav').css('display', 'block');
146			jQuery('#mobile_main_menu.mobile_main_nav').addClass('mainnav_in');
147		}, 200);
148	});
149	
150	jQuery('body').on('click', '#menu_back.top_level', function() {
151		event.preventDefault();
152		jQuery('.mobile_menu_wrapper div #sub_menu').addClass('subnav_out');
153		var parentMenuId = jQuery(this).data('parent');
154		
155		setTimeout(function() {
156			jQuery('.mobile_menu_wrapper div #sub_menu').remove();
157			var menuLevel = 'top_level';
158			var parentMenu = '';
159
160			if(jQuery('#mobile_main_menu.mobile_main_nav li#'+parentMenuId).parent('ul.sub-menu:first').parent('li').parent('ul#main_menu').length == 1)
161			{
162				menuLevel = 'parent_level';
163			}
164			else
165			{
166				parentMenu = jQuery('#mobile_main_menu.mobile_main_nav li#'+parentMenuId).parent('ul.sub-menu:first').parent('li').attr('id');
167			}
168			
169			var subMenuHTML = '<li><a href="#" id="menu_back" class="'+menuLevel+'" data-parent="'+parentMenu+'">'+jQuery('#pp_back').val()+'</a></li>';
170			subMenuHTML+= jQuery('#mobile_main_menu.mobile_main_nav li#'+parentMenuId).parent('ul.sub-menu:first').html();
171			jQuery('.mobile_menu_wrapper div').append('<ul id="sub_menu" class="nav '+menuLevel+'"></ul>');
172			    
173			jQuery('.mobile_menu_wrapper div #sub_menu').html(subMenuHTML);
174			jQuery('.mobile_menu_wrapper div #sub_menu').addClass('mainnav_in');
175		}, 200);
176	});
177}
178
179function adjustIframes()
180{
181  jQuery('iframe').each(function(){
182  
183    var
184    $this       = jQuery(this),
185    proportion  = $this.data( 'proportion' ),
186    w           = $this.attr('width'),
187    actual_w    = $this.width();
188    
189    if ( ! proportion )
190    {
191        proportion = $this.attr('height') / w;
192        $this.data( 'proportion', proportion );
193    }
194  
195    if ( actual_w != w )
196    {
197        $this.css( 'height', Math.round( actual_w * proportion ) + 'px !important' );
198    }
199  });
200}
201
202function is_touch_device() {
203  return 'ontouchstart' in window // works on most browsers 
204      || 'onmsgesturechange' in window; // works on ie10
205};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.