(function(a) { EYE.extend({ zoomimage: { libs: {}, types: /\.jpg|\.jpeg|\.png|\.gif|\.bmp/g, current: null, moved: false, pointer: { x: 0, y: 0 }, diff: { x: 0, y: 0 }, trackKey: false, defaults: { opacity: 0.8, border: 5, shadow: 50, duration: 300, prevent: 14, controls: true, caption: true, hideSource: false, centered: false, className: false, onLoad: function() { return false }, beforeZoomIn: function() { return false }, onZoomIn: function() { return false }, beforeZoomOut: function() { return false }, onZoomOut: function() { return false }, onFocus: function() { return false }, controlsTrigger: "focus", easing: "swing", preload: "click" }, template: ['<div  class="zoomimage" align="center">', '<div class="zoomimage_s" align="center">', "</div>", '<img src="" />', '<div class="zoomimage_controls" align="center">', '<a href="#" class="zoomimage_Cross" title="Close this image"></a>', "</div>", '<div class="zoomimage_caption" id=fancy_title>', "</div>", '<div class="zoomimage_loading" align="center"><img src="images/loading.gif"></div>', "</div>"], click: function(c) { var b = this; b.blur(); if (b.zoomimageCfg.loading === true) { return false } if (b.zoomimageCfg.zoomed == false) { EYE.zoomimage.zoomIn(b) } else { EYE.zoomimage.zoomOut(b, false) } return false }, zoomIn: function(c) { if (c.zoomimageCfg.loaded === false) { if (c.zoomimageCfg.loading != true) { c.zoomimageCfg.loading = true; EYE.zoomimage.preload(c) } return } if (c.zoomimageCfg.zoomed == true) { EYE.zoomimage.focus(c); return } c.zoomimageCfg.beforeZoomIn.apply(c, [c.zoomimageCfg.box]); var m = EYE.getPosition(c, true); var g = c.offsetHeight; var n = c.offsetWidth; var l = EYE.getScroll(); var d = c.zoomimageCfg.border + c.zoomimageCfg.shadow; var b = c.zoomimageCfg.width + d * 2; var o = c.zoomimageCfg.height + d * 2; var h = l.iw / l.ih; var e = c.zoomimageCfg.width / c.zoomimageCfg.height; if (h > e) { if (o > l.ih) { o = l.ih; b = parseInt(o * e, 10) } } else { if (b > l.iw) { b = l.iw; o = parseInt(b / e, 10) } } var k = c.zoomimageCfg.centered ? l.t + parseInt((l.ih - o) / 2, 10) : Math.min(Math.max(l.t, m.y + (g - o) / 2 - d), l.t + l.ih - o); var f = c.zoomimageCfg.centered ? l.l + parseInt((l.iw - b) / 2, 10) : Math.min(Math.max(l.l, m.x + (n - b) / 2 - d), l.l + l.iw - b); var j = b - d * 2; var i = o - d * 2; if (c.zoomimageCfg.hideSource === true) { c.style.visibility = "hidden" } a("#" + c.zoomimageCfg.box).css({ top: m.y + "px", left: m.x + "px", width: n + "px", height: g + "px" }).find(">div").hide().end().find("img").attr("src", c.zoomimageCfg.src).css({ top: 0, left: 0, width: "100%", height: "100%", display: "block", borderWidth: "0px" }).end().animate({ width: j, height: i, top: k + d, left: f + d }, c.zoomimageCfg.duration, c.zoomimageCfg.easing, function() { a(this).css({ top: k + "px", left: f + "px", width: b + "px", height: o + "px" }).find("img").css({ top: c.zoomimageCfg.shadow + "px", left: c.zoomimageCfg.shadow + "px", width: j + "px", height: i + "px", borderWidth: c.zoomimageCfg.border + "px" }).end().find(">div:first").find("div.zoomimage_sc").css("height", o - c.zoomimageCfg.shadow * 2 + "px").end().show(); c.zoomimageCfg.zoomed = true; EYE.zoomimage.focus(c); c.zoomimageCfg.onZoomIn.apply(c, [c.zoomimageCfg.box]); document.getElementById("backflash").style.display = "block" }) }, showControls: function(e) { if (e == undefined) { return } if (e.zoomimageCfg == undefined) { e = a("#" + a(e).attr("zoomimage")).get(0) } var b, d, c = e.zoomimageCfg.border + e.zoomimageCfg.shadow; a("#" + e.zoomimageCfg.box).find("img").each(function() { d = parseInt(a.curCSS(this, "width"), 10) }).end().get(0).zoomimageControls = true; if (e.zoomimageCfg.caption) { a("#" + e.zoomimageCfg.box).find(">div:eq(2)").stop().css({ bottom: c + "px", left: c - 50 + "px", width: d + 100 + "px" }).show().each(function() { b = this.offsetHeight }).animate({ height: b }, e.zoomimageCfg.duration) } if (e.zoomimageCfg.controls) { if (EYE.zoomimage.libs[e.zoomimageCfg.lib] > 0) { a("#" + e.zoomimageCfg.box).find(">div:eq(1)").show().each(function() { if (!e.zoomimageCfg.controlsHeight) { e.zoomimageCfg.controlsHeight = this.offsetHeight } this.style.height = "0" }).css({ top: 20, left: d + c - 30 + "px", width: 55 + "px" }).animate({ height: e.zoomimageCfg.controlsHeight }, e.zoomimageCfg.duration) } } }, zoomOut: function(g, f) { var e, d, c, b; if (g.zoomimageCfg) { if (g.zoomimageCfg.zoomed === false) { return } g.zoomimageCfg.beforeZoomOut.apply(g, [g.zoomimageCfg.box]); e = document.getElementById(g.zoomimageCfg.box) } else { e = g; g = a("a[href=" + a("img", e).attr("src") + "]").get(0) } if (g) { d = EYE.getPosition(g, true); g.zoomimageCfg.zoomed = false; c = g.zoomimageCfg.border + g.zoomimageCfg.shadow; b = { width: g.offsetWidth, height: g.offsetHeight} } else { c = EYE.zoomimage.defaults.border + EYE.zoomimage.defaults.shadow; b = { width: 0, height: 0 }; d = EYE.getPosition(e, true); d.y += parseInt(e.offsetHeight / 2, 10); d.x += parseInt(e.offsetWidth / 2, 10) } a(e).css({ top: e.offsetTop + c + "px", left: e.offsetLeft + c + "px", width: e.offsetWidth - c * 2 + "px", height: e.offsetHeight - c * 2 + "px" }).find(">div").stop().hide().end().find("img").css({ top: 0, left: 0, width: "100%", height: "100%", borderWidth: "0px" }).end().animate({ top: d.y + "px", left: d.x + "px", width: b.width + "px", height: b.height + "px" }, g ? g.zoomimageCfg.duration : EYE.zoomimage.defaults.duration, g.zoomimageCfg.easing, function() { EYE.zoomimage.blur(); a(this).hide(); if (g) { if (g.zoomimageCfg.hideSource === true) { g.style.visibility = "visible" } g.zoomimageCfg.onZoomOut.apply(g, [g.zoomimageCfg.box]); if (!f) { EYE.zoomimage.focus(a("div.zoomimage:visible:last").not(":animated").get(0)) } } else { a(e).stop().remove() } }) }, mouseOver: function(c) { var b = document.getElementById(a(this).attr("zoomimage")); if (b.zoomimageCfg.zoomed === true && this.zoomimageControls == false) { EYE.zoomimage.showControls(b) } return false }, mouseOut: function(b) { if (!EYE.isChildOf(this, b.relatedTarget, this)) { a(this).find(">div:not(:first)").stop().hide(); this.zoomimageControls = false } return false }, mouseDown: function(c) { var b = document.getElementById(a(this).attr("zoomimage")); if (b) { a.extend(EYE.zoomimage, { current: this, prevent: b.zoomimageCfg.prevent, moved: false, diff: { x: c.pageX - this.offsetLeft, y: c.pageY - this.offsetTop }, pointer: { x: c.pageX, y: c.pageY} }); a(document).bind("mousemove", EYE.zoomimage.mouseMove).bind("mouseup", EYE.zoomimage.mouseUp) } else { a(this).zoomimageClear() } return false }, mouseMove: function(d) { var c = Math.abs(EYE.zoomimage.pointer.x - d.pageX); var b = Math.abs(EYE.zoomimage.pointer.y - d.pageY); if (EYE.zoomimage.moved === false) { if (c > EYE.zoomimage.prevent || b > EYE.zoomimage.prevent) { EYE.zoomimage.moved = true; a(EYE.zoomimage.current).addClass("zoomimage_move"); if (!a(EYE.zoomimage.current).is(".zoomimage_focused")) { EYE.zoomimage.focus(EYE.zoomimage.current) } } } else { EYE.zoomimage.current.style.top = d.pageY - EYE.zoomimage.diff.y + "px"; EYE.zoomimage.current.style.left = d.pageX - EYE.zoomimage.diff.x + "px" } return false }, mouseUp: function(b) { a(EYE.zoomimage.current).removeClass("zoomimage_move"); EYE.zoomimage.current = null; a(document).unbind("mousemove", EYE.zoomimage.mouseMove).unbind("mouseup", EYE.zoomimage.mouseUp); return false }, imageClick: function(c) { a(document).unbind("mousemove", EYE.zoomimage.mouseMove).unbind("mouseup", EYE.zoomimage.mouseUp); var b = document.getElementById(a(this).attr("zoomimage")); if (b) { if (EYE.zoomimage.moved === false && a(this).is(".zoomimage_focused")) { if (a(c.target).is("a")) { EYE.zoomimage.zoomNext(b, c.target.className == "zoomimage_next" ? 1 : -1) } else { } } else { if (!a(this).is(".zoomimage_focused")) { EYE.zoomimage.focus(this) } } } else { a(this).zoomimageClear() } return false }, clear: function() { var b = this; if (b.size() == 0) { b = a("div.zoomimage") } return b.each(function() { var c = document.getElementById(a(this).attr("zoomimage")); if (c) { EYE.zoomimage.zoomOut(c, false) } else { EYE.zoomimage.zoomOut(this, false) } }) }, zoomNext: function(c, b) { EYE.zoomimage.zoomOut(c, false); document.getElementById("backflash").style.display = "none" }, keyPressed: function(c) { var b = a("div.zoomimage_focused"); if (b.size() == 1) { var f = c.charCode || c.keyCode || -1; b = a("#" + a(b).attr("zoomimage")).get(0); var d = a(b).attr("zoomimage"); switch (f) { case 35: if (EYE.zoomimage.libs[d] > 1 && EYE.zoomimage.libs[d] - 1 != b.zoomimageCfg.iteration) { EYE.zoomimage.zoomNext(b, EYE.zoomimage.libs[d] - b.zoomimageCfg.iteration - 1); return false } break; case 36: if (EYE.zoomimage.libs[d] > 1 && b.zoomimageCfg.iteration != 0) { EYE.zoomimage.zoomNext(b, -b.zoomimageCfg.iteration); return false } break; case 40: case 37: case 8: case 33: case 80: case 112: if (EYE.zoomimage.libs[d] > 0) { EYE.zoomimage.zoomNext(b, -1); return false } break; case 38: case 39: case 34: case 32: case 110: case 78: if (EYE.zoomimage.libs[d] > 0) { EYE.zoomimage.zoomNext(b, 1); return false } break; case 27: EYE.zoomimage.zoomOut(b, false); return false; break } } }, focus: function(b) { if (b == undefined) { return } if (b.zoomimageCfg == undefined) { b = a("#" + a(b).attr("zoomimage")).get(0) } else { var c = true } EYE.zoomimage.blur(b); a("#" + b.zoomimageCfg.box).not(".zoomimage_focused").addClass("zoomimage_focused"); b.zoomimageCfg.onFocus.apply(b, [b.zoomimageCfg.box]); if (b.zoomimageCfg.controlsTrigger == "focus" || c) { EYE.zoomimage.showControls(b) } }, blur: function(b) { a("div.zoomimage_focused").not("#" + (b == undefined ? "fakezoomimage" : b.zoomimageCfg.box)).removeClass("zoomimage_focused").each(function() { this.zoomimageControls = false }).find(">div:not(:first)").stop().hide() }, preload: function(d) { var c = a("#" + d.zoomimageCfg.box).show(); c.find(">div, img").hide(); var b = EYE.getPosition(d, true); c.find(">div:last").show().end().css({ top: b.y + "px", left: b.x + "px", width: d.offsetWidth + "px", height: d.offsetHeight + "px" }); var e = new Image(); e.src = d.href; if (d.getAttribute("hrefpopup") != null) { e.src = d.getAttribute("hrefpopup") } if (e.complete) { EYE.zoomimage.markPreloaded(e, d) } else { e.onload = function() { EYE.zoomimage.markPreloaded(e, d) } } }, markPreloaded: function(c, b) { a.extend(b.zoomimageCfg, { loaded: true, width: c.width, height: c.height, src: c.src }); a("#" + b.zoomimageCfg.box).find("div.zoomimage_loading").hide(); if (b.zoomimageCfg.loading) { b.zoomimageCfg.loading = false; EYE.zoomimage.zoomIn(b) } b.zoomimageCfg.onLoad.apply(b, [b.zoomimageCfg.box]) }, init: function(b) { var c = parseInt(Math.random() * 2000, 10); EYE.zoomimage.libs[c] = 0; b = a.extend({ lib: c }, EYE.zoomimage.defaults, b || {}); return this.each(function() { var e = a(this); var f = this; if (f.href && f.href.toLowerCase().match(EYE.zoomimage.types) != null) { f.zoomimageCfg = a.extend({}, b, { zoomed: false, loading: false, loaded: false, animated: false, src: f.href, iteration: EYE.zoomimage.libs[c], box: "zoomimage_" + parseInt(Math.random() * 2000, 10) + "" }); EYE.zoomimage.libs[c]++; e.bind("click", EYE.zoomimage.click).attr("zoomimage", c).attr("zoomimageBox", f.zoomimageCfg.box); var g = e.attr("id"); if (!g) { g = f.zoomimageCfg.box + "_trigger"; e.attr("id", g) } var d = a(f).attr("title"); if (d == "" || d == false || d == undefined) { f.zoomimageCfg.caption = false } a(document.body).click(function() { EYE.zoomimage.zoomOut(f, false); document.getElementById("backflash").style.display = "none" }); a(EYE.zoomimage.template.join("")).attr("id", f.zoomimageCfg.box).attr("zoomimage", g).addClass(f.zoomimageCfg.className).appendTo(document.body).bind("mousedown", EYE.zoomimage.mouseDown).bind("click", EYE.zoomimage.imageClick).each(function() { this.zoomimageControls = false; if (f.zoomimageCfg.controlsTrigger != "focus") { a(this).bind("mouseover", EYE.zoomimage.mouseOver).bind("mouseout", EYE.zoomimage.mouseOut) } }).find(">div").not(":first").css("opacity", f.zoomimageCfg.opacity).end().filter("div:eq(2)").html('<table cellspacing="0" align=center  cellpadding="0" border="0" ><tr><td class="fancy_title" id="fancy_title_left"></td><td class="fancy_title" id="fancy_title_main"><div>' + d + '</div></td><td class="fancy_title" id="fancy_title_right"></td></tr></table>'); if (f.zoomimageCfg.preload == "load") { EYE.zoomimage.preload(f) } if (EYE.zoomimage.trackKey === false) { EYE.zoomimage.trackKey = true; a(document).bind("keydown", EYE.zoomimage.keyPressed) } } }) } } }); a.fn.extend({ zoomimage: EYE.zoomimage.init, zoomimageClear: EYE.zoomimage.clear }) })(jQuery); var browser1 = window.navigator.userAgent; browser1 = browser1.toLowerCase(); if (browser1.indexOf("ie") <= -1) { document.write('<style type="text/css"> .zoomimage_loading{background-image: url(../../images/loading.gif);background-repeat: no-repeat;background-position: center;height: 100%;position: absolute; background-color: #fff;background-color: #fff;width: 100%;top:-100px;left: 0;}</style>') } else { document.write('<style type="text/css"> .zoomimage_loading{background-image: url(../../images/loading.gif);background-repeat: no-repeat;background-position: center;height: 100%;position: absolute; background-color: #fff;background-color: #fff;width: 100%;top: 0;left: 0;}</style>') };
