/* 오토 슬라이드 쇼*/ //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;i5) 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); } } }