PageSourceSearch

https://arizonamlsflatfee.com/wp-content/plugins/aios-initial-setu…/aios-mobile-header-navigation.js?ver=7.1.2

js arizonamlsflatfee.com collected 2026-10-04 08:17:39 UTC 6,174 bytes, 288 lines download raw bytes

1( function($) {
2
3	$.prototype.aiosMobileHeaderNavigation = function(settings) {
4		
5		var defaults = {
6			trigger:'.aios-mobile-pack-navigation-trigger',
7			attachment:'.aios-mobile-pack-header-buttons',
8			position:'bottom'
9		}
10		
11		settings = $.extend(defaults,settings);
12		
13		this.each( function(i,v) {
14			
15			Navigation($(v),settings);
16			
17		});
18		
19	}
20	
21	function Navigation(object,settings) {
22		
23		var nav = object;
24		var trigger = $(settings.trigger);
25		var attachment = $(settings.attachment);
26		var overlay = $("<div class='aiosMobileHeaderOverlay'></div>");
27		
28		function _construct() {
29			
30			prepareComponents();
31			initEvents();
32			
33		}
34		
35		function prepareComponents() {
36			
37			/* Prepare overlay */
38			
39			overlay.css({
40				'left':0,
41				'top':0,
42				'width':'100%',
43				'height':'100%',
44				'position':'fixed',
45				'z-index':'999',
46				'background':'#000',
47				'display':'none',
48				'opacity':0.5
49			});
50			
51			/* Prepare nav */
52			switch (settings.position) {
53				
54				case 'left':
55					
56					nav.css({
57						'left':'-100%',
58						'display':'block',
59						'z-index':'1000',
60						'top':0,
61						'height':'100%',
62						'position':'fixed',
63						'width':240
64					});
65					
66					nav.addClass("aios-mobile-pack-navigation-left");					
67					nav.after(overlay);
68					
69					break;
70				
71				case 'right':
72				
73					nav.css({
74						'right':'-240px',
75						'display':'block',
76						'z-index':'1000',
77						'top':0,
78						'height':'100%',
79						'position':'fixed',
80						'width':240
81					});
82					
83					nav.addClass("aios-mobile-pack-navigation-right");
84					nav.after(overlay);
85					
86					break;
87					
88				default:
89				
90					nav.addClass("aios-mobile-pack-navigation-bottom");
91					
92					break;
93					
94			}
95			
96		}
97		
98		function initEvents() {
99			
100			initTriggerEvent();
101			initAnchorEvent();
102			initTabEvent();
103			
104			if ( isTouchDevice() ) {
105				overlay[0].addEventListener("touchstart", function(){ 
106					if ( overlay.is(":visible") ) {
107						animateNav('close'); 
108					}
109				}, false);
110				overlay[0].addEventListener("click", function(){ 
111					if ( overlay.is(":visible") ) {
112						animateNav('close'); 
113					}
114				}, false);
115			}
116			else {
117				overlay[0].addEventListener("click", function(){ animateNav('close'); }, false);
118			}
119			
120			if ( settings.position == 'bottom' ) {	
121				$(window).on("load",resizeNav);
122				$(window).on("resize",resizeNav);
123				window.addEventListener("orientationchange", resizeNav);
124			}
125			
126		}
127		
128		function isTouchDevice() {
129			return 'ontouchstart' in window || navigator.msMaxTouchPoints;
130		}
131		
132		function initTabEvent() {
133			
134			nav.find("li").click( function(e) {
135				var li = $(e.currentTarget);
136				
137				li.siblings().removeClass("open");
138				li.siblings().find("li").removeClass("open");
139				li.siblings().find(".sub-menu").hide();
140				
141				if ( !li.hasClass("open") ) {
142					li.toggleClass("open");
143					li.children(".sub-menu").show();
144				}
145			});
146			
147		}
148		
149		function initAnchorEvent() {
150			
151			nav.find("a").click( function(e) {
152				e.preventDefault();
153				
154				var a = $(e.currentTarget);
155				var parent = a.parent();
156				var subCount = parent.find(".sub-menu").length;
157				
158				if ( parent.hasClass("open") || !subCount ) {
159					var url = a.attr("href");
160					var target = typeof a.attr("target") == 'undefined' ? '_self' : a.attr("target") ;
161					window.open(url,target);
162				}
163				
164				if ( settings.position == 'bottom' ) {
165					setTimeout(resizeNav,500);
166				}
167				
168			});
169			
170		}
171		
172		function initTriggerEvent() {
173			
174			trigger.click(animateNav);
175			
176		}
177		
178		function animateNav(status) {
179			
180			switch (settings.position) {
181				
182				case 'left':
183					if ( nav.hasClass('aios-mobile-pack-navigation-visible') || status == 'close' ){
184						//Hide nav
185						nav.stop(true).animate({left:'-100%'},750);
186						overlay.stop(true).animate({opacity:0}
186,750,'swing',function() {
187							overlay.css({display:'none'});
188						});
189						
190						//Remove classes
191						nav.removeClass('aios-mobile-pack-navigation-visible');
192						trigger.removeClass('aios-mobile-pack-navigation-trigger-active');
193					}
194					else {
195						//Show nav
196						nav.stop(true).animate({left:0},750);
197						overlay.css({display:'block'});
198						overlay.stop(true).animate({opacity:0.5},750);
199						
200						//Add classes
201						nav.addClass('aios-mobile-pack-navigation-visible');
202						trigger.addClass('aios-mobile-pack-navigation-trigger-active');
203					}
204					break;
205					
206				case 'right':
207					if ( nav.hasClass('aios-mobile-pack-navigation-visible' ) || status == 'close' ) {
208						//Hide nav
209						nav.stop(true).animate({right:'-240px'},750);
210						overlay.stop(true).animate({opacity:0},750,'swing',function() {
211							overlay.css({display:'none'});
212						});
213						
214						//Remove classes
215						nav.removeClass('aios-mobile-pack-navigation-visible');
216						trigger.removeClass('aios-mobile-pack-navigation-trigger-active');
217					}
218					else {
219						//Show nav
220						nav.stop(true).animate({right:0},750);
221						overlay.css({display:'block'});
222						overlay.stop(true).animate({opacity:0.5},750);
223						
224						//Add classes
225						nav.addClass('aios-mobile-pack-navigation-visible');
226						trigger.addClass('aios-mobile-pack-navigation-trigger-active');
227					}
228					break;
229					
230				default: 
231					
232					//Show or hide nav
233					nav.slideToggle(400,function() {
234						resizeNav();
235					});
236					
237					//Add or remove classes
238					nav.toggleClass('aios-mobile-pack-navigation-visible');
239					trigger.toggleClass('aios-mobile-pack-navigation-trigger-active');
240					
241					break;
242				
243			}
244			
245			
246		}
247		
248		function resizeNav() {
249			
250			var winHeight = window.innerHeight || $(window).height();
251			var navHeight = winHeight - attachment.height();
252			var css;
253		
254			nav.css({height:'auto',paddingBottom:0});
255			var originalNavHeight = nav.height() + $('.amh-header-buttons').height() ;
256			
257
258
259			if ( originalNavHeight < navHeight ) {
260				
261				css = {
262					height:'auto',
263					paddingBottom:0
264				};
265				
266				nav.css(css);
267				
268			}
269			else {
270				
271				css = {
272					height:navHeight
273				};
274				
275				if ( settings.position == 'bottom' ) {
276					css.paddingBottom = 100;
277				}
278				
279				nav.css(css);
280			}
281			
282		}
283		
284		_construct();
285		
286	}
287	
288})(jQuery);

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.