;jQuery.noConflict();


  jQuery(document).ready(function($){
	 $('.retina2').retina()
  });


(function($){
	/**
	 * @author Ti ($.fn.retina)                http://3apaxi.com/      ti.bugmenot@gmail.com
	 * @author Martin Angelov (idea, example)  http://tutorialzine.com/2010/06/apple-like-retina-effect-jquery-css/
	 * @version 0.1 (07.10.2010)
	 */
	$.fn.retina = function(options) {
		options = $.extend(true, {
			// default options:
			enable: true,         // false to deattach retina
			css: {},              // custom css
			appendTo: '.zoom23',     // 
			src: null,			  // src of large iamge (else use rel, src or href attrs)
			radius: null,		  // css radius (null - auto)
			ie: {
				css3pie: 'http://' + window.location.hostname + '/PIE.htc',  // URI of css3pie (for IE)
				cursor: 'http://' + window.location.hostname + '/blank.cur' // URI of blank.cur (for IE)
			},
			preload: false	 	  // preload large image?
		}, options)
		
		
		
		
		// attach
		if (options.enable) {
			this.each(function() {
				if (this.retina) this.retina.deattach() // reattach retina
				this.retina = new Retina(this, options.src || $(this).attr('rel') || $(this).attr('src') || $(this).attr('href'), options)
				
			})
		}
		// deattach
		else {
			this.each(function() {
				if (this.retina) {
					this.retina.deattach()
					delete this.retina
				}
			})
		}
		return this
	}

	var Retina = function(element, largeImage, options) {
		var _this = this
		var node = $(element)
		var glass
		var oldIe

		var init = function() {
			oldIe = $.browser.msie && /^[5-8]\./.test($.browser.version)

			var getCursor = function() {
				if (oldIe && options.ie.cursor) return 'url('+options.ie.cursor+'),crosshair'
				if ($.browser.mozilla || $.browser.opera) return 'none'
				var blankCur ='none'; //'AAACAAEAICAAAAAAAADoAgAAFgAAACgAAAAgAAAAQAAAAAEABAAAAAAAgAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAACAAAAAgIAAgAAAAIAAgACAgAAAgICAAMDAwAAAAP8AAP8AAAD//wD/AAAA/wD/AP//AAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////w=='
				if ($.browser.webkit) blankCur = blankCur.slice(0, 829)+'P'+blankCur.slice(830,1016)+'f'+blankCur.slice(1017)
				return 'url(data:text/plain;base64,'+blankCur+'),none'
			}

			glass = $('<div id="lens"></div>')
			glass.css($.extend(true, {
				display: 'none',
				
				background: 'no-repeat center center white url('+ $("#href-img").attr("href")/*largeImage*/+')',
				border: '2px solid white',
				
				/* Positioned absolutely, so we can move it around */
				position: 'absolute',
				top: 0,
				left: 0,
				height: 180,
				width: 180,
				"z-index":999,

				/* CSS3 Box Shadow */
				boxShadow: '0 0 5px #777, 0 0 10px #aaa inset',
				'-webkit-box-shadow': '0 0 5px #777',
				'-moz-box-shadow': '0 0 5px #777, 0 0 10px #aaa inset',

				cursor: getCursor()
			}, options.css))
			glass.appendTo(options.appendTo)
	
			var radius = options.radius || Math.min(glass.width(),glass.height())/2 +'px'
			glass.css({
				/* CSS3 rounded corners */
				borderRadius: radius,
				'-webkit-border-radius': radius,
				'-moz-border-radius': radius
			})

			if (oldIe && options.ie.css3pie) glass.css('behavior', 'url('+options.ie.css3pie+')')

			$(document).bind('mousemove', _this.move)

			// on load image - recalculate size
			node.find('img').add(node).load(_this.loadSize)
			$(window).resize(_this.loadSize)

			init = $.noop
		}

		var offset, width, height, glassWidth, glassHeight
		_this.loadSize = function() {
			offset = node.offset()
			width = node.width()
			height = node.height()
			glassWidth = glass.width()
			glassHeight = glass.height()
		}

		_this.show = function(e) {
			init()
			_this.loadSize()
			if (oldIe && options.ie.css3pie) glass.show()
			else glass.stop(true, true).fadeIn('fast')
			_this.move(e)
		}
		
		_this.hide = function() {
			if (oldIe && options.ie.css3pie) glass.hide()
			else glass.stop(true, true).fadeOut('fast')
		}
		

		_this.move = function(e) {
			// mouse out

			if (e.pageX < offset.left || e.pageY < offset.top) return _this.hide()
			if (offset.left + width < e.pageX) return _this.hide()
			if (offset.top + height < e.pageY) return _this.hide()

			glass.css({
				// moving the retina div with the mouse
				marginLeft: e.pageX - glassWidth/2, // left and top css not work in ie with css3pie!
				marginTop: e.pageY - glassHeight/2,

				// scrolling the background
				backgroundPosition: ( (100/width) * (e.pageX - offset.left) )+'% '+( (100/height) * (e.pageY - offset.top) )+'%'
			})
		}
		
		_this.deattach = function() {
			node.unbind('mouseenter', _this.show)
			if (glass) {
				glass.remove()
				$(document).unbind('mousemove', _this.move)
				node.find('img').add(node).unbind('load', _this.loadSize)
				$(window).unbind('resize', _this.loadSize)
			}
		}

		node.bind('mouseenter', _this.show)

		// preload
		if (options.preload) $(new Image).attr('src', largeImage)
	}
})(jQuery);

