
//########################################
//####  YouTube
//########################################

function onYouTubePlayerAPIReady(p) {productYouTube.load();}

var productYouTube = {
  apiLoaded: false,
  player:null,
  frame: null,
  videoID: null,
  placeholder: null,
  videoWidth:770,
  videoHeight:433,
  videoQuality: 'hd720',
  pausetimer: null,
  
 init:function(videoID) {
   this.videoID = videoID;
   if (this.apiLoaded == false) {
     var tag = document.createElement('script');
     tag.src = "http://www.youtube.com/player_api";
     var firstScriptTag = document.getElementsByTagName('script')[0];
     firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
     this.placeholder = document.getElementById('product_info');
     this.apiLoaded = true;          
   }else{
     this.placeholder = document.getElementById('product_info');
     this.load();
   }
 },

 load:function() {
   this.player = new YT.Player('utplayer', 
       {
         playerVars: {'autohide': 1, 'controls': 1, 'showinfo': 0, 'modestbranding': 1, 'wmode': 'Opaque', 'rel':0, 'origin': 'bestmusicshop.com.au'},              
         width: this.videoWidth,
         height: this.videoHeight,
         videoId: this.videoID,
         frameBorder: 0,
         events: {
            'onReady': productYouTube.onPlayerReady,
            'onStateChange': productYouTube.onPlayerStateChange,
            'onPlaybackQualityChange': productYouTube.onPlaybackQualityChange
         }
       });
  },
    
  onPlayerReady: function(event) { event.target.setPlaybackQuality(productYouTube.videoQuality); }, 
  
  onPlayerStateChange: function(event) {
   if (event.data == 0) clearTimeout(this.pausetimer);
   if (event.data == 1) productYouTube.pauseAtTime(56);   
   if (event.data == 2) clearTimeout(this.pausetimer);  
  }, 
 
  onPlaybackQualityChange: function(event) {
    var q = event.data;
    if (q != productYouTube.videoQuality) event.target.setPlaybackQuality(productYouTube.videoQuality);            
  },

  pauseAtTime: function(seconds) { 
    var t = productYouTube.player.getCurrentTime();
    if (t>seconds) {
      productYouTube.player.pauseVideo();
      clearTimeout(productYouTube.pausetimer);
    }else{
      this.pausetimer = setTimeout('productYouTube.pauseAtTime('+seconds+')',((seconds-t)*1000));
    }    
  }
   
}

