
//-------------------------------------
// MAIN VARIABLES
//-------------------------------------

var SWFID = 'youtubeplayer'; // Must be set to id of swf
//var flashcontent; // Must be set to id of swf
var obj = new Object;

//------------------------------------
// UTILITY METHODS
//------------------------------------

function checkObj () {
	
	if (SWFID) {
		createObj();
		return true;
	} else{
		alert("fooTubeLoader: to call methods within a swf set the variable \"SWFID\"!");
		return false;
	}
}

function createObj () {
	
	obj = document.getElementById(SWFID);
}

//------------------------------------
// FOOTUBE EVENT METHODS
//------------------------------------

function onYouTubePlayerReady(playerId) {
	
	if (checkObj()) {	
		obj.addEventListener("onStateChange", "onytplayerStateChange");
	}
	
}

function onytplayerStateChange(newState) {
   
	obj.playerStateUpdateHandler(newState);
}


function setytplayerState(newState) {
	ytplayer.updateHTML("playerstate", newState);
}

function updateytplayerInfo() {
	ytplayer.updateHTML("bytesloaded", getBytesLoaded());
	ytplayer.updateHTML("bytestotal", getBytesTotal());
	ytplayer.updateHTML("videoduration", getDuration());
	ytplayer.updateHTML("videotime", getCurrentTime());
	ytplayer.updateHTML("startbytes", getStartBytes());
	ytplayer.updateHTML("volume", getVolume());
}

//------------------------------------
// FOOTUBE METHODS
//------------------------------------

var ytplayer = {
	
	obj : new Object(),

	init : function(swfid) {
		if (swfid) {
			obj = document.getElementById(swfid);
		}
	},
	
	loadVideoById: function (id, startSeconds) {
		obj.loadVideoById(id,startSeconds);
	}, 
	
	cueNewVideo: function (id, startSeconds) {
		//document.getElementById('youtubeplayer').cueVideoById(id, startSeconds);
		obj.cueVideoById(id, startSeconds);
	},
	
	clearVideo: function () {
		obj.clearVideo();
	},
	
	setSize: function (w, h) {
		obj.setSize(w, h);
	},
	
	play: function () {
		obj.playVideo();
	},
	
	pause: function () {
		obj.pauseVideo();
	},
	
	stop: function () {
		obj.stopVideo();
	},
	
	seekTo: function (seconds) {
		obj.seekTo(seconds, true);
	},
	
	getPlayerState: function () {
		return obj.getPlayerState();
	},
	
	getBytesLoaded: function () {
		return obj.getVideoBytesLoaded();
	},
	
	getBytesTotal: function () {
		return obj.getVideoBytesTotal();
	},
	
	getCurrentTime: function () {
		return obj.getCurrentTime();
	},
	
	getDuration: function () {
		return obj.getDuration();
	},
	
	getStartBytes: function () {
		return obj.getVideoStartBytes();
	},
	
	setVolume: function (newVolume) {
		obj.setVolume(newVolume);
	},
	
	getVolume: function () {
		return obj.getVolume();
	},
	
	mute: function () {
		obj.mute();
	},
	
	unMute: function () {
		obj.unMute();
	},
	
	getEmbedCode: function () {
		return obj.getVideoEmbedCode();
	},
	
	getVideoUrl: function () {
		return obj.getVideoUrl();
	},
	
	updateHTML: function (elmId, value) {
  		document.getElementById(elmId).innerHTML = value;
	},
	
	rateIt: function() {
		O_LC();	
	}
}

ytplayer.init('youtubeplayer');