/* Таймер загрузки фотографии */
var timer_load_img;
/* Массив больших фото */
var arr_img = new Array();
/* Массив ширин больших фотографий */
var arr_img_w = new Array();
/* Массив высот больших фотографий */
var arr_img_h = new Array();
/* Массив маленьких фото */
var arr_img_s = new Array();
/* Массив статусов фотографий - загружена в кэш или нет */
var arr_img_status = new Array();
/* Массив загруженных фото */
var arr_img_load = new Object();
/* Текущее отображаемое фото */
var cur_image = 0;
/* Текущее отображаемое фото абсолютное число */
var cur_image_abs = 0;
/* Флаг какой контейнер фотографии находится выше/ниже */
var cur_image_flag = 0;
/* Кол-во фотографий на странице альбома */
var count_img_on_album = 6;
/* Текущая страница альбома */
var cur_page_album = 0;
/* Индекс первой фотографии на странице альбома */
var start_on_album = 0;
/* Иконка загрузки фотографии */
var icon_load = new Image();
/* Процесс смены фотографии */
var process = false;
var timer_updatebox;
var timer_animate;

$(document).ready(function(){
  icon_load.src = "/images/load.gif";
  cur_image_abs = start_on_album + cur_image; 
  check_change_album_page();
  /* Обновить размер контейнера с большой фоткой */
  //update_box_image_size(tmp_image);
  preloadImages(arr_img);
  highlight();
  $.get("/shared/getimagesize.php", 
	{ filename: arr_img[cur_image_abs]}, 
	function(data){
	set_image_size(data);
  }); 
  timer_updatebox = setTimeout("update_box_image_size();",300)
  update_info_panel();
  //update_box_image_size(); 
});


function preloadImages(imagesList)
{
  arr_img_load[cur_image_abs] = new Image();
  arr_img_load[cur_image_abs].src = arr_img[cur_image_abs];
  arr_img_status[cur_image_abs] = true;

  for (var i = 0, len = imagesList.length; i < len; i++) {
    if (i!=cur_image_abs)
	{
      arr_img_load[i] = new Image();
	  arr_img_load[i].src = "";
	  arr_img_status[i] = false;
	  arr_img_load[i].onload=set_image_load;
	}  
  }
}

/* Проверка загружена ли фотография */
function check_load_image(i)
{
  if (!arr_img_status[i])
  {
	$("#preload_image").show(1);
	arr_img_load[i].src = arr_img[i];
	timer_load_img = setInterval("load_single_image("+i+");", 100);
  }
  else
  {
    $("#preload_image").hide(1);
    change_images();
  }	
}

/* Загрузить конкретную фотографию */
function load_single_image(i)
{
  //if (arr_img_load[i].complete && arr_img_load[i].src!="http://"+location.host+"/images/pic.gif")
  //if (arr_img_status[i] && arr_img_load[i].complete)

  if (arr_img_status[i])
  {
	$("#preload_image").hide(1);
    clearInterval(timer_load_img);
	change_images();
  }
}

/* Кнопки прокрутки больших изображений */
function but_left_over()
{
  //$("#but_left").attr({ style: "FILTER: alpha(opacity=50); -moz-opacity:0.50; -khtml-opacity: 0.50;	opacity: 0.50;"});
  //$("#but_left").attr({ style: ""});
  $("#but_left").removeClass();
  $("#but_left").addClass("over");
}
function but_left_out()
{
  $("#but_left").removeClass();
  $("#but_left").addClass("out");
}
function but_right_over()
{
  $("#but_right").removeClass();
  $("#but_right").addClass("over");
}
function but_right_out()
{
  $("#but_right").removeClass();
  $("#but_right").addClass("out");  
}

/* Изображение влево */
function image_left()
{
  if (cur_image_abs>0)
  {
    if (!process)
    {
	  process = true;
      $("#but_right").css("cursor","wait");
      $("#but_left").css("cursor","wait");
	  
      cur_image_abs--;
	  if (arr_img_w[cur_image_abs]==undefined || arr_img_h[cur_image_abs]==undefined)
	  {
        /* Определим размер фото  */
        $.get("/shared/getimagesize.php", 
	    { filename: arr_img[cur_image_abs]}, 
		  function(data){
		  set_image_size(data);
        });
	  }
	}      
	
	check_load_image(cur_image_abs);
	check_change_album_page();
  }
}
/* Изображение вправо */
function image_right()
{
  if (cur_image_abs<arr_img.length-1)
  {
    if (!process)
    {
	  process = true;
      $("#but_right").css("cursor","wait");
      $("#but_left").css("cursor","wait");
	  
      cur_image_abs++;
	  if (arr_img_w[cur_image_abs]==undefined || arr_img_h[cur_image_abs]==undefined)
	  {
        /* Определим размер фото  */
        $.get("/shared/getimagesize.php", 
	    { filename: arr_img[cur_image_abs]}, 
		  function(data){
		  set_image_size(data);
        });	
	  }
	}    
	check_load_image(cur_image_abs);
	check_change_album_page();
  }	
}

/* Очистить счетчик рабочего процесса */
function clear_process()
{
  process = false;
  $("#album_box > a > img").css("cursor","pointer");
  $("#but_right").css("cursor","pointer");
  $("#but_left").css("cursor","pointer");
  
}

/* Плавная смена изображений */
function change_images()
{
  setTimeout("clear_process();",1800);
  check_buttom();
  
  change_image_next(cur_image_abs);
  highlight();
  update_info_panel();
  timer_animate = setTimeout("animate_change();",100);
}

/* Анимация смены изображений */
function animate_change()
{
  //update_box_image_size();
  if (cur_image_flag==0)
  {
	cur_image_flag = 1;	
    $("#big_foto").fadeOut(950);
    $("#big_foto_next").fadeIn(1000);
	//$("#big_foto").insertAfter("#big_foto_next");
	$("#link_foto").insertAfter("#link_foto_next");
  }
  else
  {
	cur_image_flag = 0;	
    $("#big_foto_next").fadeOut(950);
    $("#big_foto").fadeIn(1000);
	//$("#big_foto_next").insertAfter("#big_foto");
	$("#link_foto_next").insertAfter("#link_foto");
  }
  clear_process();
}

/* Изображение загружено */
function set_image_load()
{
  arr_img_status[cur_image_abs] = true;
}

/* Подготовка HTML для плавной смены изображаний */
function change_image_next(i)
{
  if (cur_image_flag==1)
  {
	//$("#big_foto > img").attr({src: arr_img_load[i].src, width: arr_img_w[i], height: arr_img_h[i]});
	$("#big_foto").attr({src: arr_img_load[i].src});
	//$("#link_foto").attr({href: arr_img_load[i].src});
	$("#link_foto").attr({href: arr_img_b[i]});
	
	if (arr_img_w[i]!=undefined && arr_img_h[i]!=undefined)
	{
	  $("#big_foto").attr({width: arr_img_w[i], height: arr_img_h[i]});
	  if (arr_img_w[i]>arr_img_h[i])
	  {
	    $("#big_foto").css("margin-left","0");
	    $("#big_foto").css("top","130");
	  } 
	  else
  	  {
	    $("#big_foto").css("margin-left","90");
	    $("#big_foto").css("top","100");
	  }  
	}
	else
	{
	  $("#big_foto").removeAttr("width");
	  $("#big_foto").removeAttr("height");
	}  

  }
  else
  {
	//$("#big_foto_next > img").attr({src: arr_img_load[i].src, width: arr_img_w[i], height: arr_img_h[i]});
	$("#big_foto_next").attr({src: arr_img_load[i].src});
	//$("#link_foto_next").attr({href: arr_img_load[i].src});
	$("#link_foto_next").attr({href: arr_img_b[i]});
	
	if (arr_img_w[i]!=undefined && arr_img_h[i]!=undefined)
	{
	  $("#big_foto_next").attr({width: arr_img_w[i], height: arr_img_h[i]});
	  if (arr_img_w[i]>arr_img_h[i])
	  {
	    $("#big_foto_next").css("margin-left","0");
	    $("#big_foto_next").css("top","130");
	  } 
	  else
  	  {
	    $("#big_foto_next").css("margin-left","90");
	    $("#big_foto_next").css("top","100");
	  }	  
	}  
	else
	{
	  $("#big_foto_next").removeAttr("width");
	  $("#big_foto_next").removeAttr("height");
	}  
  } 
  //	$("#test2").empty();
  //	$("#test2").append(arr_img_w[i]+" "+arr_img_h[i]);
  /* Обновить размер контейнера, в котором находится большая фотка */
  //update_box_image_size(i);
}

/* Проверить работу кнопок */
function check_buttom()
{
  if (cur_image_abs==0)
  {
    $("#but_left").hide(1);
	$("#but_right").show(1, $("#but_right").attr({style: ""}));
  }	
  else if (cur_image_abs==arr_img.length-1)
  {
    $("#but_right").hide(1);
    $("#but_left").show(1, $("#but_left").attr({style: ""}));
  }	
  else
  {
    if ($("#but_left").css("display")=="none")
    {
      $("#but_left").show(1, $("#but_left").attr({style: ""}));
    }	

    if ($("#but_right").css("display")=="none")
    {
      $("#but_right").show(1, $("#but_right").attr({style: ""}));
    }	
  }
}

/* Сменить фото по щелчку на изображении */
function show_on_click(i)
{
  if (!process)
  {
    //clearTimeout(timer_updatebox);
	//clearTimeout(timer_animate);
    process = true;
	$("#album_box > a > img").css("cursor","wait");
	
    var tmp = start_on_album+i;
    //alert(i+" "+cur_image_abs+" "+start_on_album);
    if (tmp!=cur_image_abs)
    {
	  cur_image_abs = i+start_on_album;
	  update_info_panel();
	  if (arr_img_w[cur_image_abs]==undefined || arr_img_h[cur_image_abs]==undefined)
	  {
        /* Определим размер фото  */
        $.get("/shared/getimagesize.php", 
		  { filename: arr_img[cur_image_abs]}, 
		  function(data){
		  set_image_size(data);
        });
	  }    
      check_load_image(cur_image_abs);
    }
  }
}

/* Подсветить изображение в альбоме */
function highlight()
{
  $("#album_box > a > img").each(
    function()
    {
	  $(this).removeClass();
    }
  );
  $("#s_img_"+cur_image_abs).addClass("active");
}

// **** remove Opacity-Filter in ie ****
function removeFilter(element) {
	if(element.style.removeAttribute){
		element.style.removeAttribute('filter');
	}
}

/* Новая страница альбома */
function change_page_album(page)
{
  cur_page_album = page;
  start_on_album = count_img_on_album*(cur_page_album-1);
  $("#album_box > a").each(
    function()
    {
	  $(this).empty();
	  if (start_on_album < arr_img_s.length && arr_img_s[start_on_album]!="undefined")
	  {
	    $(this).append("<img id=s_img_"+start_on_album+" src="+arr_img_s[start_on_album]+" border=0 width=80 height=80>");
	    start_on_album++;
	  }	
    }
  );
  update_album_page(page);
  start_on_album = count_img_on_album*(cur_page_album-1);
}

/* Обновить номер страницы альбома */
function update_album_page(page)
{
  $("#pagepanel > a").each(
    function()
    {
	  $(this).css("font-weight","");
	  $(this).css("color","");
    }
  );
  $("#pager_"+page).css("font-weight","bold");
  $("#pager_"+page).css("color","#FFFFFF");
}

/* Проверка перевернуть страницу альбома? */
function check_change_album_page()
{
  var tmp_cur_page = Math.ceil((cur_image_abs+1)/count_img_on_album);
  if (tmp_cur_page!=cur_page_album)
  {
    change_page_album(tmp_cur_page);
	highlight();
  }
}

/* Обновить информацию о текущей фотографии на инфо-панели */
function update_info_panel()
{
  var info_cur_image = cur_image_abs+1;
  $("#pager_info").empty();
  $("#pager_info").append("Фото № "+info_cur_image+" из "+arr_img.length);
}

/* Установить размеры изображений */
function set_image_size(width_height)
{
  var start_h = width_height.indexOf("#");
  if (start_h!=-1)
  {
    var width = width_height.substring(0, start_h);
	var height = width_height.substring(start_h+1);
    arr_img_w[cur_image_abs]=width;
    arr_img_h[cur_image_abs]=height;
	//update_box_image_size();
	//$("#test").empty();
	//$("#test").append(width+" "+height);
  }	
}

/* Обновить размер контейнера, в котром находится большая фотка */
function update_box_image_size()
{
  if (arr_img_h[cur_image_abs]!=undefined)
  {
    //height = Math.ceil(arr_img_h[cur_image_abs])+80;
    //$("#box_fon_big_foto").css("height",height);
  }	
}