var loadingFlag = false;
var loadingImg = '<img src="/images/gl/loading.gif" border="0" alt="Загрузка..." />';
var loadingText = '<img src="/images/gl/loading.gif" border="0" alt="Загрузка..." />';
var ww = 0;
var wh = 0;
var dw = 0;
var dh = 0;
var st = 0;
var selects = false;

Event.observe( window, 'load', function() { startGifr() } );

function startGifr() {
    loadingText = $('loading').innerHTML;
    Element.hide('loading');
    new Effect.Appear('content', { duration: .7 });
}

function toggleHint() {
    new Effect.toggle('hint', 'appear');
}

function toggleOverlay(show) {
  updateDims();
  if (!selects) {
    selects = document.getElementsByTagName('select');
  }
  if (show) {
    $('overlay').setStyle({ height: dh + 'px', width: dw + 'px' });
    $('overlay').setOpacity(0);
    for (var i=0; i<selects.length; i++) {
      selects[i].style.visibility='hidden';
    }
    if ($('camStatus')) { $('camInput').style.visibility='hidden'; }
    Element.show('overlay');
    new Effect.Opacity('overlay', {duration:0.5, from:0, to:0.8});
  }
  else {
    new Effect.Fade('overlay', { duration:0.5 });
    for (var i=0; i<selects.length; i++) {
      selects[i].style.visibility='visible';
    }
    if ($('camStatus')) { $('camInput').style.visibility='visible'; }
  }
}

function updateDims() {
  ww = (self.innerWidth || document.documentElement.clientWidth || document.body.clientWidth || 0);
  wh = (self.innerHeight ||  document.documentElement.clientHeight || document.body.clientHeight || 0);
  dw = Math.min(document.body.scrollWidth, ww);
  dh = Math.max(document.body.scrollHeight, wh);
  st = (document.body.scrollTop || document.documentElement.scrollTop);
}

function loadingStart(text) {
  if (!text) text = loadingText;
  $('modal').innerHTML = text;
  if (!loadingFlag) {
    toggleOverlay(true);
    $('modal').style.top=((wh/2)-100)+st+'px';
    $('modal').style.left=((dw/2)-110)+'px';
    Element.show('modal')
    loadingFlag = true;
  }
}

function loadingEnd() {
  toggleOverlay();
    new Effect.Fade('modal', { duration:0.5 });
    loadingFlag = false;
}

function setImage(obj, img) {
  obj.src = '/images/gl/' + img;
}

function toggleHint() {
  new Effect.toggle('hint', 'appear');
}

function deleteGIF(id, code) {
  if (confirm('Ты уверен что хочешь удалить эту гифку?')) {
    $('gif'+id).innerHTML = loadingImg+'<br />Удаление...';
      new Ajax.Updater(
      'gif'+id,
          '/animations/delete_gif', {
        method: 'get',
        evalScripts: true,
              parameters: { id: code }
          }
      );
  }
}