$this.flipListItem = function()

in assets/www/scripts/MetroJs.lt.js [881:937]


				$this.flipListItem = function (isFront, $itm, $front, $back, newSrc, isBgroundImg) {

					var dir = (!stgs.ignoreDataAttributes && typeof ($itm.data("direction")) != "undefined") ? $itm.data("direction") : tdata.direction;
					if (canFlip3d && tdata.useHwAccel) {
						// avoid any z-index flickering from reversing an animation too early                
						isBgroundImg = isFront ? stgs.frontIsBackgroundImage : stgs.backIsBackgroundImage;
						var animating = isFront ? $front.data("tile").animating : $back.data("tile").animating;
						if (animating == true) {
							return;
						}
						var spd = (tdata.speed * 2);
						var duration = spd + 'ms';
						var aniFName = (dir == "vertical") ? 'flipfront180' : 'flipfrontY180';
						var aniBName = (dir == "vertical") ? 'flipback180' : 'flipbackY180';
						var fCss = {
							WebkitAnimationPlayState: 'running', WebkitAnimationName: aniBName, WebkitAnimationDuration: duration,
							MozAnimationPlayState: 'running', MozAnimationName: aniBName, MozAnimationDuration: duration,
							msAnimationPlayState: 'running', msAnimationName: aniBName, msAnimationDuration: duration,
							OAnimationPlayState: 'running', OAnimationName: aniBName, OAnimationDuration: duration,
							AnimationPlayState: 'running', AnimationName: aniBName, AnimationDuration: duration
						};
						var bCss = {
							WebkitAnimationPlayState: 'running', WebkitAnimationName: aniFName, WebkitAnimationDuration: duration,
							MozAnimationPlayState: 'running', MozAnimationName: aniFName, MozAnimationDuration: duration,
							msAnimationPlayState: 'running', msAnimationName: aniFName, msAnimationDuration: duration,
							OAnimationPlayState: 'running', OAnimationName: aniFName, OAnimationDuration: duration,
							AnimationPlayState: 'running', AnimationName: aniFName, AnimationDuration: duration
						};
						$front.css(fCss).data("tile").animating = true;
						$back.css(bCss).data("tile").animating = true;
						window.setTimeout(function () {
							if (typeof (newSrc) != "undefined") {
								privMethods.handleListItemSwap($front, newSrc, isBgroundImg, stgs);
							}
							$front.data("tile").animating = false;
							$back.data("tile").animating = false;
						}, 0); // once the animation is half through it can be reversed

					} else {
						var height = $itm.height();
						var width = $itm.width();
						var margin = (dir == "vertical") ? height / 2 : width / 2;
						var uCss = (dir == "vertical") ?
							{ height: '0px', width: '100%', marginTop: margin + 'px', opacity: 0} :
							{ height: '100%', width: '0px', marginLeft: margin + 'px', opacity: 0 };
						var dCss = (dir == "vertical") ?
							{ height: '100%', width: '100%', marginTop: '0px', opacity: 1} :
							{ height: '100%', width: '100%', marginLeft: '0px', opacity: 1 };
						$front.stop().animate(uCss, { duration: tdata.speed });
						window.setTimeout(function () {
							$back.stop().animate(dCss, { duration: tdata.speed });
							if (typeof (newSrc) != "undefined") {
								privMethods.handleListItemSwap($front, newSrc, isBgroundImg, stgs);
							}
						}, tdata.speed);
					}
				};