/////////////////////////////////
/////////////////////////////////
//COLONNE////////////////////////

var baseUrl;

var requestPoker;
var isUpdatingPoker = false;
var scrollerApiPoker;
var loaderPoker;

var requestScommesse;
var isUpdatingScommesse = false;
var scrollerApiScommesse;
var loaderScommesse;

var requestSkillgames;
var isUpdatingSkillgames = false;
var scrollerApiSkillgames;
var loaderSkillgames;

var requestTablegames;
var isUpdatingTablegames = false;
var scrollerApiTablegames;
var loaderTablegames;

// setta l'aambiente colonne, per altri trigger
var colonne = true;

$(document).ready( function() {
  var settings = {
    showArrows: true
  }

  // poker
  var pokerPane = $('.col.poker .content');
  pokerPane.jScrollPane(settings);
  scrollerApiPoker = pokerPane.data('jsp');
  loaderPoker = $('.col.poker .loader');

  // scommesse
  var scommessePane = $('.col.scommesse .content');
  scommessePane.jScrollPane(settings);
  scrollerApiScommesse = scommessePane.data('jsp');
  loaderScommesse = $('.col.scommesse .loader');

  // skillgames
  var skillgamesPane = $('.col.skillgames .content');
  skillgamesPane.jScrollPane(settings);
  scrollerApiSkillgames = skillgamesPane.data('jsp');
  loaderSkillgames = $('.col.skillgames .loader');

  // tablegames
  var tablegamesPane = $('.col.tablegames .content');
  tablegamesPane.jScrollPane(settings);
  scrollerApiTablegames = tablegamesPane.data('jsp');
  loaderTablegames = $('.col.tablegames .loader');
});

function updatePoker() {
  doUpdate('poker', isUpdatingPoker, requestPoker, loaderPoker, scrollerApiPoker, updateScommesse);
}

function updateScommesse() {
  doUpdate('scommesse', isUpdatingScommesse, requestScommesse, loaderScommesse, scrollerApiScommesse, updateSkillgames);
}

function updateSkillgames() {
  //doUpdate('skillgames', isUpdatingSkillgames, requestSkillgames, loaderSkillgames, scrollerApiSkillgames, updateTablegames);
}

function updateTablegames() {
  //doUpdate('tablegames', isUpdatingTablegames, requestTablegames, loaderTablegames, scrollerApiTablegames);
}

function updateColonne() {
  updatePoker();
//  updateScommesse();
//  updateSkillgames();
//  updateTablegames();
}

var checkVerticale = 0;
function callVerticaleNextColum(whichSiteNr) {
    switch (whichSiteNr) {
        case 0:
            /* teoricamente il poker viene chiamato sempre come primo */
            updatePoker();
            break;
        case 1:
            updateScommesse();
            break;
        case 2:
            updateSkillgames();
            break;
        case 3:
            updateTablegames();
            break;
        default:
            checkVerticale = 0;
            break;
    }
}

function doUpdate(name, isUpdating, request, loader, scrollerApi, callback) {
  if (isUpdating) {
    request.abort();
  } else {
      if(typeof(scrollerApi) !== 'undefined') {
        isLoading(scrollerApi.getContentPane(), loader);
      } else {
        checkVerticale += 1;
        callVerticaleNextColum(checkVerticale)
      }
  }

  if(typeof(scrollerApi) !== 'undefined') {
    isUpdating = true;
    
    request = $.ajax({
        url: baseUrl + 'palinsesto/ajax/' + name + '/' + Math.round(nowViewing.getTime() / 1000),
        cache: false,
        dataType: 'html',
        success: function(data, textStatus, xhr) {
            if (xhr.status === 200) {
                scrollerApi.getContentPane().html(data);
                scrollerApi.reinitialise();
                scrollerApi.scrollTo(0, 0, 250);
                isUpdating = false;
                loaded(scrollerApi.getContentPane(), loader);
                if (callback != undefined) {
                    callback();
                }
            }
        },
        error: function(XMLHttpRequest, textStatus, errorThrown) {
            alert('errore nella richiesta ' + errorThrown);
        }
    });
  }
}


