/*
Slide Show v1.0

http://blog.dukechina.org/

By Wei Chen @Duke

05/14/2005

*/
ini();
initpic(cn-midcanshow,canshow);
window.onload = ready;

function ini(){
	bb=document.getElementById('imgtable');
	ctn=bb.parentNode;
	canshow=Math.round(ctn.offsetWidth/52);
	midcanshow=Math.round(canshow/2-1);
	nextx = ctn.offsetWidth/2-27;
	cn=0;
	initx = nextx - 52*cn+26;
	bb.style.left=initx +'px';
	prex=initx;
	curx=prex;
	obv='';
	ani=0;
	cobj='';
	imgs=new Array();
	simgs=new Array();
	ids=new Array();
	opacity=0;
//cn=0;
	sliding=0;
	nimage=bb.offsetWidth/52;
}

function initpic(startid,number){
 for(i=startid;i<startid+number;i++){
	if ((i<0) || (i>=nimage)) continue;
	if (!imgs[i]){
		thumb=document.getElementById('thumb'+i);
		var itemids=thumb.alt;
		var itemidarray=itemids.split("|");
		ids[i]=itemidarray;
		imgs[i] = new Image();
		imgs[i].src="albums/"+ids[i][1];
		simgs[i]= new Image();
//		simgs[i].onload=showimg(i);
		simgs[i].src="thumbs/"+ids[i][0];
		thumb.src=simgs[i].src;
		thumb.style.display='block';
	}
 }
}

function showimg(i){
	thumb=document.getElementById('thumb'+i);
	thumb.src=simgs[i].src;
	thumb.style.display='block';
}

function opa(){
	if(ani) return setTimeout('opa()',10);
	opacity+=10;
	if(opacity > 100) opacity =100;
	document.getElementById('imgshow').style.filter = 'alpha(opacity = ' + opacity + ')'; 
	document.getElementById('imgshow').style.MozOpacity=opacity/100;
	if(opacity!=100) setTimeout('opa()',10);
}

function ready(){
	document.getElementById('imgtable').style.visibility='visible';
//	abc(cn);
	cn=-1;
	slideshow();
}

function gofirst(){
	stopslide();
	abc(midcanshow);
}

function gopre(){
	stopslide();
	n=cn-canshow;
	if(n<midcanshow) n=midcanshow;
	abc(n);
}

function gonext(){
	stopslide();
	n=cn+canshow;
	if(n>nimage-midcanshow-1) n=nimage-midcanshow-1;
	abc(n);
}

function golast(){
	stopslide();
	abc(nimage-midcanshow-1);
}

function gocomment(){
	stopslide();
}

function goalbum(){
	stopslide();
}


function abc(n){
	stopslide();
	if((n<0)||(n>nimage-1)) return;
	obj=document.getElementById('thumb'+n).parentNode;
	if(ani) return true;
	ani=1;
	cobj=obj;
	cn=n;
	domove(n);
	if(obv!=''){obv.style.backgroundColor='';}
	obj.style.backgroundColor='#bbbbbb';
	obv=obj;
	initpic(n-midcanshow,canshow)
	document.getElementById('imgarea').innerHTML ='<img onload=showpp(this) style="visibility:hidden;filter:(opacity=0);-moz-opacity:0;" id=imgshow src='+imgs[n].src+'></img>';
	opacity=0;
	document.getElementById('imgshow').style.filter = 'alpha(opacity = ' + opacity + ')';
	document.getElementById('imgshow').style.MozOpacity=opacity/100;
}


function slideshow(){
	if(sliding) {
		clearTimeout(sliding);
		sliding=0;
	}else{
		sliding=1;
		startslide();
	}
}

function stopslide(){
	if(sliding) {
		clearTimeout(sliding);
		sliding=0;
	}
}

function startslide(){
	if(sliding&&(cn<nimage-1)){
		cn++;
		abc(cn);
		sliding=setTimeout('startslide()',3000);
	}else {
//		sliding=0;
		abc(0);
		sliding=setTimeout('startslide()',3000);
	}
}

function maxsize(img){
	max=800;
	if(img.width>img.height && img.width>max) {
		w = max;
		h = img.height/img.width*max;
	}
	else if(img.width<img.height && img.height>max) {
		h = max;
		w = img.width/img.height*max;
	}
	else {
		return;
	}
	img.width=w;
	img.height=h;
}

function showpp(img){
	maxsize(img);
	img.style.visibility="visible";
	opa();
}

function domove(n){
	fx=nextx-52*(n)
	step=(fx-prex)/52*2;
	curx=curx+step;
	document.getElementById('imgtable').style.left = curx + 'px';
	if(curx!=fx){
		setTimeout('domove('+n+')',15);
	}
	else {
		ani=0;
		prex=curx;
	}
}

