function getReactions(url, page)
{

    if (page != null)
    {
        url += '&page=' + page;
    }

    showLayer('processUpdateReactions');

    new Ajax.Updater({success:'reactionDiv'}, url,
    {
        method:'get',
        onComplete:function()
        {
            Element.hide('reactionDiv');
            hideLayer('processUpdateReactions');
            new Effect.Appear('reactionDiv',
            {
                duration: 1
            }
                    )
        },
        asynchronous:true
    }
            );

}

function doEffect(newPage)
{
    new Effect.Fade('reactionDiv',
    {
        duration: 1,
        afterFinish: getReactions
    }
            );
}


function getReactionForm(url)
{
    showLayer('processUpdateReactionForm');

    new Ajax.Updater({success:'reactionFormDiv'}, url,
    {
        onComplete:function()
        {
            Element.hide('reactionFormDiv');
            hideLayer('processUpdateReactionForm');
            new Effect.Appear('reactionFormDiv',
            {
                duration: 1
            }
                    )
        },
        method:'get',
        evalScripts:true,
        asynchronous:true
    }
            );
}

function checkReactionForm()
{
    if (document.insertReactionForm.text.value == '')
    {
        alert('Gelieve een reactie in te geven!');
        return false;
    }
    if (document.insertReactionForm.text.value.length > 3000)
    {
        alert('De reactie mag niet langer dan 3000 karakters zijn!');
        return false;
    }
    return true;
}

function processReactionForm(url, button)
{
    if (checkReactionForm())
    {
	    showLayer('processReactionForm');
        button.disabled = true;
        var params = Form.serialize($('insertReactionForm'));                
        new Ajax.Updater({success:'reactionFormDiv'},
                url,
        {
            onComplete:function()
            {
                Element.hide('reactionFormDiv');
				hideLayer('processReactionForm');
                new Effect.Appear('reactionFormDiv');
                duration:1.0
            },
            asynchronous:true,
            parameters:params
        });
    }
}

function showReactionAbuseReportForm(reactionIndex, url)
{
	document.getElementById('reactionAbuseReportFormDiv' + reactionIndex).innerHTML = '<div class="gen_loading"></div>';
    new Ajax.Updater({success:'reactionAbuseReportFormDiv' + reactionIndex}, url,
    {
        onComplete:function()
        {
            Element.hide('reactionAbuseReportFormDiv' + reactionIndex);
            new Effect.Appear('reactionAbuseReportFormDiv' + reactionIndex,
            {
                duration: 0.5
            }
                    )
        },
        method:'get',
        evalScripts:true,
        asynchronous:true
    }
            );
}

function cancelReactionAbuseReportForm(index)
{
    var d = $('reactionAbuseReportFormDiv' + index);
    d.innerHTML = '';
}

function processReactionAbuseReportForm(index)
{
    var div = $('reactionAbuseReportFormDiv' + index);
    //document.insertReactionForm.submitreaction.disabled = true;
    var form = $('reactionAbuseReportForm' + index);
    var params = Form.serialize(form);
    new Ajax.Updater({success:div},
            form.action,
    {
        onComplete:function()
        {
            Element.hide(div);
            new Effect.Appear(div);
            duration:1.0
        },
        asynchronous:true,
        parameters:params
    });

}

/* Functie om huidige tijd te vergelijken met artikel-plaatsingstijd. */
function dateDiff(datePub){
	var today = new Date();
	var d=new Date();
	d.setFullYear(datePub.substr(0,4),datePub.substr(4,2)-1,datePub.substr(6,2));
	
	return today.getTime() - d.getTime() <= (90*24*60*60*1000);
}