// Place your application-specific JavaScript functions and classes here
// This file is automatically included by javascript_include_tag :defaults

// Zatvaranie vrstiev pomocou ESC
KoprCloseKey = {
  keyCode: Event.KEY_ESC,

  init: function(keyCode) {
    if (keyCode)
      KoprCloseKey.keyCode = keyCode;
    Event.observe(document, 'keydown', this._closeLayer.bindAsEventListener(this));
  },

  _closeLayer: function(event) {
    var e = event || window.event
  	var characterCode = e.which || e.keyCode;
    if (characterCode == KoprCloseKey.keyCode) {
      if (!$('overlayer').empty()) {
        $('overlayer').update('');
      }
      else if (!$('overlayer-big').empty()) {
        $('overlayer-big').update('');
        after_close_overlayer();
      }
      
      $$('.hidden-form-item').each(function(s) {
        s.next().hide();
        s.show();
      });
      $$('.form-with-hidden-items').each(function(s) {
        s.reset();
      });
    }
  }
}

function get_next_id(current_id) {
  if ($('c-' + current_id).next()) {
    return $('c-' + current_id).next().identify().gsub('c-', '');
  }
  else if ($('fotky-left').childElements().last().identify() == 'c-' + current_id) {
    return $('fotky-right').childElements().first().identify().gsub('c-', '');
  }
  else {
    return 0;
  }
}

function get_prev_id(current_id) {
  if ($('c-' + current_id).previous()) {
    return $('c-' + current_id).previous().identify().gsub('c-', '');
  }
  else if ($('fotky-right').childElements().first().identify() == 'c-' + current_id) {
    return $('fotky-left').childElements().last().identify().gsub('c-', '');
  }
  else {
    return 0;
  }
}

function toggle_info() {
  $('ginfo-visible').toggle();
  $('ginfo-hidden').toggle();
  $('ginfo').toggleClassName('info-zavreno');
}

//Event.observe('image-detail', 'load', function() {
//function center_image() {
//  image_height = $('image-detail').getHeight();
//  viewport_height = document.viewport.getHeight();
//  padding = (viewport_height - image_height) / 2;
//
//  if (padding > 0) {
//    $('image-detail').setStyle({
//      marginTop: padding + 'px',
//    });
//  }
//  else {
//    $('image-detail').setStyle({
//      marginTop: '0px',
//    });
//  }
//  $('image').setStyle({
//    visibility: 'visible',
//  });
//}
//});

// Object to set a close key an all windows
GalleryCloseKey = {
  keyCode: Event.KEY_ESC,

  init: function(keyCode) {
    if (keyCode)
      GalleryCloseKey.keyCode = keyCode;
    Event.observe(document, 'keydown', this._closeGallery.bindAsEventListener(this));
  },

  _closeGallery: function(event) {
    var e = event || window.event
  	var characterCode = e.which || e.keyCode;
    if (characterCode == GalleryCloseKey.keyCode) {
      if ($('detail-big').getStyle('display') != 'none') {
        $('detail-big').hide();
        $('detail').show();
      }
      else {
        $('detail').hide();
        $('detail-bg').hide();
      }
    }
  }
}

function update_zoom(zoom_element) {
  if (zoom_element.innerHTML == '+') {
    zoom_element.replace('<span id="'+zoom_element.identify()+'" class="zoom">&ndash;</span>');
  }
  else {
    zoom_element.replace('<span id="'+zoom_element.identify()+'" class="zoom">+</span>');
  }
}

// funkcia volana pri otvarani vrsty
function after_open_overlayer() {
  $('body').setStyle({
    overflow: 'hidden'
  });
}

// funkcia volana pri zatvarani vrsty
function after_close_overlayer() {
  $('body').setStyle({
    overflow: 'visible'
  });
}

// vycentruje vrstvu
// TODO: dojst na to, ako to spravit v IE bez opakovania kodu
function center_overlayer(overlayer_type) {
  if (overlayer_type != 'small') {   
    margin_left = (document.viewport.getWidth() - $('fotogalerie-vyber-cont').getDimensions().width) / 2;
    $('fotogalerie-vyber-cont').setStyle({
      left: margin_left + 'px'
    });
  
    margin_top = (document.viewport.getHeight() - $('fotogalerie-vyber-cont').getDimensions().height) / 2;
    $('fotogalerie-vyber-cont').setStyle({
      top: margin_top + 'px'
    });
  
    $('fotogalerie-vyber-cont').setStyle({
      display: 'block'
    });
  }
  else {
    margin_left = (document.viewport.getWidth() - $('fotogalerie-vyber-cont-small').getDimensions().width) / 2;
    $('fotogalerie-vyber-cont-small').setStyle({
      left: margin_left + 'px'
    });
  
    margin_top = (document.viewport.getHeight() - $('fotogalerie-vyber-cont-small').getDimensions().height) / 2;
    $('fotogalerie-vyber-cont-small').setStyle({
      top: margin_top + 'px'
    });
  
    $('fotogalerie-vyber-cont-small').setStyle({
      display: 'block'
    });
  }
}