/**
 * Created with JetBrains PhpStorm.
 * User: weiyouzhi
 * Date: 13-3-23
 * Time: 上午9:52
 * To change this template use File | Settings | File Templates.
 */
;(function($){
    $.extend($.easing,{
        easeInQuad: function (x, t, b, c, d) {
            return c*(t/=d)*t + b;
        },
        easeOutQuad: function (x, t, b, c, d) {
            return -c *(t/=d)*(t-2) + b;
        },
        easeInOutQuad: function (x, t, b, c, d) {
            if ((t/=d/2) < 1) return c/2*t*t + b;
            return -c/2 * ((--t)*(t-2) - 1) + b;
        },
        easeInCubic: function (x, t, b, c, d) {
            return c*(t/=d)*t*t + b;
        },
        easeOutCubic: function (x, t, b, c, d) {
            return c*((t=t/d-1)*t*t + 1) + b;
        },
        easeInOutCubic: function (x, t, b, c, d) {
            if ((t/=d/2) < 1) return c/2*t*t*t + b;
            return c/2*((t-=2)*t*t + 2) + b;
        },
        easeInQuart: function (x, t, b, c, d) {
            return c*(t/=d)*t*t*t + b;
        },
        easeOutQuart: function (x, t, b, c, d) {
            return -c * ((t=t/d-1)*t*t*t - 1) + b;
        },
        easeInOutQuart: function (x, t, b, c, d) {
            if ((t/=d/2) < 1) return c/2*t*t*t*t + b;
            return -c/2 * ((t-=2)*t*t*t - 2) + b;
        },
        easeInQuint: function (x, t, b, c, d) {
            return c*(t/=d)*t*t*t*t + b;
        },
        easeOutQuint: function (x, t, b, c, d) {
            return c*((t=t/d-1)*t*t*t*t + 1) + b;
        },
        easeInOutQuint: function (x, t, b, c, d) {
            if ((t/=d/2) < 1) return c/2*t*t*t*t*t + b;
            return c/2*((t-=2)*t*t*t*t + 2) + b;
        },
        easeInSine: function (x, t, b, c, d) {
            return -c * Math.cos(t/d * (Math.PI/2)) + c + b;
        },
        easeOutSine: function (x, t, b, c, d) {
            return c * Math.sin(t/d * (Math.PI/2)) + b;
        },
        easeInOutSine: function (x, t, b, c, d) {
            return -c/2 * (Math.cos(Math.PI*t/d) - 1) + b;
        },
        easeInExpo: function (x, t, b, c, d) {
            return (t==0) ? b : c * Math.pow(2, 10 * (t/d - 1)) + b;
        },
        easeOutExpo: function (x, t, b, c, d) {
            return (t==d) ? b+c : c * (-Math.pow(2, -10 * t/d) + 1) + b;
        },
        easeInOutExpo: function (x, t, b, c, d) {
            if (t==0) return b;
            if (t==d) return b+c;
            if ((t/=d/2) < 1) return c/2 * Math.pow(2, 10 * (t - 1)) + b;
            return c/2 * (-Math.pow(2, -10 * --t) + 2) + b;
        },
        easeInCirc: function (x, t, b, c, d) {
            return -c * (Math.sqrt(1 - (t/=d)*t) - 1) + b;
        },
        easeOutCirc: function (x, t, b, c, d) {
            return c * Math.sqrt(1 - (t=t/d-1)*t) + b;
        },
        easeInOutCirc: function (x, t, b, c, d) {
            if ((t/=d/2) < 1) return -c/2 * (Math.sqrt(1 - t*t) - 1) + b;
            return c/2 * (Math.sqrt(1 - (t-=2)*t) + 1) + b;
        },
        easeInElastic: function (x, t, b, c, d) {
            var s=1.70158;var p=0;var a=c;
            if (t==0) return b;  if ((t/=d)==1) return b+c;  if (!p) p=d*.3;
            if (a < Math.abs(c)) { a=c; var s=p/4; }
            else var s = p/(2*Math.PI) * Math.asin (c/a);
            return -(a*Math.pow(2,10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )) + b;
        },
        easeOutElastic: function (x, t, b, c, d) {
            var s=1.70158;var p=0;var a=c;
            if (t==0) return b;  if ((t/=d)==1) return b+c;  if (!p) p=d*.3;
            if (a < Math.abs(c)) { a=c; var s=p/4; }
            else var s = p/(2*Math.PI) * Math.asin (c/a);
            return a*Math.pow(2,-10*t) * Math.sin( (t*d-s)*(2*Math.PI)/p ) + c + b;
        },
        easeInOutElastic: function (x, t, b, c, d) {
            var s=1.70158;var p=0;var a=c;
            if (t==0) return b;  if ((t/=d/2)==2) return b+c;  if (!p) p=d*(.3*1.5);
            if (a < Math.abs(c)) { a=c; var s=p/4; }
            else var s = p/(2*Math.PI) * Math.asin (c/a);
            if (t < 1) return -.5*(a*Math.pow(2,10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )) + b;
            return a*Math.pow(2,-10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )*.5 + c + b;
        },
        easeInBack: function (x, t, b, c, d, s) {
            if (s == undefined) s = 1.70158;
            return c*(t/=d)*t*((s+1)*t - s) + b;
        },
        easeOutBack: function (x, t, b, c, d, s) {
            if (s == undefined) s = 1.70158;
            return c*((t=t/d-1)*t*((s+1)*t + s) + 1) + b;
        },
        easeInOutBack: function (x, t, b, c, d, s) {
            if (s == undefined) s = 1.70158;
            if ((t/=d/2) < 1) return c/2*(t*t*(((s*=(1.525))+1)*t - s)) + b;
            return c/2*((t-=2)*t*(((s*=(1.525))+1)*t + s) + 2) + b;
        },
        easeInBounce: function (x, t, b, c, d) {
            return c - jQuery.easing.easeOutBounce (x, d-t, 0, c, d) + b;
        },
        easeOutBounce: function (x, t, b, c, d) {
            if ((t/=d) < (1/2.75)) {
                return c*(7.5625*t*t) + b;
            } else if (t < (2/2.75)) {
                return c*(7.5625*(t-=(1.5/2.75))*t + .75) + b;
            } else if (t < (2.5/2.75)) {
                return c*(7.5625*(t-=(2.25/2.75))*t + .9375) + b;
            } else {
                return c*(7.5625*(t-=(2.625/2.75))*t + .984375) + b;
            }
        },
        easeInOutBounce: function (x, t, b, c, d) {
            if (t < d/2) return jQuery.easing.easeInBounce (x, t*2, 0, c, d) * .5 + b;
            return jQuery.easing.easeOutBounce (x, t*2-d, 0, c, d) * .5 + c*.5 + b;
        }
    });
    $.game = $.game||{};
    $.game={
        inits:function(){
			this.scroll();
            $(".focus").imgfocus();
            $("#list").find("li").listshow();
            $("#more").listshow();
            $(".apple-id").focusfn();
            $(".apple-psw").focusfn();
            this.tuzi();
			this.appanniu();

        },
        imgfocus:function(options){
            $.game.imgfocus.def = {
                drection: "filter",
                numbox: "#num",
                imgbox: "#show_img",
                speed: 3000,
                addClass: "on",
                imgboxWidth:780,
                imgboxHeight:350,
                imgLen:4,
                auto:true,
                contine:false,
                usevent:"mouseover"
            };
            var _this = this;
            var opts = $.extend({}, $.game.imgfocus.def, options);
            this.each(function() {
                var index = 0;
                var timer = null;
                var oNumList = _this.find(opts.numbox).children();
                var imgListBox = _this.find(opts.imgbox);
                var imgListBoxChid = imgListBox.children();
                if (opts.drection == "filter")imgListBoxChid.eq(0).css({"opacity":1,"display":"block"}).siblings().css({"opacity": 0,"display":"none"});
                if (opts.auto)auto();
                function auto() {
                    timer = setInterval(function() {
                        index++;
                        if (opts.contine) {
                            if (index == opts.imgLen) {
                                if (opts.drection == "up") {
                                    imgListBoxChid.eq(0).css({"position":"relative","top":opts.imgLen * opts.imgboxHeight});
                                }
                                else if (opts.drection == "left") {
                                    imgListBoxChid.eq(0).css({"position":"relative","left":opts.imgLen * opts.imgboxWidth});
                                }
                                setTimeout(function() {
                                    index = 0
                                }, 500)
                            }
                        }
                        else {
                            index == opts.imgLen ? index = 0 : index = index;
                        }
                        $.game.imgfocus.action(opts, index, oNumList, imgListBox, imgListBoxChid, _this);
                    }, opts.speed)
                }

                _this.hover(function() {
                    clearInterval(timer);
                }, function() {
                    if (opts.auto)auto();
                })
                oNumList[opts.usevent](function() {
                    index = oNumList.index(this);
                    setTimeout(function() {
                        $.fn.imgfocus.action(opts, index, oNumList, imgListBox, imgListBoxChid, _this)
                    }, 300);
                })
            });
            $.game.imgfocus.action = function(opts, index, oNumList, imgListBox, imgListBoxChid, _this) {
                switch (opts.drection) {
                    case "left":
                        imgListBoxChid.css({float:"left"})
                        imgListBox.width(opts.imgLen * opts.imgboxWidth);
                        imgListBox.stop().animate({
                            left:[-index * opts.imgboxWidth,'easeOutCubic']
                        }, 500, function() {
                            if (opts.contine && index == 0) {
                                imgListBoxChid.eq(0).css("position", "");
                                imgListBox.css("left", 0);
                            }
                        })
                        if (opts.contine && index == opts.imgLen)index = 0;
                        break;
                    case "up":
                        _this.height(opts.imgboxHeight);
                        imgListBox.stop().animate({
                            top:[-index * opts.imgboxHeight,'easeOutCubic']
                        }, 500, function() {
                            if (opts.contine && index == 0) {
                                imgListBoxChid.eq(0).css("position", "");
                                imgListBox.css("top", 0);
                            }
                        })
                        if (opts.contine) {
                            if (index == opts.imgLen)index = 0;
                        }
                        break;
                    case "filter":
                        if(imgListBoxChid.eq(index).find("img").attr("src4")){
                            var path = imgListBoxChid.eq(index).find("img").attr("src4");
                            imgListBoxChid.eq(index).find("img").attr("src",path);
                            imgListBoxChid.eq(index).find("img").removeAttr("src4");
                        }
                        imgListBoxChid.eq(index).css({"position":"absolute","left":"0px","top":"0px","z-index":"1","display":"block"}).siblings().css({"z-index":"0"})
                        imgListBoxChid.eq(index)
                            .stop(true,true).animate({opacity:1}, 800)
                            .siblings().stop(true,true).animate({opacity:0}, 800)
                        break;
                    default:
                        break;
                }
                oNumList.eq(index).addClass(opts.addClass).siblings().removeClass(opts.addClass);
            }
        },
        listshow:function(){
            var timer = null;
            var timerr = null;
            this.hover(function(){
                var $this = $(this);
                clearTimeout(timer);
                $this.addClass("on");
                timer = setTimeout(function(){
                    $this.find(".bubble").show();
                },200);
            },function(){
                var $this = $(this);
                clearTimeout(timer);
                $this.removeClass("on");
                timerr = setTimeout(function(){
                    $this.find(".bubble").hide();
                },200)
            })
        },
        focusfn:function(){
            this.val("");
            var lab = this.parent().find("label");
            $(this).val()!=""&&lab.hide();
            this.focus(function(){
                lab.is(":visible")&&lab.hide();
            });
            this.blur(function(){
                $(this).val()==""&&lab.show();
            })
        },
        tuzi:function(){
            $(".tuzi").animate({right:[-18,'easeOutBounce']},500);
        },
		appanniu:function(){
            $(".app-anniu").show().animate({bottom:[200,'easeOutBounce']},500);
        },
		scroll:function(){
            var settime = null;
            var html = $(".scrollarea").html();
            var len = $(".scrollarea li").length;
            var h = $(".scrollarea ul").height();
            $(".scrollarea").height(145);
            if(len>5){
                var index = 0;
                $(".scrollarea").append(html);
                var ulT = $(".scrollarea ul").eq(1).position().top;
                settime = setInterval(function(){
                    var sT = $(".scrollarea").scrollTop();
                    if(ulT-sT<=0){
                        index=0;
                    }
                    $(".scrollarea").scrollTop(index++);
                },40);
            }
            else{
                return false;
            };
			$(".scrollarea").find("li").hover(
			  function () {
				clearInterval(settime);
			  },
			  function () {
				settime = setInterval(function(){
                    var sT = $(".scrollarea").scrollTop();
                    if(ulT-sT<=0){
                        index=0;
                    }
                    $(".scrollarea").scrollTop(index++);
                },40);
			  }
			);
        }
    }
    $.extend($.fn,$.game);
    $(function(){$.game.inits();})
})(jQuery)

