$(function() {
    function mouse_onmose(overClassname, overpointercss) {
        $(overClassname).live('mouseover', 
        function() {
            $(this).addClass(overpointercss)
        })
    }
    function mouse_outmose(overClassname, overpointercss) {
        $(overClassname).live('mouseout', 
        function() {
            $(this).removeClass(overpointercss)
        })
    }
    mouse_onmose("#cleanhis", "rover");
    mouse_onmose("#hsl", "hsl_yover");
    mouse_onmose("#hsr", "hsr_yover");
    mouse_outmose("#hsl", "hsl_yover");
    mouse_outmose("#hsr", "hsr_yover");
    mouse_outmose("#cleanhis", "rover");
    var mygame_mode = 0,
    timer = null;
    var favgamesdata = '';
    var pagesize = 10;
    var favpage = 1;
    var hspage = 1;
    var page_count = 1;
    var $v_show;
    var v_width;
    var li_one = $("#myhistory_t li.one"),
    li_two = $("#myhistory_t li.two"),
    TEXPLAY = li_one.text(),
    TEXFAV = li_two.text();
    function setmygame_title(t) {
        var CLAFAV = 'i_fav',
        CLAMYPLAY = 'i_play';
        if (t) {
            li_one.text(TEXFAV);
            li_two.text(TEXPLAY);
            li_one.removeClass(CLAMYPLAY);
            li_two.removeClass(CLAFAV);
            li_one.addClass(CLAFAV);
            li_two.addClass(CLAMYPLAY)
        } else {
            li_one.text(TEXPLAY);
            li_two.text(TEXFAV);
            li_one.removeClass(CLAFAV);
            li_two.removeClass(CLAMYPLAY);
            li_two.addClass(CLAFAV);
            li_one.addClass(CLAMYPLAY)
        }
    }
    function initmygame() {
        $("#myhiscontent").empty().append('<div id="hscontent"><p id="mygamespan"></p></div><div id="hsb"><div id="hsl" class="hsl_yafter"></div><div id="hsr" class="hsr_y"></div></div><div class="r" id="cleanhis"></div>');
        $v_show = $("#hscontent p");
        v_width = $("#hscontent").width();
        $("#myhistory_t li.one").click(function() {
            $("#myhistory_t ul").addClass("overul");
            $("#myhistory_t li.two").show()
        });
        $("#myhistory_t li.two").hover(function() {
            $(this).css({
                "backgroundColor": "#F3F3F3"
            })
        },
        function() {
            $(this).css({
                "backgroundColor": "#fff"
            })
        });
        $("#myhistory_t").blur(function() {
            $("#myhistory_t ul").removeClass("overul");
            $("#myhistory_t li.two").hide()
        });
        $("#myhistory_t li.two").click(function() {
            $("#myhistory_t ul").removeClass("overul");
            $(this).hide();
            if ($("#myhistory_t li.one").text() == '我收藏的游戏') {
                setmygame_title();
                mygame_mode = 0;
                getmygame();
                Site.Cookie.set('mygame_s', '0')
            } else {
                setmygame_title(1);
                mygame_mode = 1;
                getmygame(1);
                Site.Cookie.set('mygame_s', '1')
            }
        });
        if (Site.Cookie.get('mygame_s') != "0" && (Site.Cookie.get('user_auth') || Site.Cookie.get('mygame_s') == "1")) {
            setmygame_title(1);
            getmygame(1)
        } else {
            setmygame_title();
            getmygame()
        }
    }
    var myhsgames = 'a';
    function getmygame(t) {
        var mygame = $("#mygamespan");
        if (t) {
            if (!Site.Cookie.get('user_auth')) {
                favgamesdata = '登录后查看收藏游戏';
                mygame.empty().append(favgamesdata);
                $("#cleanhis").hide();
                $('#hsb').hide();
                hotGame($('#hscontent'), 1);
                return
            } else {
                $.getJSON("http://malayou.com/get_favgame.php?num=23&callback=?", 
                function(data) {
                    favgamesdata = new Array();
                    $.each(data, 
                    function(i, item) {
                        favgamesdata.push('<a href="' + item.glink.replace('*', '/html/') + '" target="_blank">' + item.gname + '</a>')
                    });
                    favgamesdata = favgamesdata.join('');
                    if (favgamesdata == "") {
                        favgamesdata = '暂无收藏的游戏记录';
                        mygame.empty().append(favgamesdata);
                        $("#cleanhis").hide();
                        $('#hsb').hide();
                        hotGame($('#hscontent'), 1);
                        favgamesdata = '';
                        return
                    }
                    mygame.empty().append('<span>' + favgamesdata + '</span>');
                    $("#cleanhis").show().text("编辑").unbind("click").click(function() {
                        window.open("http://malayou.com/favorite.php?do=list&type=1")
                    });
                    setmygamepage()
                })
            }
        } else {
            if (mygame_mode != 0) return;
            var oldcookie = Site.Cookie.get('cookie_hs');
            if (oldcookie) {
                fc.set('hs_play', oldcookie)
            }
            Site.Cookie.clear('cookie_hs');
            if (myhsgames == 'a') {
                myhsgames = ordergame(gethsgames());
                $("#flashDataMovie").remove()
            }
            var hscontent = new Array();
            for (var i in myhsgames) {
                var hsgamelink = myhsgames[i][1].replace('*', 'http://malayou.com/html/') + '?hs';
                var views = ++myhsgames[i][2];
                hscontent.push('<a href="' + hsgamelink + '" title="玩了' + views + '次,鼠标点击右侧删除图标可以从游戏记录中删除此游戏记录">' + myhsgames[i][0] + '<span class="btn_del"></span></a> ')
            }
            hscontent = hscontent.join('');
            if (!hscontent) {
                hscontent = "暂无玩过的游戏记录";
                mygame.empty().html(hscontent);
                $("#cleanhis").hide();
                $('#hsb').hide();
                hotGame($('#hscontent'), 0);
                return
            } else {
                $("#cleanhis").show();
                mygame.empty().append('<span>' + hscontent + '</span>');
                $("#cleanhis").text("清空").unbind("click").click(function() {
                    if (confirm('确定清空我玩过的游戏记录吗？')) {
                        fc.clear('hs_play');
                        hspage = 1;
                        getmygame()
                    }
                })
            }
            setmygamepage();
            delRecord('#mygamespan')
        }
    }
    function hotGame(prev, types) {
        var dom_prev = prev,
        dom_hot = $('#hotgame');
        $('#mygamespan').css({
            "position": "static",
            "width": "auto"
        });
        dom_prev.css({
            "width": "auto",
            "marginRight": "15px"
        });
        if (dom_hot[0]) {
            if (dom_hot.data('data' + types)) {
                dom_hot.html(dom_hot.data('data' + types));
                dom_hot.css({
                    "float": "left"
                });
                dom_hot.show();
                return
            }
        } else {
            dom_hot = $('<div id="hotgame"></div>');
            dom_hot.css({
                "float": "left"
            })
        }
        $.ajax({
            type: 'GET',
            url: '/tabdata/index/mygame_hotgame.htm?d' + new Date().getDate(),
            dataType: 'json',
            success: function(d) {
                var datalist = d['gamedata'],
                strLeg = 0,
                htmlStr = ['<em>热门游戏：</em>'];
                for (var j = 0; j < datalist.length; j++) {
                    var txtLeg = datalist[j]['t'].replace(/[^\x00-\xff]/g, "**").length * 6 + 20;
                    strLeg += txtLeg;
                    if (strLeg <= 520) {
                        htmlStr.push('<a href="' + datalist[j]['l'].replace('*', '/html/') + '">' + datalist[j]['t'] + '</a>')
                    }
                }
                str = htmlStr.join('');
               /* if (types == 0) {
                    htmlStr.push('<span class="howto_paly"><a href="/about/help-8.htm" title="如何记录">如何记录</a></span>')
                } else {
                    htmlStr.push('<span class="howto_paly"><a href="/about/help.htm?1" target="_blank" title="如何收藏">如何收藏</a></span>')
                }*/
                dom_hot.html(htmlStr.join(''));
                dom_prev.after(dom_hot);
                dom_hot.data('data' + types, htmlStr.join(''))
            }
        })
    }
    function delRecord(elemP) {
        var elemW = $(elemP),
        domDel = $(".btn_del", elemP);
        domDel.bind('click', 
        function(e) {
            var tp = $(this),
            c = fc.get('hs_play'),
            txt = tp.parent().text(),
            reg = new RegExp("\\|{3}" + txt + "(?!\\|{3})"),
            cook_now = c.replace(reg, '');
            fc.set('hs_play', cook_now);
            tp.parent().remove();
            setmygamepage();
            return false
        })
    }
    function synmygame() {
        if (mygame_mode != 0) return;
        getmygame()
    }
    function ordergame(h) {
        var newgames = new Array();
        for (var i in h) {
            var ogame = h[i].split("||");
            newgames[i] = ogame
        }
        return newgames.sort(function(a, b) {
            return b[2] - a[2]
        })
    }
    function gethsgames() {
        var c = fc.get('hs_play');
        if (!c) return new Array();
        var t = c.split("|||");
        if (t[0] !== "malayou.com") return new Array();
        t.shift();
        return t
    }
    function setmygamepage() {
        var va = $("#mygamespan a"),
        vlen = va.length,
        link_ma = parseInt(va.first().css('marginLeft')) + parseInt(va.first().css('marginRight')),
        arr = [],
        startW = 0;
        maxW = 745;
        $('#hotgame').hide();
        for (var i = 0; i < vlen; i++) {
            startW += parseInt(va.eq(i).innerWidth()) + link_ma;
            if (startW > maxW) {
                arr.push(i);
                startW = parseInt(va.eq(i).innerWidth()) + link_ma
            }
        }
        arr.push(vlen);
        page_count = arr.length;
        if (page_count > 3) page_count.length = 3;
        $('#mygamespan').css({
            "position": "absolute",
            "width": page_count * maxW + 'px'
        });
        $('#hscontent').css({
            "width": maxW + 'px',
            "marginRight": "0"
        });
        if ($('#mygamespan>span').length > 0) {
            $('#mygamespan a').unwrap()
        }
        $("#hsb").show();
        if (page_count > 1) {
            for (var j = 0; j < page_count; j++) {
                var start = j == 0 ? 0: arr[j - 1];
                var end = arr[j];
                var lastli = $("#mygamespan a").slice(start, end);
                lastli.wrapAll("<span></span>")
            }
            var page = (mygame_mode == 0) ? hspage: favpage
        } else {
            page_count = 1;
            if (mygame_mode == 0) {
                hspage = page = 1
            } else {
                favpage = page = 1
            }
        }
        scroll_rbox(pagesize, page)
    }
    function sethsbutton(p, t) {
        if (p < t) {
            $("#hsr").removeClass("hsr_yafter")
        } else {
            $("#hsr").addClass("hsr_yafter")
        }
        if (p == 1) {
            $("#hsl").addClass("hsl_yafter")
        } else {
            $("#hsl").removeClass("hsl_yafter")
        }
    }
    function scroll_rbox(i, page) {
        $v_show.animate({
            left: -v_width * (page - 1)
        },
        0);
        sethsbutton(page, page_count);
        $("#hsr").unbind("click").click(function() {
            var page = (mygame_mode == 0) ? hspage: favpage;
            if (!$v_show.is(":animated") && page != page_count) {
                $v_show.animate({
                    left: -v_width * page
                },
                300);
                if (mygame_mode == 0) hspage++;
                if (mygame_mode == 1) favpage++;
                $("#hsl").removeClass("hsl_yafter").addClass("hsl_y");
                var page = (mygame_mode == 0) ? hspage: favpage;
                if (page == page_count) {
                    $(this).addClass("hsr_yafter")
                }
            }
        });
        $("#hsl").unbind("click").click(function() {
            var page = (mygame_mode == 0) ? hspage: favpage;
            if (!$v_show.is(":animated") && page != 1) {
                $v_show.animate({
                    left: -v_width * (page - 2)
                },
                300);
                if (mygame_mode == 0) hspage--;
                if (mygame_mode == 1) favpage--;
                $("#hsr").removeClass("hsr_yafter").addClass("hsr_y");
                var page = (mygame_mode == 0) ? hspage: favpage;
                if (page == 1) {
                    $(this).addClass("hsl_yafter")
                }
            }
        })
    }
    initmygame()
});
