(function($){
$.fn.fancyZoom = function(options)
{
	var options   = options || {};
	var directory = options && options.directory ? options.directory : 'images';
	var zooming   = false;
	
	if ($('#zoom').length == 0) 
	{
		var ext = $.browser.msie ? 'gif' : 'png';
		var html = '<div id="zoom" style="display:none;"> \
		<div id="zoom_content"></div> \
		<a href="#" title="Close" id="zoom_close" style="position:absolute; top:0; left:0;"></a> \
		</div>';
		
		$('body').append(html);
		
		$('html').click(function(e){if($(e.target).parents('#zoom:visible').length == 0) hide();});
		$(document).keyup(function(event){
		if (event.keyCode == 27 && $('#zoom:visible').length > 0) hide();
		});
		
		$('#zoom_close').click(hide);
	}

	var zoom          = $('#zoom');
	var zoom_content  = $('#zoom_content');
	
	this.each(function(i) {
	$($(this).attr('href')).hide();
	$(this).click(show);
});

  return this;
  
  

  function show(e) 
  {
    if (zooming) 
    	return false;
    	
	zooming = true;
	var content_div = $($(this).attr('href'));
  	
  	var zoom_width  = options.width;
	var zoom_height = options.height;
	
	var width       = window.innerWidth || (window.document.documentElement.clientWidth || window.document.body.clientWidth);
  	var height      = window.innerHeight || (window.document.documentElement.clientHeight || window.document.body.clientHeight);
  	var x           = window.pageXOffset || (window.document.documentElement.scrollLeft || window.document.body.scrollLeft);
  	var y           = 0;
  	var window_size = {'width':width, 'height':height, 'x':x, 'y':y}

	var width              = 799;
	var height             = 359;
	
	var newTop             = 164;
	var newLeft            = (window_size.width/2) - (width/2) + 52;
	var curTop             = e.pageY;
	var curLeft            = e.pageX;
	
	$.fn.fancyZoom.close_top = $(this).first().offset().top + 'px';
	$.fn.fancyZoom.close_left = $(this).first().offset().left + 'px';
	$.fn.fancyZoom.close_width = $(this).first().width() + 'px';
	$.fn.fancyZoom.close_height = $(this).first().height() + 'px';

    $('#zoom').hide().css({
			position  : 'absolute',
			top		  : $.fn.fancyZoom.close_top,
			left	  : $.fn.fancyZoom.close_left,
			width     : $.fn.fancyZoom.close_width,
			height    : $.fn.fancyZoom.close_height
		});

  
    if (options.closeOnClick) {
      $('#zoom').click(hide);
    }

		if (options.scaleImg) {
  		zoom_content.html(content_div.html());
  		$('#zoom_content img').css('width', '100%');
		} else {
		  zoom_content.html('');
		}

    $('#zoom').animate({
      top     : newTop + 'px',
      left    : newLeft + 'px',
      opacity : "show",
      width   : width,
      height  : height
    }, 500, null, function() {
      if (options.scaleImg != true) {
    		zoom_content.html(content_div.html());
  		}
		//	unfixBackgroundsForIE();
			//zoom_close.show();
			zooming = false;
    })
    return false;
  }

  function hide() {
  	if (document.getElementById('player') && document.getElementById('player').pause)
  		document.getElementById('player').pause();
    if (zooming) return false;
		zooming         = true;
	  $('#zoom').unbind('click');
		//if (zoom_close.attr('scaleImg') != 'true') {
  		zoom_content.html('');
		//}
		//zoom_close.hide();
		$('#zoom').animate({
      top     : $.fn.fancyZoom.close_top,
      left    : $.fn.fancyZoom.close_left,
      opacity : "hide",
      width   : $.fn.fancyZoom.close_width,
      height  : $.fn.fancyZoom.close_height
    }, 500, null, function() {
			zooming = false;
    });
    return false;
  }

}
})(jQuery);
