﻿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.viewCount = 5;
    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('<div id="'+this.name+'" style="height:'+this.height+'; width:'+this.width+'; position:relative; overflow:hidden; " OnMouseOver="'+this.name+'.onmouseover(); " OnMouseOut="'+this.name+'.onmouseout(); ">');
	    for(var i = 0; i < this.itemcount; i++) {	    
		    if ( this.type == 1 ) {
			    document.write('<div id="'+this.name+'item'+i+'"style="left:0px; width:'+this.width+'; position:absolute; top:'+((this.height/this.rowCount)*i)+'px; ">');
			    document.write(this.item[i]);
			    document.write('</div>');
		    } else if ( this.type == 2 || this.type == 3 ) {
			    document.write('<div id="'+this.name+'item'+i+'"style="left:'+((this.width/this.viewCount)*i)+'px; width:'+this.width+'; position:absolute; top:0px; ">');
			    document.write(this.item[i]);
			    document.write('</div>');
		    }
	    }
	    document.write('</div>');
    };
    
    this.str_ret = function() {
        var strTemp = '';
		var leftOption = "left:0px;";
		if (UserBrower.isFirefox) leftOption = "left:15px;"
		
	    strTemp = '<div id="'+this.name+'" style="height:'+this.height+'px; width:'+this.width+';top:0px;'+leftOption+' position:relative;overflow:hidden; " OnMouseOver="'+this.name+'.onmouseover(); " OnMouseOut="'+this.name+'.onmouseout(); ">'
	    for(var i = 0; i < this.itemcount; i++) {	    
		    if ( this.type == 1 ) {
			    strTemp += '<div id="'+this.name+'item'+i+'"style="left:0px; width:'+this.width+'; position:absolute; top:'+((this.height/this.rowCount)*i)+'px; ">'
			    strTemp += this.item[i]
			    strTemp += '</div>'
		    } else if ( this.type == 2 || this.type == 3 ) {
			    strTemp += '<div id="'+this.name+'item'+i+'"style="left:'+((this.width/this.viewCount)*i)+'px; width:'+this.width+'; position:absolute; top:0px; ">'
			    strTemp += this.item[i]
			    strTemp += '</div>'
		    }
	    }
	    strTemp += '</div>'
	    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/this.viewCount) * (-1) ){ 
								obj.left = (this.width/this.viewCount) * (this.itemcount-1);
								//alert(obj.left);
							
						}
					    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/this.viewCount) + 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.viewCount) * (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.viewCount) * (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/this.viewCount);
			    }
		    }
	    } 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);
	}
}