var viewer_options_viewer='';
var viewer_options_shadow='';

function onload_viewer(title,href){
  jQuery(viewer_options_viewer+' .title').text(title);
  jQuery(viewer_options_viewer+'').css('visibility','hidden').show(); // Нужно для определения размеров
  var real_width=jQuery(viewer_options_viewer+' .image').width();
  var real_height=jQuery(viewer_options_viewer+' .image').height();
  jQuery(viewer_options_viewer+' .inner').css('width',real_width+'px');
  jQuery(viewer_options_viewer+' .image').attr('realwidth',real_width);
  jQuery(viewer_options_viewer+' .image').attr('realheight',real_height);
  resize_viewer(true);
  jQuery(viewer_options_shadow).show();
  jQuery(viewer_options_viewer+'').css('visibility','visible');
}  

function resize_viewer(first){
  if(first==true || jQuery(viewer_options_shadow).css('display')=='block'){
    var vmargin=150;
    var hmargin=50;
    var full_width=jQuery(viewer_options_viewer+' .image').attr('realwidth');
    var full_height=jQuery(viewer_options_viewer+' .image').attr('realheight');
    var window_width=document.documentElement.clientWidth;
    var window_height=document.documentElement.clientHeight;
    var width=full_width;
    var height=full_height;
    var delta_v=full_height-(window_height-vmargin);
    var delta_h=full_width-(window_width-hmargin);
    if(delta_v>0 && delta_v>=delta_h){
      var f=(window_height-vmargin)/full_height;
      width=full_width*f;
      height=full_height*f;
    }else if(delta_h>0 && delta_h>=delta_v){
      var f=(window_width-hmargin)/full_width;
      width=full_width*f;
      height=full_height*f;
    }
    jQuery(viewer_options_viewer+' .image').width(width);
    jQuery(viewer_options_viewer+' .inner').width(width);
    jQuery(viewer_options_viewer+' .image').height(height);
  }
}

jQuery.fn.viewer=function(options){
  
  // настройки по умолчанию
  var options=jQuery.extend({
    shadow:'#standart-viewer-shadow',
    viewer:'#standart-viewer'
  },options);
  
  
  
  if(options.shadow=='#standart-viewer-shadow' && jQuery('#standart-viewer-shadow')[0]==undefined){
    jQuery('body').append(
      '<div style="display:none;" class="viewer-shadow" id="standart-viewer-shadow"></div>'
    );    
  }
  
  viewer_options_shadow=options.shadow;
  
  if(options.viewer=='#standart-viewer' && jQuery('#standart-viewer')[0]==undefined){
    jQuery('body').append(
      '<table style="display: none;height:100%" class="viewer" id="standart-viewer"><tbody><tr><td class="viewer-td" align="center">'+
      '  <div style="width: 600px;" class="inner">'+
      '    <div class="closewrapper"><a class="close" href="#">Закрыть</a></div>'+
      '    <img relheight="450" relwidth="600" class="image" src="index_files/2tabl.jpg" alt="">'+
      '    <div class="title"></div>'+
      '  </div>'+
      '</td></tr></tbody></table>'  
    );
  }
  
  viewer_options_viewer=options.viewer;
  
  jQuery(options.viewer+' .close').click(function(e){
    if ( jQuery.browser.msie && /6.0/.test(navigator.userAgent) ) jQuery('select').show();
    jQuery(options.shadow).hide();
    jQuery(options.viewer+'').hide();
    return false;
  });   
 
  jQuery(window).resize(resize_viewer);
  
  return this.each(function(){
    jQuery(this).click(function(){
      var href = jQuery(this).attr('href');
      var title=jQuery(this).children('img').attr('alt');  
      jQuery(options.viewer+' .image').attr('src',href);
      jQuery(options.viewer+' .image').unbind('load');
      jQuery(options.viewer+' .image').replaceWith('<img class="image" src="'+href+'"  onload="resize_viewer(true);onload_viewer(\''+title+'\',\''+href+'\')" />');
      if(jQuery.browser.msie && /6.0/.test(navigator.userAgent) ) jQuery('select').hide();
      return false;
    }); 
  });
  
};

