// js for youtube API
/*
   function updateHTML(elmId, value) {
          document.getElementById(elmId).innerHTML = value;
        }

        function setytplayerState(newState) {
         if(newState == 1) alert(newState);
          //updateHTML("playerstate", newState);
        }
 */
        function onYouTubePlayerReady(playerId) {

          ytplayer = document.getElementById("myytplayer");
          //setInterval(updateytplayerInfo, 250);
          //updateytplayerInfo();
          ytplayer.addEventListener("onStateChange", "onytplayerStateChange");
          ytplayer.addEventListener("onError", "onPlayerError");
        }

        function onPlayerError(errorCode) {
          alert("An error occured: " + errorCode);
        }

        function onytplayerStateChange(newState) {
          setInterval(setytplayerState, 250)
          setytplayerState(newState);
          if(newState == 1){
            ajax_search();
          }
        }

        function moveCount(movieId)
        {
          new Ajax.Request('/movie/reportPlayStart/movieId/'+movieId, {
            method : 'get'
          } );

        }
/*
        function updateytplayerInfo() {

          //updateHTML("bytesloaded", getBytesLoaded());
          //updateHTML("bytestotal", getBytesTotal());
          //updateHTML("videoduration", getDuration());
          //updateHTML("videotime", getCurrentTime());
          //updateHTML("startbytes", getStartBytes());
          //updateHTML("volume", getVolume());
        }

        // functions for the api calls
        function loadNewVideo(id, startSeconds) {
          if (ytplayer) {
            ytplayer.loadVideoById(id, parseInt(startSeconds));
          }
        }

        function cueNewVideo(id, startSeconds) {
          if (ytplayer) {
            ytplayer.cueVideoById(id, startSeconds);
          }
        }

        function play() {
          if (ytplayer) {
            ytplayer.playVideo();
          }
        }

        function pause() {
          if (ytplayer) {
            ytplayer.pauseVideo();
          }
        }

        function stop() {
          if (ytplayer) {
            ytplayer.stopVideo();
          }
        }

        function getPlayerState() {
          if (ytplayer) {
            return ytplayer.getPlayerState();
          }
        }

        function seekTo(seconds) {
          if (ytplayer) {
            ytplayer.seekTo(seconds, true);
          }
        }

        function getBytesLoaded() {
          if (ytplayer) {
            return ytplayer.getVideoBytesLoaded();
          }
        }

        function getBytesTotal() {
          if (ytplayer) {
            return ytplayer.getVideoBytesTotal();
          }
        }
*/
        function getCurrentTime() {
          if (ytplayer) {
            return ytplayer.getCurrentTime();
          }
        }
/*
        function getDuration() {
          if (ytplayer) {
            return ytplayer.getDuration();
          }
        }

        function getStartBytes() {
          if (ytplayer) {
            return ytplayer.getVideoStartBytes();
          }
        }

        function mute() {
          if (ytplayer) {
            ytplayer.mute();
          }
        }

        function unMute() {
          if (ytplayer) {
            ytplayer.unMute();
          }
        }

        function getEmbedCode() {
          alert(ytplayer.getVideoEmbedCode());
        }

        function getVideoUrl() {
          alert(ytplayer.getVideoUrl());
        }

        function setVolume(newVolume) {
          if (ytplayer) {
            ytplayer.setVolume(newVolume);
          }
        }

        function getVolume() {
          if (ytplayer) {
            return ytplayer.getVolume();
          }
        }

        function clearVideo() {
          if (ytplayer) {
            ytplayer.clearVideo();
          }
        }
*/

        function ajax_search(){
           ytplayer = document.getElementById("myytplayer");
           var videoUrl = ytplayer.getVideoUrl();
           var parameters   = getParameter(videoUrl);;
           var videoCode    = parameters["v"];
           var fromUrl      = location.pathname;
           var data = "";
           new Ajax.Updater(
           '',
           '/movie/info',
           {
             'method':'post',
             'parameters':'videoCode='+videoCode + '&fromUrl='+fromUrl,
                onSuccess: function(request) {
                //成功時の処理を記述
                var json;
                eval("json="+request.responseText);
                var favorite_text;
                var title_detail;
                var campaign_image;
                var missEntry;
                var voteMiss;
                var mTitleCssElement = document.getElementById("mTitleCss");
                var res ="";
                var newEntry ="";
                var twitter  ="";
                var comment_logoff = "";
                var comment_login = "";

                //エラー処理
                if(json["error"]){
                      location.href = json["url"];
                }
/*
                if(json["campaign_flag"]){
                    campaign_image = "<img src='/common/images/icon_misssubject.gif' alt='コンテスト対象動画' width='120' height='18' style='margin-left:10px;' />";
                    mTitleCssElement.className = "movieTitle missTitle ";
                    missEntry = "<a href='/movieList/show/tag/%E3%83%9F%E3%82%B9%E3%83%80%E3%82%A4%E3%82%AC%E3%82%AFTV/cp_id/1/' border='0'><img src='/common/images/btn_miss_entrylist.jpg' alt='エントリー動画一覧に戻る' width='206' height='44' /></a>";
                    voteMiss  = "<a href='#' onclick=\"new Ajax.Updater('res', '/index.php/movie/campaign/cp_id/1/movie/" +videoCode +"/ip/"+json["ip"]+"', {asynchronous:true, evalScripts:false, onComplete:function(request, json){Element.hide('campaign_vote')}}); return false;\"><img src='/common/images/btn_miss_vote.gif' alt='このコを応援！' width='146' height='32' style='margin-bottom:10px;' /></a>";
                    newEntry  = "<a href='/regist'><img src='/common/images/ban_newentry.gif'></a>";
                    twitter   = "<a target='_blank' href='http://twitter.com/home?status=%e3%82%aa%e3%82%b9%e3%82%b9%e3%83%a1%e3%81%ae%e8%a6%8b%e8%bf%94%e3%82%8a%e7%be%8e%e4%ba%ba http://"+json["server_name"] +"/movie/play/cp_id/1/id/"+videoCode+" %23mikaeribijin %23daigakutv' border='0'><img src='/common/images/twitter.gif' alt='この動画をtweetする' width='46' height='46' /></a>";
                }else{
                     if(json["from_cp_movie"]){
                       location.href=json["url"];
                     }
                    twitter   = "<a target='_blank' href='http://twitter.com/home?status=%e3%82%aa%e3%82%b9%e3%82%b9%e3%83%a1%e5%8b%95%e7%94%bb http://" + json["server_name"] + "/movie/play/cp_id/1/id/"+videoCode + " %23daigakutv ' border='0'><img src='/common/images/twitter.gif' alt='この動画をtweetする' width='46' height='46' /></a>";
                }
*/
                if(json["from_cp_movie"]){
                  //再生されたファイルとサムネイルの動画IDが違う場合はリダイレクト
                  location.href=json["url"];
                }

                if(json["userId"] !=""){
                  $('comment_id').value = videoCode;
                  if(json["isFavorite"]){
                    favorite_text = "<img  style='width: 160px; height: 18px;' alt='お気に入り動画に追加' src='/common/images/btn_addFavoriteMovie.gif' width='160' height='18'>";
                  }else{
                    favorite_text = "<a id='favoriteButton' style='padding-left: 10px;' href='#' onclick=\"new Ajax.Request('/index.php/favorite/addMovie/movie/"+parameters["v"]+ "', {asynchronous:true, evalScripts:false, onComplete:function(request, json){hideFavoriteButton(request, json);}}); return false;\"><img src='/common/images/btn_addFavorite.gif' alt='Btn_addFavorite'></a>";
                  }
                }else{//ログインしていない
                  comment_logoff = "<input type=text size=45><a href='/login/index?returnUrl=" +json["url"] +"?movie="+videoCode+"'><img src='/common/images/btn_addComment.gif'></a>";
                  Element.update('comment_logoff',comment_logoff);
                  favorite_text = "<a href='/login/index?returnUrl=" +json["url"] +"?movie="+videoCode+"'><img src='/common/images/btn_addFavorite.gif'></a>";
                }

                showComments(videoCode);
                Element.update('mTitle',json["title"]);
                Element.update('author',json["author"]);
                Element.update('createdAt',json["createdAt"]);
                Element.update('link',json["link"]);
                Element.update('description',json["description"]);
                Element.update('favorite',favorite_text);
                Element.update('campaign_image',campaign_image);
                Element.update('missEntry',missEntry);
                Element.update('voteMiss',voteMiss);
                Element.update('res',res);
                Element.update('newEntry',newEntry);
                Element.update('twitter',twitter);
            }
           });
       }

       function getParameter(str){
         var dec = decodeURIComponent;
         var par = new Array, itm;
         if(typeof(str) == 'undefined') return par;
         if(str.indexOf('?', 0) > -1) str = str.split('?')[1];
         str = str.split('&');
         for(var i = 0; str.length > i; i++){
           itm = str[i].split("=");
           if(itm[0] != ''){
             par[itm[0]] = typeof(itm[1]) == 'undefined' ? true : dec(itm[1]);
           }
         }
         return par;
}

