var s7viewer = {
	init: function(){
		if(!document.getElementById("imageNavigator")) return;
		var imageNavigatorControl = document.getElementById("imageNavigator")
		var thumnails = imageNavigatorControl.innerHTML;
		imageNavigatorControl.innerHTML = theprestring1 + thumnails + theprestring2;
		
		if($('zoomOutButton')) {
			$('zoomOutButton').addEvent('click', function(e){
				e = new Event(e);
				s7zoom.zoomOut();
				e.stop();
			});
		}
		
		if($('zoomInButton')) {
			$('zoomInButton').addEvent('click', function(e){
				e = new Event(e);
				s7zoom.zoomIn();
				e.stop();
			});
		}
		
		if($('panLeftButton')) {
			$('panLeftButton').addEvent('click', function(e){
				e = new Event(e);
				s7zoom.pan('left',1);
				e.stop();
			});
		}
		
		if($('panRightButton')) {
			$('panRightButton').addEvent('click', function(e){
				e = new Event(e);
				s7zoom.pan('right',1);
				e.stop();
			});
		}
		
		if($('panUpButton')) {
			$('panUpButton').addEvent('click', function(e){
				e = new Event(e);
				s7zoom.pan('up',1);
				e.stop();
			});
		}
		
		if($('panDownButton')) {
			$('panDownButton').addEvent('click', function(e){
				e = new Event(e);
				s7zoom.pan('down',1);
				e.stop();
			});
		}
		
		if($('resetButton')) {
			$('resetButton').addEvent('click', function(e){
				e = new Event(e);
				s7zoom.reset();
				e.stop();
			});
		}
		
		var thumbnails = $$('#imageNavigator a.thumbnail');
		if(thumbnails[0]) {
			for (var i = 0; i < thumbnails.length; i++) {
				thumbnails[i].addEvent('click', function(e){
					
					e = new Event(e);
					var thumbLink = this.getProperty('href');
					if (window.fixSetImage) {
						fixSetImage(thumbLink,true);
					}else{
						s7zoom.setImage(thumbLink,true);
					}
					e.stop();
				});
			}
		}
		
		if($('imageSlide') && $('openButton') && $('closeButton')) {
		
			var mySlide2 = new Fx.Slide('imageSlide', {
				mode: 'horizontal',
				duration: 600,
				transition: Fx.Transitions.linear
			});
			
			var state = 'ready';
			
			$('openButton').addEvent('click', function(e){
				e = new Event(e);
				state = 'opening';
				mySlide2.slideIn();
				this.setStyles("position:absolute;");
				e.stop();
			});
			$('closeButton').addEvent('click', function(e){
				e = new Event(e);
				state = 'closing';
				mySlide2.slideOut();
				$('openButton').setStyles("position:static;");
				e.stop();
			});
		}		
		
		if (s7zoom) {
			s7zoom.zviewer.addEventListener('endZoom', function(o) {
				var minScale = o.target.defaultScl / Math.pow(o.target.zoom_factor , o.target.max_zoom);
				window.status = 'l: ' + o.target.zoom_factor_limit;
				if (o.target.zoom_factor_limit != 0) {
					minScale = Math.max(minScale, 1 / o.target.zoom_factor_limit);
				}
				
				if (Math.abs(o.target.defaultScl - o.target.currentScl) < 1e-6) {
					
					if (!$('imageController')) return false;
						//viewer reached reset state
						$('imageController').removeClass('zoomedIn');
					
				} else {
					$('imageController').addClass('zoomedIn');
				}
				if (Math.abs(minScale - o.target.currentScl) < 1e-6) {
					//viewer reached maximum zoom
					$('zoomInButton').addClass('maxZoom')
				} else {
					if (!$('zoomInButton')) return false;
					$('zoomInButton').removeClass('maxZoom');
				}
				if ($('panLeftButton') && $('panRightButton') && $('panUpButton') && $('panDownButton')) {
				
					if (o.target.currentX == parseInt(o.target.checkPosition(o.target.currentX + 1, o.target.currentY, o.target.currentScl).nx)) {
						//viewer reached left border
						$('panLeftButton').addClass('maxPan');
					} else {
						$('panLeftButton').removeClass('maxPan');
					}
					if (o.target.currentX == parseInt(o.target.checkPosition(o.target.currentX - 1, o.target.currentY, o.target.currentScl).nx)) {
						//viewer reached right border
						$('panRightButton').addClass('maxPan');
					} else {
						$('panRightButton').removeClass('maxPan');
					}
					if (o.target.currentY == parseInt(o.target.checkPosition(o.target.currentX, o.target.currentY + 1, o.target.currentScl).ny)) {
						//viewer reached up border
						$('panUpButton').addClass('maxPan');
					} else {
						$('panUpButton').removeClass('maxPan');
					}
					if (o.target.currentY == parseInt(o.target.checkPosition(o.target.currentX, o.target.currentY - 1, o.target.currentScl).ny)) {
						//viewer reached down border
						$('panDownButton').addClass('maxPan');
					} else {
						$('panDownButton').removeClass('maxPan');
					}
				}
			});
		}
	}
}

var theprestring1 = '<ul id="imageController" class="trans"><li><a id="zoomInButton">zoom in</a></li><li><a id="zoomOutButton">zoom out</a></li><li><a id="panUpButton">pan up</a></li><li><a id="panRightButton">pan right</a></li><li><a id="panDownButton">pan down</a></li><li><a id="panLeftButton">pan left</a></li><li><a id="resetButton">reset</a></li></ul><a id="openButton"><img src="' +staticRoot+ 'img/btn_open.png" alt="open" /></a><div id="imageSlide"><div id="imageSlideInner" class="trans">';
var theprestring2 = '</div><a id="closeButton"><img src="' +staticRoot+ 'images/btn_close.png" alt="Kapat" /></a></div>'

window.addEvent('domready', function(){	s7viewer.init(); });