﻿
var Contents = new function () {

    this.ContentsList = new function () {

        this.HashContentsSelector = '#hashContents';
        this.ContentsListSelector = '#contentsListSelector';
        this.UrlToCall = '../../site/blog/AjaxElencoPost.aspx';
        this.ReloadDelay = 12 * 1000; //millisecondi

        var _lastReloadTime = new Date().getTime();
        var _automaticReloadStarted = false;

        this.StartAutomaticReload = function (querystring, delay) {
            if (_automaticReloadStarted == false) {
                this.ReloadDelay = delay;
                this.UrlToCall += '?' + querystring;
                setTimeout('Contents.ContentsList.ReloadContents(false)', this.ReloadDelay);
                _automaticReloadStarted = true;
                return true;
            }
            return false;
        };

        this._checkReloadContentsTime = function () {
            if ((new Date().getTime() - _lastReloadTime) >= this.ReloadDelay) {
                this.ReloadContents(false);
            }
        }

        this.ReloadContents = function (reloadPageOnError) {
            var HashContentsSelector = this.HashContentsSelector;
            var lastHash = $(HashContentsSelector).text();
            var delay = this.ReloadDelay;
            var contentsList = $(this.ContentsListSelector);
            var url = this.UrlToCall;
            url += (url.indexOf('?') > 0) ? '&' : '?';
            url += 'req=' + (Math.random() * 99999);
            $.ajax({
                url: url,
                type: "get",
                async: true,
                success: function (data, textStatus, XMLHttpRequest) {
                    contentsList.css({ display: 'none' });

                    contentsList.html(XMLHttpRequest.responseText);
                    var hash = $(HashContentsSelector).text();
                    //   alert('lastHash=' + lastHash+' hash='+hash);
                    if (lastHash != hash)
                        contentsList.fadeIn(600, function () { });
                    else
                        contentsList.css({ display: 'block' });
                },
                error: function (XMLHttpRequest, textStatus, errorThrown) {
                    //alert(XMLHttpRequest.responseText);
                    if (reloadPageOnError) {
                        location.reload();
                    };
                },
                complete: function (XMLHttpRequest, textStatus) {
                    _lastReloadTime = new Date().getTime();
                    setTimeout('Contents.ContentsList._checkReloadContentsTime()', delay);
                    //  alert('programmato il reload di ' + delay);
                }
            });
        }
    }
};


function SegnalazioneAbuso(idInfoContenuto)
{
    WS_Content.SegnalazioneAbuso(idInfoContenuto, SegnalazioneAbuso_SuccessCallback, SegnalazioneAbuso_ErrorCallback, idInfoContenuto);
}

function SegnalazioneAbuso_SuccessCallback(result, idInfoContenuto, methodName)
{
    $get('Msg'+idInfoContenuto).style.display='inline';
    $get('Hl'+idInfoContenuto).style.display='none';
}

function SegnalazioneAbuso_ErrorCallback(result, idInfoContenuto, methodName)
{
    alert(result.get_message());
}
