var postHTMLCache = new Array();

function hide_for_quick_edit(postID)
{
    var obj = document.getElementById('sig' + postID);
    obj.style.display = 'none';
    var obj = document.getElementById('attach' + postID);
    obj.style.display = 'none';
}

function show_for_quick_edit(postID)
{
    var obj = document.getElementById('sig' + postID);
    obj.style.display = '';
    var obj = document.getElementById('attach' + postID);
    obj.style.display = '';
}

function quick_edit_post(forumID, topicID, postID)
{
    if(!xmlhttpreqEnabled)
    {
        alert(lang_browser_unsupported);
        return;
    }
    
    var xmlReq = new XMLRequest;
        
    var postContainer = document.getElementById('post' + postID);
    
    XMLRequest.onSuccessfulData = function()
    {
        var postSource = XMLRequest.thread.responseText;
        
        postContainer.innerHTML = '' +
            '<form><div class="tableborder" style="padding: 1px"><div style="padding: 6px" class="row3" align="center">' +
            '<textarea name="Post" style="width: 580px" rows="15">' + postSource + '</textarea>' +
            '<input type="checkbox" checked="" name="add_edit" value="1" id="editline' + postID + '" /><label for="editline' + postID + '"> ' + lang_edit_line + '</label>' +
            '</div><div align="center" class="pformstrip">' +
            '<input name="save" type="button" class="forminput" value="' + lang_save_edit_button + '" onclick="quick_save_edit(' + forumID + ',' + topicID + ',' + postID + ',this.form)" /> ' +
            '<input name="cancel" type="button" class="forminput" value="' + lang_cancel_edit_button + '" onclick="quick_cancel_edit(' + postID + ')" /> ' +
            '</div>' +
            '</form>';
    }
    XMLRequest.onFail = function()
    {
        alert(lang_failed_load);
    }
    XMLRequest.onError = function(message)
    {
        alert(message);
    }
        
    if(postHTMLCache[postID] == null || postHTMLCache[postID] == undefined || postHTMLCache[postID] == '') postHTMLCache[postID] = postContainer.innerHTML;
        
    postContainer.innerHTML = '' +
        '<form><div class="tableborder" style="padding: 1px"><div style="padding: 6px" class="row3" align="center">' +
        '<textarea name="Post" disabled="" style="width: 580px" rows="15">' + lang_loading_post + '</textarea>' +
        '<input type="checkbox" checked="" name="add_edit" value="1" disabled="" id="editline' + postID + '" /><label for="editline' + postID + '"> ' + lang_edit_line + '</label>' +
        '</div><div align="center" class="pformstrip">' +
        '<input name="save" type="button" class="forminput" disabled="" value="' + lang_save_edit_button + '" /> ' +
        '<input name="cancel" type="button" class="forminput" disabled="" value="' + lang_cancel_edit_button + '" /> ' +
        '</div>' +
        '</form>';
            
    hide_for_quick_edit(postID);
        
    xmlReq.loadXML('index.php?act=XMLLayer&code=post&t=' + topicID + '&p=' + postID, 'GET');
}

function quick_cancel_edit(postID)
{    
    var postContainer = document.getElementById('post' + postID);
    
    postContainer.innerHTML = postHTMLCache[postID];
    
    postHTMLCache[postID] = null;
    
    show_for_quick_edit(postID);
}

function quick_save_edit(forumID, topicID, postID, form)
{
    var xmlReq = new XMLRequest;
    
    XMLRequest.onSuccessfulData = function()
    {
        var postSource = XMLRequest.thread.responseText;
        
        var postContainer = document.getElementById('post' + postID);
        
        postHTMLCache[postID] = null;
        
        postContainer.innerHTML = postSource;
    
        show_for_quick_edit(postID);
    }
    XMLRequest.onFail = function()
    {
        alert(lang_failed_save);
    }
    XMLRequest.onError = function(message)
    {
        alert(message);
    }
    form.save.disabled = true;
    form.cancel.disabled = true;
    var data = new Array();
    data['Post'] = form.Post.value;
    data['add_edit'] = form.add_edit.checked ? 1 : 0;
    xmlReq.loadXML('index.php?act=XMLLayer&code=savepost&f=' + forumID + '&t=' + topicID + '&p=' + postID, 'POST', data);
}

function quick_delete(forumID, topicID, postID, deleteURL)
{
    var xmlReq = new XMLRequest;
    
    XMLRequest.onSuccessfulData = function()
    {        
        var postSource = XMLRequest.thread.responseText;
        
        if(postSource != 'ok') window.location = deleteURL;
        
        var postContainer = document.getElementById('postwrapper' + postID);
        
        postContainer.style.display = 'none';
    }
    XMLRequest.onFail = function()
    {
        //alert(lang_failed_delete);
        window.location = deleteURL;
    }
    XMLRequest.onError = function(message)
    {
        //alert(message);
        window.location = deleteURL;
    }
    
    xmlReq.loadXML('index.php?act=XMLLayer&code=deletepost&f=' + forumID + '&t=' + topicID + '&p=' + postID, 'GET');
}

var audioAvatarLastControl = null;
var audioAvatarPlay = '<img src="html/audio_av.png" border="0" alt="Audio Avatar" />';
var audioAvatarPlaying = '<img src="html/audio_av_play.gif" border="0" alt="Audio Avatar" />';

function stopAudioAvatar()
{
    var player = document.getElementById('audio-avatar-player');
    
    player.innerHTML = '';
    player.style.display = 'none';
    audioAvatarLastControl.innerHTML = audioAvatarPlay;
    audioAvatarLastControl = null;
}

function checkMimeType(type)
{
    if(navigator.mimeTypes[type])
    {
        if(navigator.mimeTypes[type]['enabledPlugin'])
        {
            return true;
        }
    }
    return false;
}

function playAudioAvatar(obj, url, flash, policy)
{
    if(obj.blur)
    {
        obj.blur();
    }
    
    if(document.getElementById && document.body.innerHTML)
    {
        var player = document.getElementById('audio-avatar-player');
        if(audioAvatarLastControl == obj)
        {
            stopAudioAvatar();
        }
        else
        {
            if(audioAvatarLastControl)
            {
                audioAvatarLastControl.innerHTML = audioAvatarPlay;
            }
            player.style.display = '';
            if(!flash)
            {
                types = new Array('application/x-mplayer2', 'application/x-vlc-plugin', 'audio/x-pn-realaudio-plugin')
                type = '';
                if(navigator.mimeTypes)
                {
                    for(var i in types)
                    {
                        if(checkMimeType(types[1]))
                        {
                            type = ' type="' + types[1] + '"';
                            break;
                        }
                    }
                }
                player.innerHTML = '<object classid="CLSID:22D6F312-B0F6-11D0-94AB-0080C74C7E95" type="application/x-oleobject" width="200" height="45"> \
                                    <param name="FileName" value="' + url + '"> \
                                    <embed src="' + url + '"' + type + ' autostart="1" width="200" height="45"></embed> \
                                    </object>';
            }
            else
            {
                player.innerHTML = '<embed src="html/player.swf?x&track=' + escape(url) + '&loadpolicy=' + escape(policy) + '&.swf" type="application/x-shockwave-flash" width="100" height="40"></embed>';
            }
            audioAvatarLastControl = obj;
            obj.innerHTML = audioAvatarPlaying;
        }
    }
    else
    {
        alert('Your browser is not supported.');
    }
}

function quickPM(tid, pid, fid, mid)
{
    window.open('index.php?act=Mod&CODE=quickpm&tid=' + tid + '&pid=' + pid + '&f=' + fid + '&mem=' + mid, '', 'width=400,height=400,scrollbars=yes')
}