// daGallery v2.0, http://cvek.ru/portfolio/development/

var daGalContainer;  //Контейнер для галереи
var daGalBg;        //Фон всей галереи
var daImgContainer;//Контейнер для картинки и её описания
var daImg;        //Текущая картинка
var daImgList;   //Массив всех ссылок на картинки
var daCurImg;   //Порядковый номер текущей картинки в галерее
var isStarted; //Запущена ли уже галерея

var previewpanel_load=false;

function initDAGal(){
  $('#start').click(startDAGal);
  $('div.startgal').click(startDAGal);
  $('div.hsupply').click(startDAGal);
  $('div.hsupply').css('cursor','pointer');
  isStarted = false;
}

function startDAGal() {
  if (isStarted) return false;
  isStarted = true;
  //if ( $(this).attr('rel') == '' ) return; // Если нет атрибута rel - галерея не запускается
  
  _this=$('#daGalleryfirst');
  
  daImgList = $('.daGallery a[rel="'+$(_this).attr('rel')+'"]'); //Все ссылки на картинки данной галереи
  for (daCurImg = i = 0; $(daImgList[i]).attr('href') != $(_this).attr('href'); daCurImg = ++i);

  var w=$("body").width();
  var h=$("body").height()+1000;
  
  $('body')
    .append('<table id="daGalContainer"><tr><td class="daTools"><a href="#" class="daPrev"></a><a href="#" target="_blank" class="daLupa"></a><a href="#" class="daNext"></a><a href="#" class="daClose"></a></td></tr><tr><td class="daImg"></td></tr><tr><td id="previews" style="display:none"></td></tr></table>')
    .append('<div id="daGalBg" style="width:'+w+'px; height:'+h+'px;"></div>');
	
	$('body').css('overflow','hidden');

  //Кешируем
  daGalContainer = $('#daGalContainer');
  daGalBg = $('#daGalBg').click( function(){closeDAGal(); return false} );
  daImgContainer = $('#daGalContainer .daImg');
  wnd = $(window);

  showImgDAGal( $(_this) );//Создаём картинку

  daGalBg.css('opacity',0).fadeTo('slow',0.5);
  daGalContainer.find('.daPrev').click( function(){switchImgDAGal(--daCurImg); return false} );
  daGalContainer.find('.daNext').click( function(){switchImgDAGal(++daCurImg); return false} );
  daGalContainer.find('.daPrev').attr('title','Предыдущая');
  daGalContainer.find('.daNext').attr('title','Следующая');
  daGalContainer.find('.daLupa').attr('title','Полноразмерное изображение');
  daGalContainer.find('.daClose').attr('title','Закрыть').click(function(){closeDAGal(); return false});
  wnd.resize(wResizeDAGal);
  wResizeDAGal();
  return false;
}

function wResizeDAGal(){
  //Корректируем размер задника
  wnd = $(window);
  
  topvalue=(wnd.height()/2 - daGalContainer.height()/2) + wnd.scrollTop() - 70;
  
  if (topvalue<5) topvalue=5;
  
  daGalContainer.css('top', topvalue);
  daGalContainer.css('left',(wnd.width()/2 - daGalContainer.width()/2) + wnd.scrollLeft());
  
  
  
}

function switchImgDAGal(num){

  daGalContainer.find('.daPrev').hide();
  daGalContainer.find('.daNext').hide();
  daGalContainer.find('.daLupa').hide();
  daImgContainer.find('img').remove();//Убираем старую картинку
  daImgContainer.find('.daDesc').remove();//Убираем описание
  daImgContainer.find('b').remove();
  wResizeDAGal();
  

  $('#previews a').removeClass('active');
  $('#previews #'+(daCurImg-1)).addClass('active');
  $('#previews #'+(daCurImg-1)).css('filter','alpha(opacity=100)');
  $('#previews').css('display','none');

  
  

  showImgDAGal($(daImgList[daCurImg]));
}

function switchImgDAGal2(num,setactive){

  daGalContainer.find('.daPrev').hide();
  daGalContainer.find('.daNext').hide();
  daGalContainer.find('.daLupa').hide();
  daImgContainer.find('img').remove();//Убираем старую картинку
  daImgContainer.find('.daDesc').remove();//Убираем описание
  daImgContainer.find('b').remove();
  wResizeDAGal();
  
  daCurImg=num;
  
  
  $('#previews a').removeClass('active');
  $('#previews #'+setactive).addClass('active');
  $('#previews #'+setactive).css('filter','alpha(opacity=100)');
  $('#previews').css('display','none');
  
  
  showImgDAGal($(daImgList[num]));

}

function showImgDAGal(el){
  //Создаём картинку
  
  if ($.browser.msie)  
  daImgContainer.addClass('daGalLoadIE');
  else
  daImgContainer.addClass('daGalLoad');
  
  daNewImg = new Image();
  $(daNewImg)
    .error( function(){
      contrlsOnDAGal();
	  
	  if ($.browser.msie)  
		daImgContainer.removeClass('daGalLoadIE');
		else
		daImgContainer.removeClass('daGalLoad');
	  
      
      daImgContainer.html('<b>Изображение не найдено<br/>'+el.attr('href')+'</b>');
      wResizeDAGal();
    })
    .load( function(){
      contrlsOnDAGal();
      if ($.browser.msie)  
		daImgContainer.removeClass('daGalLoadIE');
		else
		daImgContainer.removeClass('daGalLoad');
	  
      $(daNewImg).attr('alt', el.find('img').attr('alt') );
      daGalContainer.hide();
      daImgContainer.append(daNewImg).append('<div class="daDesc">'+el.attr('title')+'</div>');
	  
      daImg = daImgContainer.find('img');
      daGalContainer.fadeIn();
      //Устанавливаем свойства картинок
      wnd = $(window);

	  if (daImg.width() > wnd.width()){
        newHeight = daImg.height()* (wnd.width()-90) / daImg.width();
        daImg.width( wnd.width()-90 ).height( newHeight );
        daGalContainer.find('.daLupa').show().attr('href', el.attr('href'));
      }
      if (daImg.height() > (wnd.height()-180)){		
        newWidth = daImg.width()* (wnd.height()-180) / daImg.height();
        daImg.height(wnd.height()-180).width( newWidth );
        daGalContainer.find('.daLupa').show().attr('href', el.attr('href'));
      }
	  
	  	  
	  
      daGalContainer.find('.daTools').width( daImg.width() );
      
      wResizeDAGal();
	  
	  
	  if ((daImg.height()+181)>(wnd.height()))
	  daGalContainer.css('top','0px');
	  
		if (previewpanel_load==false)
			{
			$('#previews').html($('#previewpanel').html()).css('display','block');
			previewpanel_load=true;
			}
		else
			{
			$('#previews').css('display','block');
			}
    })
    .attr('src', el.attr('href'));
}

function closeDAGal(){
  $(window).unbind('resize');
  daGalBg.remove();
  daGalContainer.remove();
  isStarted = false;
  previewpanel_load=false;
  $('body').css('overflow','auto');
}

function contrlsOnDAGal(){
  if (daCurImg > 0) daGalContainer.find('.daPrev').show();
  if (daCurImg < ($(daImgList).length - 1)) daGalContainer.find('.daNext').show();
}
