window.addEvent('domready', function() {
//============================================= check scroll//
// this function from lightbox (http://www.huddletogether.com/projects/lightbox/)
function getPageScroll(){

	var yScroll;

	if (self.pageYOffset) {
		yScroll = self.pageYOffset;
	} else if (document.documentElement && document.documentElement.scrollTop){	 // Explorer 6 Strict
		yScroll = document.documentElement.scrollTop;
	} else if (document.body) {// all other Explorers
		yScroll = document.body.scrollTop;
	}
	return yScroll;
}
//  ============================================= hide & show//
function hide_slideShow(){
	var myFx = new Fx.Style('slideShow_window', 'opacity', {duration: 200}).start(1,0);
	var myFx = new Fx.Style('slideShow_bg', 'opacity', {duration: 400}).start(1,0);
	$('ss_thumb').setStyle('opacity','1');
	$('ss_pCaption').setStyle('opacity','0');
	$('ss_bigImgDiv').setStyle('opacity','0');
	thumbView();
	$('ss_thumb').empty();
}
function show_slideShow(){
	(function(){
		var myFx = new Fx.Style('slideShow_window', 'opacity', {duration: 200}).start(0,1);
	}).delay(300);
	var myFx = new Fx.Style('slideShow_bg', 'opacity', {duration: 400}).start(0,0.75);
}
// ============================================= back foward //
function backForward(direction){
	//check
	var n = checkPosition();
	var liList = $('ss_thumb').getElementsByTagName("li");
	if(direction == "back"){
		n = n-2;
	}
	n = checkBeginEnd(n, liList.length);
	
	//change
	var theHref = $E('a', $(liList[n])).getProperty('href');
	var theTitle = $E('a', $(liList[n])).getProperty('title');
	var location = (n+1) + '/' + liList.length;
	changeImg(theHref, theTitle, location);
}
function checkPosition(){
	var positionText = $('ss_imgNumber').getText();
	var endPositionText = positionText.indexOf("/");
	var positionText = positionText.substring(0,endPositionText);
	var n = positionText.toInt();
	return n;
}
function checkBeginEnd(n, length){
	if(n == length){
		n = 0;
	}else if(n == -1){
		n = length-1;
	}
	return n;
}
// ============================================= setup //
function setupSlideShow(ssUl){
	//bg
	$('slideShow_bg').setStyle('height',getScrollHeight());
	$('slideShow_bg').setStyle('width',getWidth());
	$('slideShow_bg').setStyle('opacity','0');
	$('slideShow_bg').addEvent('click', function(e){
		e = new Event(e);
		hide_slideShow();
		e.stop();
	});
	
	//window
	var theTop = getPageScroll() + 75;
	var winWidth = $('slideShow_window').getStyle('width').toInt();
	var theLeft = (getWidth()/2) - (winWidth/2) - 11;/*border and padding*/
	$('slideShow_window').setStyles({
		top: theTop,
		opacity: 0,
		left: theLeft
	});
	
	//create thumbnail	
	var ssUl_clone = $(ssUl).clone().getChildren();	
	for (i=0; i<ssUl_clone.length; i++) {		
		$(ssUl_clone[i]).injectInside('ss_thumb');
	} 
	$E('li', 'ss_thumb').removeClass('slideShow_firstThumb');
	
	//thumbnail
	var liList = $('ss_thumb').getElementsByTagName("li");
	//var img = liList.getElementsByTagName("img");
	//alert(img[1].src);
	
	for (i=0; i<liList.length; i++) {
		if(i==0)
		{			
			var imgSrc = $E('a', $(liList[i])).getProperty('href');			
			imgSrc = imgSrc + "&wid=196&hei=147";			
			$E('img', $(liList[i])).setProperty('src', imgSrc);			
		}
		
		$(liList[i]).eye = i;
		$(liList[i]).addEvent('click', function(){
			var theHref = $E('a', this).getProperty('href');			
			var theTitle = $E('a', this).getProperty('title');			
			var location = (this.eye + 1) + '/' + liList.length;
			$('ss_bigImg').setProperty('src', "");
			$('ss_pCaption').setText("");
			
			var thumbFx = new Fx.Style('ss_thumb', 'opacity', {duration: 100});	
			thumbFx.start(1,0).chain(function(){
				changeImg(theHref, theTitle, location);
				imgView();
			});
		});
	}
	
	//foward next btn
	$('ss_forward').addEvent('click', function(e){	
		e = new Event(e);
		e.stop();
		backForward();	
	});	
	$('ss_back').addEvent('click', function(e){	
		e = new Event(e);
		e.stop();
		backForward("back");	
	});	
	
	//overview
	$('ss_overviewBtn').addEvent('click', function(e){
		e = new Event(e);
		e.stop();
		var pFx = new Fx.Style('ss_pCaption', 'opacity', {duration: 100}).start(0,1);
		var divFx = new Fx.Style('ss_bigImgDiv', 'opacity', {duration: 100});
		divFx.start(1,0).chain(function(){
			$('ss_thumb').setStyle('opacity','0');
			thumbView();
			var thumbFx = new Fx.Style('ss_thumb', 'opacity').start(0,0.999);
		});
	});
	
	//close
	$('ss_closeBtn').addEvent('click', function(e){
		e = new Event(e);
		hide_slideShow();
		e.stop();
	});
}
// ============================================= view switch //
function thumbView(){
	$('ss_bigImgDiv').setStyle('background-image','url(../images/slideShow/loader.gif)');
	
	$('ss_overviewBtn').removeClass('showThis');
	$('ss_overviewBtn').addClass('hideThis');
	
	$('ss_leftRightDiv').removeClass('showThis');
	$('ss_leftRightDiv').addClass('hideThis');
	
	$('ss_pCaption').removeClass('showThis');
	$('ss_pCaption').addClass('hideThis');
		
	$('ss_bigImg').removeClass('showThis');
	$('ss_bigImg').addClass('hideThis');
	
	$('ss_thumb').removeClass('hideThis');
	$('ss_thumb').addClass('showThis');
	}
function imgView(){
	$('ss_bigImgDiv').setStyle('background-image','');
	
	$('ss_overviewBtn').removeClass('hideThis');
	$('ss_overviewBtn').addClass('showThis');
	
	$('ss_leftRightDiv').removeClass('hideThis');
	$('ss_leftRightDiv').addClass('showThis');
	
	$('ss_pCaption').removeClass('hideThis');
	$('ss_pCaption').addClass('showThis');
	
	$('ss_bigImg').removeClass('hideThis');
	$('ss_bigImg').addClass('showThis');
	
	
	$('ss_thumb').removeClass('showThis');
	$('ss_thumb').addClass('hideThis');
	}
// ============================================= change img //
function changeImg(theHref, theTitle, location){
	//alert(theHref);
	theHref = theHref + "&wid=800&hei=600";
	var imgFx = new Fx.Style('ss_bigImgDiv', 'opacity', {duration: 100});
	
	imgFx.start(1,0).chain(function(){
		$('ss_pCaption').setStyle('opacity','0');
		$('ss_bigImg').setProperty('src', theHref);
		new Asset.images([theHref], {
			onComplete: function(){
				$('ss_pCaption').setText(theTitle);
				$('ss_imgNumber').setText(location);
				var divFx = new Fx.Style('ss_bigImgDiv', 'opacity').start(0,0.999);
				var pFx = new Fx.Style('ss_pCaption', 'opacity').start(0,0.999);
			}
		});
	});
}
//============================================= find link//
function getUlSlideShow() {
	var allUl=document.getElementsByTagName("ul");
	for (i=0; i<allUl.length; i++) {
		if (allUl[i].className=='slideShow') {
			$(allUl[i]).addEvent('click', function(e){
				e = new Event(e);
				setupSlideShow(this);
				thumbView()
				show_slideShow();
				e.stop();
			});
		}
	}
}
getUlSlideShow();
//============================================= //
});



