
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 getRating(url)
{

    showLayer('processRating');

    new Ajax.Updater({success:'ratingDiv'}, 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(ratingEnabled)
{
	var url = window.location;
	var stringUrl = url.toString();
	var boodschapBeoordeling="";
	var boodschapReactie="";
	var boodschapTeLang="";
	if (stringUrl.indexOf("7s7.be") != -1 || stringUrl.indexOf("7sur7.be") != -1)
	{
		boodschapBeoordeling='Veuillez donner une appr'+decodeURI('%C3%A9')+'ciation';
		boodschapReactie='Veuillez introduire une r'+decodeURI('%C3%A9')+'action';
		boodschapTeLang='La r'+decodeURI('%C3%A9')+'action ne peut exc'+decodeURI('%C3%A9')+'der 3000 caract'+decodeURI('%C3%A8')+'res';
	}
	else
	{
		boodschapBeoordeling='Gelieve een beoordeling te geven!';
		boodschapReactie='Gelieve een reactie in te geven';
		boodschapTeLang='De reactie mag niet langer dan 3000 karakters zijn!';
	}
	if (ratingEnabled && document.insertReactionForm.rating.value == '')
	{
		alert(boodschapBeoordeling);
		return false;
	}
	if (document.insertReactionForm.text.value == '')
	{
		alert(boodschapReactie);
		return false;
	}
	if (document.insertReactionForm.text.value.length > 3000)
	{
		alert(boodschapTeLang);
		return false;
	}
	return true;
}

function processReactionForm(url, button, ratingEnabled)
{
    if (checkReactionForm(ratingEnabled))
    {
	    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-einde-reactie-datum */
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();
}
