
function ratiate ()
{
    var ratio = $('input[name=ratio]:checked');
    if (ratio.val () == 'custom') return;

    var h = 'err';
    var w = $('#txt_width').val();

    if (!isNaN (w)) h = Math.round (parseInt (w) * eval (ratio.attr ('rel'))) + 20;
    $('#txt_height').val(h);
}

function validate (f)
{
    var error = false;

    if (f.txt_domain.value == '') error = 'Destination domain';
    else if (f.txt_width.value == '') error = 'Player size';
    else if (f.txt_height.value == '') error = 'Player size';

    return error;
}

function loadPlayer (xml_id)
{
    document.box.txt_time.value = '';
    document.box.txt_onfi.value = '';

    var flashvars = {  path: '/_preview_/config.xml.php?id=' + xml_id  };
    var params = {  wmode: 'opaque',  allowscriptaccess: 'always',  allowfullscreen: 'true'  };
    var attributes = {  id: 'ikunaPlayer'  };

    // var playerSwf = document.box.player.options [document.box.player.selectedInde].value;
    var playerSwf = '/media/ikunaPlayer.3_0_3b.swf';
    swfobject.embedSWF (playerSwf, 'ikunaPlayer', 320, 260, '9.0.115', '/_preview_/expressInstall.swf', flashvars, params, attributes);

    setTimeout ("plugPlayer ('TIME', 'TIME_handler');", 100);
    setTimeout ("plugPlayer ('onFI', 'onFI_handler');", 100);
}

function plugPlayer (evento, gestor)  // Get player and plugs JS events
{
    var playerObject = document.getElementById ('ikunaPlayer');
    if (playerObject  &&  playerObject.addModelListener)
    {
        try {  playerObject.addModelListener (evento, gestor);  }
        catch (e) {  alert ('ERROR: ' + e);  }
    }
    else
    {
        setTimeout ("plugPlayer ('" + evento + "', '" + gestor + "');", 100);
    }
}

function TIME_handler (data)  // Receives TIME event from player
{
    // Checking for correct data
    if (isNaN (data.listIndex) || isNaN (data.position)) return;

    var pos = Math.round (parseFloat (data.position, 10) * 1000) + ' s';
    while (pos.length < 5) pos = '0' + pos;
    document.box.txt_time.value = pos.substring (0, pos.length - 5) + '.' + pos.substring (pos.length - 5);
}

function onFI_handler (data)  // Receives onFI event from player
{
    var s = '';
    for (d in data) s += d + ': ' + data [d] + "\n";
    document.box.txt_onfi.value = s;
}

$(document).ready(function(){

    $('input[name=ratio]').click(function(){
        $('#info_ratio').html(this.value).parent().fadeTo(100, (this.value == 'custom') ? 0 : 1);
        $('#txt_height').attr('readonly', (this.value == 'custom') ? false : true);
        ratiate ();
    });

    $('#btn_xtend').click(function(){  $('#xtended').toggle();  });
    $('#txt_width').keyup(function(){  ratiate ();  });
    $('#btn_getit').click(function(){

        if (error = validate (this.form))
        {
            window.alert ("Please, configure the followind field: \n\n" + error);
            return;
        }

        this.form.action = '/_preview_/embed.zip.php';
        this.form.submit ();
        this.form.action = '/_preview_/stream.php';

    });

    $('#btn_preview').click(function(){

        $('#txt_embed_code').val('Elaborando ...');

        if (error = validate (this.form))
        {
            window.alert ("Please, configure the followind field: \n\n" + error);
            return;
        }

        jQuery.get ('/_preview_/embed.php?r=' + Math.random(), $(this.form).serializeArray(), function(data){  $('#txt_embed_code').val(data);  });

    });
});

