function preload() {
  if (document.images) {
    var imgsrc = preload.arguments;
    arr=new Array(imgsrc.length);
    for (var j=0; j<imgsrc.length; j++) {
      arr[j] = new Image;
      arr[j].src = imgsrc[j];
    }
  }
}

// показать элемент
function show(iid) {
  elem=document.getElementById(iid);
  if (elem!=null) {
    elem.style.display='block';
    elem.style.zIndex='2000';
  }
}

// скрыть элемент
function hide(iid) {
   elem=document.getElementById(iid);
  if (elem!=null) {
    elem.style.display='none';
  }
}

// переключить элемент
function toggle(iid) {
   elem=document.getElementById(iid);
  if (elem!=null) {
    if (elem.style.display=='block') {
      elem.style.display='none';
    } else {
      elem.style.display='block';
    }
  }
}

function scrollLock(e) {
  var a=e.data.pos; 
  window.scrollTo(a[0],a[1]); return false; 
} 

// тень

function getModal(photoNum)
{
  var loc = "" + window.location;
  var locparts = loc.split("/");
  var kind = locparts[4];
  var id = locparts[5];

  //Get the screen height and width  
  var maskHeight = jQuery(document).height();  
  var maskWidth = jQuery(window).width();  
  
  //Set height and width to mask to fill up the whole screen  
  jQuery('#mask').css({'width':maskWidth,'height':maskHeight});  
    
  //transition effect
  jQuery('#mask').fadeTo(0,0);
  jQuery('#mask').fadeIn(0);
  jQuery('#mask').fadeTo(100, 0.85);      
  
  //Get the window height and width  
  if (!photoNum) var photoNum = 0;
  jQuery("#modal_gal").load('/af_photogal.php?table=0&kind='+kind+'&id='+id+'&photonum='+photoNum);

  var winH = jQuery(window).height();  
  var winW = jQuery(window).width();  
  jQuery("#modal_gal").css('top', winH / 2 - jQuery("#modal_gal").height() / 2);
  jQuery("#modal_gal").css('left', winW / 2 - jQuery("#modal_gal").width() / 2);  
  
//  var a = [0,0];
//  jQuery(window).bind('scroll',{pos: a},scrollLock); 

  jQuery(window).bind('resize',resizeDoc);

  window.scrollTo(0,0);

  jQuery("#modal_gal").fadeIn();
  
  jQuery('#mask').click(galleryHide); 
}

function galleryHide()
{
//  jQuery(window).unbind('scroll',scrollLock); // unbinds lock 
  //alert('hiding');
  jQuery("#modal_gal").fadeOut(200);
  jQuery('#mask').fadeOut(200);  
  
}

function resizeDoc() {
  var maskHeight = jQuery(document).height();  
  var maskWidth = jQuery(window).width();  
  
  //Set height and width to mask to fill up the whole screen  
  jQuery('#mask').css({'width':maskWidth,'height':maskHeight});  

  var winH = jQuery(window).height();  
  var winW = jQuery(window).width();  

//  jQuery("#modal_gal").css('top', winH / 2 - jQuery("#modal_gal").height() / 2);
  jQuery("#modal_gal").css('left', winW / 2 - jQuery("#modal_gal").width() / 2);  

}

var pagecache = new Array();
var currentpageid = 1;
var pagesize = 6;

function makethumbcontent(id, json) {
  currentpage = '<div id="slide_thumb_' + id + '" class="slide_thumbs_hld">';
  for (var i = 0; i < json.files.length; i++) {
    idx = (pagesize * id - pagesize) + i;
    currentpage += '<a href="#" onclick="getModal('+idx+'); return false;"><img class="slide_thumb_img" src="' + json.files[i].path + '"/></a>';
  }
  currentpage += '</div>';
  pagecache[id] = currentpage;
  return currentpage;
}

function preloadNextPage(json) {
          if (json.result) {
            if (json.debug != null) {
              alert(json.debug);
            }
            if (json.files.length > 0) {
              makethumbcontent(currentpageid + 1, json);
              jQuery("#slide_next").addClass("slide_next_enabled");
              jQuery("#slide_next").removeClass("slide_next_disabled");
              jQuery("#slide_next").bind('click', thumbNextPage);
            }
            else {
              jQuery("#slide_next").addClass("slide_next_disabled");
              jQuery("#slide_next").removeClass("slide_next_enabled");
              jQuery("#slide_next").unbind('click');
            }
          }
}

function thumbPrevPage() {
  jQuery("#slide_prev").unbind('click');
  jQuery("#slide_prev").addClass("slide_prev_disabled");
  jQuery("#slide_prev").removeClass("slide_prev_enabled");
  currentpageid -= 1;
  if (pagecache[currentpageid] != null) {
    nm = '#slide_thumb_'+(currentpageid+1);
    jQuery(nm).fadeOut("slow");
    jQuery("#slide_thumbs").html(pagecache[currentpageid]);
    nm = '#slide_thumb_'+(currentpageid);
    jQuery(nm).fadeIn("slow");
  }
  else {
    // Так быть не должно.
    alert("Error reference to cache (next).");
  }
  jQuery("#slide_next").addClass("slide_next_enabled");
  jQuery("#slide_next").removeClass("slide_next_disabled");
  jQuery("#slide_next").bind('click', thumbNextPage);

  if (currentpageid != 1) {
    jQuery("#slide_prev").bind('click', thumbPrevPage);
    jQuery("#slide_prev").addClass("slide_prev_enabled");
    jQuery("#slide_prev").removeClass("slide_prev_disabled");
  }
}

function thumbNextPage() {
  jQuery("#slide_next").unbind('click');
  jQuery("#slide_next").addClass("slide_next_disabled");
  jQuery("#slide_next").removeClass("slide_next_enabled");
  currentpageid += 1;
  if (pagecache[currentpageid] != null) {
    nm = '#slide_thumb_'+(currentpageid-1);
    jQuery(nm).fadeOut("slow");
//    jQuery(nm).hide('slide', {direction: 'left'}, 2000);

    jQuery("#slide_thumbs").html(pagecache[currentpageid]);
    nm = '#slide_thumb_'+(currentpageid);
    jQuery(nm).fadeIn("slow");
//    jQuery(nm).show('slide', {direction: 'left'}, 1000);
  }
  else {
    // Так быть не должно.
    alert("Error reference to cache (next).");
  }

  jQuery("#slide_prev").addClass("slide_prev_enabled");
  jQuery("#slide_prev").removeClass("slide_prev_disabled");
  jQuery("#slide_prev").bind('click', thumbPrevPage);

  if (pagecache[currentpageid + 1] == null) {
    jQuery.getJSON('/af_photogal.php?gallery', {'from': "" + document.location, 'pagesize': pagesize, 'load':currentpageid + 1}, preloadNextPage);
  }
  else {
    jQuery("#slide_next").addClass("slide_next_enabled");
    jQuery("#slide_next").removeClass("slide_next_disabled");
    jQuery("#slide_next").bind('click', thumbNextPage);
  }
}

//jQuery(document).ready(function(){
//   // грузим собственно текущую галерею
//   jQuery.getJSON('/af_photogal.php?gallery', {'from': "" + document.location, 'pagesize': pagesize, 'load':currentpageid}, function(json) {
//     if (json.result) {
//       if (json.debug != null) {
//         alert(json.debug);
//       }
//       if (json.files.length > 0) {
//         jQuery('#slidegal').html('<div id="slide_prev" class="slide_prev_disabled"></div><div id="slide_next" class="slide_next_disabled"></div><div id="slide_thumbs"></div><div class="clear"></div>');
//         jQuery('#slidegal').show();
//         content = makethumbcontent(currentpageid, json);
//         jQuery("#slide_thumbs").html('');
//         jQuery("#slide_thumbs").append(content);
//         jQuery('#slide_thumb_'+currentpageid).fadeIn('slow');
// 
//         // теперь грузим прелоад
//         jQuery.getJSON('/af_photogal.php?gallery', {'from': "" + document.location, 'pagesize': pagesize, 'load':currentpageid + 1}, preloadNextPage);
//       }
//     }
//     else {
//       jQuery("#slide_thumbs").append("Error loading image gallery");
//     }
//   })
// });