

// youTube Tune Player

// Tune Player- thrashed together by Chad Chadwick with the help of the work of many 
//  great and talented people @ youTube -- http://code.google.com/apis/youtube/.

//  Mess with the stuff below at your own risk

var track = 0
var errorStatus = false
var errorTracker = 0
var paused = false

function onYouTubePlayerReady(playerId) {               // Sets page reference to player object & adds event listeners
ytplayer = document.getElementById("myytplayer");
ytplayer.addEventListener("onStateChange", "onytplayerStateChange");
ytplayer.addEventListener("onError", "onPlayerError")
}

function onPlayerError(errorCode) {                     // Captures player errors
errorTracker = errorCode
}

function onytplayerStateChange(newState) {            // Captures video end event and choosess selected video or next video on pay list
if(newState==1){
errorTracker = 0
}else if(newState==2){
if(paused==false){
if(errorTracker!=0){
errorTracker = 0
next()
}
}
}else if(newState==0||newState==5){
track=track+1
if(track==tunes.length){
track=0
}
clearIt()
loadVideo()
}
}

function loadVideo(){                                     // Loads the next video, displays its title on page and plays video  '
if (ytplayer) {
ytplayer.loadVideoById(tunes[track],0)
document.getElementById("playing").innerHTML=titles[track] + '<br>&#9836;'   
}
}

function play() {                                     // Plays currently loaded video
if (ytplayer) {
paused = false
ytplayer.playVideo()
}
}

function pause() {                               // Pauses current video
if (ytplayer) {
paused = true
ytplayer.pauseVideo()
}
}

function stop() {                               // Stops current video which invokes onytplayerStateChange
if (ytplayer) {
paused = false
ytplayer.stopVideo()
}
}

function clearIt() {                           // Clears current video from player before loading another one
if (ytplayer) {
ytplayer.clearVideo();
}
}
				

function playMe(tune){                    // Plays tune selected from play list
track = tune
selected = true
stop()
}

function next(){                          // Plays next tune in play list
stop()                
}
                                 
function link(){                           // Captures tune youTube link
window.alert("http://www.youtube.com/watch?v="+tunes[track])
}



// Set vertical starting position of Jukebox:

var base = 200


// Three variables for jukebox moving system
var locus = 200                              
var shift
var target

// Jukebox motion detector
function detector(){                                                     
target = locus
if(navigator.appName=="Microsoft Internet Explorer"){
shift = document.body.scrollTop
}else{
shift = window.scrollY
}
if(target!=parseInt(base+shift)){
creeper()
}
locus = target
setTimeout("detector()",10)
}

// Jukebox mover
function creeper(){                                                            
if(navigator.appName=="Microsoft Internet Explorer"){
shift = document.body.scrollTop
}else{
shift = window.scrollY
}
var dif = parseInt(base+shift)
if(dif>target){
target = target +1
}else{
target = target -1
}
document.getElementById("audio").style.top = target + "px"
if(Math.floor(target)==Math.floor(dif)){
setTimeout("creeper()",10)
}
}

// Tune finding utility
function seeker(){
var check = ''
var phrase = document.getElementById("seek").value
if(phrase!=''){
phrase = phrase.toLowerCase()
// temp = track
for(i=0;i<titles.length;i++){
check = titles[i].toLowerCase()
if(check.indexOf(phrase)!=-1){
track = i - 1
next()
// track = temp
check = ''
break
}
}
if(check!=''){
window.alert("So sorry, your phrase was not found.")
}
document.getElementById("seek").focus()
}
}

// Key entry detector
function getKey(e){
if(navigator.userAgent.indexOf('Mac') == -1){
var unicode=e.keyCode? e.keyCode : e.charCode
}
if(unicode==13){
//document.getElementById('fetchit').click()
seeker()
}
}