// -----------------------------------------------------------------------------------
//
//	Lightbox v2.03.3
//	by Lokesh Dhakar - http://www.huddletogether.com
//	5/21/06
//
//	For more information on this script, visit:
//	http://huddletogether.com/projects/lightbox2/
//
//	Licensed under the Creative Commons Attribution 2.5 License - http://creativecommons.org/licenses/by/2.5/
//	
//	Credit also due to those who have helped, inspired, and made their code available to the public.
//	Including: Scott Upton(uptonic.com), Peter-Paul Koch(quirksmode.com), Thomas Fuchs(mir.aculo.us), and others.
//
//
// -----------------------------------------------------------------------------------
/*

	Table of Contents
	-----------------
	Configuration
	Global Variables

	Extending Built-in Objects	
	- Object.extend(Element)
	- Array.prototype.removeDuplicates()
	- Array.prototype.empty()

	Lightbox Class Declaration
	- initialize()
	- updateImageList()
	- start()
	- changeImage()
	- resizeImageContainer()
	- showImage()
	- updateDetails()
	- updateNav()
	- enableKeyboardNav()
	- disableKeyboardNav()
	- keyboardAction()
	- preloadNeighborImages()
	- end()
	
	Miscellaneous Functions
	- getPageScroll()
	- getPageSize()
	- getKey()
	- listenKey()
	- showSelectBoxes()
	- hideSelectBoxes()
	- showFlash()
	- hideFlash()
	- pause()
	- initLightbox()
	
	Function Calls
	- addLoadEvent(initLightbox)
	
*/
// -----------------------------------------------------------------------------------

//
//	Configuration
//
var fileLoadingImage = "images/loading.gif";		
var fileBottomNavCloseImage = "images/close.gif";

var overlayOpacity = 0.8;	// controls transparency of shadow overlay

var animate = true;			// toggles resizing animations
var resizeSpeed = 7;		// controls the speed of the image resizing animations (1=slowest and 10=fastest)

var borderSize = 10;		//if you adjust the padding in the CSS, you will need to update this variable

// -----------------------------------------------------------------------------------

//
//	Global Variables
//
var imageArray = new Array;
var activeImage;

if(animate == true){
	overlayDuration = 0.2;	// shadow fade in/out duration
	if(resizeSpeed > 10){ resizeSpeed = 10;}
	if(resizeSpeed < 1){ resizeSpeed = 1;}
	resizeDuration = (11 - resizeSpeed) * 0.15;
} else { 
	overlayDuration = 0;
	resizeDuration = 0;
}

// -----------------------------------------------------------------------------------

//
//	Additional methods for Element added by SU, Couloir
//	- further additions by Lokesh Dhakar (huddletogether.com)
//
Object.extend(Element, {
	getWidth: function(element) {
	   	element = $(element);
	   	return element.offsetWidth; 
	},
	setWidth: function(element,w) {
	   	element = $(element);
    	element.style.width = w +"px";
	},
	setHeight: function(element,h) {
   		element = $(element);
    	element.style.height = h +"px";
	},
	setTop: function(element,t) {
	   	element = $(element);
    	element.style.top = t +"px";
	},
	setLeft: function(element,l) {
	   	element = $(element);
    	element.style.left = l +"px";
	},
	setSrc: function(element,src) {
    	element = $(element);
    	element.src = src; 
	},
	setHref: function(element,href) {
    	element = $(element);
    	element.href = href; 
	},
	setInnerHTML: function(element,content) {
		element = $(element);
		element.innerHTML = content;
	}
});

// -----------------------------------------------------------------------------------

//
//	Extending built-in Array object
//	- array.removeDuplicates()
//	- array.empty()
//
Array.prototype.removeDuplicates = function () {
    for(i = 0; i < this.length; i++){
        for(j = this.length-1; j>i; j--){        
            if(this[i][0] == this[j][0]){
                this.splice(j,1);
            }
        }
    }
}

// -----------------------------------------------------------------------------------

Array.prototype.empty = function () {
	for(i = 0; i <= this.length; i++){
		this.shift();
	}
}

// -----------------------------------------------------------------------------------

//
//	Lightbox Class Declaration
//	- initialize()
//	- start()
//	- changeImage()
//	- resizeImageContainer()
//	- showImage()
//	- updateDetails()
//	- updateNav()
//	- enableKeyboardNav()
//	- disableKeyboardNav()
//	- keyboardNavAction()
//	- preloadNeighborImages()
//	- end()
//
//	Structuring of code inspired by Scott Upton (http://www.uptonic.com/)
//
var Lightbox = Class.create();

Lightbox.prototype = {
	
	// initialize()
	// Constructor runs on completion of the DOM loading. Calls updateImageList and then
	// the function inserts html at the bottom of the page which is used to display the shadow 
	// overlay and the image container.
	//
	initialize: function() {	
		
		this.updateImageList();

		// Code inserts html at the bottom of the page that looks similar to this:
		//
		//	<div id="overlay"></div>
		//	<div id="lightbox">
		//		<div id="outerImageContainer">
		//			<div id="imageContainer">
		//				<img id="lightboxImage">
		//				<div style="" id="hoverNav">
		//					<a href="#" id="prevLink"></a>
		//					<a href="#" id="nextLink"></a>
		//				</div>
		//				<div id="loading">
		//					<a href="#" id="loadingLink">
		//						<img src="images/loading.gif">
		//					</a>
		//				</div>
		//			</div>
		//		</div>
		//		<div id="imageDataContainer">
		//			<div id="imageData">
		//				<div id="imageDetails">
		//					<span id="caption"></span>
		//					<span id="numberDisplay"></span>
		//				</div>
		//				<div id="bottomNav">
		//					<a href="#" id="bottomNavClose">
		//						<img src="images/close.gif">
		//					</a>
		//				</div>
		//			</div>
		//		</div>
		//	</div>


		var objBody = document.getElementsByTagName("body").item(0);
		
		var objOverlay = document.createElement("div");
		objOverlay.setAttribute('id','overlay');
		objOverlay.style.display = 'none';
		objOverlay.onclick = function() { myLightbox.end(); }
		objBody.appendChild(objOverlay);
		
		var objLightbox = document.createElement("div");
		objLightbox.setAttribute('id','lightbox');
		objLightbox.style.display = 'none';
		objLightbox.onclick = function(e) {	// close Lightbox is user clicks shadow overlay
			if (!e) var e = window.event;
			var clickObj = Event.element(e).id;
			if ( clickObj == 'lightbox') {
				myLightbox.end();
			}
		};
		objBody.appendChild(objLightbox);
			
		var objOuterImageContainer = document.createElement("div");
		objOuterImageContainer.setAttribute('id','outerImageContainer');
		objLightbox.appendChild(objOuterImageContainer);

		// When Lightbox starts it will resize itself from 250 by 250 to the current image dimension.
		// If animations are turned off, it will be hidden as to prevent a flicker of a
		// white 250 by 250 box.
		if(animate){
			Element.setWidth('outerImageContainer', 250);
			Element.setHeight('outerImageContainer', 250);			
		} else {
			Element.setWidth('outerImageContainer', 1);
			Element.setHeight('outerImageContainer', 1);			
		}

		var objImageContainer = document.createElement("div");
		objImageContainer.setAttribute('id','imageContainer');
		objOuterImageContainer.appendChild(objImageContainer);
	
		var objLightboxImage = document.createElement("img");
		objLightboxImage.setAttribute('id','lightboxImage');
		objImageContainer.appendChild(objLightboxImage);
	
		var objHoverNav = document.createElement("div");
		objHoverNav.setAttribute('id','hoverNav');
		objImageContainer.appendChild(objHoverNav);
	
		var objPrevLink = document.createElement("a");
		objPrevLink.setAttribute('id','prevLink');
		objPrevLink.setAttribute('href','#');
		objHoverNav.appendChild(objPrevLink);
		
		var objNextLink = document.createElement("a");
		objNextLink.setAttribute('id','nextLink');
		objNextLink.setAttribute('href','#');
		objHoverNav.appendChild(objNextLink);
	
		var objLoading = document.createElement("div");
		objLoading.setAttribute('id','loading');
		objImageContainer.appendChild(objLoading);
	
		var objLoadingLink = document.createElement("a");
		objLoadingLink.setAttribute('id','loadingLink');
		objLoadingLink.setAttribute('href','#');
		objLoadingLink.onclick = function() { myLightbox.end(); return false; }
		objLoading.appendChild(objLoadingLink);
	
		var objLoadingImage = document.createElement("img");
		objLoadingImage.setAttribute('src', fileLoadingImage);
		objLoadingLink.appendChild(objLoadingImage);

		var objImageDataContainer = document.createElement("div");
		objImageDataContainer.setAttribute('id','imageDataContainer');
		objLightbox.appendChild(objImageDataContainer);

		var objImageData = document.createElement("div");
		objImageData.setAttribute('id','imageData');
		objImageDataContainer.appendChild(objImageData);
	
		var objImageDetails = document.createElement("div");
		objImageDetails.setAttribute('id','imageDetails');
		objImageData.appendChild(objImageDetails);
	
		var objCaption = document.createElement("span");
		objCaption.setAttribute('id','caption');
		objImageDetails.appendChild(objCaption);
	
		var objNumberDisplay = document.createElement("span");
		objNumberDisplay.setAttribute('id','numberDisplay');
		objImageDetails.appendChild(objNumberDisplay);
		
		var objBottomNav = document.createElement("div");
		objBottomNav.setAttribute('id','bottomNav');
		objImageData.appendChild(objBottomNav);
	
		var objBottomNavCloseLink = document.createElement("a");
		objBottomNavCloseLink.setAttribute('id','bottomNavClose');
		objBottomNavCloseLink.setAttribute('href','#');
		objBottomNavCloseLink.onclick = function() { myLightbox.end(); return false; }
		objBottomNav.appendChild(objBottomNavCloseLink);
	
		var objBottomNavCloseImage = document.createElement("img");
		objBottomNavCloseImage.setAttribute('src', fileBottomNavCloseImage);
		objBottomNavCloseLink.appendChild(objBottomNavCloseImage);
	},


	//
	// updateImageList()
	// Loops through anchor tags looking for 'lightbox' references and applies onclick
	// events to appropriate links. You can rerun after dynamically adding images w/ajax.
	//
	updateImageList: function() {	
		if (!document.getElementsByTagName){ return; }
		var anchors = document.getElementsByTagName('a');
		var areas = document.getElementsByTagName('area');

		// loop through all anchor tags
		for (var i=0; i<anchors.length; i++){
			var anchor = anchors[i];
			
			var relAttribute = String(anchor.getAttribute('rel'));
			
			// use the string.match() method to catch 'lightbox' references in the rel attribute
			if (anchor.getAttribute('href') && (relAttribute.toLowerCase().match('lightbox'))){
				anchor.onclick = function () {myLightbox.start(this); return false;}
			}
		}

		// loop through all area tags
		// todo: combine anchor & area tag loops
		for (var i=0; i< areas.length; i++){
			var area = areas[i];
			
			var relAttribute = String(area.getAttribute('rel'));
			
			// use the string.match() method to catch 'lightbox' references in the rel attribute
			if (area.getAttribute('href') && (relAttribute.toLowerCase().match('lightbox'))){
				area.onclick = function () {myLightbox.start(this); return false;}
			}
		}
	},
	
	
	//
	//	start()
	//	Display overlay and lightbox. If image is part of a set, add siblings to imageArray.
	//
	start: function(imageLink) {	

		hideSelectBoxes();
		hideFlash();

		// stretch overlay to fill page and fade in
		var arrayPageSize = getPageSize();
		Element.setWidth('overlay', arrayPageSize[0]);
		Element.setHeight('overlay', arrayPageSize[1]);

		new Effect.Appear('overlay', { duration: overlayDuration, from: 0.0, to: overlayOpacity });

		imageArray = [];
		imageNum = 0;		

		if (!document.getElementsByTagName){ return; }
		var anchors = document.getElementsByTagName( imageLink.tagName);

		// if image is NOT part of a set..
		if((imageLink.getAttribute('rel') == 'lightbox')){
			// add single image to imageArray
			imageArray.push(new Array(imageLink.getAttribute('href'), imageLink.getAttribute('title')));			
		} else {
		// if image is part of a set..

			// loop through anchors, find other images in set, and add them to imageArray
			for (var i=0; i<anchors.length; i++){
				var anchor = anchors[i];
				if (anchor.getAttribute('href') && (anchor.getAttribute('rel') == imageLink.getAttribute('rel'))){
					imageArray.push(new Array(anchor.getAttribute('href'), anchor.getAttribute('title')));
				}
			}
			imageArray.removeDuplicates();
			while(imageArray[imageNum][0] != imageLink.getAttribute('href')) { imageNum++;}
		}

		// calculate top and left offset for the lightbox 
		var arrayPageScroll = getPageScroll();
		var lightboxTop = arrayPageScroll[1] + (arrayPageSize[3] / 10);
		var lightboxLeft = arrayPageScroll[0];
		Element.setTop('lightbox', lightboxTop);
		Element.setLeft('lightbox', lightboxLeft);
		
		Element.show('lightbox');
		
		this.changeImage(imageNum);
	},

	//
	//	changeImage()
	//	Hide most elements and preload image in preparation for resizing image container.
	//
	changeImage: function(imageNum) {	
		
		activeImage = imageNum;	// update global var

		// hide elements during transition
		if(animate){ Element.show('loading');}
		Element.hide('lightboxImage');
		Element.hide('hoverNav');
		Element.hide('prevLink');
		Element.hide('nextLink');
		Element.hide('imageDataContainer');
		Element.hide('numberDisplay');		
		
		imgPreloader = new Image();
		
		// once image is preloaded, resize image container
		imgPreloader.onload=function(){
			Element.setSrc('lightboxImage', imageArray[activeImage][0]);
			myLightbox.resizeImageContainer(imgPreloader.width, imgPreloader.height);
			
			imgPreloader.onload=function(){};	//	clear onLoad, IE behaves irratically with animated gifs otherwise 
		}
		imgPreloader.src = imageArray[activeImage][0];
	},

	//
	//	resizeImageContainer()
	//
	resizeImageContainer: function( imgWidth, imgHeight) {

		// get curren width and height
		this.widthCurrent = Element.getWidth('outerImageContainer');
		this.heightCurrent = Element.getHeight('outerImageContainer');

		// get new width and height
		var widthNew = (imgWidth  + (borderSize * 2));
		var heightNew = (imgHeight  + (borderSize * 2));

		// scalars based on change from old to new
		this.xScale = ( widthNew / this.widthCurrent) * 100;
		this.yScale = ( heightNew / this.heightCurrent) * 100;

		// calculate size difference between new and old image, and resize if necessary
		wDiff = this.widthCurrent - widthNew;
		hDiff = this.heightCurrent - heightNew;

		if(!( hDiff == 0)){ new Effect.Scale('outerImageContainer', this.yScale, {scaleX: false, duration: resizeDuration, queue: 'front'}); }
		if(!( wDiff == 0)){ new Effect.Scale('outerImageContainer', this.xScale, {scaleY: false, delay: resizeDuration, duration: resizeDuration}); }

		// if new and old image are same size and no scaling transition is necessary, 
		// do a quick pause to prevent image flicker.
		if((hDiff == 0) && (wDiff == 0)){
			if (navigator.appVersion.indexOf("MSIE")!=-1){ pause(250); } else { pause(100);} 
		}

		Element.setHeight('prevLink', imgHeight);
		Element.setHeight('nextLink', imgHeight);
		Element.setWidth( 'imageDataContainer', widthNew);

		this.showImage();
	},
	
	//
	//	showImage()
	//	Display image and begin preloading neighbors.
	//
	showImage: function(){
		Element.hide('loading');
		new Effect.Appear('lightboxImage', { duration: resizeDuration, queue: 'end', afterFinish: function(){	myLightbox.updateDetails(); } });
		this.preloadNeighborImages();
	},

	//
	//	updateDetails()
	//	Display caption, image number, and bottom nav.
	//
	updateDetails: function() {
	
		// if caption is not null
		if(imageArray[activeImage][1]){
			Element.show('caption');
			Element.setInnerHTML( 'caption', imageArray[activeImage][1]);
		}
		
		// if image is part of set display 'Image x of x' 
		if(imageArray.length > 1){
			Element.show('numberDisplay');
			Element.setInnerHTML( 'numberDisplay', "" + eval(activeImage + 1) + " / " + imageArray.length);
		}

		new Effect.Parallel(
			[ new Effect.SlideDown( 'imageDataContainer', { sync: true, duration: resizeDuration, from: 0.0, to: 1.0 }), 
			  new Effect.Appear('imageDataContainer', { sync: true, duration: resizeDuration }) ], 
			{ duration: resizeDuration, afterFinish: function() {
				// update overlay size and update nav
				var arrayPageSize = getPageSize();
				Element.setHeight('overlay', arrayPageSize[1]);
				myLightbox.updateNav();
				}
			} 
		);
	},

	//
	//	updateNav()
	//	Display appropriate previous and next hover navigation.
	//
	updateNav: function() {

		Element.show('hoverNav');				

		// if not first image in set, display prev image button
		if(activeImage != 0){
			Element.show('prevLink');
			document.getElementById('prevLink').onclick = function() {
				myLightbox.changeImage(activeImage - 1); return false;
			}
		}

		// if not last image in set, display next image button
		if(activeImage != (imageArray.length - 1)){
			Element.show('nextLink');
			document.getElementById('nextLink').onclick = function() {
				myLightbox.changeImage(activeImage + 1); return false;
			}
		}
		
		this.enableKeyboardNav();
	},

	//
	//	enableKeyboardNav()
	//
	enableKeyboardNav: function() {
		document.onkeydown = this.keyboardAction; 
	},

	//
	//	disableKeyboardNav()
	//
	disableKeyboardNav: function() {
		document.onkeydown = '';
	},

	//
	//	keyboardAction()
	//
	keyboardAction: function(e) {
		if (e == null) { // ie
			keycode = event.keyCode;
			escapeKey = 27;
		} else { // mozilla
			keycode = e.keyCode;
			escapeKey = e.DOM_VK_ESCAPE;
		}

		key = String.fromCharCode(keycode).toLowerCase();
		
		if((key == 'x') || (key == 'o') || (key == 'c') || (keycode == escapeKey)){	// close lightbox
			myLightbox.end();
		} else if((key == 'p') || (keycode == 37)){	// display previous image
			if(activeImage != 0){
				myLightbox.disableKeyboardNav();
				myLightbox.changeImage(activeImage - 1);
			}
		} else if((key == 'n') || (keycode == 39)){	// display next image
			if(activeImage != (imageArray.length - 1)){
				myLightbox.disableKeyboardNav();
				myLightbox.changeImage(activeImage + 1);
			}
		}

	},

	//
	//	preloadNeighborImages()
	//	Preload previous and next images.
	//
	preloadNeighborImages: function(){

		if((imageArray.length - 1) > activeImage){
			preloadNextImage = new Image();
			preloadNextImage.src = imageArray[activeImage + 1][0];
		}
		if(activeImage > 0){
			preloadPrevImage = new Image();
			preloadPrevImage.src = imageArray[activeImage - 1][0];
		}
	
	},

	//
	//	end()
	//
	end: function() {
		this.disableKeyboardNav();
		Element.hide('lightbox');
		new Effect.Fade('overlay', { duration: overlayDuration});
		showSelectBoxes();
		showFlash();
	}
}

// -----------------------------------------------------------------------------------

//
// getPageScroll()
// Returns array with x,y page scroll values.
// Core code from - quirksmode.com
//
function getPageScroll(){

	var xScroll, yScroll;

	if (self.pageYOffset) {
		yScroll = self.pageYOffset;
		xScroll = self.pageXOffset;
	} else if (document.documentElement && document.documentElement.scrollTop){	 // Explorer 6 Strict
		yScroll = document.documentElement.scrollTop;
		xScroll = document.documentElement.scrollLeft;
	} else if (document.body) {// all other Explorers
		yScroll = document.body.scrollTop;
		xScroll = document.body.scrollLeft;	
	}

	arrayPageScroll = new Array(xScroll,yScroll) 
	return arrayPageScroll;
}

// -----------------------------------------------------------------------------------

//
// getPageSize()
// Returns array with page width, height and window width, height
// Core code from - quirksmode.com
// Edit for Firefox by pHaez
//
function getPageSize(){
	
	var xScroll, yScroll;
	
	if (window.innerHeight && window.scrollMaxY) {	
		xScroll = window.innerWidth + window.scrollMaxX;
		yScroll = window.innerHeight + window.scrollMaxY;
	} else if (document.body.scrollHeight > document.body.offsetHeight){ // all but Explorer Mac
		xScroll = document.body.scrollWidth;
		yScroll = document.body.scrollHeight;
	} else { // Explorer Mac...would also work in Explorer 6 Strict, Mozilla and Safari
		xScroll = document.body.offsetWidth;
		yScroll = document.body.offsetHeight;
	}
	
	var windowWidth, windowHeight;
	
//	console.log(self.innerWidth);
//	console.log(document.documentElement.clientWidth);

	if (self.innerHeight) {	// all except Explorer
		if(document.documentElement.clientWidth){
			windowWidth = document.documentElement.clientWidth; 
		} else {
			windowWidth = self.innerWidth;
		}
		windowHeight = self.innerHeight;
	} else if (document.documentElement && document.documentElement.clientHeight) { // Explorer 6 Strict Mode
		windowWidth = document.documentElement.clientWidth;
		windowHeight = document.documentElement.clientHeight;
	} else if (document.body) { // other Explorers
		windowWidth = document.body.clientWidth;
		windowHeight = document.body.clientHeight;
	}	
	
	// for small pages with total height less then height of the viewport
	if(yScroll < windowHeight){
		pageHeight = windowHeight;
	} else { 
		pageHeight = yScroll;
	}

//	console.log("xScroll " + xScroll)
//	console.log("windowWidth " + windowWidth)

	// for small pages with total width less then width of the viewport
	if(xScroll < windowWidth){	
		pageWidth = xScroll;		
	} else {
		pageWidth = windowWidth;
	}
//	console.log("pageWidth " + pageWidth)

	arrayPageSize = new Array(pageWidth,pageHeight,windowWidth,windowHeight) 
	return arrayPageSize;
}

// -----------------------------------------------------------------------------------

//
// getKey(key)
// Gets keycode. If 'x' is pressed then it hides the lightbox.
//
function getKey(e){
	if (e == null) { // ie
		keycode = event.keyCode;
	} else { // mozilla
		keycode = e.which;
	}
	key = String.fromCharCode(keycode).toLowerCase();
	
	if(key == 'x'){
	}
}

// -----------------------------------------------------------------------------------

//
// listenKey()
//
function listenKey () {	document.onkeypress = getKey; }
	
// ---------------------------------------------------

function showSelectBoxes(){
	var selects = document.getElementsByTagName("select");
	for (i = 0; i != selects.length; i++) {
		selects[i].style.visibility = "visible";
	}
}

// ---------------------------------------------------

function hideSelectBoxes(){
	var selects = document.getElementsByTagName("select");
	for (i = 0; i != selects.length; i++) {
		selects[i].style.visibility = "hidden";
	}
}

// ---------------------------------------------------

function showFlash(){
	var flashObjects = document.getElementsByTagName("object");
	for (i = 0; i < flashObjects.length; i++) {
		flashObjects[i].style.visibility = "visible";
	}

	var flashEmbeds = document.getElementsByTagName("embed");
	for (i = 0; i < flashEmbeds.length; i++) {
		flashEmbeds[i].style.visibility = "visible";
	}
}

// ---------------------------------------------------

function hideFlash(){
	var flashObjects = document.getElementsByTagName("object");
	for (i = 0; i < flashObjects.length; i++) {
		flashObjects[i].style.visibility = "hidden";
	}

	var flashEmbeds = document.getElementsByTagName("embed");
	for (i = 0; i < flashEmbeds.length; i++) {
		flashEmbeds[i].style.visibility = "hidden";
	}

}


// ---------------------------------------------------

//
// pause(numberMillis)
// Pauses code execution for specified time. Uses busy code, not good.
// Help from Ran Bar-On [ran2103@gmail.com]
//

function pause(ms){
	var date = new Date();
	curDate = null;
	do{var curDate = new Date();}
	while( curDate - date < ms);
}
/*
function pause(numberMillis) {
	var curently = new Date().getTime() + sender;
	while (new Date().getTime();	
}
*/
// ---------------------------------------------------



function initLightbox() { myLightbox = new Lightbox(); }
Event.observe(window, 'load', initLightbox, false);


/*


   Magic Zoom v3.1.24 
   Copyright 2011 Magic Toolbox
   Buy a license to use Magic Scroll on your site.
   Go to www.magictoolbox.com/magiczoom/


*/
eval(function(p,a,c,k,e,d){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('(u(){p(N.5Q){B}G a={2M:"2.3.11",68:0,3q:{},$5j:u(b){B(b.$2e||(b.$2e=++$J.68))},3W:u(b){B($J.3q[b]||($J.3q[b]={}))},$F:u(){},$H:u(){B H},1n:u(b){B(1a!=b)},7s:u(b){B!!(b)},1T:u(b){p(!$J.1n(b)){B H}p(b.$1A){B b.$1A}p(!!b.2u){p(1==b.2u){B"4u"}p(3==b.2u){B"5o"}}p(b.1j&&b.4S){B"7x"}p(b.1j&&b.3P){B"18"}p((b 1H N.7p||b 1H N.5c)&&b.2P===$J.2k){B"4A"}p(b 1H N.2A){B"2R"}p(b 1H N.5c){B"u"}p(b 1H N.4V){B"3A"}p($J.v.1q){p($J.1n(b.63)){B"2s"}}T{p(b 1H N.4C||b===N.2s||b.2P==N.7o){B"2s"}}p(b 1H N.6M){B"5A"}p(b 1H N.3C){B"7n"}p(b===N){B"N"}p(b===M){B"M"}B 4y(b)},1e:u(h,g){p(!(h 1H N.2A)){h=[h]}X(G f=0,c=h.1j;f<c;f++){p(!$J.1n(h)){3c}X(G d 1f(g||{})){1C{h[f][d]=g[d]}1O(b){}}}B h[0]},46:u(g,f){p(!(g 1H N.2A)){g=[g]}X(G d=0,b=g.1j;d<b;d++){p(!$J.1n(g[d])){3c}p(!g[d].1b){3c}X(G c 1f(f||{})){p(!g[d].1b[c]){g[d].1b[c]=f[c]}}}B g[0]},6T:u(d,c){p(!$J.1n(d)){B d}X(G b 1f(c||{})){p(!d[b]){d[b]=c[b]}}B d},$1C:u(){X(G c=0,b=18.1j;c<b;c++){1C{B 18[c]()}1O(d){}}B L},$A:u(d){p(!$J.1n(d)){B $j([])}p(d.6m){B $j(d.6m())}p(d.4S){G c=d.1j||0,b=1c 2A(c);22(c--){b[c]=d[c]}B $j(b)}B $j(2A.1b.7i.1l(d))},2w:u(){B 1c 6M().7q()},2j:u(g){G d;2J($J.1T(g)){13"5W":d={};X(G f 1f g){d[f]=$J.2j(g[f])}17;13"2R":d=[];X(G c=0,b=g.1j;c<b;c++){d[c]=$J.2j(g[c])}17;48:B g}B d},$:u(c){p(!$J.1n(c)){B L}p(c.$5k){B c}2J($J.1T(c)){13"2R":c=$J.6T(c,$J.1e($J.2A,{$5k:O}));c.1B=c.5Y;B c;17;13"3A":G b=M.7z(c);p($J.1n(b)){B $J.$(b)}B L;17;13"N":13"M":$J.$5j(c);c=$J.1e(c,$J.2K);17;13"4u":$J.$5j(c);c=$J.1e(c,$J.1m);17;13"2s":c=$J.1e(c,$J.4C);17;13"5o":B c;17;13"u":13"2R":13"5A":48:17}B $J.1e(c,{$5k:O})},$1c:u(b,d,c){B $j($J.67.1P(b)).5s(d).U(c)}};N.5Q=N.$J=a;N.$j=a.$;$J.2A={$1A:"2R",5e:u(f,g){G b=9.1j;X(G c=9.1j,d=(g<0)?Y.3x(0,c+g):g||0;d<c;d++){p(9[d]===f){B d}}B-1},2T:u(b,c){B 9.5e(b,c)!=-1},5Y:u(b,f){X(G d=0,c=9.1j;d<c;d++){p(d 1f 9){b.1l(f,9[d],d,9)}}},4B:u(b,h){G g=[];X(G f=0,c=9.1j;f<c;f++){p(f 1f 9){G d=9[f];p(b.1l(h,9[f],f,9)){g.4Z(d)}}}B g},7e:u(b,g){G f=[];X(G d=0,c=9.1j;d<c;d++){p(d 1f 9){f[d]=b.1l(g,9[d],d,9)}}B f}};$J.46(4V,{$1A:"3A",49:u(){B 9.2y(/^\\s+|\\s+$/g,"")},7f:u(){B 9.2y(/^\\s+/g,"")},7r:u(){B 9.2y(/\\s+$/g,"")},8A:u(b){B(9.4c()===b.4c())},8g:u(b){B(9.23().4c()===b.23().4c())},k:u(){B 9.2y(/-\\D/g,u(b){B b.5t(1).8f()})},6Y:u(){B 9.2y(/[A-Z]/g,u(b){B("-"+b.5t(0).23())})},47:u(c){B 4e(9,c||10)},8e:u(){B 1Q(9)},8d:u(){B!9.2y(/O/i,"").49()},3F:u(c,b){b=b||"";B(b+9+b).5e(b+c+b)>-1}});a.46(5c,{$1A:"u",1r:u(){G c=$J.$A(18),b=9,d=c.3u();B u(){B b.1Z(d||L,c.6d($J.$A(18)))}},2v:u(){G c=$J.$A(18),b=9,d=c.3u();B u(f){B b.1Z(d||L,$j([f||N.2s]).6d(c))}},1U:u(){G c=$J.$A(18),b=9,d=c.3u();B N.2S(u(){B b.1Z(b,c)},d||0)},8c:u(){G c=$J.$A(18),b=9;B u(){B b.1U.1Z(b,c)}},6y:u(){G c=$J.$A(18),b=9,d=c.3u();B N.8b(u(){B b.1Z(b,c)},d||0)}});$J.v={4g:{6P:!!(M.8l),8y:!!(N.8n),4p:!!(M.8s)},1W:(N.7M)?"3I":!!(N.7N)?"1q":(!6B.7P)?"2G":(1a!=M.7I||L!=N.7D)?"6z":"7F",2M:"",77:($J.1n(N.7H))?"7G":(6B.77.83(/84|65|7Y/i)||["7W"])[0].23(),44:M.3T&&"6h"==M.3T.23(),1z:u(){B(M.3T&&"6h"==M.3T.23())?M.3v:M.4j},1t:H,3t:u(){p($J.v.1t){B}$J.v.1t=O;$J.3v=$j(M.3v);$j(M).5H("2p")}};(u(){u b(){B!!(18.3P.4z)}$J.v.2M=("3I"==$J.v.1W)?!!(N.7X)?7V:!!(N.6H)?7U:($J.v.4g.4p)?7S:((b())?7T:((M.3e)?7Z:4H)):("1q"==$J.v.1W)?!!(N.6N&&N.82)?6:((N.6N)?5:4):("2G"==$J.v.1W)?(($J.v.4g.6P)?(($J.v.4g.4p)?80:5v):81):("6z"==$J.v.1W)?!!M.4L?7R:!!(N.6H)?7E:((M.3e)?7C:7J):"";$J.v[$J.v.1W]=$J.v[$J.v.1W+$J.v.2M]=O;p(N.78){$J.v.78=O}})();$J.1m={4Q:u(b){B 9.2i.3F(b," ")},2q:u(b){p(b&&!9.4Q(b)){9.2i+=(9.2i?" ":"")+b}B 9},3M:u(b){b=b||".*";9.2i=9.2i.2y(1c 3C("(^|\\\\s)"+b+"(?:\\\\s|$)"),"$1").49();B 9},7O:u(b){B 9.4Q(b)?9.3M(b):9.2q(b)},3Q:u(c){c=(c=="6U"&&9.2Z)?"4R":c.k();G b=L;p(9.2Z){b=9.2Z[c]}T{p(M.4W&&M.4W.6O){4U=M.4W.6O(9,L);b=4U?4U.7K([c.6Y()]):L}}p(!b){b=9.S[c]}p("19"==c){B $J.1n(b)?1Q(b):1}p(/^(1o(4X|4q|4O|4N)6x)|((1y|4m)(4X|4q|4O|4N))$/.3k(c)){b=4e(b)?b:"12"}B("3Y"==b?L:b)},6i:u(c,b){1C{p("19"==c){9.g(b);B 9}p("6U"==c){9.S[("1a"===4y(9.S.4R))?"7L":"4R"]=b;B 9}9.S[c.k()]=b+(("6c"==$J.1T(b)&&!$j(["2C","V"]).2T(c.k()))?"R":"")}1O(d){}B 9},U:u(c){X(G b 1f c){9.6i(b,c[b])}B 9},85:u(){G b={};$J.$A(18).1B(u(c){b[c]=9.3Q(c)},9);B b},g:u(g,c){c=c||H;g=1Q(g);p(c){p(g==0){p("1X"!=9.S.2o){9.S.2o="1X"}}T{p("4I"!=9.S.2o){9.S.2o="4I"}}}p($J.v.1q){p(!9.2Z||!9.2Z.86){9.S.V=1}1C{G d=9.8r.4S("5K.5L.5C");d.5B=(1!=g);d.19=g*1s}1O(b){9.S.4B+=(1==g)?"":"8q:5K.5L.5C(5B=O,19="+g*1s+")"}}9.S.19=g;B 9},5s:u(b){X(G c 1f b){9.8p(c,""+b[c])}B 9},1u:u(){B 9.U({3f:"4f",2o:"1X"})},1G:u(){B 9.U({3f:"3w",2o:"4I"})},2E:u(){B{I:9.8o,K:9.8t}},4F:u(){B{P:9.3U,Q:9.3V}},8u:u(){G b=9,c={P:0,Q:0};5x{c.Q+=b.3V||0;c.P+=b.3U||0;b=b.1V}22(b);B c},69:u(){p($J.1n(M.4j.5z)){G c=9.5z(),f=$j(M).4F(),h=$J.v.1z();B{P:c.P+f.y-h.8z,Q:c.Q+f.x-h.8x}}G g=9,d=t=0;5x{d+=g.8v||0;t+=g.7B||0;g=g.8w}22(g&&!(/^(?:3v|8m)$/i).3k(g.34));B{P:t,Q:d}},56:u(){G c=9.69();G b=9.2E();B{P:c.P,1d:c.P+b.K,Q:c.Q,1k:c.Q+b.I}},1E:u(d){1C{9.8a=d}1O(b){9.89=d}B 9},4K:u(){B(9.1V)?9.1V.1M(9):9},4J:u(){$J.$A(9.87).1B(u(b){p(3==b.2u){B}$j(b).4J()});9.4K();9.5u();p(9.$2e){$J.3q[9.$2e]=L;4b $J.3q[9.$2e]}B L},4v:u(d,c){c=c||"1d";G b=9.2a;("P"==c&&b)?9.6R(d,b):9.1h(d);B 9},4P:u(d,c){G b=$j(d).4v(9,c);B 9},88:u(b){9.4v(b.1V.8j(9,b));B 9},8k:u(b){p(!(b=$j(b))){B H}B(9==b)?H:(9.2T&&!($J.v.79))?(9.2T(b)):(9.6g)?!!(9.6g(b)&16):$J.$A(9.5q(b.34)).2T(b)}};$J.1m.3a=$J.1m.3Q;$J.1m.5X=$J.1m.U;p(!N.1m){N.1m=$J.$F;p($J.v.1W.2G){N.M.1P("8i")}N.1m.1b=($J.v.1W.2G)?N["[[8h.1b]]"]:{}}$J.46(N.1m,{$1A:"4u"});$J.2K={2E:u(){p($J.v.7g||$J.v.79){B{I:E.7A,K:E.7u}}B{I:$J.v.1z().7t,K:$J.v.1z().7v}},4F:u(){B{x:E.7w||$J.v.1z().3V,y:E.7h||$J.v.1z().3U}},7k:u(){G b=9.2E();B{I:Y.3x($J.v.1z().7j,b.I),K:Y.3x($J.v.1z().7l,b.K)}}};$J.1e(M,{$1A:"M"});$J.1e(N,{$1A:"N"});$J.1e([$J.1m,$J.2K],{38:u(f,c){G b=$J.3W(9.$2e),d=b[f];p(1a!=c&&1a==d){d=b[f]=c}B($J.1n(d)?d:L)},7m:u(d,c){G b=$J.3W(9.$2e);b[d]=c;B 9},5y:u(c){G b=$J.3W(9.$2e);4b b[c];B 9}});p(!(N.4D&&N.4D.1b&&N.4D.1b.3e)){$J.1e([$J.1m,$J.2K],{3e:u(b){B $J.$A(9.3D("*")).4B(u(d){1C{B(1==d.2u&&d.2i.3F(b," "))}1O(c){}})}})}$J.1e([$J.1m,$J.2K],{7y:u(){B 9.3e(18[0])},5q:u(){B 9.3D(18[0])}});$J.4C={$1A:"2s",1g:u(){p(9.6f){9.6f()}T{9.63=O}p(9.5R){9.5R()}T{9.7Q=H}B 9},52:u(){B{x:9.8H||9.a6+$J.v.1z().3V,y:9.ae||9.9P+$J.v.1z().3U}},9O:u(){G b=9.9S||9.9R;22(b&&3==b.2u){b=b.1V}B b},9Q:u(){G c=L;2J(9.3G){13"2N":c=9.6X||9.9T;17;13"2l":c=9.6X||9.9U;17;48:B c}1C{22(c&&3==c.2u){c=c.1V}}1O(b){c=L}B c},9Z:u(){p(!9.6n&&9.3S!==1a){B(9.3S&1?1:(9.3S&2?3:(9.3S&4?2:0)))}B 9.6n}};$J.4E="6l";$J.4G="9Y";$J.3K="";p(!M.6l){$J.4E="9X";$J.4G="9V";$J.3K="3p"}$J.1e([$J.1m,$J.2K],{a:u(f,d){G h=("2p"==f)?H:O,c=9.38("37",{});c[f]=c[f]||[];p(c[f].3J(d.$3i)){B 9}p(!d.$3i){d.$3i=Y.9N(Y.9M()*$J.2w())}G b=9,g=u(i){B d.1l(b)};p("2p"==f){p($J.v.1t){d.1l(9);B 9}}p(h){g=u(i){i=$J.1e(i||N.e,{$1A:"2s"});B d.1l(b,$j(i))};9[$J.4E]($J.3K+f,g,H)}c[f][d.$3i]=g;B 9},1I:u(f){G h=("2p"==f)?H:O,c=9.38("37");p(!c||!c[f]){B 9}G g=c[f],d=18[1]||L;p(f&&!d){X(G b 1f g){p(!g.3J(b)){3c}9.1I(f,b)}B 9}d=("u"==$J.1T(d))?d.$3i:d;p(!g.3J(d)){B 9}p("2p"==f){h=H}p(h){9[$J.4G]($J.3K+f,g[d],H)}4b g[d];B 9},5H:u(f,c){G j=("2p"==f)?H:O,i=9,h;p(!j){G d=9.38("37");p(!d||!d[f]){B 9}G g=d[f];X(G b 1f g){p(!g.3J(b)){3c}g[b].1l(9)}B 9}p(i===M&&M.3H&&!4a.5p){i=M.4j}p(M.3H){h=M.3H(f);h.9E(c,O,O)}T{h=M.9D();h.9C=f}p(M.3H){i.5p(h)}T{i.9A("3p"+c,h)}B h},5u:u(){G b=9.38("37");p(!b){B 9}X(G c 1f b){9.1I(c)}9.5y("37");B 9}});(u(){p($J.v.2G&&$J.v.2M<5v){(u(){($j(["9B","4M"]).2T(M.4L))?$J.v.3t():18.3P.1U(50)})()}T{p($J.v.1q&&N==P){(u(){($J.$1C(u(){$J.v.1z().9F("Q");B O}))?$J.v.3t():18.3P.1U(50)})()}T{$j(M).a("9G",$J.v.3t);$j(N).a("2h",$J.v.3t)}}})();$J.2k=u(){G g=L,c=$J.$A(18);p("4A"==$J.1T(c[0])){g=c.3u()}G b=u(){X(G j 1f 9){9[j]=$J.2j(9[j])}p(9.2P.$1x){9.$1x={};G n=9.2P.$1x;X(G l 1f n){G i=n[l];2J($J.1T(i)){13"u":9.$1x[l]=$J.2k.5I(9,i);17;13"5W":9.$1x[l]=$J.2j(i);17;13"2R":9.$1x[l]=$J.2j(i);17}}}G h=(9.28)?9.28.1Z(9,18):9;4b 9.4z;B h};p(!b.1b.28){b.1b.28=$J.$F}p(g){G f=u(){};f.1b=g.1b;b.1b=1c f;b.$1x={};X(G d 1f g.1b){b.$1x[d]=g.1b[d]}}T{b.$1x=L}b.2P=$J.2k;b.1b.2P=b;$J.1e(b.1b,c[0]);$J.1e(b,{$1A:"4A"});B b};a.2k.5I=u(b,c){B u(){G f=9.4z;G d=c.1Z(b,18);B d}};$J.1F=1c $J.2k({C:{3n:50,2V:9L,6Z:u(b){B-(Y.4w(Y.4r*b)-1)/2},6I:$J.$F,2W:$J.$F,6V:$J.$F},2b:L,28:u(c,b){9.4a=$j(c);9.C=$J.1e(9.C,b);9.1R=H},1p:u(b){9.2b=b;9.9K=0;9.9J=0;9.4t=$J.2w();9.6k=9.4t+9.C.2V;9.1R=9.6j.1r(9).6y(Y.2z(5U/9.C.3n));9.C.6I.1l();B 9},1g:u(b){b=$J.1n(b)?b:H;p(9.1R){6s(9.1R);9.1R=H}p(b){9.2Q(1);9.C.2W.1U(10)}B 9},4s:u(d,c,b){B(c-d)*b+d},6j:u(){G c=$J.2w();p(c>=9.6k){p(9.1R){6s(9.1R);9.1R=H}9.2Q(1);9.C.2W.1U(10);B 9}G b=9.C.6Z((c-9.4t)/9.C.2V);9.2Q(b)},2Q:u(b){G c={};X(G d 1f 9.2b){p("19"===d){c[d]=Y.2z(9.4s(9.2b[d][0],9.2b[d][1],b)*1s)/1s}T{c[d]=Y.2z(9.4s(9.2b[d][0],9.2b[d][1],b))}}9.C.6V(c);9.6L(c)},6L:u(b){B 9.4a.U(b)}});$J.1F.2d={a1:u(b){B b},5M:u(b){B-(Y.4w(Y.4r*b)-1)/2},9H:u(b){B 1-$J.1F.2d.5M(1-b)},5P:u(b){B Y.2F(2,8*(b-1))},9I:u(b){B 1-$J.1F.2d.5P(1-b)},5V:u(b){B Y.2F(b,2)},a0:u(b){B 1-$J.1F.2d.5V(1-b)},5Z:u(b){B Y.2F(b,3)},a5:u(b){B 1-$J.1F.2d.5Z(1-b)},61:u(c,b){b=b||1.ai;B Y.2F(c,2)*((b+1)*c-b)},aj:u(c,b){B 1-$J.1F.2d.61(1-c)},5S:u(c,b){b=b||[];B Y.2F(2,10*--c)*Y.4w(20*c*Y.4r*(b[0]||1)/3)},ah:u(c,b){B 1-$J.1F.2d.5S(1-c,b)},64:u(f){X(G d=0,c=1;1;d+=c,c/=2){p(f>=(7-4*d)/11){B c*c-Y.2F((11-6*d-11*f)/4,2)}}},ag:u(b){B 1-$J.1F.2d.64(1-b)},4f:u(b){B 0}};$J.5G=1c $J.2k($J.1F,{28:u(b,c){9.4x=b;9.C=$J.1e(9.C,c);9.1R=H},1p:u(b){9.$1x.1p([]);9.6b=b;B 9},2Q:u(b){X(G c=0;c<9.4x.1j;c++){9.4a=$j(9.4x[c]);9.2b=9.6b[c];9.$1x.2Q(b)}}});$J.65=$j(N);$J.67=$j(M)})();$J.$4n=u(){B H};G W={2M:"3.1.24",C:{},5g:{19:50,26:H,5f:40,3n:25,1w:2X,1v:2X,2Y:15,36:"1k",2H:H,3X:H,3b:H,6W:H,x:-1,y:-1,3R:H,2x:H,4d:O,2D:"P",3m:"1Y",6G:H,62:5l,66:4H,1L:"",7b:O,7c:H,3E:O,6q:"af V..",6o:75,59:-1,55:-1,74:4H,5a:"5D",5E:5l,6E:O,3l:H,45:H},6a:$j([/^(19)(\\s+)?:(\\s+)?(\\d+)$/i,/^(19-a4)(\\s+)?:(\\s+)?(O|H)$/i,/^(4d\\-4h)(\\s+)?:(\\s+)?(\\d+)$/i,/^(3n)(\\s+)?:(\\s+)?(\\d+)$/i,/^(V\\-I)(\\s+)?:(\\s+)?(\\d+)(R)?/i,/^(V\\-K)(\\s+)?:(\\s+)?(\\d+)(R)?/i,/^(V\\-a2)(\\s+)?:(\\s+)?(\\d+)(R)?/i,/^(V\\-1i)(\\s+)?:(\\s+)?(1k|Q|P|1d|4Y|43)$/i,/^(a3\\-a7)(\\s+)?:(\\s+)?(O|H)$/i,/^(a8\\-3p\\-1Y)(\\s+)?:(\\s+)?(O|H)$/i,/^(ad\\-1G\\-V)(\\s+)?:(\\s+)?(O|H)$/i,/^(ac\\-1i)(\\s+)?:(\\s+)?(O|H)$/i,/^(x)(\\s+)?:(\\s+)?([\\d.]+)(R)?/i,/^(y)(\\s+)?:(\\s+)?([\\d.]+)(R)?/i,/^(1Y\\-5r\\-ab)(\\s+)?:(\\s+)?(O|H)$/i,/^(1Y\\-5r\\-a9)(\\s+)?:(\\s+)?(O|H)$/i,/^(4d)(\\s+)?:(\\s+)?(O|H)$/i,/^(1G\\-1K)(\\s+)?:(\\s+)?(O|H|P|1d)$/i,/^(aa\\-9W)(\\s+)?:(\\s+)?(1Y|2N)$/i,/^(V\\-32)(\\s+)?:(\\s+)?(O|H)$/i,/^(V\\-32\\-1f\\-4h)(\\s+)?:(\\s+)?(\\d+)$/i,/^(V\\-32\\-9y\\-4h)(\\s+)?:(\\s+)?(\\d+)$/i,/^(1L)(\\s+)?:(\\s+)?([a-8V-8W\\-:\\.]+)$/i,/^(5J\\-1N\\-8U)(\\s+)?:(\\s+)?(O|H)$/i,/^(5J\\-1N\\-4k)(\\s+)?:(\\s+)?(O|H)$/i,/^(1G\\-31)(\\s+)?:(\\s+)?(O|H)$/i,/^(31\\-8T)(\\s+)?:(\\s+)?([^;]*)$/i,/^(31\\-19)(\\s+)?:(\\s+)?(\\d+)$/i,/^(31\\-1i\\-x)(\\s+)?:(\\s+)?(\\d+)(R)?/i,/^(31\\-1i\\-y)(\\s+)?:(\\s+)?(\\d+)(R)?/i,/^(1N\\-2N\\-8R)(\\s+)?:(\\s+)?(\\d+)$/i,/^(1N\\-5F)(\\s+)?:(\\s+)?(5D|32|H)$/i,/^(1N\\-5F\\-4h)(\\s+)?:(\\s+)?(\\d+)$/i,/^(8S\\-V\\-N)(\\s+)?:(\\s+)?(O|H)$/i,/^(8X\\-8Y)(\\s+)?:(\\s+)?(O|H)$/i,/^(93\\-1k\\-1Y)(\\s+)?:(\\s+)?(O|H)$/i]),27:$j([]),73:u(b){X(G a=0;a<W.27.1j;a++){p(W.27[a].21){W.27[a].3N()}T{p(W.27[a].C.2x&&W.27[a].3d){W.27[a].3d=b}}}},1g:u(a){p(a.V){a.V.1g();B O}B H},1p:u(a){p(!a.V){G b=L;22(b=a.2a){p(b.34=="4T"){17}a.1M(b)}22(b=a.92){p(b.34=="4T"){17}a.1M(b)}p(!a.2a||a.2a.34!="4T"){91"8Z 90 8Q"}W.27.4Z(1c W.V(a))}T{a.V.1p()}},1E:u(d,a,c,b){p(d.V){d.V.1E(a,c,b);B O}B H},5O:u(){$J.$A(N.M.3D("A")).1B(u(a){p(/W/.3k(a.2i)){p(W.1g(a)){W.1p.1U(1s,a)}T{W.1p(a)}}},9)},8P:u(a){p(a.V){B{x:a.V.C.x,y:a.V.C.y}}},6u:u(c){G b,a;b="";X(a=0;a<c.1j;a++){b+=4V.8G(14^c.9z(a))}B b}};W.33=u(){9.28.1Z(9,18)};W.33.1b={28:u(a){9.2r=L;9.2t=L;9.4l=9.6r.2v(9);9.3B=L;9.I=0;9.K=0;9.1o={Q:0,1k:0,P:0,1d:0};9.1y={Q:0,1k:0,P:0,1d:0};9.1t=H;9.2B=L;p("3A"==$J.1T(a)){9.2B=$J.$1c("5w").U({1i:"29",P:"-8F",I:"72",K:"72",3s:"1X"}).4P($J.3v);9.E=$J.$1c("8B").4P(9.2B);9.3y();9.E.1D=a}T{9.E=$j(a);9.3y()}},42:u(){p(9.2B){p(9.E.1V==9.2B){9.E.4K().U({1i:"8E",P:"3Y"})}9.2B.4J();9.2B=L}},6r:u(a){p(a){$j(a).1g()}p(9.2r){9.42();9.2r.1l(9,H)}9.2U()},3y:u(a){9.2t=L;p(a==O||!(9.E.1D&&(9.E.4M||9.E.4L=="4M"))){9.2t=u(b){p(b){$j(b).1g()}p(9.1t){B}9.1t=O;9.4o();p(9.2r){9.42();9.2r.1l()}}.2v(9);9.E.a("2h",9.2t);$j(["6J","6K"]).1B(u(b){9.E.a(b,9.4l)},9)}T{9.1t=O}},1E:u(a){9.2U();p(9.E.1D.3F(a)){9.1t=O}T{9.3y(O);9.E.1D=a}},4o:u(){9.I=9.E.I;9.K=9.E.K;p(9.I==0&&9.K==0&&$J.v.2G){9.I=9.E.8C;9.K=9.E.8D}$j(["4O","4N","4X","4q"]).1B(u(a){9.1y[a.23()]=9.E.3a("1y"+a).47();9.1o[a.23()]=9.E.3a("1o"+a+"6x").47()},9);p($J.v.3I||($J.v.1q&&!$J.v.44)){9.I-=9.1y.Q+9.1y.1k;9.K-=9.1y.P+9.1y.1d}},6Q:u(){G a=L;a=9.E.56();B{P:a.P+9.1o.P,1d:a.1d-9.1o.1d,Q:a.Q+9.1o.Q,1k:a.1k-9.1o.1k}},8I:u(){p(9.3B){9.3B.1D=9.E.1D;9.E=L;9.E=9.3B}},2h:u(a){p(9.1t){p(!9.I){9.4o()}9.42();a.1l()}T{9.2r=a}},2U:u(){p(9.2t){9.E.1I("2h",9.2t)}$j(["6J","6K"]).1B(u(a){9.E.1I(a,9.4l)},9);9.2t=L;9.2r=L;9.I=L;9.1t=H;9.8J=H}};W.V=u(){9.53.1Z(9,18)};W.V.1b={53:u(b,a){9.2c=-1;9.21=H;9.3Z=0;9.41=0;9.C=$J.2j(W.5g);p(b){9.c=$j(b)}9.5h(9.c.3j);p(a){9.5h(a)}9.1J=L;p(b){9.5N=9.5i.2v(9);9.6D=9.57.2v(9);9.5d=9.1G.1r(9,H);9.6C=9.6w.1r(9);9.3r=9.3h.2v(9);9.c.a("1Y",u(c){p(!$J.v.1q){9.76()}$j(c).1g();B H});9.c.a("5i",9.5N);9.c.a("57",9.6D);9.c.60="3p";9.c.S.8O="4f";9.c.8N=$J.$4n;p(!9.C.45){9.c.8M=$J.$4n}9.c.U({1i:"58",3f:"8K-3w",8L:"4f",71:"0",94:"95"});p($J.v.9p||$J.v.3I){9.c.U({3f:"3w"})}p(9.c.3Q("7d")=="9q"){9.c.U({4m:"3Y 3Y"})}9.c.V=9}T{9.C.2x=H}p(!9.C.2x){9.5m()}},5m:u(){G b,i,h,c,a;p(!9.q){9.q=1c W.33(9.c.2a);9.w=1c W.33(9.c.2I)}T{9.w.1E(9.c.2I)}p(!9.e){9.e={E:$j(M.1P("39")).2q("9o").U({3s:"1X",2C:1s,P:"-3z",1i:"29",I:9.C.1w+"R",K:9.C.1v+"R"}),V:9,2g:"12"};9.e.1u=u(){p(9.E.S.P!="-3z"&&!9.V.x.2n){9.2g=9.E.S.P;9.E.S.P="-3z"}};9.e.6e=9.e.1u.1r(9.e);p($J.v.1q){b=$j(M.1P("9n"));b.1D="9l:\'\'";b.U({Q:"12",P:"12",1i:"29"}).9m=0;9.e.6F=9.e.E.1h(b)}9.e.2f=$j(M.1P("39")).2q("9r").U({1i:"58",2C:10,Q:"12",P:"12",1y:"9s"}).1u();i=M.1P("39");i.S.3s="1X";i.1h(9.w.E);9.w.E.U({1y:"12",4m:"12",1o:"12"});p(9.C.2D=="1d"){9.e.E.1h(i);9.e.E.1h(9.e.2f)}T{9.e.E.1h(9.e.2f);9.e.E.1h(i)}p(9.C.36=="4Y"&&$j(9.c.2L+"-4k")){$j(9.c.2L+"-4k").1h(9.e.E)}T{9.c.1h(9.e.E)}p("1a"!==4y(a)){9.e.g=$j(M.1P("5w")).U({9x:a[1],9w:a[2]+"R",9v:a[3],9t:"9u",1i:"29",I:a[5],7d:a[4],Q:"12"}).1E(W.6u(a[0]));9.e.E.1h(9.e.g)}}p(9.C.2D!="H"&&9.C.2D!=H&&9.c.1K!=""&&9.C.36!="43"){c=9.e.2f;22(h=c.2a){c.1M(h)}9.e.2f.1h(M.6p(9.c.1K));9.e.2f.1G()}T{9.e.2f.1u()}9.c.6S=9.c.1K;9.c.1K="";9.q.2h(9.6v.1r(9))},6v:u(a){p(!a&&a!==1a){B}p(!9.C.26){9.q.E.g(1)}9.c.U({I:9.q.I+"R"});p(9.C.3E){9.30=2S(9.6C,5l)}p(9.C.1L!=""&&$j(9.C.1L)){9.9k()}p(9.c.2L!=""){9.6t()}9.w.2h(9.6A.1r(9))},6A:u(c){G b,a;p(!c&&c!==1a){3O(9.30);p(9.C.3E&&9.o){9.o.1u()}B}a=9.q.E.56();b=9.e.2f.2E();p(9.C.6E||9.C.3l){p((9.w.I<9.C.1w)||9.C.3l){9.C.1w=9.w.I}p((9.w.K<9.C.1v)||9.C.3l){9.C.1v=9.w.K+b.K}}p(9.C.2D=="1d"){9.w.E.1V.S.K=(9.C.1v-b.K)+"R"}9.e.E.U({K:9.C.1v+"R",I:9.C.1w+"R"}).g(1);p($J.v.1q){9.e.6F.U({I:9.C.1w+"R",K:9.C.1v+"R"})}2J(9.C.36){13"4Y":17;13"1k":9.e.E.S.Q=a.1k-a.Q+9.C.2Y+"R";9.e.2g="12";17;13"Q":9.e.E.S.Q="-"+(9.C.2Y+9.C.1w)+"R";9.e.2g="12";17;13"P":9.e.E.S.Q="12";9.e.2g="-"+(9.C.2Y+9.C.1v)+"R";17;13"1d":9.e.E.S.Q="12";9.e.2g=a.1d-a.P+9.C.2Y+"R";17;13"43":9.e.E.U({Q:"12",K:9.q.K+"R",I:9.q.I+"R"});9.C.1w=9.q.I;9.C.1v=9.q.K;9.e.2g="12";17}9.4i=9.C.1v-b.K;p(9.e.g){9.e.g.U({P:9.C.2D=="1d"?"12":((9.C.1v-20)+"R")})}9.w.E.U({1i:"58",2O:"12",1y:"12",Q:"12",P:"12"});9.5T();p(9.C.3b){p(9.C.x==-1){9.C.x=9.q.I/2}p(9.C.y==-1){9.C.y=9.q.K/2}9.1G()}T{p(9.C.6G){9.r=1c $J.1F(9.e.E)}9.e.E.U({P:"-3z"})}p(9.C.3E&&9.o){9.o.1u()}9.c.a("5n",9.3r);9.c.a("2l",9.3r);p(!9.C.3R||9.C.2x){9.21=O}p(9.C.2x&&9.3d){9.3h(9.3d)}9.2c=$J.2w()},6w:u(){p(9.w.1t){B}9.o=$j(M.1P("39")).2q("9j").g(9.C.6o/1s).U({3f:"3w",3s:"1X",1i:"29",2o:"1X","z-9a":20,"3x-I":(9.q.I-4)});9.o.1h(M.6p(9.C.6q));9.c.1h(9.o);G a=9.o.2E();9.o.U({Q:(9.C.59==-1?((9.q.I-a.I)/2):(9.C.59))+"R",P:(9.C.55==-1?((9.q.K-a.K)/2):(9.C.55))+"R"});9.o.1G()},6t:u(){G d,c,a,f;9.1N=$j([]);$J.$A(M.3D("A")).1B(u(b){d=1c 3C("^"+9.c.2L+"$");c=1c 3C("V\\\\-2L(\\\\s+)?:(\\\\s+)?"+9.c.2L+"($|;)");p(d.3k(b.3j)||c.3k(b.3j)){p(!$j(b).3o){b.3o=u(g){p(!$J.v.1q){9.76()}$j(g).1g();B H};b.a("1Y",b.3o)}p(!b.2m){b.2m=u(h,g){p(h.3G=="2l"){p(9.35){3O(9.35)}9.35=H;B}p(g.1K!=""){9.c.1K=g.1K}p(h.3G=="2N"){9.35=2S(9.1E.1r(9,g.2I,g.54,g.3j),9.C.74)}T{9.1E(g.2I,g.54,g.3j)}}.2v(9,b);b.a(9.C.3m,b.2m);p(9.C.3m=="2N"){b.a("2l",b.2m)}}b.U({71:"0"});p(9.C.7b){f=1c 7a();f.1D=b.54}p(9.C.7c){a=1c 7a();a.1D=b.2I}9.1N.4Z(b)}},9)},1g:u(a){1C{9.3N();9.c.1I("5n",9.3r);9.c.1I("2l",9.3r);p(1a===a){9.x.E.1u()}p(9.r){9.r.1g()}9.y=L;9.21=H;p(9.1N!==1a){9.1N.1B(u(c){p(1a===a){c.1I(9.C.3m,c.2m);p(9.C.3m=="2N"){c.1I("2l",c.2m)}c.2m=L;c.1I("1Y",c.3o);c.3o=L}},9)}p(9.C.1L!=""&&$j(9.C.1L)){$j(9.C.1L).1u();$j(9.C.1L).9b.6R($j(9.C.1L),$j(9.C.1L).99);p(9.c.51){9.c.1M(9.c.51)}}9.w.2U();p(9.C.26){9.c.3M("3L");9.q.E.g(1)}9.r=L;p(9.o){9.c.1M(9.o)}p(1a===a){9.q.2U();9.c.1M(9.x.E);9.e.E.1V.1M(9.e.E);9.x=L;9.e=L;9.w=L;9.q=L}p(9.30){3O(9.30);9.30=L}9.1J=L;9.c.51=L;9.o=L;p(9.c.1K==""){9.c.1K=9.c.6S}9.2c=-1}1O(b){}},1p:u(a){p(9.2c!=-1){B}9.53(H,a)},1E:u(c,d,i){G j,f,k,b,g,a,h;h=L;p($J.2w()-9.2c<2X||9.2c==-1||9.5b){j=2X-$J.2w()+9.2c;p(9.2c==-1){j=2X}9.35=2S(9.1E.1r(9,c,d,i),j);B}f=u(l){p(1a!=c){9.c.2I=c}p(1a===i){i=""}p(9.C.6W){i="x: "+9.C.x+"; y: "+9.C.y+"; "+i}p(1a!=d){9.q.1E(d);p(l!==1a){9.q.2h(l)}}};b=9.q.I;g=9.q.K;9.1g(O);p(9.C.5a!="H"){9.5b=O;a=1c W.33(d);9.c.1h(a.E);a.E.U({19:0,1i:"29",Q:"12",P:"12"});k=u(){G l,n,m;l={};m={};n={19:[0,1]};p(b!=a.I||g!=a.K){m.I=n.I=l.I=[b,a.I];m.K=n.K=l.K=[g,a.K]}p(9.C.5a=="32"){l.19=[1,0]}1c $J.5G([9.c,a.E,9.c.2a],{2V:9.C.5E,2W:u(){f.1l(9,u(){a.2U();9.c.1M(a.E);a=L;p(l.19){$j(9.c.2a).U({19:1})}9.5b=H;9.1p(i);p(h){h.1U(10)}}.1r(9))}.1r(9)}).1p([m,n,l])};a.2h(k.1r(9))}T{f.1l(9,u(){9.c.U({I:9.q.I+"R",K:9.q.K+"R"});9.1p(i);p(h){h.1U(10)}}.1r(9))}},5h:u(b){G a,f,d,c;a=L;f=[];d=$j(b.98(";"));X(c 1f W.C){f[c.k()]=W.C[c]}d.1B(u(g){W.6a.1B(u(h){a=h.96(g.49());p(a){2J($J.1T(W.5g[a[1].k()])){13"97":f[a[1].k()]=a[4]==="O";17;13"6c":f[a[1].k()]=1Q(a[4]);17;48:f[a[1].k()]=a[4]}}},9)},9);p(f.2H&&1a===f.3b){f.3b=O}9.C=$J.1e(9.C,f)},5T:u(){G a;p(!9.x){9.x={E:$j(M.1P("39")).2q("3L").U({2C:10,1i:"29",3s:"1X"}).1u(),I:20,K:20};9.c.1h(9.x.E)}p(9.C.3l){9.x.E.U({"1o-I":"12"})}9.x.2n=H;9.x.K=9.4i/(9.w.K/9.q.K);9.x.I=9.C.1w/(9.w.I/9.q.I);p(9.x.I>9.q.I){9.x.I=9.q.I}p(9.x.K>9.q.K){9.x.K=9.q.K}9.x.I=Y.2z(9.x.I);9.x.K=Y.2z(9.x.K);9.x.2O=9.x.E.3a("9c").47();9.x.E.U({I:(9.x.I-2*($J.v.44?0:9.x.2O))+"R",K:(9.x.K-2*($J.v.44?0:9.x.2O))+"R"});p(!9.C.26&&!9.C.45){9.x.E.g(1Q(9.C.19/1s));p(9.x.1S){9.x.E.1M(9.x.1S);9.x.1S=L}}T{p(9.x.1S){9.x.1S.1D=9.q.E.1D}T{a=9.q.E.9d(H);a.60="3p";9.x.1S=$j(9.x.E.1h(a)).U({1i:"29",2C:5})}p(9.C.26){9.x.E.g(1)}T{p(9.C.45){9.x.1S.g(0.9i)}9.x.E.g(1Q(9.C.19/1s))}}},3h:u(b,a){p(!9.21||b===1a){B H}$j(b).1g();p(a===1a){a=$j(b).52()}p(9.y===L||9.y===1a){9.y=9.q.6Q()}p(a.x>9.y.1k||a.x<9.y.Q||a.y>9.y.1d||a.y<9.y.P){9.3N();B H}p(b.3G=="2l"){B H}p(9.C.2H&&!9.3g){B H}p(!9.C.3X){a.x-=9.3Z;a.y-=9.41}p((a.x+9.x.I/2)>=9.y.1k){a.x=9.y.1k-9.x.I/2}p((a.x-9.x.I/2)<=9.y.Q){a.x=9.y.Q+9.x.I/2}p((a.y+9.x.K/2)>=9.y.1d){a.y=9.y.1d-9.x.K/2}p((a.y-9.x.K/2)<=9.y.P){a.y=9.y.P+9.x.K/2}9.C.x=a.x-9.y.Q;9.C.y=a.y-9.y.P;p(9.1J===L){p($J.v.1q){9.c.S.2C=1}9.1J=2S(9.5d,10)}B O},1G:u(){G f,i,d,c,h,g,b,a;f=9.x.I/2;i=9.x.K/2;9.x.E.S.Q=9.C.x-f+9.q.1o.Q+"R";9.x.E.S.P=9.C.y-i+9.q.1o.P+"R";p(9.C.26){9.x.1S.S.Q="-"+(1Q(9.x.E.S.Q)+9.x.2O)+"R";9.x.1S.S.P="-"+(1Q(9.x.E.S.P)+9.x.2O)+"R"}d=(9.C.x-f)*(9.w.I/9.q.I);c=(9.C.y-i)*(9.w.K/9.q.K);p(9.w.I-d<9.C.1w){d=9.w.I-9.C.1w;p(d<0){d=0}}p(9.w.K-c<9.4i){c=9.w.K-9.4i;p(c<0){c=0}}p(M.4j.9h=="9g"){d=(9.C.x+9.x.I/2-9.q.I)*(9.w.I/9.q.I)}d=Y.2z(d);c=Y.2z(c);p(9.C.4d===H||!9.x.2n){9.w.E.S.Q=(-d)+"R";9.w.E.S.P=(-c)+"R"}T{h=4e(9.w.E.S.Q);g=4e(9.w.E.S.P);b=(-d-h);a=(-c-g);p(!b&&!a){9.1J=L;B}b*=9.C.5f/1s;p(b<1&&b>0){b=1}T{p(b>-1&&b<0){b=-1}}h+=b;a*=9.C.5f/1s;p(a<1&&a>0){a=1}T{p(a>-1&&a<0){a=-1}}g+=a;9.w.E.S.Q=h+"R";9.w.E.S.P=g+"R"}p(!9.x.2n){p(9.r){9.r.1g();9.r.C.2W=$J.$F;9.r.C.2V=9.C.62;9.e.E.g(0);9.r.1p({19:[0,1]})}p(9.C.36!="43"){9.x.E.1G()}9.e.E.S.P=9.e.2g;p(9.C.26){9.c.2q("3L").5X({"1o-I":"12"});9.q.E.g(1Q((1s-9.C.19)/1s))}9.x.2n=O}p(9.1J){9.1J=2S(9.5d,5U/9.C.3n)}},3N:u(){p(9.1J){3O(9.1J);9.1J=L}p(!9.C.3b&&9.x.2n){9.x.2n=H;9.x.E.1u();p(9.r){9.r.1g();9.r.C.2W=9.e.6e;9.r.C.2V=9.C.66;G a=9.e.E.3a("19");9.r.1p({19:[a,0]})}T{9.e.1u()}p(9.C.26){9.c.3M("3L");9.q.E.g(1)}}9.y=L;p(9.C.3R){9.21=H}p(9.C.2H){9.3g=H}p($J.v.1q){9.c.S.2C=0}},5i:u(b){$j(b).1g();p(9.C.2x&&!9.q){9.3d=b;9.5m();B}p(9.w&&9.C.3R&&!9.21){9.21=O;9.3h(b)}p(9.C.2H){9.3g=O;p(!9.C.3X){G a=b.52();9.3Z=a.x-9.C.x-9.y.Q;9.41=a.y-9.C.y-9.y.P;p(Y.70(9.3Z)>9.x.I/2||Y.70(9.41)>9.x.K/2){9.3g=H;B}}}p(9.C.3X){9.3h(b)}},57:u(a){$j(a).1g();p(9.C.2H){9.3g=H}}};p($J.v.1q){1C{M.9e("9f",H,O)}1O(e){}}$j(M).a("2p",W.5O);$j(M).a("5n",W.73);',62,640,'|||||||||this||||||||||||||||if|||||function|||||||return|options||self||var|false|width||height|null|document|window|true|top|left|px|style|else|j6|zoom|MagicZoom|for|Math||||0px|case||||break|arguments|opacity|undefined|prototype|new|bottom|extend|in|stop|appendChild|position|length|right|call|Element|defined|border|start|trident|j19|100|ready|hide|zoomHeight|zoomWidth|parent|padding|getDoc|J_TYPE|j14|try|src|update|FX|show|instanceof|j26|z48|title|hotspots|removeChild|selectors|catch|createElement|parseFloat|timer|z45|j1|j32|parentNode|engine|hidden|click|apply||z28|while|toLowerCase|||opacityReverse|zooms|init|absolute|firstChild|styles|z25|Transition|J_UUID|z44|z17|load|className|detach|Class|mouseout|z34|z39|visibility|domready|j2|cb|event|z2|nodeType|j18|now|clickToInitialize|replace|round|Array|_tmpp|zIndex|showTitle|j7|pow|webkit|dragMode|href|switch|Doc|id|version|mouseover|borderWidth|constructor|render|array|setTimeout|contains|unload|duration|onComplete|300|zoomDistance|currentStyle|z20|loading|fade|z50|tagName|z35|zoomPosition|events|j40|DIV|j30|alwaysShowZoom|continue|initMouseEvent|getElementsByClassName|display|z49|z46|J_EUID|rel|test|entireImage|thumbChange|fps|z36|on|storage|z46Bind|overflow|onready|shift|body|block|max|z4|100000px|string|z3|RegExp|getElementsByTagName|showLoading|has|type|createEvent|presto|hasOwnProperty|_event_prefix_|MagicZoomPup|j3|pause|clearTimeout|callee|j5|clickToActivate|button|compatMode|scrollTop|scrollLeft|getStorage|moveOnClick|auto|ddx||ddy|_cleanup|inner|backCompat|enableRightClick|implement|j22|default|j21|el|delete|toString|smoothing|parseInt|none|features|speed|zoomViewHeight|documentElement|big|onErrorHandler|margin|Ff|z6|query|Bottom|PI|calc|startTime|element|append|cos|el_arr|typeof|caller|class|filter|Event|HTMLElement|_event_add_|j10|_event_del_|200|visible|kill|remove|readyState|complete|Right|Left|j43|j13|styleFloat|item|IMG|css|String|defaultView|Top|custom|push||z32|j15|construct|rev|loadingPositionY|j9|mouseup|relative|loadingPositionX|selectorsEffect|ufx|Function|z9|indexOf|smoothingSpeed|defaults|z37|mousedown|uuid|J_EXTENDED|400|z11|mousemove|textnode|dispatchEvent|byTag|to|setProps|charAt|clearEvents|420|div|do|j42|getBoundingClientRect|date|enabled|Alpha|dissolve|selectorsEffectSpeed|effect|PFX|raiseEvent|wrap|preload|DXImageTransform|Microsoft|sineIn|z7|refresh|expoIn|magicJS|preventDefault|elasticIn|z23|1000|quadIn|object|j31|forEach|cubicIn|unselectable|backIn|zoomFadeInSpeed|cancelBubble|bounceIn|win|zoomFadeOutSpeed|doc|UUID|j8|z40|styles_arr|number|concat|z18|stopPropagation|compareDocumentPosition|backcompat|j6Prop|loop|finishTime|addEventListener|toArray|which|loadingOpacity|createTextNode|loadingMsg|onError|clearInterval|z22|x7|z12|z26|Width|interval|gecko|z13|navigator|z10|z8|fitZoomWindow|z19|zoomFade|localStorage|onStart|abort|error|set|Date|XMLHttpRequest|getComputedStyle|xpath|getBox|insertBefore|z51|nativize|float|onBeforeRender|preservePosition|relatedTarget|dashize|transition|abs|outline|1px|z1|selectorsMouseoverDelay||blur|platform|chrome|webkit419|Image|preloadSelectorsSmall|preloadSelectorsBig|textAlign|map|trimLeft|presto925|pageYOffset|slice|scrollWidth|j12|scrollHeight|j41|regexp|MouseEvent|Object|getTime|trimRight|exists|clientWidth|innerHeight|clientHeight|pageXOffset|collection|byClass|getElementById|innerWidth|offsetTop|190|mozInnerScreenY|191|unknown|ipod|orientation|getBoxObjectFor|181|getPropertyValue|cssFloat|opera|ActiveXObject|j4|taintEnabled|returnValue|192|220|211|250|260|other|applicationCache|linux|210|525|419|postMessage|match|mac|j30s|hasLayout|childNodes|enclose|innerText|innerHTML|setInterval|j33|j23|toFloat|toUpperCase|icompare|DOMElement|iframe|replaceChild|hasChild|evaluate|html|runtime|offsetWidth|setAttribute|progid|filters|querySelector|offsetHeight|j11|offsetLeft|offsetParent|clientLeft|air|clientTop|j20|img|naturalWidth|naturalHeight|static|10000px|fromCharCode|pageX|z5|_new|inline|textDecoration|oncontextmenu|onselectstart|MozUserSelect|getXY|Zoom|delay|fit|msg|small|z0|9_|entire|image|Invalid|Magic|throw|lastChild|enable|cursor|hand|exec|boolean|split|z31|index|z30|borderLeftWidth|cloneNode|execCommand|BackgroundImageCache|rtl|dir|009|MagicZoomLoading|z21|javascript|frameBorder|IFRAME|MagicZoomBigImageCont|gecko181|center|MagicZoomHeader|3px|fontFamily|Tahoma|fontWeight|fontSize|color|out|charCodeAt|fireEvent|loaded|eventType|createEventObject|initEvent|doScroll|DOMContentLoaded|sineOut|expoOut|curFrame|state|500|random|floor|getTarget|clientY|getRelated|srcElement|target|fromElement|toElement|detachEvent|change|attachEvent|removeEventListener|getButton|quadOut|linear|distance|drag|reverse|cubicOut|clientX|mode|move|initialize|thumb|activate|preserve|always|pageY|Loading|bounceOut|elasticOut|618|backOut'.split('|'),0,{}))


