var UserBrower = { version: parseInt(navigator.appVersion), isNetscape: navigator.appName.indexOf("Netscape") != -1, isFirefox: navigator.appName.indexOf("Netscape") != -1, isMicrosoft: navigator.appName.indexOf("Microsoft") != -1 } function JoinsScroll(){ this.version = "1.0"; this.name = "JoinsScroll"; this.item = new Array(); this.itemcount = 0; this.currentspeed = 0; this.scrollspeed = 50; this.pausedelay = 1000; this.pausemouseover = false; this.stop = false; this.type = 1; this.height = 100; this.width = 100; this.stopHeight=0; this.i=0; this.rowCount = 2; this.targetDiv = null; this.add = function () { var text = arguments[0]; this.item[this.itemcount] = text; this.itemcount ++; }; this.clearItem = function () { this.item = new Array(); this.itemcount = 0; }; this.start = function () { if (this.itemcount == 1) { this.add(this.item[0]); } if (this.targetDiv != null) { document.getElementById(this.targetDiv).innerHTML = this.str_ret(); }else { this.display(); } this.currentspeed = this.scrollspeed; if ( this.type == 1 || this.type == 2 ) { this.stop = true; setTimeout(this.name+'.scroll()',this.currentspeed); window.setTimeout(this.name+".stop = false", this.pausedelay); } else if ( this.type == 3 ) { this.stop = true; setTimeout(this.name+'.rolling()',this.currentspeed); window.setTimeout(this.name+".stop = false", this.pausedelay); } }; this.display = function () { document.write('
'); for(var i = 0; i < this.itemcount; i++) { if ( this.type == 1 ) { document.write('
'); document.write(this.item[i]); document.write('
'); } else if ( this.type == 2 || this.type == 3 ) { document.write('
'); document.write(this.item[i]); document.write('
'); } } document.write('
'); }; this.str_ret = function() { var strTemp = ''; var leftOption = "left:0px;"; if (UserBrower.isFirefox) leftOption = "left:15px;" strTemp = '
' for(var i = 0; i < this.itemcount; i++) { if ( this.type == 1 ) { strTemp += '
' strTemp += this.item[i] strTemp += '
' } else if ( this.type == 2 || this.type == 3 ) { strTemp += '
' strTemp += this.item[i] strTemp += '
' } } strTemp += '
' return strTemp; } this.scroll = function () { if ( this.pause == true ) { window.setTimeout(this.name+".scroll()",this.pausedelay); this.pause = false; } else { this.currentspeed = this.scrollspeed; if ( !this.stop ) { for (i = 0; i < this.itemcount; i++) { obj = document.getElementById(this.name+'item'+i).style; if (this.type == 1){ obj.top = parseInt(obj.top) - 1+"px"; if ( parseInt(obj.top) <= this.height/this.rowCount * (-1) ) { obj.top = this.height/this.rowCount * (this.itemcount-1)+"px"; } if ( parseInt(obj.top) == 0 ) this.currentspeed = this.pausedelay; } else if ( this.type == 2 ) { obj.left = parseInt(obj.left) - 1+"px"; if ( parseInt(obj.left) <= this.width * (-1) ) obj.left = this.width * (this.itemcount-1); if ( parseInt(obj.left) == 0 ) this.currentspeed = this.pausedelay; } } } window.setTimeout(this.name+".scroll()",this.currentspeed); } }; this.rolling = function () { if ( this.stop == false ) { this.next(); } window.setTimeout(this.name+".rolling()",this.scrollspeed); } this.onmouseover = function () { if ( this.pausemouseover ) { this.stop = true; if (this.name == "homeKeyword") { for (i = 0; i < this.itemcount; i++) { obj = document.getElementById(this.name+'item'+i).style; if (this.type == 1){ if ( parseInt(obj.top) == 0 ) { this.targetNum = i+1; document.getElementById('list'+this.targetNum).className="li_current"; }else{ this.targetNum = i+1; document.getElementById('list'+this.targetNum).className="11"; } } } } } }; this.onmouseout = function () { if ( this.pausemouseover ) { this.stop = false; } }; this.next = function() { for (i = 0; i < this.itemcount; i++) { obj = document.getElementById(this.name+'item'+i).style; if ( parseInt(obj.left) < 1 ) { width = this.width + parseInt(obj.left); break; } } for (i = 0; i < this.itemcount; i++) { obj = document.getElementById(this.name+'item'+i).style; if ( parseInt(obj.left) < 1 ) { obj.left = this.width * (this.itemcount-1); } else { obj.left = parseInt(obj.left) - width; } } } this.prev = function() { for (i = 0; i < this.itemcount; i++) { obj = document.getElementById(this.name+'item'+i).style; if ( parseInt(obj.left) < 1 ) { width = parseInt(obj.left) * (-1); break; } } if ( width == 0 ) { total_width = this.width * (this.itemcount-1); for (i = 0; i < this.itemcount; i++) { obj = document.getElementById(this.name+'item'+i).style; if ( parseInt(obj.left) + 1 > total_width ) { obj.left = 0; } else { obj.left = parseInt(obj.left) + this.width; } } } else { for (i = 0; i < this.itemcount; i++) { obj = document.getElementById(this.name+'item'+i).style; if ( parseInt(obj.left) < 1 ) { obj.left = 0; } else { obj.left = parseInt(obj.left) + width; } } } } /*UP&Down 추가 20100112*/ this.up = function() { for (i = 0; i < this.itemcount; i++) { obj = document.getElementById(this.name+'item'+i).style; if ( parseInt(obj.top) < 1 ) { height = parseInt(obj.top) * (-1); break; } } if ( height == 0 ) { total_height = this.height * (this.itemcount-1); for (i = 0; i < this.itemcount; i++) { obj = document.getElementById(this.name+'item'+i).style; if ( parseInt(obj.top) + 1 > total_height ) { obj.top = 0; } else { obj.top = parseInt(obj.top) + this.height; } } } else { for (i = 0; i < this.itemcount; i++) { obj = document.getElementById(this.name+'item'+i).style; if ( parseInt(obj.top) < 1 ) { obj.top = 0; } else { obj.top = parseInt(obj.top ) + height; } } } } this.down = function() { for (i = 0; i < this.itemcount; i++) { obj = document.getElementById(this.name+'item'+i).style; if ( parseInt(obj.top) < 1 ) { height = this.height + parseInt(obj.top); break; } } for (i = 0; i < this.itemcount; i++) { obj = document.getElementById(this.name+'item'+i).style; if ( parseInt(obj.top) < 1 ) { obj.top = this.height * (this.itemcount-1); } else { obj.top = parseInt(obj.top) - height; } } } this.unext = function () { this.onmouseover(); if(this.type == 1) { this.down(); } else { this.next(); } window.setTimeout(this.name+".onmouseout()",this.pausedelay); } this.uprev = function () { this.onmouseover(); if(this.type == 1) { this.up(); } else { this.prev(); } window.setTimeout(this.name+".onmouseout()",this.pausedelay); } }