function show_blocktypes(position)
{
    document.getElementById('addblocktype_' + position).style.display = 'none';
    document.getElementById('editblock_' + position).style.display = 'none';
    document.getElementById('blocktypes_' + position).style.display = '';
}

function hide_blocktypes(position)
{
    document.getElementById('addblocktype_' + position).style.display = '';
    document.getElementById('blocktypes_' + position).style.display = 'none';
}

var set_block_for_add = function(o)
{
    var content = o.responseXML.documentElement.getElementsByTagName('content')[0].firstChild.nodeValue;
    var position = o.responseXML.documentElement.getElementsByTagName('position')[0].firstChild.nodeValue;
    var textarea = o.responseXML.documentElement.getElementsByTagName('textarea')[0].firstChild.nodeValue;
    document.getElementById('blocktypes_' + position).style.display = 'none';
    document.getElementById('editblock_' + position).innerHTML = content;
    document.getElementById('editblock_' + position).style.display = '';
    if (textarea != -1) init_editor(textarea,'Basic',200);
}

var add_block_return =
{
    success:set_block_for_add
};

function add_block(base_url,position,type,page_id)
{
	var url = base_url + 'edit_block';
	var post_data = 'pages_has_blocks_id=-1&position=' + position + '&type=' + type + '&page_id=' + page_id;
	var request = YAHOO.util.Connect.asyncRequest('POST', url, add_block_return, post_data);  
}

var reload_position = function(o)
{
    var position = o.responseXML.documentElement.getElementsByTagName('position')[0].firstChild.nodeValue;
    var error = o.responseXML.documentElement.getElementsByTagName('error')[0].firstChild.nodeValue;
    if (error != -1) //show error
    {
        var pages_has_blocks_id = o.responseXML.documentElement.getElementsByTagName('pages_has_blocks_id')[0].firstChild.nodeValue;
        var error_field = 'error_' + position;
        if (pages_has_blocks_id != -1)
        {
            error_field = error_field + '_' + pages_has_blocks_id;
        }
        document.getElementById(error_field).innerHTML = '<p>' + error + '</p>';
        document.getElementById(error_field).style.display = '';
    }
    else //reload position
    {
        var content = o.responseXML.documentElement.getElementsByTagName('content')[0].firstChild.nodeValue;
        document.getElementById(position).innerHTML = content;
    }
}

var reload_block = function(o)
{
    var content = o.responseXML.documentElement.getElementsByTagName('content')[0].firstChild.nodeValue;
    var pages_has_blocks_id = o.responseXML.documentElement.getElementsByTagName('pages_has_blocks_id')[0].firstChild.nodeValue;
    var textarea = o.responseXML.documentElement.getElementsByTagName('textarea')[0].firstChild.nodeValue;
    document.getElementById('block_' + pages_has_blocks_id).innerHTML = content;
    if (textarea != -1) init_editor(textarea,'Basic',200);
}


var reload_pos =
{
    success:reload_position
};

var edit_block_return =
{
    success:reload_block
};

function get_form(position,pages_has_blocks_id)
{
    var form = 'document.content_form_' + position;
    if (pages_has_blocks_id != -1)
    {
        form = form + '_' + pages_has_blocks_id;
    }  
    return form;
}

function save_block_content(base_url,pages_has_blocks_id,position,page_id)
{
    var form = get_form(position,pages_has_blocks_id)
    var url = base_url + 'save_block';
    var inst = FCKeditorAPI.GetInstance("content");
    var content = encodeURIComponent(inst.GetHTML());
    var title = eval(form).title.value;
	var post_data = 'position=' + position + '&type=content&page_id=' + page_id + '&content=' + content + '&pages_has_blocks_id=' + pages_has_blocks_id + '&title=' + title;
	var request = YAHOO.util.Connect.asyncRequest('POST', url, reload_pos, post_data);
}

function save_block_image(base_url,form) {
    YAHOO.util.Connect.setForm(form, true);
    var url = base_url + 'save_block';
    var uploadHandler = {
        upload:reload_position
    }
    YAHOO.util.Connect.asyncRequest('POST', url, uploadHandler);
}

function save_block_imageslide(base_url,form) {
    YAHOO.util.Connect.setForm(form, true);
    var url = base_url + 'save_block';
    var uploadHandler = {
        upload:reload_position
    }
    YAHOO.util.Connect.asyncRequest('POST', url, uploadHandler);
}

function save_block_videoslide(base_url,form) {
    YAHOO.util.Connect.setForm(form, true);
    var url = base_url + 'save_block';
    var uploadHandler = {
        upload:reload_position
    }
    YAHOO.util.Connect.asyncRequest('POST', url, uploadHandler);
}

function save_block_static(base_url,position,type,page_id)
{
    var url = base_url + 'save_block';
	var post_data = 'position=' + position + '&type=' + type + '&page_id=' + page_id;
	var request = YAHOO.util.Connect.asyncRequest('POST', url, reload_pos, post_data);
}

function edit_block(base_url,pages_has_blocks_id,position,type,page_id)
{
    var url = base_url + 'edit_block';
	var post_data = 'pages_has_blocks_id=' + pages_has_blocks_id + '&position=' + position + '&type=' + type + '&page_id=' + page_id;
	var request = YAHOO.util.Connect.asyncRequest('POST', url, edit_block_return, post_data);
}

function cancel_block_edit(base_url,page_id,pages_has_blocks_id,position)
{
    if (pages_has_blocks_id == -1)
    {
        show_blocktypes(position);
    }
    else
    {
        var url = base_url + 'reload_position';
    	var post_data = 'page_id=' + page_id + '&position=' + position;
    	var request = YAHOO.util.Connect.asyncRequest('POST', url, reload_pos, post_data);
    }
}

function delete_block(base_url,pages_has_blocks_id,position,type,page_id)
{
    if (confirm('Weet je zeker dat je dit onderdeel wilt verwijderen?'))
    {
        var url = base_url + 'delete_block';
    	var post_data = 'pages_has_blocks_id=' + pages_has_blocks_id + '&type=' + type + '&position=' + position + '&page_id=' + page_id;
    	var request = YAHOO.util.Connect.asyncRequest('POST', url, reload_pos, post_data);
    }
}

function edit_page_info()
{
    document.getElementById('page_info_row').style.display = 'none';
    document.getElementById('edit_page_info').style.display = '';
    document.getElementById('edit_page_info_buttons').style.display = '';
}

function cancel_page_info()
{
    document.getElementById('edit_page_info').style.display = 'none';
    document.getElementById('edit_page_info_buttons').style.display = 'none';
    document.getElementById('page_info_row').style.display = '';
}

function save_page_info(base_url,page_id)
{
    var url = base_url + 'save_page_info';
    var title = document.getElementById('page_info_title').value;
    var alias = document.getElementById('page_info_alias').value;
    var description = document.getElementById('page_info_description').value;
    var keywords = document.getElementById('page_info_keywords').value;
	var post_data = 'title=' + title + '&alias=' + alias + '&description=' + description + '&keywords=' + keywords + '&page_id=' + page_id;
	var request = YAHOO.util.Connect.asyncRequest('POST', url, save_page_info_return, post_data);
}
