//------------------------------------
// MAIN VARIABLES
//------------------------------------

var onytplayerStateChange = new Object;
var onytplayerError = new Object;

//------------------------------------
// UTILITY METHODS
//------------------------------------

function getObject(playerId)
{
	return document.getElementById(playerId);
}

//------------------------------------
// SPECIAL YOUTUBE EVENT METHODS
//------------------------------------

function onYouTubePlayerReady(playerId) {	
	var obj = getObject(playerId);
	onytplayerStateChange[playerId] = function(newState){
		obj.onYTStateChange(newState);
		//alert(obj.id);
		};
	onytplayerError[playerId] = function(code){
		obj.onYTError(code);
		//alert(obj.id);
		};
	//alert(obj.id);
	if (obj) {			
		obj.addEventListener("onStateChange", "onytplayerStateChange." + playerId);
		obj.addEventListener("onError", "onytplayerError." + playerId);
		obj.onYTReady();
	}
}

//------------------------------------
// YOUTUBE METHODS
//------------------------------------

function loadVideoById(id, startSeconds, playerId) {
	// alert("youTubeLoader.js : loadVideoById");
	var obj = getObject(playerId);
	if (obj) {
		obj.loadVideoById(id,startSeconds);
	}
}

function cueVideoById(id, startSeconds, playerId) {
	// alert("youTubeLoader.js : loadVideoById");
	//alert(playerId);
	var obj = getObject(playerId);
	if (obj) {
		obj.cueVideoById(id, startSeconds);
	}
}

function clearVideo(playerId) {
	// alert("youTubeLoader.js : clearVideo");
	var obj = getObject(playerId);
	if (obj) {
		obj.clearVideo();
	}
}

function setSize(w, h, playerId) {
	// alert("youTubeLoader.js : setSize");
	var obj = getObject(playerId);
	if (obj) {
		obj.setSize(w, h);
	}
}

function playVideo(playerId) {
	// alert("youTubeLoader.js : play");
	var obj = getObject(playerId);
	if (obj) {
		obj.playVideo();
	}
}

function pauseVideo(playerId) {
	// alert("youTubeLoader.js : pause");
	var obj = getObject(playerId);
	if (obj) {
		obj.pauseVideo();
	}
}

function stopVideo(playerId) {
	// alert("youTubeLoader.js : stop");
	var obj = getObject(playerId);
	if (obj) {
		obj.stopVideo();
	}
}

function seekTo(seconds, playerId) {
  	// alert("youTubeLoader.js : seekTo");
	var obj = getObject(playerId);
	if (obj) {
		obj.seekTo(seconds, true);
	}
}

function getPlayerState(playerId) {
	// alert("youTubeLoader.js : getPlayerState");
	var obj = getObject(playerId);
	if (obj) {
		return obj.getPlayerState();
	}
}

function getBytesLoaded(playerId) {
  	// alert("youTubeLoader.js : getBytesLoaded");
	var obj = getObject(playerId);
	if (obj) {
		return obj.getVideoBytesLoaded();
	}
}

function getBytesTotal(playerId) {
  	// alert("youTubeLoader.js : getBytesTotal");
	var obj = getObject(playerId);
	if (obj) {
		return obj.getVideoBytesTotal();
	}
}

function getCurrentTime(playerId) {
  	// alert("youTubeLoader.js : getCurrentTime");
	var obj = getObject(playerId);
	if (obj) {
    	return obj.getCurrentTime();
	}
}

function getDuration(playerId) {
  	// alert("youTubeLoader.js : getDuration");
	var obj = getObject(playerId);
	if (obj) {
		return obj.getDuration();
	}
}

function getVideoStartBytes(playerId) {
	// alert("youTubeLoader.js : getStartBytes");
	var obj = getObject(playerId);
	if (obj) {
		return obj.getVideoStartBytes();
	}
}

function setVolume(newVolume, playerId) {
	// alert("youTubeLoader.js : setVolume");
	var obj = getObject(playerId);
	if (obj) {
		obj.setVolume(newVolume);
	}
}

function getVolume(playerId) {
	// alert("youTubeLoader.js : setVolume");
	var obj = getObject(playerId);
	if (obj) {
		return obj.getVolume();
	}
}

function mute(playerId) {
	// alert("youTubeLoader.js : mute");
	var obj = getObject(playerId);
	if (obj) {
		obj.mute();
	}
}

function unMute(playerId) {
	// alert("youTubeLoader.js : unMute");
	var obj = getObject(playerId);
	if (obj) {
		obj.unMute();
	}
}

function getEmbedCode(playerId) {
	// alert("youTubeLoader.js : getEmbedCode");
	var obj = getObject(playerId);
	if (obj) {
  		return obj.getVideoEmbedCode();
	}
}

function getVideoUrl(playerId) {
	// alert("youTubeLoader.js : getVideoUrl");
	var obj = getObject(playerId);
	if (obj) {
		return obj.getVideoUrl();
	}
}