/**

    * @package DentroVideo - http://www.dentrovideo.com
    * @copyright Copyright (C) 2008 - 2010 Blobject. All rights reserved.
    * @license GNU/GPL, - http://www.dentrovideo.com/license
    * @author Blobject - http://www.blobject.es

**/

var video = null;
var actual_time = 0;
var duration_time = 0;
var seek = 0;
var seekFlag = false;
var seekend = 0;

function getFlashMovieObject(movieName) {
	if(document.embeds[movieName])
		return document.embeds[movieName];
	if(window.document[movieName])
		return window.document[movieName];
	if(window[movieName])
		return window[movieName];
	if(document[movieName])
		return document[movieName];

	return null;
}

function stopVideo() {
    sendEvent('singlevideo', 'stop');
}

function playerReady()
{
    video = getFlashMovieObject('singlevideo');
    video.addModelListener('TIME', 'timeListener');
    video.addModelListener('STATE', 'stateListener');
}

function sendEvent(swf,typ,prm) {
	video = getFlashMovieObject(swf);
	video.sendEvent(typ,prm);
}

function stateListener(video) {
    if (video.newstate == 'IDLE') actual_time = 0;
    //alert(video.duration);
}

function timeListener(video) {
    actual_time = video.position;
    duration_time = video.duration;

    admin_sec = document.getElementById('svc_seconds');
    if (admin_sec != null) {
        admin_min = document.getElementById('svc_minutes');
        admin_hou = document.getElementById('svc_hours');
        times = secToHMS(actual_time).split(':');

        admin_sec.value = times[2];
        admin_min.value = times[1];
        admin_hou.value = times[0];
    }

    if((actual_time > 0) && (seekFlag))
    {
        seekFlag = false;
        sendEvent('singlevideo', 'seek', seek);
    }
    if (seekend > 0) {
        if (actual_time > seekend) {
            seekend = 0;
            sendEvent('singlevideo', 'play', 'false');
        }
    }
}

function gotoSec(sec) {
    // TODO: Añadir más o menos desfase?
    sec = parseInt(sec,10) + 1;
    if (document.getElementById('gotosec_desfase') != null) {
        sec += parseInt(document.getElementById('gotosec_desfase').value, 10);
    }
    if (actual_time > 0) {
        sendEvent('singlevideo', 'seek', sec)
    } else {
        seek = sec;
        seekFlag = true;
        sendEvent('singlevideo', 'play');
    }
}

function gotoSecStop(ini, fin) {
    seekend = fin;
    gotoSec(ini);
}

function gotoSec_HMS(h, m, s) {
    var time = parseInt(h*3600) + parseInt(m*60) + parseInt(s);
    gotoSec(time);
}

function secToHMS(time) {
    var actual_time_h = parseInt(time / 3600);
    var actual_time_m = parseInt((time - (actual_time_h * 3600)) / 60);
    var resto = actual_time_h * 3600 + actual_time_m * 60;
    var actual_time_s = parseInt(time - resto);
    var actual_time_ss = time - resto - actual_time_s;
    if (actual_time_h <= 9) actual_time_h = '0' + actual_time_h;
    if (actual_time_m <= 9) actual_time_m = '0' + actual_time_m;
    if (actual_time_s <= 9) actual_time_s = '0' + actual_time_s;
    return actual_time_h + ':' + actual_time_m + ':' + actual_time_s;
}
