var slideShow=function(){
	var bxs,bxe,fxs,fxe,ys,ye,ta,ia,ie,st,ss,ft,fs,xp,yp,ci,t,tar,tarl;
	ta=document.getElementById(thumbid);
	ia=document.getElementById(imgid);
	t=ta.getElementsByTagName('li');
	ie=document.all?true:false;
	st=3; ss=3; ft=10; fs=5; xp,yp=0;
	return{
		init:function(){
			document.onmousemove=this.pos; window.onresize=function(){setTimeout("slideShow.lim()",500)};
			ys=this.toppos(ta); ye=ys+ta.offsetHeight;
			len=t.length;tar=[];
			for(i=0;i<len;i++){
				var id=t[i].value; tar[i]=id;
				t[i].onclick=new Function("slideShow.getimg('"+id+"')");
				if(i==0){this.getimg(id)}
			}
			tarl=tar.length;
		},
		scrl:function(d){
			clearInterval(ta.timer);
			var l=(d==-1)?0:(t[tarl-1].offsetLeft-(ta.parentNode.offsetWidth-t[tarl-1].offsetWidth)+10)
			ta.timer=setInterval(function(){slideShow.mv(d,l)},st);
		},
		mv:function(d,l){
			ta.style.left=ta.style.left||'0px';
			var left=ta.style.left.replace('px','');
			if(d==1){
				if(l-Math.abs(left)<=ss){
					this.cncl(ta.id); ta.style.left='-'+l+'px';
				}else{ta.style.left=left-ss+'px'}
			}else{
				if(Math.abs(left)-l<=ss){
					this.cncl(ta.id); ta.style.left=l+'px';
				}else{ta.style.left=parseInt(left)+ss+'px'}
			}
		},
		cncl:function(){clearTimeout(ta.timer)},
		getimg:function(id){
			if(auto){clearTimeout(ia.timer)}
			if(ci!=null){
				var ts,tsl,x;
				ts=ia.getElementsByTagName('img'); tsl=ts.length;x=0;
				for(x;x<tsl;x++){
					if(ci.id!=id){var o=ts[x]; clearInterval(o.timer); o.timer=setInterval(function(){slideShow.fdout(o)},fs)}
				}
			}
			if(!document.getElementById(id)){
				var i=document.createElement('img');
				ia.appendChild(i);
				i.id=id; i.av=0; i.style.opacity=0;
				i.style.filter='alpha(opacity=0)';
				i.src=imgdir+'/'+id+imgext;
			}else{
				i=document.getElementById(id); clearInterval(i.timer);
			}
			i.timer=setInterval(function(){slideShow.fdin(i)},fs);
		},
		nav:function(d){
			var c=0;
			for(key in tar){
				if(tar[key]==ci.id){
					c=key
				}
			}
			if(tar[parseInt(c)+d]){
				this.getimg(tar[parseInt(c)+d]);
			}else{
				if(d==1){
					this.getimg(tar[0]);
				}else{this.getimg(tar[tarl-1])}
			}
		},
		goto:function(d){
			if(tar[d]){
				this.getimg(tar[d]);
			}else{
				if(d==1){
					this.getimg(tar[0]);
				}else{this.getimg(tar[tarl-1])}
			}
		},
		auto:function(){ia.timer=setInterval(function(){slideShow.nav(1)},autodelay*1000)},
		fdin:function(i){
			if(i.complete){i.av=i.av+fs; i.style.opacity=i.av/100; i.style.filter='alpha(opacity='+i.av+')'}
			if(i.av>=100){if(auto){this.auto()}; clearInterval(i.timer); ci=i}
		},
		fdout:function(i){
			i.av=i.av-fs; i.style.opacity=i.av/100;
			i.style.filter='alpha(opacity='+i.av+')';
			if(i.av<=0){clearInterval(i.timer); if(i.parentNode){i.parentNode.removeChild(i)}}
		},
		lim:function(){
			var taw,taa,len; taw=ta.parentNode.offsetWidth; taa=taw/4; 
			bxs=slideShow.leftpos(ta); bxe=bxs+taa; fxe=bxs+taw; fxs=fxe-taa;
		},
		pos:function(e){
			xp=ie?event.clientX+document.documentElement.scrollLeft:e.pageX; 
			yp=ie?event.clientY+document.documentElement.scrollTop:e.pageY;
			if(xp>bxs&&xp<bxe&&yp>ys&&yp<ye){
				slideShow.scrl(-1);
			}else if(xp>fxs&&xp<fxe&&yp>ys&&yp<ye){
				slideShow.scrl(1);
			}else{slideShow.cncl()}
		},
		leftpos:function(t){
			var l=0;
			if(t.offsetParent){
				while(1){l+=t.offsetLeft; if(!t.offsetParent){break}; t=t.offsetParent}
			}else if(t.x){l+=t.x}
			return l;
		},
		toppos:function(t){
			var p=0;
			if(t.offsetParent){
				while(1){p+=t.offsetTop; if(!t.offsetParent){break}; t=t.offsetParent}
			}else if(t.y){p+=t.y}
			return p;
		},
		stop:function(){clearInterval(ia.timer)}
	};
}();


var ua = navigator.userAgent.toLowerCase();
var isOpera = (ua.indexOf('opera') != -1);
var isIE = (ua.indexOf('msie') != -1 && !isOpera); // not opera spoof
function getViewportHeight() {
	 var height = -1;
	 var mode = document.compatMode;
  
	 if ( (mode || isIE) && !isOpera ) {
		switch (mode) { // (IE, Gecko)
		   case 'CSS1Compat': // Standards mode
			  height = document.documentElement.clientHeight;
			  break;
  
		   default: // Quirks
			  height = document.body.clientHeight;
		}
	 } else { // Safari, Opera
		height = self.innerHeight;
	 }
  
	 return height;
}

function getViewportWidth() {
	 var Width = -1;
	 var mode = document.compatMode;
  
	 if ( (mode || isIE) && !isOpera ) {
		switch (mode) { // (IE, Gecko)
		   case 'CSS1Compat': // Standards mode
			  Width = document.documentElement.clientWidth;
			  break;
  
		   default: // Quirks
			  Width = document.body.clientWidth;
		}
	 } else { // Safari, Opera
		Width = self.innerWidth;
	 }
  
	 return Width;
  }
function openPanel(url){
	var sh = document.createElement("div");
	var d = document.createElement("div");
	var s = document.createElement("div");
	s.onclick = function(){
		sh.parentNode.removeChild(sh);
		d.parentNode.removeChild(d);
	}
	s.className="pClose";
	var f = document.createElement("iframe");
//	sh.appendChild(d);
	d.appendChild(s);
	d.appendChild(f);
	d.className="overlay";
	d.style.position = "absolute";
	d.style.backgroundImage="url(images/pnl.png)";
	f.style.width = "430px";
	f.style.height = "350px";
	f.frameBorder=0;
	f.src = url;
	sh.style.position = (isIE)?"absolute":"fixed";
	sh.style.top = "0px";
	sh.style.left = "0px";
	sh.style.width = getViewportWidth()+"px";
	sh.style.height = getViewportHeight()+"px";
	sh.className="underlay";
/*	var viewPortD = [document.documentElement.clientWidth ,document.documentElement.clientHeight];
	var panelD =[430,350];
	var posL = parseInt((viewPortD[0]-panelD[0])/2)+"px";
	var posT = parseInt((viewPortD[1]-panelD[1])/2)+"px";
	if(parseInt(posT)<5)posT="10px";
	if(posL)d.style.left = "300px"; //posL;
	if(posT)d.style.top = "150px"; //posT;
	*/
	d.style.left = "300px"; //posL;
	d.style.top = "150px"; //posT;
	setTimeout(function(){document.body.appendChild(sh)},200);
	setTimeout(function(){document.body.appendChild(d)},200);
}

window.onload=function(){slideShow.init(); slideShow.lim()};


