$(document).ready(function($){
    initPickupBox();
    //initSideRanking();

    prj.mainArea.setup();

    loadXML("/php/getTweet.php");

});

var prj = {

    mainArea : {
        RollTime : 5000,
        RollSpeed : 600,
        mainVidFlowHtml : "",
        thumbnailFlowHtml : "",
        nowNum : 1,
        nextNum : 1,
        nowFlowVid : {},// json情報
        nextFlowVid : {},// json情報
        nowSetFlg : false,// now情報があるか
        nextSetFlg : false,// next情報があるか

        scrollTime : {},
        reloadOnAirTime : {},
        currentNum : 0,
        max : 0,
        nowOnAir : null,
        next1OnAir : null,
        next2OnAir : null,
        last_tabelatte_cd : null,
        endDate : new Date(),
        reloadFlg : 0,

        setup : function () {

            this.max = $('#flowVid li').length;
            this.endDate.setDate(this.endDate.getDate()+1);

            prj.mainArea.reloadOnAir();
            prj.mainArea.setOnAir();

            $('#flowThumbnails a').bind('click',function(){
                prj.mainArea.move(prj.mainArea.currentNum, $(this).parent().index())
                prj.mainArea.setAutoScroll();
            });

            $('#leftBtn a').bind('click',function(){
                prj.mainArea.move(prj.mainArea.currentNum, prj.mainArea.currentNum - 1)
                prj.mainArea.setAutoScroll();
            });

            $('#rightBtn a').bind('click',function(){
                prj.mainArea.move(prj.mainArea.currentNum, prj.mainArea.currentNum + 1)
                prj.mainArea.setAutoScroll();
            });

            prj.mainArea.move(this.max - 1, 0);
            prj.mainArea.setAutoScroll();
        },

        setAutoScroll : function () {
            clearInterval(this.scrollTime);
            this.scrollTime = setInterval(function(){
                prj.mainArea.move(prj.mainArea.currentNum, prj.mainArea.currentNum + 1);
            }, this.RollTime);
        },

        move : function (from, to) {
            if(to >= this.max){
                to = 0;
            } else if(to < 0){
                to = this.max - 1;
            }
            if (to == 0 && this.nowOnAir == null) {
                to = 1;
            }

            if (to == 1 && this.next1OnAir == null) {
                to = 2;
            }

            this.currentNum = to;
            $('#flowVid').animate(
                {left: -((to * 730)-9)},
                {
                    duration:this.RollSpeed,
                    easing:"easeInQuart",
                    queue: false
                }
            );
            $('#flowThumbnails').find('li:eq(' + from + ')').removeClass('current');
            $('#flowThumbnails').find('li:eq(' + to + ')').addClass('current');
        },

        setOnAir : function () {
            this.reloadOnAirTime = setInterval(function(){
                prj.mainArea.reloadOnAir();

                // リロード処理
                var end = prj.mainArea.endDate;

                var now = new Date();

                if (end <= now && now.getHours() == 3 && prj.mainArea.reloadFlg == 0) {
                    prj.mainArea.reloadFlg = 1;
                    window.location.reload();
                }
            }, 1000);
        },

        reloadOnAir : function () {
            prj.mainArea.nowCount = 0;
            $("#recipeBoxIn .nowonair").hide();
            $("#recipeBox").css('width', '528px')
            $("#head_now_dl").hide();
            $("#sideNowonair").hide();

            $(timeTable).each(function(i, item){
                item.start = prj.mainArea.getStart(item);
                item.end = prj.mainArea.getEnd(item);
                var now = prj.getNow();

                // Now On Air
                if (item.start <= now && now < item.end){
                    prj.mainArea.setNowOnAir(item);
                    prj.mainArea.nowCount++;
                }

                // Next On Air
                if (item.start >= now && prj.mainArea.nowCount > 0) {

                    if (prj.mainArea.nowCount == 1) {
                        prj.mainArea.setNext1OnAir(item);
                    } else if (prj.mainArea.nowCount == 2) {
                        prj.mainArea.next2OnAir = item;
                        prj.mainArea.setNext2OnAir(item);
                    }
                    prj.mainArea.nowCount++;
                }
            });

            // ネクストが無い場合
            if (prj.mainArea.nowCount < 2) {
                prj.mainArea.setNext2OnAir();
            } else if (prj.mainArea.nowCount < 3) {
                prj.mainArea.setNext1OnAir();
                prj.mainArea.setNext2OnAir();
            }
        },

        getStart : function (p) {
            var date    = p.play_date.split(" ")[0].split("/");
            var year    = parseInt(date[0]);
            var month   = parseInt((date[1].replace(/^0+/, '').replace(/^$/, '0'))) - 1;
            var day     = parseInt(date[2].replace(/^0+/, '').replace(/^$/, '0'));
            var hour    = parseInt(p.start_time.slice(0, 2).replace(/^0+/, '').replace(/^$/, '0'));
            var min     = parseInt(p.start_time.slice(2, 4).replace(/^0+/, '').replace(/^$/, '0'));
            var sec     = parseInt(p.start_time.slice(4, 6).replace(/^0+/, '').replace(/^$/, '0'));

            var start = new Date(year, month, day, hour, min, sec);

            return start;
        },

        getEnd : function (p) {
            var date    = p.play_date.split(" ")[0].split("/");
            var year    = parseInt(date[0]);
            var month   = parseInt(date[1].replace(/^0+/, '').replace(/^$/, '0')) - 1;
            var day     = parseInt(date[2].replace(/^0+/, '').replace(/^$/, '0'));
            var hour    = parseInt(p.start_time.slice(0, 2).replace(/^0+/, '').replace(/^$/, '0'));
            var min     = parseInt(p.start_time.slice(2, 4).replace(/^0+/, '').replace(/^$/, '0'));
            var sec     = parseInt(p.start_time.slice(4, 6).replace(/^0+/, '').replace(/^$/, '0'));

            var end = new Date(year, month, day, hour, min, sec);

            var tHour   = parseInt(p.total_time.slice(0, 2).replace(/^0+/, '').replace(/^$/, '0'));
            var tMin    = parseInt(p.total_time.slice(2, 4).replace(/^0+/, '').replace(/^$/, '0'));
            var tSec    = parseInt(p.total_time.slice(4, 6).replace(/^0+/, '').replace(/^$/, '0'));
            end.setHours (end.getHours() + tHour);
            end.setMinutes (end.getMinutes() + tMin);
            end.getSeconds (end.getSeconds() + tSec);

            return end;
        },

        setNowOnAir : function (item) {
            if (item != undefined) {
                prj.mainArea.nowOnAir = item;
                var link = "/program/episode.php?prg_cd="
                    + item.prg_cd + "&episode_cd=" + item.episode_cd + "&epg_ver_cd=" + item.epg_ver_cd;
//                // メインエリア
//                $("#mainArea_main_now a").attr("href", link);
//                if ( item.file_url_l != '') {
//                    $("#mainArea_main_now img[ width='708']").attr("src", item.file_url_l);
//                } else {
//                    $("#mainArea_main_now img[ width='708']").attr("src", '/img/index/nowloading02.gif');
//                }
//                $("#mainArea_main_now img[ width='708']").attr("alt", item.file_url_l_alt);
//
//                if ( item.file_url != '') {
//                    $("#mainArea_thumb_now img").attr("src", item.file_url);
//                } else if ( item.file_url_m != '') {
//                    $("#mainArea_thumb_now img").attr("src", item.file_url_m);
//                } else {
//                    $("#mainArea_thumb_now img").attr("src", '/img/index/thumbnail01.gif');
//                }
//                $("#mainArea_thumb_now img").attr("alt", item.file_url_m_alt);

                // ヘッダーメニュ
                $("#head_now a").attr("href" , link);
                if ( item.file_url != '') {
                    $("#head_now img").attr("src", item.file_url);
                } else if ( item.file_url_m != '') {
                    $("#head_now img").attr("src" , item.file_url_m);
                } else {
                    $("#head_now img").attr("src", '/img/programimg/noimg02.gif');
                }
                $("#head_now img").attr("alt" , item.file_url_m_alt);

                $("#head_now .now_comment a").attr("href" , link);
                var cap = "";
                if (item.caption_flg == 1) { cap = "[字]"; }
                $("#head_now .now_comment a").text(item.prg_title + cap + "#" + item.episode_no + item.episode_title);
                $("#programNav dl").show();
                // 右カラム
                $("#sideNowonair #sideNowonairImg a").attr("href"   , link);
                if ( item.file_url != '') {
                    $("#sideNowonair #sideNowonairImg img").attr("src", item.file_url);
                } else if ( item.file_url_m != '') {
                    $("#sideNowonair #sideNowonairImg img").attr("src"  , item.file_url_m);
                } else {
                    $("#sideNowonair #sideNowonairImg img").attr("src", '/img/programimg/noimg01.gif');
                }
                $("#sideNowonair #sideNowonairImg img").attr("alt"  , item.file_url_m_alt);

                $("#sideNowonair").show();
                $("#sideNowonair .mt7.ro").hide();
                $("#recipeBox .nowonair").hide();
                $("#recipeBox").css('width', '')
                if (item.tabelatte_cd){

                    if (item.tabelatte_cd != this.last_tabelatte_cd) {
                        // 多重アクセス防止のためラストID保存
                        this.last_tabelatte_cd = item.tabelatte_cd;

                        $.ajax({
                            type: "GET",
                            url: "/api/tabelatte_proxy.php",
                            data : {
                                "id" : item.tabelatte_cd
                            },
                            dataType: "json",
                            success: function(json) {
                                if (json.status == "OK") {
                                    var item = json.items.response.docs[0];
                                    // 右カラム
                                    $("#sideNowonair .mt7.ro a").attr("href", item.recipe.recipe_uri);
                                    $("#sideNowonair .mt7.ro").show();
                                    // ヘッダータベラッテ
                                    $("#nowonairimg a").attr("href", item.recipe.recipe_uri);
                                    $("#nowonairimg img").attr("src", item.recipe.main_img_ss_name);
                                    $("#nowonairtxt a").attr("href", item.recipe.recipe_uri);
                                    $("#nowonairtxt a").text(item.recipe.recipe_title);
                                    $("#nowonairtxt a").html($("#nowonairtxt a").html()
                                        + '<img width="11" height="9" alt="" src="/img/common/icon01.gif">');
                                    $("#nowonairsubtxt").hide();

                                    if (item.member.fullname != "") {
                                        $("#nowonairsubtxt a").attr("href", item.member.member_url);
                                        $("#nowonairsubtxt a").text(item.member.fullname);
                                        $("#nowonairsubtxt a").html($("#nowonairsubtxt a").html()
                                            + '<img width="11" height="9" alt="" src="/img/common/icon03.gif">');
                                        $("#nowonairsubtxt").show();
                                        $("#recipeBox .nowonair").show();
                                        $("#recipeBox").css('width', '811px')
                                    }
                                }
                            }
                        });
                    } else {
                        $("#sideNowonair .mt7.ro").show();
                        $("#recipeBoxIn .nowonair").show();
                        $("#recipeBox .nowonair").show();
                        $("#recipeBox").css('width', '811px')
                    }
                } else {
                    $("#recipeBoxIn .nowonair").hide();
                    $("#recipeBox").css('width', '528px')
                }
                var s_hour  = ('00' + item.start.getHours()).slice(-2);
                var s_min   = ('00' + item.start.getMinutes()).slice(-2);
                var e_hour  = ('00' + item.end.getHours()).slice(-2);
                var e_min   = ('00' + item.end.getMinutes()).slice(-2);
                $("#sideNowonairTime1").text(s_hour + ":" + s_min + "～" + e_hour + ":" + e_min);
                $("#sideNowonairTitle1 a").attr("href", link);
                $("#sideNowonairTitle1 a").text(item.prg_title + " #" + item.episode_no);
            } else {
                prj.mainArea.nowOnAir = null;
//                $("#mainArea_main_now a").attr("href"   , "###");
//                $("#mainArea_main_now img[ width='708']").attr("src"  , "/img/index/nowloading02.gif");
//                $("#mainArea_main_now img[ width='708']").attr("alt"  , "");
//                $("#mainArea_thumb_now img").attr("src" , "/img/index/thumbnail01.gif");
//                $("#mainArea_thumb_now img").attr("alt" , "");
                $("#programNav dl").hide();
                $("#sideNowonair").hide();
            }
        },

        setNext1OnAir : function (item) {
            if (item != undefined) {
                prj.mainArea.next1OnAir = item;
                var link = "/program/episode.php?prg_cd="
                    + item.prg_cd + "&episode_cd=" + item.episode_cd + "&epg_ver_cd=" + item.epg_ver_cd;
//                $("#mainArea_main_next a").attr("href", link);
//                if ( item.file_url_l != '') {
//                    $("#mainArea_main_next img[ width='708']").attr("src", item.file_url_l);
//                } else {
//                    $("#mainArea_main_next img[ width='708']").attr("src", '/img/index/nowloading02.gif');
//                }
//                $("#mainArea_main_next img[ width='708']").attr("alt", item.file_url_l_alt);
//                if ( item.file_url != '') {
//                    $("#mainArea_thumb_next img").attr("src", item.file_url);
//                } else if ( item.file_url_m != '') {
//                    $("#mainArea_thumb_next img").attr("src", item.file_url_m);
//                } else {
//                    $("#mainArea_thumb_next img").attr("src", '/img/index/thumbnail02.gif');
//                }
//                $("#mainArea_thumb_next img").attr("alt", item.file_url_m_alt);
                // 右カラム
                var s_hour  = ('00' + item.start.getHours()).slice(-2);
                var s_min   = ('00' + item.start.getMinutes()).slice(-2);
                var e_hour  = ('00' + item.end.getHours()).slice(-2);
                var e_min   = ('00' + item.end.getMinutes()).slice(-2);
                $("#sideNowonairTime2").text(s_hour + ":" + s_min + "～" + e_hour + ":" + e_min);
                $("#sideNowonairTitle2 a").attr("href", link);
                $("#sideNowonairTitle2 a").text(item.prg_title + " #" + item.episode_no);
            } else {
                prj.mainArea.next1OnAir = null;
//                $("#mainArea_main_next a").attr("href"      , "#");
//                $("#mainArea_main_next img").attr("src"     , "/img/index/nowloading02.gif");
//                $("#mainArea_main_next img").attr("alt"     , "");
//                $("#mainArea_thumb_next img").attr("src"    , "/img/index/thumbnail02.gif");
//                $("#mainArea_thumb_next img").attr("alt"    , "");
            }
        },

        setNext2OnAir : function (item) {
            if (item != undefined) {
                prj.mainArea.next2OnAir = item;
                var link = "/program/episode.php?prg_cd="
                    + item.prg_cd + "&episode_cd=" + item.episode_cd + "&epg_ver_cd=" + item.epg_ver_cd;
                // 右カラム
                var s_hour  = ('00' + item.start.getHours()).slice(-2);
                var s_min   = ('00' + item.start.getMinutes()).slice(-2);
                var e_hour  = ('00' + item.end.getHours()).slice(-2);
                var e_min   = ('00' + item.end.getMinutes()).slice(-2);
                $("#sideNowonairTime3").text(s_hour + ":" + s_min + "～" + e_hour + ":" + e_min);
                $("#sideNowonairTitle3 a").attr("href", link);
                $("#sideNowonairTitle3 a").text(item.prg_title + " #" + item.episode_no);
            } else {
                prj.mainArea.next2OnAir = null;
            }
        }

    },

    getNow : function () {
        var now = this.getCookie(pname);
        if (now == "") {
            return new Date();
        } else {
            var date = now.split("-");
            return new Date(date[0], date[1]-1, date[2], date[3], date[4], 0);
        }
    },

    getCookie : function (key){
        var tmp = document.cookie + ";";
        var index1 = tmp.indexOf(key, 0);
        if(index1 != -1){
            tmp = tmp.substring(index1, tmp.length);
            var index2 = tmp.indexOf("=",0) + 1;
            var index3 = tmp.indexOf(";",index2);
            return(unescape(tmp.substring(index2, index3)));
        }
        return("");
    }
};

function initPickupBox(){
	var currentNum = pickupCurrentNum;
    var $pickupProgram  = $('#pickupProgram');
    var $pickupNavArrow  = $('#pickupNavArrow');
    $pickupProgram.find('.nav a').live('click',function(){
        //内容物変更
        var Num = $(this).parent().index()+1;
        var deleteTargetId = "#programList"+currentNum;
        var $deleteTarget = $(deleteTargetId);
        var addTargetId = "#programList"+Num;
        var $addTarget = $(addTargetId);

        var tempH = $pickupProgram.height();
        $pickupProgram.css('height',tempH);
        $deleteTarget.addClass("dispNon");
        $addTarget.removeClass("dispNon");
        $pickupProgram.css('height','auto');

        //矢印移動
        var targetY = (Num-1)*87+37;
        $pickupNavArrow.css('left',targetY);

        //ボタン画像変更
        var targetIndex = Number(currentNum-1);
        var $curentNav = $(this).parent().parent().find('li:eq('+targetIndex+')');
        var targetImg = $curentNav.find('img').attr('src').replace("_on","");
        $curentNav.find('img').attr("src",targetImg);
        targetHtml = '<a href="javascript:void(0);">'+$curentNav.html()+'</a>';
        $curentNav.empty().append(targetHtml);
        initTempRollOverImages($curentNav.find('img'));

        var miniHtml = $(this).parent().html().replace('<a href="javascript:void(0);">','').replace('</a>','');
        $(this).parent().empty().append(miniHtml);

        currentNum = Num;
        return false;
    });
}

function initTempRollOverImages(targetImg) {
    var image_cache = new Object();
    var $targetImg = targetImg;
    $targetImg.not("[src*='_on.']").each(function(i) {
        var imgsrc = this.src;
        var dot = this.src.lastIndexOf('.');
        var imgsrc_on = this.src.substr(0, dot) + '_on' + this.src.substr(dot, 4);
        image_cache[this.src] = new Image();
        image_cache[this.src].src = imgsrc_on;
        $(this).hover(
            function() { this.src = imgsrc_on; },
            function() { this.src = imgsrc; }
        );
    });
}


/*function initSideRanking() {
    var $sideRankingNav = $('#sideRanking .nav');
    var $rankinBtn1 = $('#rankinBtn1');
    var $rankinBtn2 = $('#rankinBtn2');
    var $sideRankingFoodies = $('#sideRankingFoodies');
    var $sideRankingTabelatte = $('#sideRankingTabelatte');
    var $rankingarrow1 = $('#rankingarrow1');
    var $rankingarrow2 = $('#rankingarrow2');

    $rankinBtn1.live('click',function(){
        $sideRankingFoodies.removeClass('dispNon');
        $sideRankingTabelatte.addClass('dispNon');
        $rankingarrow1.removeClass('dispNon');
        $rankingarrow2.addClass('dispNon');
        var miniHtml = $(this).html().replace('<a href="javascript:void(0);">','').replace('</a>','');
        $(this).empty().append(miniHtml);
        var miniHtml2 = '<a href="javascript:void(0);">'+$rankinBtn2.html().replace('_on','')+'</a>';
        $rankinBtn2.empty().append(miniHtml2);
        initTempRollOverImages($rankinBtn2.find('img'));
    });

    $rankinBtn2.live('click',function(){
        $sideRankingFoodies.addClass('dispNon');
        $sideRankingTabelatte.removeClass('dispNon');
        $rankingarrow1.addClass('dispNon');
        $rankingarrow2.removeClass('dispNon');
        var miniHtml = $(this).html().replace('<a href="javascript:void(0);">','').replace('</a>','');
        $(this).empty().append(miniHtml);
        var miniHtml2 = '<a href="javascript:void(0);">'+$rankinBtn1.html().replace('_on','')+'</a>';
        $rankinBtn1.empty().append(miniHtml2);
        initTempRollOverImages($rankinBtn1.find('img'));
    });
}*/


function loadXML(url){
    $.ajax({
        type: "GET",
        url: url,
        dataType: "xml",
        success: function(xml) { parseXml(xml); }
    });
}
function parseXml(xml){
    $(xml).find("entry").each(function(){
        var iconUrl = $(this).find('link:eq(1)').attr('href');
        var userUrl = $(this).find('author uri').text();
        var userName = userUrl.replace('http://twitter.com/','');
        var contentTxt = $(this).find('content').text().replace('<b>','').replace('</b>','');
        var dateTxt = castDate($(this).find('published').text());

        var $twitterContents = $('#twitterContents')
        $twitterContents.append('<li>'+
                                '<p class="icon"><a href="'+userUrl+'" target="_blank"><img src="'+iconUrl+'" alt="" width="24" height="24" /></a></p>'+
                                '<div class="tweet">'+
                                '<p class="name"><a href="'+userUrl+'" target="_blank">'+userName+'</a></p>'+
                                '<p class="txt">'+contentTxt+'</p>'+
                                '<p class="date">'+dateTxt+'</p>'+
                                '</div>'+
                                '</li>');
    });

    function castDate($str){
        var d1 =$str.substring(0,4);
        var d2 =$str.substring(5,7);
        var d3 =$str.substring(8,10);
        var t1 =$str.substring(11,13);
        var t2 =$str.substring(14,16);
        var t3 =$str.substring(17,19);
        var d = new Date(d1,d2,d3,t1,t2,t3);
        d.setTime(d.getTime() + 540 * 60 * 1000) ;
        d1 = d.getFullYear();
        d2 = d.getMonth();
        d3 = d.getDate();
        t1 = d.getHours();
        t2 = d.getMinutes();
        t3 = d.getSeconds();
        if(d2 == 0){
            d2 = 12;
        }
        if(t2 < 10){
            t2 = "0"+t2;
        }
        var castedDate = d1+"."+d2+"."+d3+" "+t1+":"+t2;
        return(castedDate);
    }
}

function initHeadBg(time){
    if(time <= 3){
        $('body').css('background-image','url("/img/index/bg05.png")');
        $('#header').css('background-image','url("/img/index/bgimg03.png")');
    }else if(time > 3 && time <= 9){
        $('body').css('background-image','url("/img/index/bg04.png")');
        $('#header').css('background-image','url("/img/index/bgimg02.png")');
    }else if(time > 9 && time <= 15){
        $('body').css('background-image','none');
        $('#header').css('background-image','none');
    }else if(time > 15 && time <= 18){
        $('body').css('background-image','url("/img/index/bg03.png")');
        $('#header').css('background-image','url("/img/index/bgimg01.png")');
    }else if(time > 18){
        $('body').css('background-image','url("/img/index/bg05.png")');
        $('#header').css('background-image','url("/img/index/bgimg03.png")');
    }

}





