//Start all the prettyphoto galleries on the current page
$(function(){
  
  var prettyphotos = $('a.prettyphoto');
  for (var i = 0; i < prettyphotos.length; i++) {
    var gallery = $(prettyphotos[i]).attr('gallery');
    $("a[rel=prettyPhoto[" + gallery + "]]").prettyPhoto();
  }
});

//hide all empty components
$(function(){
  $('.component-container span.empty-component').each(function(){
    var component = $(this).parents('.component-container');
    $(component).hide();
  });

});

//On success event after gallery ajax is triggered
function mediaGalleryOnSuccess(gallery, nGalleryId, data, galleryClass) {
  $(gallery).empty();
        var firstImg = null;
        $.each(data, function(i, media) {
          var image = document.createElement('img');
          $(image).attr('src', media.video_thumb ? media.video_thumb : media.url);
          $(image).attr('width', media.width);
          $(image).attr('height', media.height);

          var anchor = document.createElement('a');
          $(anchor).addClass('prettyphoto latest-galleries');
          $(anchor).attr('gallery', 'gallery_' + nGalleryId);
          $(anchor).attr('rel', 'prettyPhoto-' + galleryClass + '-galleries[gallery_' + nGalleryId + ']');
          $(anchor).attr('href', media.url);

          if (i > 0) {
            $(anchor).attr('style', 'display:none;');
          } else {
            firstImg = image;
          }

          $(anchor).append(image);
          $(gallery).append(anchor);
        });
        $("a[rel=prettyPhoto-" + galleryClass + "-galleries[gallery_" + nGalleryId + "]]").prettyPhoto();
        $(firstImg).click();
}

//Show a black transparent background with an ajax loading icon in the center
function showAjaxLoadingIcon(message) {
  var iconWidth = 125;
  var iconHeight = 20;
  
  $('<div/>', {
    'class': 'ajax-loading-background',
    style: 'opacity: 0.8; height: ' + $(document).height() + 'px; width: ' + $(document).width() + 'px; display: block;'
  }).appendTo('body');
  $('<div/>', {
    'class': 'ajax-loading-icon-container',
    style: 'height:' + iconHeight + 'px;top:' + ($(window).height())/2 + 'px;left:' + (($(window).width())/2 - iconWidth/2) + 'px;'
  }).appendTo('div.ajax-loading-background');
  $('<img/>', {
    src: '/images/ajax-loader.gif',
    'class': 'ajax-loading-icon',
    style: 'height:' + iconHeight + 'px;width:' + iconWidth + 'px;'
  }).appendTo('div.ajax-loading-icon-container');
  $('<p/>', {
    'class': 'ajax-loading-text',
    text: message
  }).appendTo('div.ajax-loading-icon-container');
}

//Assingning ajax event to each gallery on latest galleries widget
$(function(){
  $(document).delegate('a.prettyphoto.latest-galleries', 'click', function(){
    var gallery = $(this).parent();
    var nGalleryId = $(this).attr('gallery').split('_');
    nGalleryId = nGalleryId[1];

    showAjaxLoadingIcon('Cargando galeria...');

    $.ajax({
      //url: 'http://sporting.localhost/frontend1q_dev.php/gallery/' + nGalleryId,
      url: 'http://www.iprsportingclub.com.ar/gallery/' + nGalleryId,
      type: 'GET',
      dataType: 'json',
      data: 'caller=latest_galleries',
      success: function(data){
        $('.ajax-loading-background').remove();
        if (typeof(data) == 'undefined' || data == null || data.length == 0)
          alert('Error al cargar la galeria, intente en unos minutos.');
        else
          mediaGalleryOnSuccess(gallery, nGalleryId, data, 'latest');
      },
      complete: function (){
        $('.ajax-loading-background').remove();
      }
    });
  });
});

//Assingning ajax event to each gallery on list all galleries widget
$(function(){
  $(document).delegate('a.prettyphoto.list-all-galleries', 'click', function(){
    var gallery = $(this).parent();
    var nGalleryId = $(this).attr('gallery').split('_');
    nGalleryId = nGalleryId[1];
    showAjaxLoadingIcon('Cargando galeria...');

    $.ajax({
      //url: 'http://sporting.localhost/frontend1q_dev.php/gallery/' + nGalleryId,
      url: 'http://www.iprsportingclub.com.ar/gallery/' + nGalleryId,
      type: 'GET',
      dataType: 'json',
      data: 'caller=all_galleries',
      success: function(data){
        $('.ajax-loading-background').remove();
        if (typeof(data) == 'undefined' || data == null || data.length == 0)
          alert('Error al cargar la galeria, intente en unos minutos.');
        else
          mediaGalleryOnSuccess(gallery, nGalleryId, data, 'list-all');
      },
      complete: function (){
        $('.ajax-loading-background').remove();
      }
    });
  });
});
