var videoyt, videovm;
var stateyt, statevm;
var cfgVolume = 100;
var cfgMute = false;
var activeChannel;
var loaded = false;

function loadVideoChannel(channel, idvideo) {
	stateyt = -1;
	statevm = -1;
	loaded = false;
	switch (channel) {
		case '2': activeChannel = channel; loadYouTubeVideo(idvideo); break;
		case '1': activeChannel = channel; loadVimeoVideo(idvideo); break;
	}	
}

function play() {
	if (loaded) {
		switch (activeChannel) {
			case '2': {
				if (videoyt) { 
					if (stateyt == 1) {
						videoyt.pauseVideo();
					}
					else {
						videoyt.playVideo();
					}
				}
				break;
			}
			case '1': {		
				if (videovm) {
					if (statevm == 1) {
						videovm.api_pause(); 					
					}
					else {
						videovm.api_play();
					}					
				}
				break;
			}
		}
	}
}

function stop() {
	if (loaded) {
		switch (activeChannel) {
			case '2': {
				if (videoyt) { 
					videoyt.stopVideo(); 
				}
				break;
			}
			case '1': { 
				if (videovm) { 
					videovm.api_unload();
					statevm = -1;
				}
				break;
			}
		}
	}
}

function mute() {
	if (loaded) {
		switch (activeChannel) {
			case '2': {
				if (videoyt) { 
					if (videoyt.isMuted()) {
						videoyt.unMute();
						cfgMute = false;
					}
					else {				
						videoyt.mute(); 
						cfgMute = true;
					}
				}
				break;
			}
			case '1': {
				if (videovm) { 
					if (cfgMute) {
						videovm.api_setVolume(cfgVolume);
						cfgMute = false;
					}
					else {
						videovm.api_setVolume(0);
						cfgMute = true;
					}
				}
				break;
			}	
		}
	}
}

function volume(indicator) {
	if (loaded) {
		switch (activeChannel) {
			case '2': {
				if (videoyt) { 
					switch (indicator) {
						case '+': {
							newVol = cfgVolume + 25;
							if (newVol <= 100) {
								cfgVolume = newVol;
								cfgMute = false;
								videoyt.setVolume(newVol);
							}
							break;
						}
						case '-': {
							newVol = cfgVolume - 25;
							if (newVol >= 0) {
								cfgVolume = newVol;
								if (newVol == 0) {
									cfgMute = true;				
								}
								else {
									cfgMute = false;
								}							
								videoyt.setVolume(newVol);
							}				   
							break;
						}
					}
				}
				break;
			}
			case '1': {
				if (videovm) { 
					switch (indicator) {
						case '+': {
							newVol = cfgVolume + 25;
							if (newVol <= 100) {
								cfgVolume = newVol;
								cfgMute = false;
								videovm.api_setVolume(newVol);
							}
							break;
						}
						case '-': {
							newVol = cfgVolume - 25;
							if (newVol >= 0) {
								cfgVolume = newVol;
								if (newVol == 0) {
									cfgMute = true;		
								}
								else {
									cfgMute = false;
								}
								videovm.api_setVolume(newVol);
							}				   
							break;
						}
					}
				}			   
			}
			break;
		}
	}
}	

/* YouTube API */	

function loadYouTubeVideo(idvideo) {
	var params = { allowScriptAccess: 'always', wmode: 'opaque' };
	var atts = { id: 'videoplayeryt', allowfullscreen: 'true' };
	swfobject.embedSWF("http://www.youtube.com/v/"+idvideo+"?enablejsapi=1&playerapiid=playeryt&fs=1&rel=0", "video_embed", "280", "215", "8", null, null, params, atts);			
}

function onYouTubePlayerReady(playerId) {
	videoyt = document.getElementById("videoplayeryt");
	videoyt.addEventListener('onStateChange', 'onYouTubeStateChange');
	videoyt.setVolume(cfgVolume);
	if (cfgMute) {
		videoyt.mute();
	}
	loaded = true;
	if (autoplay) {
		autoplay = false;
		play();
	}
}

function onYouTubeStateChange(newState)  {
	stateyt = newState;
	switch (newState) {
		/* No iniciado */
		case -1: break;
		/* Finalizado */
		case 0: break;
		/* En reproducción */
		case 1: break;
		/* Pausado */
		case 2: break;
		/* Buffering */
		case 3: break;
		/* En cola */		
		case 5: break;		
	}
}


/* Vimeo API */

function loadVimeoVideo(idvideo) {
	var flashvars = { clip_id: idvideo, server: 'vimeo.com', show_portrait: 0, show_byline: 0, show_title: 0, fullscreen: 1, js_api: 1, js_onLoad: 'onVimeoPlayerReady' };
	var params = { swliveconnect: true, fullscreen: 1, allowscriptaccess: 'always', allowfullscreen: 'true', wmode: 'opaque' };
	var atts = { id: 'videoplayervm' };
	swfobject.embedSWF("http://vimeo.com/moogaloop.swf", "video_embed", "280", "215", "9.0.0", "expressInstall.swf", flashvars, params, atts);
}

function onVimeoPlayerReady(playerId) {
	videovm = document.getElementById("videoplayervm");
	videovm.api_addEventListener('onPlay', 'onVimeoStateChangePlay');
	videovm.api_addEventListener('onPause', 'onVimeoStateChangePause');	
	videovm.api_addEventListener('onFinish', 'onVimeoStateChangeFinish');	
	videovm.api_setVolume(cfgVolume);
	if (cfgMute) {
		videovm.api_setVolume(0);
	}
	loaded = true;	
	if (autoplay) {
		autoplay = false;
		play();
	}
}

function onVimeoStateChangePlay()  {
	statevm = 1;
}

function onVimeoStateChangePause()  {
	statevm = 2;
}

function onVimeoStateChangeFinish()  {
	statevm = -1;
}
