/**
 * FileName:plug-in.js
 * @author unknown
 */
var c = 0;
$.fn.extend({
	// html text input form default value set and clear
	// author jjseo  2011-11-26
	formClear:function() {
		var setClear = function() {
		if($(this).val() == $(this).prop( 'defaultValue' ))
			$(this).css('color', '#000').val('');
		};
		var setDefault = function() {
			if(jQuery.trim($(this).val()) == "")
				$(this).css('color', '#999').val($(this).prop( 'defaultValue' ));
		};
		$(this).focus(setClear).blur(setDefault);
	},
	// http://www.jason-palmer.com/2008/08/jquery-plugin-form-field-default-value/
	// teedaの値とつながている項目はdefault valueが利かないので、そのばあいには以下を利用する
	formClearWithText:function(text){
		//Make sure we're dealing with text-based form fields
		var type = this.attr('type');
		if(type != 'text' && type != 'password' && type != 'textarea')
			return;

		//Store field reference
		var fld_current=$(this);

		//Set value initially if none are specified
		if($(this).val()=='') {
			$(this).val(text);
		} else {
			//Other value exists - ignore
			return;
		}

		//Remove values on focus
		$(this).focus(function() {
			if($(this).val()==text || $(this).val()=='')
				$(this).val('');
		});

		//Place values back on blur
		$(this).blur(function() {
			if($(this).val()==text || $(this).val()=='')
				$(this).val(text);
		});

		//Capture parent form submission
		//Remove field values that are still default
		$(this).parents("form").each(function() {
			//Bind parent form submit
			$(this).submit(function() {
				if(fld_current.value==text) {
					fld_current.val('');
				}
			});
		});
	},

	menuOpener:function(obj){
		var aClass        = (obj.aClass)?obj.aClass:'active';
		var oClass        = (obj.oClass)?obj.aClass:'open';
		var style         = (obj.style)?obj.style:{'position':'absolute'};
		var autoClose     = (obj.autoClose)?obj.autoClose:false;
		var autoCloseTime = (obj.autoCloseTime)?obj.autoCloseTime:100;
		var handle        = (obj.handle)?obj.handle:'click';
		var speed         = (obj.speed)?obj.speed:1;
		var interval      = (obj.interval)?obj.interval:10;
		var $closeBtn     = (obj.closeBtn)?$(obj.closeBtn):false;
		var $openElement  = false;
		var k = 0;
		var trgLength = this.length;

		var chPosition,chAutoClose,chCloseBtn,$div,$next,$this;

		var isMobile = false;
		var ua =navigator.userAgent;
		if(ua.indexOf('iPhone') > -1 || ua.indexOf('iPad') > -1 || ua.indexOf('iPod')  > -1 || ua.indexOf('Android')  > -1){
			isMobile=true;
		}else{
			isMobile=false;
		}


		/* set slide element */
		this.each(function(){
			$this = $(this);
			if($this.next().length){

				style       = (obj.style)?obj.style:{'position':'absolute'};
				chPosition  = 'absolute';
				chAutoClose = true;
				chCloseBtn  = false;

				/* */

				/* min-width exist check */
				if (typeof document.documentElement.style.minWidth != "undefined") {
					$div = $('<div>').css({
						'overflow':'hidden'
						,'height':0 + 'px'
						,'min-width':$this.parent().width() +1 + 'px'
					});
				}else{
					$div = $('<div>').css({
						'overflow':'hidden'
						,'height':0 + 'px'
						,'width':$this.parent().width() + 'px'
					});
				}

				$div.css(style);
				$next = $this.nextAll();
				$next.wrapAll($div).css({
					'display':'block',
					'position':'static',
					'visibility':'visible'
				});
				this.data = {
					index:k,
					timer:0,
					bindCheck:false,
					chPosition:chPosition,
					auto:chAutoClose,
					chCloseBtn:chCloseBtn
				};
				k++;
			}
		});

		/* set slide element */

		this.bind(handle,function(){
			var $tar = $(this).next();
			var $trg = $(this);

			/* Set width to SubCategory */
			if($this.parent().parent().parent().hasClass('area-categoryNavigation-01')){
				var w    = _getWidth($tar);
				$tar.css({'width': (w<$tar.parent().parent().width())? w+'px':$tar.parent().parent().width()+'px'});
			}

			if($tar.length){
				_event($tar,$trg);
				return false;
			}
		});
		this.focus(function(){
			this.blur();
		});
		function _event($tar,$trg){
			var h    = _getHeight($tar);
			var data = $trg.get(0).data;
			$tar.removeClass(oClass);
			$trg.addClass(aClass);
			$trg.parent().addClass(aClass);
			if(!$openElement){
				if(autoClose){
					_autoCloser([$tar,$trg]);
				}
				_bypassSlide($tar,h,$trg);
				$openElement = $tar;
			}else if($openElement && $tar.get(0) == $openElement.get(0) && handle == 'click'){
				_closer($openElement,$openElement.prev());
				$openElement = false;
			}else{
				_closer($openElement,$openElement.prev());
				if(autoClose){
					_autoCloser([$tar,$trg]);
				}
				_bypassSlide($tar,h,$trg);
				$openElement = $tar;
			}
			if(!data.bindCheck && $openElement){
				$openElement.find('> div > ul > li > a').menuOpener(
					{
						speed:4,
						interval:1,

						style:{
							'position':data.chPosition,
							'width':$openElement.width() +'px',
							'left':(data.index == trgLength - 1)?$openElement.width() * -1 + 'px':$openElement.width() + 'px',
							'zIndex':20,
							'top': 0 + 'px'
						},
						autoClose:data.auto,
						closeBtn:data.chCloseBtn
					}
				);
			}
			data.bindCheck = true;
			if($closeBtn){
				$closeBtn.click(
					function(){
						var tar;
						if($openElement){
							$tar = $openElement;
							_closer($tar,$tar.prev());
							$openElement = false;
						}else{
							return false;
						}
					}
				);
			}
			return false;
		}
		function _getHeight($tar){
			var total = 0;
			$tar.children().each(function(){
				total += this.offsetHeight;
			});
			return total;
		}
		function _getWidth($tar){
			var highest = 0;
			$tar.children().each(function(){
				highest = (highest < this.offsetWidth)?this.offsetWidth:highest;
			});
			return highest;
		}
		function _autoCloser(ary) {
			var len = ary.length;
			var $ary;
			var t = ary[0].get(0).autoCloseTimer;
			for(var i = 0; i < len; i++){
				$ary = ary[i];
				$ary.unbind('mouseleave');
				$ary.mouseleave(function(){
					clearTimeout(t);
					t = setTimeout(function(){
						ary[0].removeClass(oClass);
						ary[0].css({'overflow':'hidden'});
						_bypassSlide(ary[0],0,ary[1]);
						if($openElement && $openElement.get(0) == ary[0].get(0)){
							$openElement = false;
						}
					},autoCloseTime);
				});
				$ary.mouseover(function(){
					clearTimeout(t);
				});
			}
		}
		function _closer($tar,$trg){
			$tar.removeClass(oClass);
			$tar.css({'overflow':'hidden'});
			_bypassSlide($tar,0,$trg);
		}
		function _bypassSlide($tar,h,$trg){
			clearInterval($trg.get(0).data.timer);
			$trg.get(0).data.timer = setInterval(
				function(){
					_slider($tar,h,$trg);
				},interval
			);
		}
		function _slider($tar,lastH,$trg){
			var type  = (lastH == 0)?-1:1;
			var strH  = ($tar.height()==0)?1:$tar.height();
			var nextH = Math.ceil(Math.abs(lastH - strH) / speed);
			$tar.css({'height': (strH + nextH * type) +'px'});
			if(lastH !=0 && lastH - strH == 1){
				$tar.css({'height':'auto','overflow':'visible'});
				$tar.addClass(oClass);
				if($('#restir_viewer.flash').length && !$tar.parents('.' +oClass).length){
					//if(!isMobile && swfName("external_restir_viewer") ){ // swfName("external_restir_viewer") is undifined case
					//	swfName("external_restir_viewer").disableCursor();
					//}
				}
				clearInterval($trg.get(0).data.timer);
			}
			else if(lastH == 0 && strH == 1){
				$trg.removeClass(aClass);
				$trg.parent().removeClass(aClass);
				if($('#restir_viewer.flash').length && !$('#categoryNavigation-A > ul > li.' +aClass).length){
					//if(!isMobile && swfName("external_restir_viewer") ){ // swfName("external_restir_viewer") is undifined case
					//	swfName("external_restir_viewer").enableCursor();
					//}
				}
				clearInterval($trg.get(0).data.timer);
			}
		}
	},



	carousel:function(obj){
		var $trgPrev   = $(this).find(obj.prevBtn);
		var $trgNext   = $(this).find(obj.nextBtn);
		var wid = obj.width;
		var $tar       = $(this).find(obj.target).wrap('<div></div>').parent().css({'marginLeft':0});
		var span       = obj.span;
		var interval   = (obj.interval)?obj.interval:1;
		var speed      = (obj.speed)?obj.speed:1;
		var max        = $tar.find('li').length;
		var timer      = 0;
		var counter    = max;
		var limt       = wid / span;
		var clickCheck = false;

		if(limt < max){$trgNext.fadeIn(300);}

		$trgPrev.click(function(){
			_bypassSlide(1);
			counter++;
			if(counter == max){
				$trgPrev.hide();
				$trgNext.show();
			}else{
				$trgNext.show();
			}
			return false;
		});
		$trgNext.click(function(){
			_bypassSlide(-1);
			counter--;
			if(counter <= limt){
				$trgNext.hide();
				$trgPrev.show();
			}else{
				$trgPrev.show();
			}
			return false;
		});
		function _bypassSlide(type){
			var defMargin;
			if(clickCheck){return false;}
			clickCheck = true;
			clearInterval(timer);
			defMargin =  parseInt($tar.css('marginLeft'));
			timer = setInterval(function(){
				_slider($tar,defMargin +(type * span));
			},interval);
		}
		function _slider($tar,lastM){
			var strM  = parseInt($tar.css('marginLeft'));
			var nextM = Math.ceil((lastM - strM) / speed);
			$tar.css({'marginLeft': strM + nextM +'px'});
			if(nextM == 0){
				$tar.css({'marginLeft': lastM +'px'});
				clearInterval(timer);
				clickCheck = false;
				return false;
			}
		}
	},


	jsSubmit:function(){
		$(this).click(function(){
//			if($(this).closest('form').find('input[type="hidden"]').length){alert($(this).closest('form').find('input[type="hidden"]').val());return false}
			$(this).closest('form').get(0).submit();
		});
	},
	setDefaultValue:function(){
		this.focus(function(){
			if(this.value == this.defaultValue){
				this.value = "";
				this.style.color = '#000';
			}
		});
		this.blur(function(){
			if(!this.value){
				this.value = this.defaultValue;
				this.style.color = '#999';
			}else{
				this.style.color = '#000';
			}
		});
	},
	reorderElements:function(){
		this.find('ul:eq(1)').each(
			function(){
				var uls = [];
				var items = [];
				var n = $(this).find('li').length;
				var rows = Math.ceil(n / 4);
				for(var i = 0; i < rows; i++){
					items[i] = [];
					for(var ii = i; ii < n ; ii +=rows ){
						items[i][items[i].length] = $(this).find('li:eq(' + ii + ')');
					}
				}
				var ul = [];
				var len = items.length;
				for(var i = 0; i < len; i++){
					ul[i] = $('<ul>');
					var len2 = items[i].length;
					for(var ii = 0; ii < len2; ii++){
						ul[i].append(items[i][ii]);
					}
				}
				len = ul.length;
				for(var i = 0; i < len; i++){
					$(this).parent().append(ul[i]);
				}
				$(this).remove();
			}
		);
		var anc = this.find('ul a');
		anc.each(function(){
			var h = $(this).closest('ul').height();
			$(this).css(
				{
					'minHeight':h-2 + 'px'
				}
			);
		});
	},


	appendSNSButtons2:function(obj){

		var language;
		var indexEn = new RegExp("/indexEn.html");
		var indexZh = new RegExp("/indexZh.html");
		if(document.URL.match(indexEn)){
			language = "en";
		}else if(document.URL.match(indexZh)){
			language = "zh";
		}else{
			language = "ja";
		}


		var $div = $(this);
		var url = document.URL;
		var sendURL= (obj.sendURL)?obj.sendURL:url;

		if (obj.showTitle) {
			var $share     = $('<div>').text("SHARE THIS").addClass('share-title');
			$div.append($share);
		}


		var $cleafix = $('<div>').css({"width":"100%","height":"0px"}).text(" ");
		$div.append($cleafix);

		// facebook share
		var $facebook_button = $('<a>').addClass('addthis_button_facebook').html('<img src="/images/share_facebook.png" onMouseOver="this.src=\'/images/share_facebook_mo.png\'" onMouseOut="this.src=\'/images/share_facebook.png\'"/>');
		//var $facebook_label = $('<img src="/images/share_facebook_2.png"/>').addClass('img-facebook');

		var $div_facebook =$('<div>').addClass('facebook');
		$div_facebook.append($facebook_button);
		//$div_facebook.append($facebook_label);

		// mail
		var $mail_button = $('<a>').addClass("at300b button_mail").attr({"href": "mailto:Enter your friend's email address here?body=" + document.URL ,"title":"Send E-mail"} ).html('<img src="/images/share_mail.png" onMouseOver="this.src=\'/images/share_mail_mo.png\'" onMouseOut="this.src=\'/images/share_mail.png\'"/>');
		//var $mail_label = $('<img src="/images/share_mail_2.png"/>').addClass('img-mail');

		var $div_mail =$('<div>').addClass('mail');
		$div_mail.append($mail_button);
		//$div_mail.append($mail_label);


		// twitter
		var $twitter_button;
		if ( language == 'ja') {
			$twitter_button  = $('<a>').addClass('addthis_button_twitter').html('<img src="/images/share_twitter_ja.png" />');
		} else {
			$twitter_button  = $('<a>').addClass('addthis_button_twitter').html('<img src="/images/share_twitter_en.png" />');
		}

		var $div_twitter =$('<div>').addClass('twitter');
		$div_twitter.append($twitter_button);

		// google plus +1
		//var $google_plusone_button = $('<div class="google_plusone"><a class="addthis_button_google_plusone" g:plusone:size="medium" g:plusone:count="true"></a></div>');
		var $google_plusone_button = $('<a class="addthis_button_google_plusone" g:plusone:size="medium" g:plusone:count="false"></a>');

		// facebook like
		var $facebook_like_button = $('<a class="addthis_button_facebook_like" fb:like:layout="button_count"></a>');


		$div.append($div_facebook);
		$div.append($div_mail);
		$div.append($div_twitter);
		$div.append($google_plusone_button);
		$div.append($facebook_like_button);







		if(obj.anotherURL){
			$div.attr({"addthis:url" : sendURL});
			$twitter_button.attr({"addthis:url" : sendURL});
			$facebook_button.attr({"addthis:url" : sendURL});
			$facebook_like_button.attr({"addthis:url" : sendURL});

			$mail_button.attr({"href" : "mailto:Enter your friend's email address here?body=" + sendURL});
		}


		var $options = $('<script type="text/javascript">'
						+'	var addthis_share ={'
						+'		templates: {'
						+'			twitter  : " {{url}} #RESTIR"'
						+'		},'
						+'			url_transforms : {clean: true}'
						+'	};'
						+'	var addthis_config = {'
						+'		username : "restir",'
						+'		data_track_clickback: true,'
						+'		ui_language: "' + language + '"'
						+'	};'
						+'</script>');
		$(this).parent().append($options);


		var addthissHost = (("https:" == document.location.protocol) ? "https:" : "http:");
		$widget = $("<script type='text/javascript' src='" + document.location.protocol + "//s7.addthis.com/js/250/addthis_widget.js'></script>");
		$(this).parent().append($widget);

	},

	appendSNSButtons:function(obj){


		var $div = $(this);
/* fix! */
		var url = document.URL;
		var sendURL= (obj.sendURL)?obj.sendURL:url;

		var $share     = $('<div>').text("SHARE THIS").addClass('share-title');
		$div.append($share);

		var $cleafix = $('<div>').css({"width":"100%","height":"0px"}).text(" ");
		$div.append($cleafix);
/* fix! */

		var $twitter_button  = $('<a>').addClass('addthis_button_twitter').html('<img src="/images/share_twitter.png" onMouseOver="this.src=\'/images/share_twitter_mo.png\'" onMouseOut="this.src=\'/images/share_twitter.png\'"/>');
		var $twitter_label = $('<img src="/images/share_twitter_2.png"/>').addClass('img-twitter');

		var $div_twitter =$('<div>').addClass('twitter');
		$div_twitter.append($twitter_button);
		$div_twitter.append($twitter_label);


		var $facebook_button = $('<a>').addClass('addthis_button_facebook').html('<img src="/images/share_facebook.png" onMouseOver="this.src=\'/images/share_facebook_mo.png\'" onMouseOut="this.src=\'/images/share_facebook.png\'"/>');
		var $facebook_label = $('<img src="/images/share_facebook_2.png"/>').addClass('img-facebook');

		var $div_facebook =$('<div>').addClass('facebook');
		$div_facebook.append($facebook_button);
		$div_facebook.append($facebook_label);

		var $mail_button = $('<a>').addClass("at300b button_mail").attr({"href": "mailto:Enter your friend's email address here?body=" + document.URL ,"title":"Send E-mail"} ).html('<img src="/images/share_mail.png" onMouseOver="this.src=\'/images/share_mail_mo.png\'" onMouseOut="this.src=\'/images/share_mail.png\'"/>');
		var $mail_label = $('<img src="/images/share_mail_2.png"/>').addClass('img-mail');

		var $div_mail =$('<div>').addClass('mail');
		$div_mail.append($mail_button);
		$div_mail.append($mail_label);


		// facebook like
		var $facebook_like_button =$('<a class="addthis_button_facebook_like" fb:like:layout="button_count"></a>');

		// google plus +1
		var $google_plusone_button = $('<a class="addthis_button_google_plusone" g:plusone:size="medium" g:plusone:count="false"></a>');


		$div.append($div_twitter);
		$div.append($div_facebook);
		$div.append($div_mail);

		$div.append($facebook_like_button);
		$div.append($google_plusone_button);

/* fix! */
		if(obj.anotherURL){
			$div.attr({"addthis:url" : sendURL});
			$twitter_button.attr({"addthis:url" : sendURL});
			$facebook_button.attr({"addthis:url" : sendURL});
			$facebook_like_button.attr({"addthis:url" : sendURL});

			$mail_button.attr({"href" : "mailto:Enter your friend's email address here?body=" + sendURL});
		}
/* fix! */

		var language;
		var indexEn = new RegExp("/indexEn.html");
		var indexZh = new RegExp("/indexZh.html");
		if(document.URL.match(indexEn)){
			language = "en";
		}else if(document.URL.match(indexZh)){
			language = "zh";
		}else{
			language = "jp";
		}

		var $options = $('<script type="text/javascript">'
						+'	var addthis_share ={'
						+'		templates: {'
						+'			twitter  : " {{url}} #RESTIR"'
						+'		},'
						+'			url_transforms : {clean: true}'
						+'	};'
						+'	var addthis_config = {'
						+'		username : "restir",'
						+'		data_track_clickback: true,'
						+'		ui_language: "' + language + '"'
						+'	};'
						+'</script>');
		$(this).parent().append($options);


		var $twitter_preload = $('<a>').html('<img src="/images/share_twitter_mo.png"/>');
		var $facebook_preload = $('<a>').html('<img src="/images/share_facebook_mo.png"/>');
		var $mail_preload = $('<a>').html('<img src="/images/share_mail_mo.png"/>');

		var addthissHost = (("https:" == document.location.protocol) ? "https:" : "http:");
		$widget = $("<script type='text/javascript' src='" + document.location.protocol + "//s7.addthis.com/js/250/addthis_widget.js'></script>");
		$(this).parent().append($widget);


	},

	menuFix:function(obj){

		//var width = (obj.width)?obj.width:830;
		var width = obj.width;

		var url = document.URL;
		var gift = new RegExp("/gift/");
		var goods = new RegExp("/goods/");

		var $firstOne = $('#categoryNavigation-A > ul > li:first-child > a');

		var totalWidth = 0;
		var childCount = 0;
		var oldPaddingStr = $firstOne.css('padding-left');
		var oldPadding = Number(oldPaddingStr.slice(0,oldPaddingStr.length-2)); /* remove 'px' */
		var oldMarginStr = $firstOne.parent().css('margin-left');
		var oldMargin = Number(oldMarginStr.slice(0,oldMarginStr.length-2)); /* remove 'px' */

		var fixPadding = 0;

		/* Gift Check */
		if (url.match(gift)) {
			$(this).find('li.gift > a').attr('id', 'presentlocation');
		} else if (url.match(goods)) {
			var cid = _getUrlVars()["cid"];
			var flag = 0;

			$(this).find('li.gift > a').each(function(){
				$(this).parent().find('.subBlock-A > ul > li > a').each(function(){
					if( _getHrefVars($(this))["cid"] == cid ){
						flag = 1;
						return false;
					}
				});
				if(flag==1){
					$(this).attr('id', 'presentlocation');
					return false;
				}
			});
		}


		/* Width Fix */
		$(this).find('> li').each(function(){
			totalWidth += $(this).width() + oldMargin;
			childCount += 1;
		});
		fixPadding = oldPadding + Math.floor((width - totalWidth) / (childCount*2) );
		$(this).find('> li > a').each(function(){
			$(this).css({'padding':'0px '+ fixPadding +'px'});
		});


		$(this).css({'visibility':'visible'});

		function _getUrlVars() {
			var vars = [], hash;
			var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');

			for(var i = 0; i <hashes.length; i++) {
				hash = hashes[i].split('=');
				vars.push(hash[0]);
				vars[hash[0]] = hash[1];
			}
			return vars;
		}

		function _getHrefVars(link) {
			var vars = [], hash;
			var hashes = link.attr("href").slice(link.attr("href").indexOf('?') + 1).split('&');

			for(var i = 0; i <hashes.length; i++) {
				hash = hashes[i].split('=');
				vars.push(hash[0]);
				vars[hash[0]] = hash[1];
			}
			return vars;
		}
	}

});


//fgnass.github.com/spin.js#v1.2.2
(function(a,b,c){function n(a){var b={x:a.offsetLeft,y:a.offsetTop};while(a=a.offsetParent)b.x+=a.offsetLeft,b.y+=a.offsetTop;return b}function m(a){for(var b=1;b<arguments.length;b++){var d=arguments[b];for(var e in d)a[e]===c&&(a[e]=d[e])}return a}function l(a,b){for(var c in b)a.style[k(a,c)||c]=b[c];return a}function k(a,b){var e=a.style,f,g;if(e[b]!==c)return b;b=b.charAt(0).toUpperCase()+b.slice(1);for(g=0;g<d.length;g++){f=d[g]+b;if(e[f]!==c)return f}}function j(a,b,c,d){var g=["opacity",b,~~(a*100),c,d].join("-"),h=.01+c/d*100,j=Math.max(1-(1-a)/b*(100-h),a),k=f.substring(0,f.indexOf("Animation")).toLowerCase(),l=k&&"-"+k+"-"||"";e[g]||(i.insertRule("@"+l+"keyframes "+g+"{"+"0%{opacity:"+j+"}"+h+"%{opacity:"+a+"}"+(h+.01)+"%{opacity:1}"+(h+b)%100+"%{opacity:"+a+"}"+"100%{opacity:"+j+"}"+"}",0),e[g]=1);return g}function h(a,b,c){c&&!c.parentNode&&h(a,c),a.insertBefore(b,c||null);return a}function g(a,c){var d=b.createElement(a||"div"),e;for(e in c)d[e]=c[e];return d}var d=["webkit","Moz","ms","O"],e={},f,i=function(){var a=g("style");h(b.getElementsByTagName("head")[0],a);return a.sheet||a.styleSheet}(),o=function r(a){if(!this.spin)return new r(a);this.opts=m(a||{},r.defaults,p)},p=o.defaults={lines:12,length:7,width:5,radius:10,color:"#000",speed:1,trail:100,opacity:.25,fps:20},q=o.prototype={spin:function(a){this.stop();var b=this,c=b.el=l(g(),{position:"relative"}),d,e;a&&(e=n(h(a,c,a.firstChild)),d=n(c),l(c,{left:(a.offsetWidth>>1)-d.x+e.x+"px",top:(a.offsetHeight>>1)-d.y+e.y+"px"})),c.setAttribute("aria-role","progressbar"),b.lines(c,b.opts);if(!f){var i=b.opts,j=0,k=i.fps,m=k/i.speed,o=(1-i.opacity)/(m*i.trail/100),p=m/i.lines;(function q(){j++;for(var a=i.lines;a;a--){var d=Math.max(1-(j+a*p)%m*o,i.opacity);b.opacity(c,i.lines-a,d,i)}b.timeout=b.el&&setTimeout(q,~~(1e3/k))})()}return b},stop:function(){var a=this.el;a&&(clearTimeout(this.timeout),a.parentNode&&a.parentNode.removeChild(a),this.el=c);return this}};q.lines=function(a,b){function e(a,d){return l(g(),{position:"absolute",width:b.length+b.width+"px",height:b.width+"px",background:a,boxShadow:d,transformOrigin:"left",transform:"rotate("+~~(360/b.lines*c)+"deg) translate("+b.radius+"px"+",0)",borderRadius:(b.width>>1)+"px"})}var c=0,d;for(;c<b.lines;c++)d=l(g(),{position:"absolute",top:1+~(b.width/2)+"px",transform:"translate3d(0,0,0)",opacity:b.opacity,animation:f&&j(b.opacity,b.trail,c,b.lines)+" "+1/b.speed+"s linear infinite"}),b.shadow&&h(d,l(e("#000","0 0 4px #000"),{top:"2px"})),h(a,h(d,e(b.color,"0 0 1px rgba(0,0,0,.1)")));return a},q.opacity=function(a,b,c){b<a.childNodes.length&&(a.childNodes[b].style.opacity=c)},function(){var a=l(g("group"),{behavior:"url(#default#VML)"}),b;if(!k(a,"transform")&&a.adj){for(b=4;b--;)i.addRule(["group","roundrect","fill","stroke"][b],"behavior:url(#default#VML)");q.lines=function(a,b){function k(a,d,i){h(f,h(l(e(),{rotation:360/b.lines*a+"deg",left:~~d}),h(l(g("roundrect",{arcsize:1}),{width:c,height:b.width,left:b.radius,top:-b.width>>1,filter:i}),g("fill",{color:b.color,opacity:b.opacity}),g("stroke",{opacity:0}))))}function e(){return l(g("group",{coordsize:d+" "+d,coordorigin:-c+" "+ -c}),{width:d,height:d})}var c=b.length+b.width,d=2*c,f=e(),i=~(b.length+b.radius+b.width)+"px",j;if(b.shadow)for(j=1;j<=b.lines;j++)k(j,-2,"progid:DXImageTransform.Microsoft.Blur(pixelradius=2,makeshadow=1,shadowopacity=.3)");for(j=1;j<=b.lines;j++)k(j);return h(l(a,{margin:i+" 0 0 "+i,zoom:1}),f)},q.opacity=function(a,b,c,d){var e=a.firstChild;d=d.shadow&&d.lines||0,e&&b+d<e.childNodes.length&&(e=e.childNodes[b+d],e=e&&e.firstChild,e=e&&e.firstChild,e&&(e.opacity=c))}}else f=k(a,"animation")}(),a.Spinner=o})(window,document);


