$(function(){
    var isiPad = navigator.userAgent.match(/iPad/i) != null;

    $('#topHeaderInfoNews').innerfade({  animationtype: 'fade', speed: 900, timeout: 5000, containerheight: '1em' });
    
    var dataContainer = "topAnimationDataContainer";
    // 初回のみ。
    function initPanel(){
        var panels = [];

        for(var iii = 0; iii < 3; iii++){
            
            panels = $("#" + dataContainer + " > div:eq(" + iii + ") > div");
            $("#topContentsColumnI" + (iii + 1) + " > div > div.topAnimationScrollHook").css({"height": panels.length * 111 + "px"});
            for(var i = 0; i < panels.length; i++){
                var p = $(panels[i]).clone(); // short hand
                $("#topContentsColumnI" + (iii + 1) + " > div > div.topAnimationScrollHook").append(p);
                var topPerPanel = 111 * i;
                var initialLeft = 300;
                var targetLeft = 0;
                var top  = topPerPanel + 5; // 最初のパネルのマージン
                p.css({"position": "absolute", "left": initialLeft + "px", "top": top + "px"});
                p.delay(70 * i).fadeIn();
                p.animate({"left": targetLeft + "px"}, 500, "easeOutExpo", function(){
                    var h3elm =  $("h3", $(this));
                    if(h3elm.height() > 16){ // 14みたいだけどブラウザで差異があると嫌なので。
//                        console.log(p.css("background-image"));
                        $(this).css({"background-image": "url(/images/topPanel_renew-video2.jpg)"});
//                        console.log(p.css("background-image"));
                    }
                });
            }
            
        }

        if(isiPad){
            $(".topAnimationScrollAnchor, .topAnimationScrollHook").css({ position: "absolute", width: "300px" });
            $(".topAnimationScrollAnchor").css(                 { overflow: "hidden", height: "400px" });
//            $(".topAnimationScrollAnchor").css(                 { border: "green solid 1px" });
//            $(".topAnimationScrollHook ").css(                  { border: "red solid 1px" });

            $("#topArrowButton a").click(function(){
                var idNum = $(this).parent().attr("id").replace("topArrowButton", "");
                var order = $(this).attr("class");
//                var banme = ":eq(" + (idNum - 1 ) + ")";
//                var target = $("#topContentsColumnFrameI > div.topContentsColumn > div.scroll-pane > div.topAnimationScrollAnchor > div.topAnimationScrollHook" + banme);
                var target = $("#topAnimationScrollHook" + idNum); // 高速化のためidを振った
                var targetTop  = parseInt(target.attr("currentTop"));
                if(isNaN(targetTop)){
                    targetTop = 0;
                }
                targetTop = ~~targetTop;
                if(order == "next"){
                    targetTop -= 300;
                } else {
                    targetTop += 300;
                }
                if(targetTop > 0){
                    targetTop = 0;
                }
//                var byougaRyoiki = parseInt($(".topAnimationScrollAnchor").css("height"));
                var byougaRyoiki = 400;
                var targetHeight = target.height();
                var kadouRyoiki  = targetHeight - byougaRyoiki;
                if(kadouRyoiki < 0){
                    kadouRyoiki = 0;
                }
                kadouRyoiki =  kadouRyoiki * -1;
                if(targetTop < kadouRyoiki){
                    targetTop = kadouRyoiki;
                }
                target.attr("currentTop", targetTop);
                target.clearQueue();
                target.stop();
                target.animate({"top": targetTop + "px"}, 500, "easeOutExpo");
                return false;


            });
            $("#topArrowButton.ipadScrollPanel").show();

        } else {

            $('#topContentsColumnI1').jScrollPane({ scrollbarWidth:13, enableKeyboardNavigation: false });
            $('#topContentsColumnI2').jScrollPane({ scrollbarWidth:13, enableKeyboardNavigation: false });
            $('#topContentsColumnI3').jScrollPane({ scrollbarWidth:13, enableKeyboardNavigation: false });

        }

    }
    initPanel();
    
    function dlog(msg){
//          console.log(msg);
    }
/*
      function togglePanels(){

          var idNum = $(this).attr("id").slice(-1); // 押されたカラムの番号(team :1, service: 2, special: 3) が入ります。
          var idNameButton = "#topContentsSortMenu" + idNum; // 押されたカラムの

          // すでに押されているボタンが押された
          if($(idNameButton).css("background-image").match(/Selected.jpg/)){
              hidePanels(idNum);
          } else {
              var others = $("#topContentsSortMenu > ul > li").not(idNameButton);
              for(var i =0; i< others.length; i++){
                  // 他に押されているボタンがある
 
                  if($(others[i]).attr("randomclass") != undefined){
                      var hideId = $(others[i]).attr("id").slice(-1);
                      var r = $(others[i]).attr("randomclass"); // ;(

                      $("." + r).fadeOut();
//                      hidePanels(hideId);

                      $(others[i]).css("background-image", $(others[i]).css("background-image").replace("Selected.jpg", ".jpg"));
//                      $("#fullScreenDivBoxContainer").fadeOut();
//                      $(".jScrollPaneTrack").fadeIn();
//                      $("#topContentsColumnFrameI > div.topContentsColumn").fadeIn();

                  }

              }
              showPanels(idNum);
          }
          return false;
          
      }

  $("#topContentsSortMenu > ul > li").click(togglePanels);

  function hidePanels(idNum, removeClass){
    if(isiPad){
        $("#topArrowButton.ipadScrollPanel").show();
    }
      var idNameButton = "#topContentsSortMenu" + idNum; // 押されたカラムの
      $(idNameButton).css("background-image", $(idNameButton).css("background-image").replace("Selected.jpg", ".jpg"));
      $("#fullScreenDivBoxContainer").fadeOut();
      $(".jScrollPaneTrack").fadeIn();
      $("#topContentsColumnFrameI > div.topContentsColumn").fadeIn();
      
      var r = $(idNameButton).attr("randomclass"); // ;(
      $("." + r).fadeOut();
  }
*/
  function showPanels(idNum){
    if(isiPad){
        $("#topArrowButton.ipadScrollPanel").hide();
    }

      var a = Math.random() * 1000000; // not good impl but time is bit.
      a = ~~a;
      var randomClassName = "random" + a;
      dlog(randomClassName);
     

    var idNameButton = "#topContentsSortMenu" + idNum; // 押されたカラムの番号
    $(idNameButton).attr("randomclass", randomClassName); // ;(

    $(idNameButton).css("background-image", $(idNameButton).css("background-image").replace(".jpg", "Selected.jpg"));
    $(".jScrollPaneTrack").fadeOut();
//    $("#topContentsColumnFrameI > div.topContentsColumn").not("#topContentsColumn" + idNum).hide();
    $("#topContentsColumnFrameI > div.topContentsColumn").fadeOut(); // いったん全部消す。
    $("#topContentsColumnFrame").css({"background-image": "url(/images/topPanel_selectedBgMain.jpg)"});

    // ボタンと下のブロックを繋げる
    $("#topContentsSortMenu").css({"background-image": "url(/images/topPanel_selectedBgTop.jpg)"});

    $("#fullScreenDivBoxContainer").remove();
    $("#topContentsColumnFrameI").append("<div id='fullScreenDivBoxContainer' style='display: none; position: absolute; overflow-x: hidden; overflow-y: auto; width: 960px; height: 454px;'></div>");
    $("#fullScreenDivBoxContainer").delay(800).fadeIn(); // adhoc timer.

    var panelClass = "topAnimationPanel";
    if(idNum == 1){
        panelClass += "Team";

    } else if(idNum == 2){
        panelClass += "Service";
    } else if(idNum == 3){
        panelClass += "Special";
    }
    dlog(panelClass);
    var panels = $("#" + dataContainer + " > div:eq(" + (idNum - 1) + ") > div");
//    var panels = $("#topAnimationDataContainer > div." + panelClass);

    var maxlen = panels.length;
    if(panels.length > 12){
        maxlen = 12;
    }
    maxlen = panels.length;

    for( var i = 0; i < maxlen; i++){
        
        var p = $(panels[i]).clone(); // short hand
        var col  = parseInt(i / 4) % 3;
        var row  = i % 4;
        var topPerPanel = 111 * row;
        var top  = topPerPanel + 5; // 最初のパネルのマージン
        top += ( parseInt(i / 12) * 450 );
        //$("#fullScreenDivBoxContainerInner").height(top);
        var initialLeft = ( 320 * col ) + 300;
        var targetLeft  = ( 320 * col );
        p.addClass(randomClassName);
        p.show();
        p.css({"opacity": 0, "position": "absolute", "left": initialLeft + "px", "top": top + "px"});
//        p.css({"position": "absolute", "left": initialLeft + "px", "top": top + "px"});
//        $("#fullScreenDivBoxContainerInner").append(p);
        $("#fullScreenDivBoxContainer").append(p);
        p.delay(70 * i).fadeIn();
//        $(".fullScreenDivBoxContainerInner").height(top + 120);

        if( i + 1 == maxlen){
            p.animate({"opacity": 1, "left": targetLeft + "px"}, 500, "easeOutExpo", function(){
                      });
            
        } else {
            p.animate({"opacity": 1, "left": targetLeft + "px"}, 500, "easeOutExpo");
        }
        
    }


    return false;    
  }


/*
    $("div.topPanelCommon").live("click", function(){
        if($(this).is(".panelNewsRelease")){
            //alert("news");
        } else {
            var url = $("h3 > a", $(this)).attr("href");
            location.href = url;
        }
    });
*/
//    $("#topContentsColumnFrameI > div.topContentsColumn > div.scroll-pane > div.topAnimationScrollAnchor > div.topAnimationScrollHook > div.topPanelCommon").live("click", panelClick);

    $("div.topPanelCommon").not(".panelNewsRelease").css("cursor", "pointer");
    $("#topAnimationScrollHook1 > div.topPanelCommon").live("click", panelClick);
    $("#topAnimationScrollHook2 > div.topPanelCommon").live("click", panelClick);
    $("#topAnimationScrollHook3 > div.topPanelCommon").live("click", panelClick);
    $("#fullScreenDivBoxContainer > div.topPanelCommon").live("click", panelClick);
    function panelClick(){
        if($(this).is(".panelNewsRelease")){
            //alert("news");
        } else {
            var url = $("h3 > a", $(this)).attr("href");
            location.href = url;
        }
    }



});


