眼镜h5

// 填充博乐纯门店数据
(function() {
	var $biotrueCitySelect = $('.regional-popup select.city');
	jQuery.each(storedata.biotrue, function(i, item) {
		if (item) {
			var city = item[0];
			var name = item[1];
			var address = item[2];
			var tel = item[3];
			var cityData = $biotrueCitySelect.data(city);
			if (!cityData) {
				var cityData = {};
				$biotrueCitySelect.data(city, cityData)
				cityData.$option = $('<option>').text(city).val(city).appendTo($biotrueCitySelect.find('optgroup'));
				cityData.$list = $('<div class="store-list"><ul></ul></div>').appendTo('.regional-popup');
			}
			var $li = $('<li>');
			$('<p class="name">').text(name).appendTo($li);
			$('<p class="addr">').text(address).wrapInner('<span></span>').appendTo($li);
			$('<p class="tel">').text(tel).wrapInner('<span></span>').appendTo($li);
			cityData.$list.find('ul').append($li);
		}
	});
	$biotrueCitySelect.val('');
})();
// 填充合作商门店数据
(function() {
	var $buttons = $('.dealer-popup .buttons');
	for (var dealer in storedata) {
		if (dealer == 'biotrue') {
			continue;
		}
		var $button = $('<a href="javascript:;"></a>').appendTo($buttons);
		$button.data('dealer', dealer).css({backgroundImage: 'url("/images/btn-'+dealer+'.png")'});

		var stores = storedata[dealer];
		var $container = $('<div class="store-list"><ul></ul></div>');
		$container.data('dealer', dealer);
		var $ul = $container.find('ul');
		jQuery.each(stores, function(i, item) {
			if (item) {
				var city = item[0];
				var name = item[1];
				var address = item[2];
				var tel = item[3];
				var $li = $('<li>');
				$('<p class="name">').text(name).appendTo($li);
				$('<p class="addr">').text(address).wrapInner('<span></span>').appendTo($li);
				$('<p class="tel">').text(tel).wrapInner('<span></span>').appendTo($li);
				$li.appendTo($ul);
			}
		});
		$container.appendTo('.dealer-popup');
	}
})();

// 屏幕尺寸监测
(function () {
	function checkScreen() {
		if (document.documentElement.clientHeight < document.documentElement.clientWidth) {
			var $msg = $('<div>为了达到最佳的体验效果,建议您使用竖屏浏览</div>').appendTo('body');
			$msg.css({
				position: 'fixed',
				top: 0,
				left: '50%',
				padding: '.5em',
				background: 'rgba(0,0,0,.8)',
				color: '#fbfcc5',
				zIndex: 1,
				whiteSpace: 'nowrap',
				opacity: 0,
				borderRadius: '.5em'
			});
			$msg.css({ marginLeft: -$msg.width() / 2 });
			$msg.animate({ opacity: 1 }, 500).delay(2000).animate({ opacity: 0 }, 500, function () {
				$msg.remove();
			})
		}
	}
	function scaleContent() {
		setTimeout(function() {
			$('.scale-container').each(function(i, elem) {
				var $container = $(this);
				var t = parseFloat($container.css('top'));
				var b = parseFloat($container.css('bottom'));
				var h = parseFloat($container.height());
				var ph = $container.parent().height();
				$container.children('.scale-content').each(function(i, elem) {
					var hContent = $(this).height();
					if (h <= hContent) {
						var scale = (ph-t-b) / hContent;
						scale = Math.max(0, scale);
						$(this).css({transform: 'scale('+scale+') '});
					}
					else {
						$(this).css({transform: ''});
					}
					$(this).toggleClass('scale-enabled', h<=hContent);
				});
			});
		});
	}
	// var $pageContent = $('.page-content');
	$(window).resize(function () {
		// $pageContent.height(window.document.documentElement);
		checkScreen();
		scaleContent();
	});
	checkScreen();
	scaleContent();
})();
// 定义loading及各slide动画
(function () {
	// var imgList = 'bottom-icons.png,digits.png,droplet1.png,droplet2.png,droplet3.png,droplet4.png,droplet5.png,droplet6.png,hr.png,light-mask.png,light-ray.png,loading-bg.jpg,loading-mask.png,loading-outline.png,logo-white.png,logo.png,s1-drop6.png,s1-eye.jpg,s1-text.png,s2-bg.jpg,s3-text1.png,s3-text2.png,s4-clock-bg.png,s4-glasses.png,s4-moon.png,s4-sun.png,s4-text1.png,s4-text2.png,s5-chart-new-3.png,s5-chart-new.png,s5-chart.png,s5-text1.png,s6-glass.jpg,s6-protect.png,s6-text1.png,s7-product.jpg,s8-product.jpg,water-text-1.png,water-text-2.png,wave.png,wave0.png,';
	var imgList = 'bottom-icons.png,digits.png,droplet1.png,droplet2.png,droplet3.png,droplet4.png,droplet5.png,droplet6.png,hr.png,light-mask.png,light-ray.png,loading-bg.jpg,loading-mask.png,loading-outline.png,logo-white.png,logo.png,s1-drop6.png,s1-eye.jpg,s1-text.png,s2-bg.jpg,s3-text1.png,s3-text2.png,s4-glasses.png,s4-text1.png,s4-text2.png,s5-chart-new-3.png,s5-chart-new.png,s5-chart.png,s5-text1.png,s6-glass.jpg,s6-protect.png,s6-text1.png,s7-product.jpg,s8-product.jpg,water-text-1.png,water-text-2.png,wave.png,wave0.png,';
	imgList = imgList.match(/[^,]+/g);

	$('<img src="/images/loading-outline.png">').load(function(e) {
		$('.loading-icon').show();

		var imgProgress = 0;
		var timeProgress = 0;
		function updateProgress() {
			var progress = Math.min(imgProgress, timeProgress);
			$('.loading-icon .mask-rotate').each(function(i, elem) {
				var angle = -360 * progress;
				var maskAngle = angle - 90 + 90 * i;
				maskAngle = Math.min(maskAngle, 0);
				maskAngle = Math.max(maskAngle, -180);
				$(this).css({transform: 'rotate('+maskAngle+'deg)'});
			});
			if (progress == 1) {
				initSlideAnim();
				var swiper = $('.swiper-container').data('swiper');
				swiper.slideTo(0, 0);
				new TimelineLite({onComplete: function() {
					if (swiper.activeIndex != 0) {
						swiper.slideTo(0, 0);
					}
					else {
						var slide = swiper.slides[swiper.activeIndex];
						var tl = $(slide).data('tl');
						tl && tl.play(0);
					}
				}}).to('.loading', 1, {opacity: 0})
					.set('.loading', {display: 'none'})
					.set('.swiper-container', {display: 'block'})
					.from('.swiper-container', 1, {opacity: 0}, 0)
					.timeScale(3)
					;
			}
		}
		var loadedCount = 0;
		$.each(imgList, function(i, item) {
			$('<img>').prop({src: '/images/' + item}).on('load error', function(e) {
				loadedCount++;
				imgProgress = loadedCount/imgList.length
				updateProgress();
			});
		});
		$({p:0}).animate({p:1}, {duration: 2000, progress: function(animation, progress, remainingMs) {
			timeProgress = this.p;
			updateProgress();
		}});
	});

	function initSlideAnim() {
		var $container = $('.swiper-container');
		var html = $container.find('script[type="text/template"]').html();
		$container.empty().append($.parseHTML(html));
		$(window).resize(); // 确保内容可缩放。
		// $.parseHTML(html);
		var $swiperWrapper = $container.find('.swiper-wrapper');
		// $swiperWrapper.appendTo('.swiper-container');
		$('.swiper-slide').each(function (i, elem) {
			var tl = new TimelineLite({ paused: true });
			var $slide = $(this);
			$slide.data().tl = tl;
		});
		$('.slide-1').each(function (i, elem) {
			var $slide = $(this);
			var tl = $slide.data().tl;
			var $drops2 = $slide.find('.drops-2');
			var $drop = $drops2.find('.drop');
			var delay = 0;
			var wh = $('.page-content').height();
			tl
				.delay(delay)
				.from('.s1-text', 1, { opacity: 0 }, 1)
				.from('.s1-eye', 1, { opacity: 0 }, 1)
				.from($slide.find('.droplet-2, .droplet-5'), 3, {opacity: 0, y: -100}, 1)
				.from($slide.find('.droplet-1, .droplet-4'), 3, {opacity: 0, y: -150}, 1)
				//.from($slide.find('.droplet-3, .droplet-6'), 2, {opacity: 0, y: -50}, 'far')
				.from($drops2, 4, { opacity: 0, bottom: '100%', ease: Power1.easeOut }, 1)
				.to($slide.find('.droplet-1'), 2, {y: 5, yoyo: true, repeat: -1, ease: Sine.easeInOut}, 4)
				.to($slide.find('.droplet-4'), 2, {y: -5, yoyo: true, repeat: -1, ease: Sine.easeInOut}, 4.2)
				.timeScale(2.5)
			;
		});
		$('.slide-2').each(function (i, elem) {
			var $slide = $(this);
			var tl = $slide.data().tl;
			var $p = $slide.find('.texts p');
			$p.each(function(i, elem) {
				var $this = $(this);
				var letters = $this.text().match(/./g);
				$this.empty();
				jQuery.each(letters, function(i, item) {
					$('<span>').text(item).appendTo($this);
				});
			});
			tl.staggerFrom($p.find('span'), .5, { opacity: 0, x: -20}, .05)
				.from($slide.find('.glass'), .5, { opacity: 0, y: 50, scale: 1.5}, 1.5)
				.timeScale(1.5)
				;
		});
		$('.slide-3').each(function (i, elem) {
			var $slide = $(this);
			var slideData = $slide.data();
			var $water = $slide.find('.water');
			var $defaultWater = $water.not('.reverse-water');
			var $reverseWater = $water.filter('.reverse-water');
			var timeScale = 3;
			var tlLow = new TimelineLite();
			tlLow
				.from($water.filter('.low-water'), 2, { bottom: '-50%', opacity: 0 })
				.from($slide.find('.water-text-2'), 1, { opacity: 0 }, '-=.2')
				.from($water.filter('.high-water'), 2, { bottom: '-50%', opacity: 0 }, 3)
				.to($slide.find('.text-2,.water-0'), .5, { opacity: 0 }, '-=1')
				.from($slide.find('.water-text-1'), 1, { opacity: 0 }, '-=.2')
				.timeScale(timeScale)
				;
			var tlWave = new TimelineLite();
			tlWave
				.to($defaultWater, 1.5, { left: '-' + ($defaultWater.width() / 3), ease: Linear.easeIn, repeat: -1 }, 0)
				.to($reverseWater, 1.5, { right: '-' + ($defaultWater.width() / 3), ease: Linear.easeIn, repeat: -1 }, 0)
				;
			slideData.tl.add([tlLow, tlWave]);
		});
		$('.slide-4').each(function (i, elem) {
			var $slide = $(this);
			var tl = $slide.data().tl;
			tl
				.add('begin', 0)
				.to($slide.find('.compare-col-1 .glass-frame-1'), 1, {opacity: 0}, 2)
				.fromTo($slide.find('.compare-col-1 .glass-frame-2'), 1, {opacity: 0}, {opacity: 1}, 2)
				.to($slide.find('.compare-col-1 .glass-frame-2'), 1, {opacity: 0}, 6)
				.fromTo($slide.find('.compare-col-1 .glass-frame-3'), 1, {opacity: 0}, {opacity: 1}, 6)
				;
				for (var i = 0; i < 8; i++) {
					tl.to($slide.find('.compare-col-1 .time .digit'), .2, {top: -150*(i+1), delay: .8}, i);
				}
				for (var i = 0; i < 16; i++) {
					tl.to($slide.find('.compare-col-2 .time .digit').last(), .2, {top: -150*(i+1), delay: .8}, i);
				}
				for (var i = 0; i < 1; i++) {
					tl.to($slide.find('.compare-col-2 .time .digit').last().prev(), .2, {top: -150*(i+1), delay: .8}, 10*(i+1)-1);
				}
				tl
					.fromTo($slide.find('.compare-col-1 .sun'), 8, {top: 100}, {top: 0, ease: Linear.easeIn}, 0)
					.fromTo($slide.find('.compare-col-2 .sun'), 16, {top: 100}, {top: -100, ease: Linear.easeIn}, 0)
					.fromTo($slide.find('.compare-col-1 .moon'), 8, {top: 280}, {top: 160, ease: Linear.easeIn}, 0)
					.fromTo($slide.find('.compare-col-2 .moon'), 16, {top: 280}, {top: 40, ease: Linear.easeIn}, 0)
					//.to($slide.find('.compare-col-1 .plate .bg'), 8, {left: -(452-172)/2, ease: Linear.easeIn}, 0)
					//.to($slide.find('.compare-col-2 .plate .bg'), 16, {left: -(452-172), ease: Linear.easeIn}, 0)
					//.set($slide.find('.plate .bg'), {left: -(452-172)/2, ease: Linear.easeIn}, 0)
					.to($slide.find('.compare-col-1 .h-pointer'), 8, {rotation: '+='+(30*8), ease: Linear.easeIn}, 0)
					.to($slide.find('.compare-col-1 .m-pointer'), 1, {rotation: '+=360', ease: Linear.easeIn, repeat: 8-1 }, 0)
					.to($slide.find('.compare-col-2 .h-pointer'), 16, {rotation: '+='+(30*16), ease: Linear.easeIn}, 0)
					.to($slide.find('.compare-col-2 .m-pointer'), 1, {rotation: '+=360', ease: Linear.easeIn, repeat: 16-1 }, 0)
					.timeScale(6)
				;
			return;
			// 以下为废弃代码
			tl.add(createColTimeline($slide.find('.compare-col-1'), 8), 0);
			tl.add(createColTimeline($slide.find('.compare-col-2'), 16), 0);
			tl.eventCallback('onStart', function () {
				$.each(this.getChildren(false), function (i, item) {
					this.play(0);
				});
			});
			tl.timeScale(4);
			function createColTimeline($col, duration) {
				var tl = new TimelineMax();
				tl.add(createGlassTimeline($col.find('.glass'), duration), 0);
				tl.add(craeteTimeTimeline($col.find('.time')), 0);
				tl.add(createClockTimeline($col), 0);
				tl.addPause(duration);
				return tl;
			}
			function createGlassTimeline($glass, duration) {
				var $frame = $glass.find('.glass-frame');
				var stepDuration = Math.ceil(duration / $frame.length);
				var tl = new TimelineLite();
				var $currentFrame = $frame.first();
				var animDuration = Math.min(stepDuration, 1);
				var delay = stepDuration - animDuration;
				while ($currentFrame.length) {
					// 非第一个
					if ($currentFrame.prev().length) {
						tl.fromTo($currentFrame, animDuration, { opacity: 0 }, { opacity: 1 }, '-=' + animDuration);
					}
						// 第一个
					else {
						tl.set($currentFrame, { opacity: 1 });
					}
					// 非最后一个
					if ($currentFrame.next().length) {
						tl.to($currentFrame, animDuration, { opacity: 0, delay: delay });
					}
					$currentFrame = $currentFrame.next();
				}
				return tl;
			}
			function createClockTimeline($col) {
				var tl = new TimelineLite();
				tl
					.fromTo($col.find('.sun'), 16.1, {top: 100}, {top: -100, ease: Linear.easeIn}, 0)
					.from($col.find('.moon'), 16.1, {top: 270, ease: Linear.easeIn}, 0)
					.to($col.find('.plate .bg'), 16.1, {left: -(452-172), ease: Linear.easeIn}, 0)
					.to($col.find('.h-pointer'), 12, {force3D:false, rotation: '+=360', ease: Linear.easeIn, repeat: -1 }, 0)
					.to($col.find('.m-pointer'), 1, {force3D:false, rotation: '+=360', ease: Linear.easeIn, repeat: -1 }, 0);
				return tl;
			}
			/**
			 * 时间数字增长的效果。每秒增长一个数字。
			 */
			function craeteTimeTimeline($time) {
				var tl = new TimelineLite();
				var $digit = $time.find('.digit');
				$digit.each(function (i, elem) {
					var digitPosition = $digit.length - i;
					var stepDuration = Math.pow(10, digitPosition - 1);
					tl.add(createDigitTimeline($(this), stepDuration, digitPosition > 1), 0);
				});
				return tl;
			}
			/**
			 * 单个数字滑动切换的效果。stepDuration
			 * $digit 数字元素包装
			 * stepDuration 一次切换经过的时长(秒)
			 */
			function createDigitTimeline($digit, stepDuration, notFromZero) {
				stepDuration = stepDuration || 1;
				var $bg = $digit.find('.bg');
				var h = $digit.height();
				var delay = stepDuration - .3;

				var tl = new TimelineLite();
				// 不是最后一个数字,则不显示第一个0
				if (notFromZero) {
					tl.set($bg, { marginTop: h, backgroundPosition: '0 -' + h + 'px' }, 0);
				}
				tl.to($bg, .3, { top: -h, delay: delay });
				tl.set($bg, { marginTop: 0, backgroundPosition: '0 0' });

				var tlRepeat = new TimelineMax();
				tlRepeat.repeat(-1);
				$.each(new Array(10), function (i, elem) {
					tlRepeat.to($bg, .3, { top: -h * (i + 2), delay: delay })
				});
				return tl.add(tlRepeat);
			}
		});
		$('.slide-5').each(function (i, elem) {
			var $slide = $(this);
			var tl = $slide.data().tl;
			tl
				.from($slide.find('.chart-new-1, .chart-new-3'), 2, { height: 0 }, 0)
				.from($slide.find('.chart-new-2'), 2, { width: 0 }, 0)
				.timeScale(1.5)
			;
		});
		$('.slide-6').each(function (i, elem) {
			var $slide = $(this);
			var tl = $slide.data().tl;
			tl
				.fromTo($slide.find('.light-ray'), 2, { top: '-80%' }, { top: '130%', ease: Linear.easeIn, repeat: -1 }, 0)
			;
		});
		// 应用swiper插件
		(function () {
			var swiper = new Swiper('.swiper-container', {
				pagination: '.swiper-pagination',
				paginationClickable: true,
				direction: 'vertical',
				hashnav: false,
				onSlideChangeEnd: onSlideChangeEnd
			});
			function onSlideChangeEnd(swiper) {
				// 播放切入的slide
				var slide = swiper.slides[swiper.activeIndex];
				var tl = $(slide).data().tl;
				jQuery.each([].concat(tl), function(i, item) {
					if (item) {
						item.play(0);
					}
				});
				// 停止切出的slide,
				var prevSlide = swiper.slides[swiper.previousIndex];
				prevTl = $(prevSlide).data().tl;
				jQuery.each([].concat(prevTl), function(i, item) {
					if (item) {
						item.pause(0);
					}
				});
				// 更新logo
				var tlLogo = new TimelineLite();
				$(slide).each(function(i, elem) {
					var isWhite = !!+$(this).data('logo-white');
					var opacityLogo = +!isWhite;
					var opacityLogoWhite = +isWhite;
					tlLogo.to($('.hud .logo').not('.logo-white'), .2, {opacity: opacityLogo}, 0)
						.to($('.hud .logo-white'), .2, {opacity: opacityLogoWhite}, 0)
						;
				});
				// 更新bottom
				var tlBottom = new TimelineLite();
				var bottomHL = $(slide).data('bottom-hl');
				if (bottomHL) {
					$('.bottom').show();
					tlBottom.to('.bottom', .2, { opacity: 1});
					tlBottom.to('.bottom .highlight-shim', .2, { left: (bottomHL - 1) * 25 + '%' }, 0);
				}
				else {
					tlBottom.to('.bottom', .2, { opacity: 0, onComplete: function() {
						$('.bottom').hide();
					}})
				}
				//console.log(tl, prevTl);
				// 初始化门店页,隐藏门店列表
				$('.slide-8 em').css({opacity: 0});
				$('.store-list').hide();
			}
			onSlideChangeEnd(swiper);
		})();
		// 定义功能交互
		// 绑定页面跳转按钮
		(function() {
			$('[data-slide-to]').click(function(e) {
				var selector = $(this).data('slide-to');
				var $container = $('.swiper-container');
				var swiper = $container.data('swiper');
				var index = $(selector).index();
				try {
					swiper.slideTo(index);
				} catch (e) {
					console.error(e);
				}
			});
			$('.btn-search-store').click(function(e) {
				showSearchStorePopup();
			});
			$('.btn-apply-now').click(function(e) {
				showApplyNowPopup();
			});
		})();
		// 查找门店功能
		(function() {
			return; // 将废弃
			// 门店查询控件事件
			$('.fake-select select').each(function(i, elem) {
				var $select = $(this);
				$select.data().$selectedText = $select.closest('.fake-select').find('.selected-text');
				var $em = $(this).siblings('em');
				$em.data().tl = new TimelineLite({paused: true}).fromTo($em, .1, {opacity: 0}, {opacity: 1, repeat: 4, yoyo: true});
			});
			$('.fake-select select.city').change(function(e) {
				var $option = $(this).find('option:selected');
				var areas = $option.data('areas') || '';
				var areaArray = areas.match(/[^,]+/g) || [];
				var emptyOption = new Option();
				emptyOption.selected = true;
				$('select.area').empty().append(emptyOption).change();
				jQuery.each(areaArray, function(i, item) {
					$('select.area').append(new Option(item, item));
				});
			});
			$('.fake-select select').change(function(e) {
				$(this).data().$selectedText.text($(this).val());
			});
			$('.find-store').click(function(e) {
				$(this).closest('.form').find('select').each(function(i, elem) {
					var $em = $(this).siblings('em');
					var tl = $em.data('tl');
					if (this.value) {
						tl.pause(0);
					}
					else {
						tl.play(0);
					}
				});
				var city = $('select.city').val();
				var area = $('select.area').val();
				if (city && area) {
					$('.store-list').show().find('li').each(function(i, elem) {
						var data = $(this).data();
						$(this).toggle(data.city == city && data.area == area);
					});
				}
			});
			$('.change-city').click(function(e) {
				$('.store-list').hide();
			});
		})();
		// 自定义兼容HTML5 ValidityState 的jQuery validation插件
		(function($) {
			var defaults = {};
			$.fn.validate = function(options) {
				return this.each(function() {
					var settings = $.extend({}, defaults, options);
					//if (!this.validity) {
						// 某些旧浏览器貌似对validationMessage支持不完善,
						// 所以在此处强制判断有效性,并保存在 validationMessage2 中。
						var required = $(this).is('[required]');
						var pattern = $(this).attr('pattern');
						this.validationMessage2 = '';
						if (required && !this.value) {
							this.validationMessage2 = '请填写此字段。';
						} else if (pattern != void(0) && !this.value.match(new RegExp(pattern))) {
							this.validationMessage2 = '请与所请求的格式保持一致。';
						}
						try {
							this.validationMessage = this.validationMessage2;
						} catch (e) {
							// IE10+ strict 模式不允许对只读属性赋值
						}
					//}
				});
			};
			$.fn.valid = function(options) {
				var valid;
				this.first().each(function(i, elem) {
					var required = $(this).is('[required]');
					var pattern = $(this).attr('pattern');
					this.validationMessage2 = '';
					if (required && !this.value) {
						this.validationMessage2 = '请填写此字段。';
					}
					else if (pattern != void(0) && !this.value.match(new RegExp(pattern))) {
						this.validationMessage2 = '请与所请求的格式保持一致。';
					}
					try {
						this.validationMessage = this.validationMessage2;
					} catch (e) {
						// IE10+ strict 模式不允许对只读属性赋值
					}
					valid = !(this.validationMessage || this.validationMessage2);
				});
				return valid;
			};
		})(jQuery);
		// 申领功能
		(function() {
			var $popup = $('.apply-now-popup');
			var $form = $popup.find('.apply-form');
			var action2ajax = {}; //$popup.data('action2ajax', $.extend($form.data('action2ajax'), {})).data('action2ajax');
			var QueryTodayOfInventory = '/OneDay_Product/QueryTodayOfInventory'; //查询今日免费申领次数库存
			var QueryCannotGetProducts = '/OneDay_Product/QueryCannotGetProducts'; //查询已无库存的产品
			var AuthCodeValidate = '/OneDay_Product/AuthCodeValidate';//发送短信验证码
			var ApplySample = '/OneDay_Product/ApplySample';//申领小样
			var countdownPromise; // 发短信倒计时
			function closePopup() {
				$popup.hide();
				for (var action in action2ajax) {
					var ajax = action2ajax[action];
					try {
						ajax.abort();
					} catch (e) {
						// noop
					}
				}
			}
			function showLoading() {
				$popup.find('.loading-popup').show().siblings('.popup').hide();
			}
			function showApplySuccess() {
				$popup.find('.apply-success-popup').show().siblings('.popup').hide();
			}
			function hideSubPopup() {
				$popup.find('.popup').hide();
			}
			function showApplyRunOut() {
				$popup.find('.apply-run-out-popup').show().siblings('.popup').hide();
			}
			window.showApplyNowPopup = function() {
				$popup.show();
				// $form.find(':input').val(''); //清空表单
				// 查询当前是否为可申领状态
				// 当还未查询过时,才继续执行查询状态
				if (!action2ajax[QueryTodayOfInventory]) {
					showLoading();
					var ajax;
					action2ajax[QueryTodayOfInventory] = $.post(QueryTodayOfInventory);
					action2ajax[QueryTodayOfInventory].done(function(data, textStatus, jqXHR) {
						// 可以申领
						if (data.result == 1) {
							// 显示立即申领,隐藏二级弹框
							hideSubPopup();
							$form.find(':input').val(''); //清空表单
							// 初始化申领列表
							action2ajax[QueryCannotGetProducts] = $.post(QueryCannotGetProducts).done(function(data, textStatus, jqXHR) {
								var list = '-1.00,-1.25,-1.50,-1.75,-2.00,-2.25,-2.50,-2.75,-3.00,-3.25,-3.50,-3.75,-4.00,-4.25,-4.50,-4.75,-5.00,-5.25,-5.50,-5.75,-6.00,-6.25,-6.50,-7.00,-7.50,-8.00,-8.50,-9.00'.match(/[^,]+/g);
								var nisSet = {}; // not in stock
								if (data.result == 1) {
									jQuery.each(data.list.match(/[^,]+/g), function(i, item) {
										nisSet[item] = true;
									});
								}
								var $select = $('.apply-now-popup select.degrees');
								var $optgroup = $select.find('optgroup').empty();
								// $(new Option).val('').text('请选择').appendTo($select);
								jQuery.each(list, function(i, item) {
									if (!nisSet[item]) {
										$(new Option).val(item).text(item).appendTo($optgroup);
									}
								});
								$select.val('');
								$select.trigger('change', [true]); // 触发change事件以填充模拟的文本框。
							});
						}
						// 当前无法申领
						else {
							action2ajax[QueryTodayOfInventory] = null;
							// 当对话框可见(未关闭时)
							$popup.filter(':visible').each(function(i, elem) {
								// 已申领完
								if (data.result == 0) {
									showApplyRunOut();
								}
								else {
									alert('不在活动时间范围内。');
									closePopup();
								}
							});
						}
					}).fail(function(jqXHR, textStatus, errorThrown) {
						action2ajax[QueryTodayOfInventory] = null;
						// 如果存在可见的popup,再弹框
						$popup.filter(':visible').each(function(i, elem) {
							alert('网络错误,请稍候再试。');
							closePopup();
						});
					});
				} else {
					// 已查询过状态,则直接显示弹层,不做其它处理
					hideSubPopup();
				}
				/*
				// 查询当前是否为可申领状态
				// 当目前不存在正在查询的请求时,才继续执行
				if ($.when(action2ajax[QueryTodayOfInventory]).state() != 'pending') {
					showLoading();
					action2ajax[QueryTodayOfInventory] = $.post(QueryTodayOfInventory).done(function(data, textStatus, jqXHR) {
						// 可以申领
						if (data.result == 1) {
							// 显示立即申领,隐藏二级弹框
							hideSubPopup();
							// 初始化申领列表
							action2ajax[QueryCannotGetProducts] = $.post(QueryCannotGetProducts).done(function(data, textStatus, jqXHR) {
								var list = '-1.00,-1.25,-1.50,-1.75,-2.00,-2.25,-2.50,-2.75,-3.00,-3.25,-3.50,-3.75,-4.00,-4.25,-4.50,-4.75,-5.00,-5.25,-5.50,-5.75,-6.00,-6.25,-6.50,-7.00,-7.50,-8.00,-8.50,-9.00'.match(/[^,]+/g);
								var nisSet = {}; // not in stock
								if (data.result == 1) {
									jQuery.each(data.list.match(/[^,]+/g), function(i, item) {
										nisSet[item] = true;
									});
								}
								var $select = $('.apply-now-popup select.degrees');
								var $optgroup = $select.find('optgroup').empty();
								// $(new Option).val('').text('请选择').appendTo($select);
								jQuery.each(list, function(i, item) {
									if (!nisSet[item]) {
										$(new Option).val(item).text(item).appendTo($optgroup);
									}
								});
								$select.val('');
								$select.trigger('change', [true]); // 触发change事件以填充模拟的文本框。
							});
						}
						// 当前无法申领
						else {
							// 当对话框可见(未关闭时)
							$popup.filter(':visible').each(function(i, elem) {
								// 已申领完
								if (data.result == 0) {
									showApplyRunOut();
								}
								else {
									alert('不在活动时间范围内。');
									closePopup();
								}
							});
						}
					}).fail(function(jqXHR, textStatus, errorThrown) {
						$popup.filter(':visible').each(function(i, elem) {
							alert('网络错误,请稍候再试。');
							closePopup();
						});
					});
				}
				*/
			};
			$popup.find('.close-btn').click(function(e) {
				closePopup();
			});
			// 解决弹出的键盘把文本框遮住的问题
			$form.find(':input').on('focus select', function(e) {
				var field = this;
				setTimeout(function() {
					try {
						field.scrollIntoViewIfNeeded();
					} catch (e) {
					}
				}, 500);
			});
			// 修改表单项时,更新错误消息。
			$form.find(':input').on('blur change', function(e, doNotValidate) {
				if (!doNotValidate) {
					$(this).closest('label').find('.error-message').toggle(!$(this).valid());
				}
			});
			// 选择select
			$form.find('select').change(function(e) {
				var $text = $(this).closest('.select').find('.select-text');
				var text = $(this).find('option:selected').text();
				$text.text(text);
			});
			// 点击发送验证码
			$('.send-auth-code,.resend-auth-code').click(function(e) {
				e.preventDefault();
				// 判断上一次发送验证码间隔时间是否结束
				if ($.when(action2ajax[AuthCodeValidate], countdownPromise).state() == 'pending') {
					return;
				}
				// 手机号填写正确则发送验证码
				var $mobile = $form.find('[name="mobile"]');
				$.Deferred(function(deferred) {
					var fieldValid = $mobile.valid();
					$mobile.closest('label').find('.error-message').toggle(!fieldValid);
					if (!fieldValid) {
						$mobile.focus().select();
					}
					fieldValid || deferred.reject();
					deferred.resolve();
					/*
					$mobile.validate().each(function(i, elem) {
						var fieldValid = !this.validationMessage;
						$(this).closest('label').find('.error-message').toggle(!fieldValid);
						if (!fieldValid) {
							try {
								$(this).select()[0].scrollIntoViewIfNeeded();
							} catch (e) {
								// noop
							}
						}
						fieldValid || deferred.reject();
					});
					deferred.resolve();
					*/
				}).done(function() {
					$('.send-auth-code').hide();
					$('.auth-code-sent').show();
					$('.auth-code-message').text('正在发送验证码,请稍候……');
					action2ajax[AuthCodeValidate] = $.post(AuthCodeValidate, {mobile: $mobile.val()});
					action2ajax[AuthCodeValidate].always(function() {
						$('.auth-code-message').text('验证码发送失败');
					}).done(function(data, textStatus, jqXHR) {
						switch (data.result) {
						case -1:
							alert('无法识别的手机号');
							break;
						case 1:
							$('.auth-code-message').text('验证码发送成功');
							break;
						case 2:
							alert('不在活动时间范围内');
							break;
						case 3:
							alert('此手机号已领取过');
							break;
						case 4:
							alert('当日名额已领完');
							break;
						case 5:
						default:
							$('.auth-code-message').text('系统繁忙,请稍候再试。');
							break;
						}
					}).fail(function(jqXHR, textStatus, errorThrown) {
						$('.auth-code-message').text('网络错误,请稍候再试。');
					}).done(function(data, textStatus, jqXHR) {
						// 发送成功后倒计时
						if (data.result == 1) {
							countdownPromise = $.Deferred(function(deferred) {
								var t = new Date;
								t.setSeconds(t.getSeconds() + 60);
								function checkTime() {
									if (deferred.state() == 'pending') {
										var t1 = new Date;
										if (t1 < t) {
											var s = Math.ceil((t-t1) / 1000);
											deferred.notify(s);
											setTimeout(checkTime, 1000);
										}
										else {
											deferred.resolve();
										}
									}
								}
								checkTime();
							}).promise().done(function() {
								$('.resend-auth-code').text('重新发送验证码');
							}).progress(function(s) {
								$('.resend-auth-code').text(s + '秒后可重新发送验证码');
							});
						}
					});
				});
			});
			// 提交前验证表单
			$form.find(':submit').click(function(e) {
				// 上一次ajax提交已结束才可以继续处理
				if ($.when(action2ajax[ApplySample]).state() == 'pending') {
					e.preventDefault();
					return;
				}
				// 验证表单,无误则提交
				var $invalid = $();
				$form.find(':input').each(function(i, elem) {
					var fieldValid = $(this).valid();
					$(this).closest('label').find('.error-message').toggle(!fieldValid);
					if (!fieldValid) {
						$invalid = $invalid.add(this);
						e.preventDefault();
					}
				});
				$invalid.first().each(function(i, elem) {
					var field = this;
					$(this).focus().select();
				});
				/*
				$.Deferred(function(deferred) {
					$form.find(':input').validate().each(function(i, elem) {
						var fieldValid = !this.validationMessage;
						$(this).closest('label').find('.error-message').toggle(!fieldValid);
						if (!fieldValid) {
							try {
								$(this).focus().select()[0].scrollIntoViewIfNeeded();
							} catch (e) {
								// noop
							}
						}
						fieldValid || deferred.reject();
					});
					deferred.resolve();
				}).fail(function() {
					e.preventDefault();
				});
				*/
			});
			// 申领表单提交
			$form.on('submit', function(e) {
				e.preventDefault();
				// 上一次ajax提交已结束才可以继续处理
				if ($.when(action2ajax[ApplySample]).state() == 'pending') {
					return;
				}
				// 验证表单,无误则提交
				$.Deferred(function(deferred) {
					// 验证表单,无误则提交
					var $invalid = $();
					$form.find(':input').each(function(i, elem) {
						var fieldValid = $(this).valid();
						$(this).closest('label').find('.error-message').toggle(!fieldValid);
						if (!fieldValid) {
							$invalid = $invalid.add(this);
							deferred.reject();
						}
					});
					$invalid.first().focus().select();
					deferred.resolve();
					/*
					$form.find(':input').validate().each(function(i, elem) {
						var fieldValid = !this.validationMessage;
						$(this).closest('label').find('.error-message').toggle(!fieldValid);
						if (!fieldValid) {
							try {
								$(this).focus().select()[0].scrollIntoViewIfNeeded();
							} catch (e) {
								// noop
							}
						}
						fieldValid || deferred.reject();
					});
					deferred.resolve();
					*/
				}).done(function() {
					// 提交申领表单
					$form.find('.submit-btn').text('提交中,请稍候…');
					var data = $form.serializeArray();
					action2ajax[ApplySample] = $.post(ApplySample, data);
					var name = $form.find('[name="name"]').val(); // 用于成功后显示名字
					// 显示状态
					action2ajax[ApplySample].always(function() {
						$form.find('.submit-btn').text('提交申领信息');
					}).done(function(data, textStatus, jqXHR) {
						switch (data.result) {
						case -7:
							alert('右眼度数选择有误');
							break;
						case -6:
							alert('左眼度数选择有误');
							break;
						case -5:
							alert('地址填写有误');
							break;
						case -4:
							alert('姓名填写有误');
							break;
						case -2:
							alert('手机号码填写有误');
							break;
						case -1:
						case 0:
							alert('验证码无效');
							break;
						case 1:
							// 申领成功
							showApplySuccess();
							$('.apply-success-popup').find('.name').text(name);
							$form.find(':input').val(''); //清空表单
							break;
						case 2:
							alert('不在活动时间范围内');
							break;
						case 3:
							alert('此手机号已领取过');
							break;
						case 4:
							showApplyRunOut();
							break;
						case 5:
							alert('左眼度数缺货');
							break;
						case 6:
							alert('右眼度数缺货');
							break;
						case 7:
							alert('左右眼度数都缺货');
							break;
						default:
							alert('系统繁忙,请稍候再试。');
							break;
						}
					}).fail(function(jqXHR, textStatus, errorThrown) {
						alert('网络错误,请稍候再试。');
					});
				});
			});
		})();
		// 查找门店
		(function() {
			var $popup = $('.search-store-popup');
			function closePopup() {
				$popup.hide();
			}
			function hideSubPopup() {
				$popup.find('.popup').hide();
			}
			function showNearby() {
				$popup.find('.nearby-popup').show().siblings('.popup').hide();
				// 加载地图
				loadMapScript();
				// $.getScript('http://api.map.baidu.com/api?v=2.0&ak=Fu43MGOr8Szn1HzCB5wgnMpc&callback=mapInit');
				// 初始化Marker信息列表
				var swiper = $('.marker-swiper-container')[0].swiper;
				if (!swiper) {
					swiper = new Swiper('.marker-swiper-container', {
						nextButton: '.marker-swiper-container .swiper-button-next',
						prevButton: '.marker-swiper-container .swiper-button-prev',
						slidesPerView: 1,
						spaceBetween: 30,
						loop: true,
						//onTransitionStart: function(swiper) {
						onSlideChangeStart: function(swiper) {
							// marker icon改为绿色
							try {
								var slide = swiper.slides[swiper.activeIndex];
								// swiper.activeIndex取出的index并不是原始的index,而是算上首位复制品之后的index,通过data().swiperSlideIndex可以获取原始的index.
								$slide = $(swiper.slides).not('.swiper-slide-duplicate').eq($(slide).data().swiperSlideIndex);
								var marker = $slide.data().marker;
								var icon = marker.getIcon();
								icon.setImageOffset(new BMap.Size(-19,0));
								marker.setIcon(icon);
								// setViewport
								(function() {
									var map = $('#allmap').data().map;
									try {
										var viewport = map.getViewport();
										viewport.center = marker.getPosition();
										map.setViewport(viewport, {enableAnimation: true});
									} catch (e) {
									}
								})();
							} catch (e) {
								console.log(e);
							}

							// previousMarker icon改为原色
							try {
								var previousSlide = swiper.slides[swiper.previousIndex];
								$previousSlide = $(swiper.slides).not('.swiper-slide-duplicate').eq($(previousSlide).data().swiperSlideIndex);
								var previousMarker = $previousSlide.data().marker;
								var icon = previousMarker.getIcon();
								icon.setImageOffset(new BMap.Size(0,0));
								previousMarker.setIcon(icon);
							} catch (e) {
								console.log(e);
							}
						}
					});
				}
			}
			function loadMapScript() {
				var script = document.createElement("script");
				script.type = "text/javascript";
				script.src = "http://api.map.baidu.com/api?v=2.0&ak=Fu43MGOr8Szn1HzCB5wgnMpc&callback=mapInit";
				document.body.appendChild(script);
			}
			window.mapInit = function() {
				$('.map-loading').show();
				var map = new BMap.Map("allmap");
				$('#allmap').data().map = map;
				$('#allmap').css({opacity: 0});
				$('.allmap-container').siblings().css({opacity: 0});
				map.addEventListener("tilesloaded",function(){
					$('.map-loading').hide();
					$('#allmap').css({opacity: 1});
					$('.allmap-container').siblings().css({opacity: 1});
					$('html,body').each(function(i, elem) {
						var sh = this.scrollHeight;
						var ch = this.clientHeight;
						var scrollTop = sh - ch;
						$(this).animate({scrollTop: scrollTop});
					});
				});
				// 当前城市的门店数组。
				var currentCityStores = [];
				// 根据IP获得当前城市
				var localCity = new BMap.LocalCity();
				localCity.get(function (result){
					var cityName = result.name;
					// 根据当前城市过滤门店列表,
					jQuery.each(window.storedata.biotrue, function(i, item) {
						if (cityName.search(item[0]) >= 0) {
							currentCityStores.push(item);
						}
					});
					// 如果当前城市不存在任何门店,则取全部门店。
					if (!currentCityStores.length) {
						currentCityStores = window.storedata.biotrue.concat();
					}
					var myGeo = new BMap.Geocoder();
					var geolocation = new BMap.Geolocation();
					var viewportPoints = [];
					geolocation.getCurrentPosition(function(r){
						if(this.getStatus() == BMAP_STATUS_SUCCESS){
							viewportPoints.push(r.point);
							var storePromise = $.Deferred(function(deferred) {
								var count = 0;
								jQuery.each(currentCityStores, function(i, item) {
									myGeo.getPoint(item[2], function(point) {
										if (point) {
											item.point = point;
											item.distance = map.getDistance(point, r.point);
										} else {
											item.distance = Infinity;
											//confirm(point);
											//console.warn(point);
										}
										count++;
										if (count >= currentCityStores.length) {
											deferred.resolve();
										}
									});
								});
							}).done(function() {
								currentCityStores.sort(function(s1, s2) {
									return(s1.distance>s2.distance)-(s1.distance<s2.distance);
								});
								// 取出距离最近的前5名:
								(function() {
									var swiper = $('.marker-swiper-container')[0].swiper;
									swiper.removeAllSlides();
									currentCityStores.slice(0, 5).forEach(function(data, i) {
										viewportPoints.push(r.point);
										// marker
										//var marker = new BMap.Marker(data.point, {icon: new BMap.Icon('/images/marker-green.png', new BMap.Size(15,23), {anchor: new BMap.Size(7.5,23)})});
										var marker = new BMap.Marker(data.point, {icon: new BMap.Icon('/images/marker_sprite.png', new BMap.Size(19,25), {anchor: new BMap.Size(9.5,25)})});
										marker.addEventListener("click",function() {
											swiper.slideTo(this.$slide.index());
											// marker icon改为绿色
											//var icon = this.getIcon();
											//icon.setImageOffset(new BMap.Size(-19,0));
											//this.setIcon(icon);
										});
										map.addOverlay(marker);
										var label = new BMap.Label((i+1));
										label.setStyle({padding: 0, width: '19px', height: '19px', lineHeight: '19px', border: 'none', color: '#fff', background: 'none', textAlign: 'center'});
										marker.setLabel(label);
										var $slide = $('<li class="swiper-slide">');
										$('<p class="title"></p>').text((i+1)+'. '+data[1]+' '+(data.distance/1000).toFixed(1)+'km').appendTo($slide);
										$('<p class="address"></p>').text(data[2]).appendTo($slide);
										$('<p class="phoneNumber"></p>').text(data[3]).appendTo($slide);
										swiper.appendSlide($slide);
										$slide.data().marker = marker;
										marker.$slide = $slide;
									});
									swiper.slideTo($(swiper.slides).not('.swiper-slide-duplicate').eq(0).index());
								})();
								var viewport = map.getViewport(viewportPoints);
								// map.setViewport(viewport);
								// TODO setViewport() 无法获取理想效果。
							});
							map.centerAndZoom(cityName, 12);
							try {
								map.centerAndZoom(r.point,12);
							} catch (e) {
							}
							var marker = new BMap.Marker(r.point, {icon: new BMap.Icon('/images/marker_sprite.png', new BMap.Size(19,25), {anchor: new BMap.Size(9.5,25)})});
							map.addOverlay(marker);
							map.panTo(r.point);
							myGeo.getLocation(r.point, function(rs) {
								marker.addEventListener('click', function() {
									var addComp = rs.addressComponents;
									var add = (addComp.province + ", " + addComp.city + ", " + addComp.district + ", " + addComp.street + ", " + addComp.streetNumber);
									alert('您的位置:'+add); // +'('+r.point.lng+','+r.point.lat+')');
								});
							});
							// 根据名称检索并获取API提供的信息,已废弃
							(function() {
								return;
								var options = {
									pageCapacity: 2,
									onSearchComplete: function(results){
										// 判断状态是否正确
										if (local.getStatus() == BMAP_STATUS_SUCCESS){
											//alert(results.getCurrentNumPois());
											var swiper = $('.marker-swiper-container')[0].swiper;
											swiper.removeAllSlides();
											for (var i = 0; i < results.getCurrentNumPois(); i ++){
												// 添加搜索地点的Marker
												var marker = new BMap.Marker(results.getPoi(i).point, {icon: new BMap.Icon('/images/marker-green.png', new BMap.Size(15,23), {anchor: new BMap.Size(7.5,23)})});
												map.addOverlay(marker);
												map.panTo(r.point);
												marker.poi = results.getPoi(i);
												marker.addEventListener("click",function() {
													console.log(this);
													var info = [];
													info.push(this.poi.title);
													info.push(this.poi.address);
													alert(info.join('\n'));
												});
												var $slide = $('<li class="swiper-slide">');
												$('<p class="title"></p>').text(marker.poi.title).appendTo($slide);
												$('<p class="address"></p>').text(marker.poi.address).appendTo($slide);
												$('<p class="phoneNumber"></p>').text(marker.poi.phoneNumber).appendTo($slide);
												swiper.appendSlide($slide);
											}
										}
									}
								};
								var local = new BMap.LocalSearch(map, options);
								local.search("博士伦");
							})();
						}
						else {
							console.log('failed'+this.getStatus());
						}
					},{enableHighAccuracy: true})
				});
			};
			function showRegional() {
				$popup.find('.regional-popup').show().siblings('.popup').hide();
				$popup.find('.regional-popup').find('.store-list').hide();
			}
			function showDealer() {
				$popup.find('.dealer-popup').show().siblings('.popup').hide();
				$popup.find('.dealer-popup').find('.store-list').hide();
			}
			window.showSearchStorePopup = function() {
				$popup.show();
				$popup.find('.panel').addClass('panel-default');
				$popup.find('.popup').hide();
			};
			// nav点击
			$popup.find('nav a').click(function(e) {
				e.preventDefault();
				$popup.find('.panel').removeClass('panel-default');
				$(this).addClass('hl').siblings().removeClass('hl');
			});
			$popup.find('nav a.nearby').click(function(e) {
				showNearby();
			});
			$popup.find('nav a.regional').click(function(e) {
				showRegional();
			});
			$popup.find('nav a.dealer').click(function(e) {
				showDealer();
			});
			// 关闭popup
			$popup.find('.close-btn').click(function(e) {
				closePopup();
			});
			var $form = $popup.find('.regional-popup form');
			// 修改表单项时,更新错误消息。
			$form.find(':input').on('blur change', function(e, doNotValidate) {
				if (!doNotValidate) {
					$(this).closest('label').find('.error-message').toggle(!$(this).valid());
				}
			});
			// 切换select选择项时,更新模拟文本内容
			$form.find('select').change(function(e) {
				var $text = $(this).closest('.select').find('.select-text');
				var text = $(this).find('option:selected').text() || '';
				$text.text(text);
			});
			// 选择城市
			$form.find('select.city').change(function(e) {
				var $option = $(this).find('option:selected');
				var regions = $option.data('regions') || '';
				var regionArray = regions.match(/[^,]+/g) || [];
				//var emptyOption = new Option();
				//emptyOption.selected = true;
				//$(emptyOption).text('请选择').val('');
				$('select.region optgroup').empty();
				jQuery.each(regionArray, function(i, item) {
					var option = new Option;
					$(option).text(item).val(item);
					$('select.region optgroup').append(option);
				});
				$('select.region').val('').trigger('change',[true]);
			}).val('');
			// 表单提交
			$form.find(':submit').click(function(e) {
				$.Deferred(function(deferred) {
					$form.find('.select').each(function(i, elem) {
						var $message = $(this).find('.error-message');
						var $select = $(this).find('select');
						$message.toggle(!$select.val());
						$select.val() || deferred.reject();
					});
				}).fail(function() {
					e.preventDefault();
				});
			});
			$form.on('submit', function(e) {
				e.preventDefault();
				$form.find('.select').each(function(i, elem) {
					var $message = $(this).find('.error-message');
					var $select = $(this).find('select');
					$message.toggle(!$select.val());
				});
				var city = $('select.city').val();
				var region = $('select.region').val();
				// 仅城市
				if (city) {
					var cityData = $form.find('select.city').data(city);
					cityData.$list.show().siblings('.store-list').hide();
					/*
					$popup.find('.store-list').show().find('li').each(function(i, elem) {
						var data = $(this).data();
						$(this).toggle(data.city == city);
					});
					// 解决微信中,首次显示时,滚动失效的问题
					setTimeout(function() {
						$popup.find('.regional-popup').find('.store-list').hide();
						setTimeout(function() {
							$popup.find('.regional-popup').find('.store-list').show();
						},1);
					},1);
					*/
				}
				/* 城市+区域
				if (city && region) {
					$popup.find('.store-list').show().find('li').each(function(i, elem) {
						var data = $(this).data();
						$(this).toggle(data.city == city && data.region == region);
					});
					// 解决微信中,首次显示时,滚动失效的问题
					setTimeout(function() {
						$popup.find('.regional-popup').find('.store-list').hide();
						setTimeout(function() {
							$popup.find('.regional-popup').find('.store-list').show();
						},1);
					},1);
				}
				*/
			});
			// 合作商
			$popup.on('click', '.dealer-buttons a', function(e) {
				var dealer = $(this).data('dealer');
				var $list = $(this).closest('.popup').find('.store-list');
				$list.hide().filter(function() {
					return $(this).data('dealer') == dealer;
				}).show();
			});
		})();
	}
})();
(function(){
	var DEFAULT_WIDTH = 640, // 页面的默认宽度
		ua = navigator.userAgent.toLowerCase(), // 根据 user agent 的信息获取浏览器信息
		deviceWidth = window.screen.width, // 设备的宽度
		devicePixelRatio = window.devicePixelRatio || 1, // 物理像素和设备独立像素的比例,默认为1
		targetDensitydpi;

	// Android4.0以下手机不支持viewport的width,需要设置target-densitydpi
	if (ua.indexOf("android") !== -1 && parseFloat(ua.slice(ua.indexOf("android")+8)) < 4) {
		targetDensitydpi = DEFAULT_WIDTH / deviceWidth * devicePixelRatio * 160;
		$('meta[name="viewport"]').attr('content', 'target-densitydpi=' + targetDensitydpi +
				', width=device-width, user-scalable=no');
	}
})();
// for debug
jQuery(document).ready(function ($) {
	return;
	$('<input type="range" id="" min=-5 max=5 />').appendTo('body').css({
		position: 'fixed',
		bottom: 0,
		width: '100%',
		zIndex: 100
	}).change(function (e) {
		var $range = $(this);
		$('.swiper-slide').each(function (i, elem) {
			var tl = $(this).data().tl;
			if (tl) {
				var v = $range.val();
				var s = +v || 1.
				if (v < 0) {
					s = -1 / v;
				}
				tl.timeScale(s);
				console.debug('time scale:', s);
			}
		});
	});
});

  

posted @ 2015-09-07 17:09  miyaye  阅读(329)  评论(0编辑  收藏  举报