//
// Displays edit embed form.
//
function display_edit_embed_form(block_id, width, height)
{
    var f = document.forms['form_embed'];
    
    f.block_id.value = block_id;
    f.title.value = $('#mblock_title_'+block_id).html();
    f.code.value = q_unescape($('#mblock_code_'+block_id).html());
    
    var controls_height = 25;
    var diff_16_9 = Math.abs(width / (height - controls_height) - 16/9); 
    var diff_4_3 = Math.abs(width / (height - controls_height) - 4/3);
    var ratio = diff_4_3 < diff_16_9 ? '4_3' : '16_9';
    
    $('#embed_ratio_'+ratio).attr('checked', 'checked');
    
    $('#button_del_embed').show();
    $('#saving_del_embed').hide();
}

//
// Send add embed form. 
//
function send_add_embed_form()
{
    //
    // Parse input.
    //
    var f = document.forms['form_add_embed'];
    
    var title = f.title.value;
    var code = f.code.value;
    var ratio = $("#form_embed input[@name='embed_ratio']:checked").val();
    var block_width = get_form_field('form_embed', 'block_width');
    
    //
    // Error cases.
    //
    if ((title == '') || (code == ''))
    {
        my_alert('all field are must');
        return false;
    }

    //
    // Transform URL to HTML (if code is URL).
    //
    var block_height = _calc_embed_height(block_width, ratio);
    var html = embedded_url_to_embed_code(code, block_width, block_height);
    f.code.value = html;
    
    //
    // Call server.
    //
    var data = $("#form_add_embed").serialize();
    var code = "display_media_blocks_sw_mode(%%%);";
    code += "close_modals();"
    
    ajax(data, code, "", "button_add_embed", "saving_add_embed");
    
    return false;
}

//
// Send save embed form. 
//
function send_save_embed_form()
{
    var block_height;
    
    //
    // Parse input.
    //
    var f = document.forms['form_embed'];
    
    var title = f.title.value;
    var code = f.code.value;
    var ratio = $("#form_embed input[@name='embed_ratio']:checked").val();
    var block_id = get_form_field('form_embed', FLD_BLOCK_ID);
    var block_width = get_form_field('form_embed', 'block_width');
    
    //
    // Error cases.
    //
    if (code == '')
    {
        my_alert('fill in all must fields');
        return false;
    }
    
    //
    // Transform URL to HTML (if code is URL).
    //
    if (code.match(/https:\/\/www.google.com\/calendar\//))
    {
        block_height = code.match(/height="(\d+)"/i);
        block_height = parseInt(block_height[1]);
    }
    
    else
    {
        block_height = _calc_embed_height(block_width, ratio);
    }
    
    f.code.value = embedded_url_to_embed_code(code, block_width, block_height);
    f.block_height.value = block_height;
    
    //
    // Call server.
    //
    var data = $("#form_embed").serialize();
    var code = "close_modals();update_block_code("+block_id+", embedded_url_to_embed_code('"+code+"', "+block_width+", "+block_height+"));";
    code += "update_block_title("+block_id+", %%%.title);";
    code += "close_modals();";
    
    ajax(data, code, "", "button_save_embed", "saving_save_embed");
    
    return false;
}

function _calc_embed_height(width, ratio)
{
    var controls_height = 25; // Usual value.
    var q_ratio;
    
    switch (ratio)
    {
        case '4:3':
        q_ratio = 4 / 3; 
        break;

        case '16:9':
        q_ratio = 16 / 9; 
        break;
    }

    return parseInt(controls_height + width / q_ratio);
}


//
// Deletes embed block.
//
function del_embed()
{
    document.forms['form_embed'].action.value = 'ajax_del_embed';
    
    $('#button_del_embed').hide();
    $('#saving_del_embed').show();
    
    var block_id = get_form_field('form_embed', FLD_BLOCK_ID);

    var data = $('#form_embed').serialize();

    var code = "hide_block("+block_id+");";
    code += "close_modals();";
    
    ajax(data, code, "", 'button_del_embed', 'saving_del_embed');

    return false;
}

