/* 오토 슬라이드 쇼*/
//var slide_obj = null;
function init_slideshow_selbtn(slideshow_obj,mclass,sel_btn,unsel_btn) {
	slideshow_obj.init_sel_btn(mclass,sel_btn,unsel_btn);
}
function init_slideshow_btn(slideshow_obj,mclass,prev_btn,next_btn,pause_btn,play_btn) {
	slideshow_obj.init_control_btn(mclass,prev_btn,next_btn,pause_btn,play_btn);
}
function slideshow(objId, sec1, sec2, speed, width, width_plus, move_group_count){ 
	//alert(move_group_count);
	this.obj=document.getElementById(objId);
	this.sec1 = sec1;
	this.html = this.obj.innerHTML
	this.obj.innerHTML = this.html + this.html;
	this.obj.slide_count = this.obj.getElementsByTagName('LI').length;
	this.obj.start_index=0;
	this.obj.end_index=this.obj.start_index+1;
	this.obj.slide_width = parseInt(this.obj.getElementsByTagName('IMG')[1].width) + width_plus;
	this.obj.slide_height = parseInt(this.obj.getElementsByTagName('IMG')[1].height);
	this.obj.width = this.obj.slide_width * this.obj.slide_count;
	this.obj.style.width = ((this.obj.slide_width * this.obj.slide_count)+20) + 'px';
	this.obj.selbtn = new Array();
	this.obj.sel_btn_src = new Array();
	this.obj.unsel_btn_src = new Array();
	this.obj.playbtn_src ='';
	this.obj.pausebtn_src ='';
	this.obj.pause_img = new Image();
	if(move_group_count>0) this.obj.move_group_count = move_group_count;
		else this.obj.move_group_count = 1;
	this.obj.x = 0;
	this.obj.step  = this.obj.slide_width/2;
	this.ispause=false;
	var self_slide = this;
	//window.onload = function() {
		setTimeout(function(){self_slide.move_left()},this.sec1);
	//}
	var atag = this.obj.getElementsByTagName('A');

	for(var i=0;i<atag.length;i++) {
		atag[i].mobj = this;
		atag[i].no = i+1;
		atag[i].onfocus=function() {
			this.mobj.move(this.no);
		}
		if(atag[i].parentNode.className=='con') {
			atag[i].onblur=function() {
				this.mobj.next();
			}
		}
		//atag[i].getElementsByTagName('IMG')[0].onmouseover=function() {
			//this.parentNode.mobj.pause('pause');
		//}
		//atag[i].getElementsByTagName('IMG')[0].onmouseout=function() {
			//this.parentNode.mobj.pause('');
		//}
	}

} 

slideshow.prototype={ 
	move_left:function(){ 
	var self_slide = this;
		if(!this.isover && !this.ispause){ 
			this.obj.endx = (this.obj.end_index * this.obj.slide_width)*-1;
			if(this.obj.step>5) this.obj.step = this.obj.step -     Math.ceil(this.obj.step/2.5);
			this.obj.x=this.obj.x-this.obj.step;
			this.obj.style.left = (this.obj.x)+"px";
		} 
		if(this.obj.x >= this.obj.endx) {
			setTimeout(function(){self_slide.move_left()},20);
		} else {
			if(this.obj.slide_count == this.obj.end_index) {
				this.obj.x=0;
				this.obj.end_index=1;
			} else if(this.obj.slide_count-this.obj.move_group_count==this.obj.end_index) {
				this.obj.x=this.obj.slide_width*((this.obj.slide_count/2)-this.obj.move_group_count)*-1;
				this.obj.end_index=Math.floor((this.obj.slide_count/2)-this.obj.move_group_count);
				this.obj.style.left =Math.floor(this.obj.x)+"px";
			} else {
				this.obj.style.left = (this.obj.endx)+"px";
				this.obj.end_index=this.obj.end_index+1;
			}
			this.sel_btn(this.obj.end_index);
			this.reset_speed();
			setTimeout(function(){self_slide.move_left()},this.sec1);
		}
	},
	move:function(no) {
		this.pause('pause');
		this.obj.x=this.obj.slide_width*(no-1)*-1;
		this.obj.endx=this.obj.x;
		this.obj.end_index=no;
		
		this.reset_speed();
		this.obj.style.left = (this.obj.x)+"px";
		
		this.sel_btn(no);
	},
	reset_speed:function() {
		this.obj.step  = this.obj.slide_width/1.8;
	},
	next:function() {
		if(this.obj.end_index>this.obj.slide_count/2) {
			this.obj.end_index = this.obj.end_index- (this.obj.slide_count/2);
		}
		
		if(this.obj.end_index==this.obj.slide_count-1) return false;
		this.move(this.obj.end_index+1);		
	},
	prev:function() {
		if(this.obj.end_index==1) {
			this.obj.end_index = Math.ceil(this.obj.slide_count/2)+1;
		}
		this.move(this.obj.end_index-1);	
	},
	pause:function(mode){
		if((this.ispause==false && mode=='')|| mode=='pause') {
			this.ispause=true; 
			this.obj.pause_img.src=this.obj.playbtn_src;  
			this.obj.pause_img.alt='재생';
		} else  if((this.ispause==true && mode=='') || mode=='play')  {
			this.ispause=false; 
			this.obj.pause_img.src=this.obj.pausebtn_src;  
			this.obj.pause_img.alt='중지';
		}
	},
	sel_btn:function(no){

		if(this.obj.sel_btn_src=='') return ;
			if(no>this.obj.slide_count/2) {
				no = no-(this.obj.slide_count/2);
			}
			
			for(var i=1;i<=this.obj.slide_count/2;i++) {
				if(no==i) this.obj.selbtn[i].src=this.obj.sel_btn_src[i];
					else this.obj.selbtn[i].src=this.obj.unsel_btn_src[i];
			}
	},
	init_sel_btn:function(mclass,sel_btn,unsel_btn) {

		var org_sel_btn = sel_btn;
		var org_unsel_btn = unsel_btn;

		var parent_obj = this.obj.parentNode.parentNode.parentNode.getElementsByTagName('DD')[2];
		if(parent_obj.className==mclass) {
			var ul = document.createElement('UL');
			for(var i=1;i<=this.obj.slide_count/2;i++) {
				
				if (org_sel_btn.indexOf('[1]')>0) {
					sel_btn = org_sel_btn.replace('[1]', i);
					unsel_btn= org_unsel_btn.replace('[1]', i);
				}
				this.obj.sel_btn_src[i] = sel_btn;
				this.obj.unsel_btn_src[i] = unsel_btn;
				
				var prev_li 	= document.createElement('LI');
				var prev_a 		= (a=document.createElement('A'),a.href='#none',a.no = i,a.obj = this,a.onclick = function() {this.obj.move(this.no);},a.onfocus = function() {this.obj.move(this.no);},a.title=i + '번째 팝업',a);
				var prev_img 	= document.createElement('IMG');
				if(i==1) {
					prev_img.src=sel_btn;
				} else {
					prev_img.src=unsel_btn;
				}
				prev_img.alt='팝업선택버튼';
				prev_a.appendChild(prev_img);
				prev_li.appendChild(prev_a);
				ul.appendChild(prev_li);
				this.obj.selbtn[i]=prev_img;
			}
			parent_obj.appendChild(ul);
		}
	},
	init_control_btn:function(mclass,prev_btn,next_btn,pause_btn,play_btn) {
		var parent_obj = this.obj.parentNode.parentNode.parentNode.getElementsByTagName('DD')[1];
		this.obj.playbtn_src = play_btn;
		this.obj.pausebtn_src = pause_btn;
		
		if(parent_obj.className==mclass) {
			var ul = document.createElement('UL');
			var prev_li 	= document.createElement('LI');
			var prev_a 		= document.createElement('A');
			var prev_img 	= document.createElement('IMG');
			prev_a.href='#none';
			prev_img.src=prev_btn;
			prev_img.alt='이전';
			prev_a.obj = this;
			prev_a.onclick = function() {  this.obj.prev(); }
			
			prev_a.appendChild(prev_img);
			prev_li.appendChild(prev_a);
			ul.appendChild(prev_li);
			
			var pause_li 	= document.createElement('LI');
			var pause_a 	= document.createElement('A');
			var pause_img 	= document.createElement('IMG');
			this.obj.pause_img = pause_img;
			pause_a.obj = this;
			pause_a.onclick = function() {
				this.obj.pause('');
			}
			pause_a.href='#none';
			pause_img.src=pause_btn;
			pause_img.alt='중지';
			pause_a.appendChild(pause_img);
			pause_li.appendChild(pause_a);
			ul.appendChild(pause_li);
			
			var next_li 	= document.createElement('LI');
			var next_a 	 	= document.createElement('A');
			var next_img	= document.createElement('IMG');
			next_a.obj = this;
			next_a.onclick = function() {  this.obj.next(); }

			next_a.href='#none';
			next_img.src=next_btn;
			next_img.alt='다음';
			next_a.appendChild(next_img);
			next_li.appendChild(next_a);
			ul.appendChild(next_li);
			
			parent_obj.innerHTML='';
			parent_obj.appendChild(ul);
		}
	}
}

