//08.11.26. 김규민.
//"http://www.w3.org/TR/html4/loose.dtd"적용후
//스크립트 비정규식으로 인한 파이어폭스에서 미작동 정규식 표현으로 해결
//파이어폭스,익스7.0/익스6.0 정상 동작 확인

function NvChange() 
{ 
    this.version = "0.1"; 
    this.name = "NvChange"; 
    this.item = new Array(); 
    this.itemcount = 0; 
    this.itemcurrent = 0; 
    this.scrollspeed = 50; 
    this.pausedelay = 1000; 
    this.pausemouseover = false; 
    this.stop = 0; 
    this.height = 100; 
    this.width = 100; 
    this.position="absolute"; 
    this.item_position="absolute"; 

    this.add = function () { 
        var text = arguments[0]; 
        this.item[this.itemcount] = text; 
        this.itemcount++; 
    }; 

    this.start = function () { 
        now = new Date(); 
        this.itemcurrent = now % this.itemcount; 
        this.display(); 
        document.getElementById(this.name+'item'+this.itemcurrent).style.display = 'block'; 
        setTimeout(this.name+'.scroll()',this.scrollspeed); 
    }; 

    this.display = function () { 
        document.write('<div id="'+this.name+'" style="height:'+this.height+';width:'+this.width+';position:'+this.position+';overflow:hidden;" OnMouseOver="'+this.name+'.onmouseover();" OnMouseOut="'+this.name+'.onmouseout();">'); 
        for(var i = 0; i < this.itemcount; i++) { 
                document.write('<div id="'+this.name+'item'+i+'"style="left:0px; width:'+this.width+';position:'+this.item_position+'; display:none; ">'); 
                document.write(this.item[i]); 
                document.write('</div>'); 
        } 
        document.write('</div>'); 
    }; 

    this.scroll = function () { 
        if ( !this.stop ) { 
            this.itemchange(); 
        } 
        window.setTimeout(this.name+".scroll()",this.scrollspeed); 
    }; 


    this.itemchange = function () 
    { 
        document.getElementById(this.name+'item'+this.itemcurrent).style.display = 'none'; 

        this.itemcurrent++; 
        if (this.itemcurrent >= this.itemcount) {
            this.itemcurrent = 0; 
				}
        document.getElementById(this.name+'item'+this.itemcurrent).style.display = 'block'; 
    } 

    this.onmouseover = function () 
    { 
        if ( this.pausemouseover ) { 
            this.stop = 1; 
        } 
    }; 

    this.onmouseout = function () 
    { 
        if ( this.pausemouseover ) { 
            this.stop = 0; 
        } 
    }; 

    this.up = function () 
    { 
        this.stop++; 

        this.itemchange(); 

        window.setTimeout(this.name + ".stop--;",this.pausedelay); 
    } 

} 


function NvScroll() { 
	this.version = "0.2"; 
	this.name = "NvScroll"; 
	this.divId = "list"; 
	this.item = new Array(); 
	this.itemcount = 0; 
	this.currentspeed = 0; 
	this.scrollspeed = 50; 
	this.pausedelay = 1000; 
	this.pausemouseover = false; 
	this.stop = false; 
	this.height = 100; 
	this.width = 100; 
	this.stopHeight=0; 
	this.i=0; 
	this.reloadData = 0; 

	this.add = function () { 
		var text = arguments[0]; 
		this.item[this.itemcount] = text; 
		this.itemcount = this.itemcount + 1; 
	}; 

	this.start = function () { 
		if ( this.itemcount == 1 ) { 
			this.add(this.item[0]); 
		} 
		this.display(); 
		this.currentspeed = this.scrollspeed; 
		this.stop = true; 
		setTimeout(this.name+'.scroll()',this.currentspeed); 
		window.setTimeout(this.name+".stop = false", this.pausedelay); 
	}; 

	this.display = function () { 
	  var htmlCode; 
		htmlCode = '<div id="'+this.name+'" style="height:'+this.height+'px; width:'+this.width+'px; position:relative; overflow:hidden; " OnMouseOver="'+this.name+'.onmouseover(); " OnMouseOut="'+this.name+'.onmouseout(); ">'; 
		for(var i = 0; i < this.itemcount; i++) { 
			htmlCode += '<div id="'+this.name+'item'+i+'"style="left:0px; width:'+this.width+'px; position:absolute; top:'+(this.height*i)+'px; ">'; 
			htmlCode += this.item[i]; 
			htmlCode += '</div>'; 
		} 
		htmlCode += '</div>';

		//htmlCode = '<div id="quicknewstop" style="height:22; width:180; position:relative; overflow:hidden; " OnMouseOver="quicknewstop.onmouseover(); " OnMouseOut="quicknewstop.onmouseout(); "><div id="quicknewstopitem0"style="left:0px; width:180; position:absolute; top:0px; "><span><a href="">xxxxx</a></span></div><div id="quicknewstopitem1"style="left:0px; width:180; position:absolute; top:22px; "><span>yyyyy</span></div><div id="quicknewstopitem2"style="left:0px; width:180; position:absolute; top:44px; "><span>zzzzz</span></div></div>';

    //document.getElementById("newPop").innerHTML = htmlCode
		document.getElementById(this.divId).innerHTML= htmlCode;
	} 

	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 (var i = 0; i < this.itemcount; i++) { 
					obj = document.getElementById(this.name+'item'+i).style; 
					obj.top = parseInt(obj.top) - 1 + "px"; 
					if ( parseInt(obj.top) <= this.height * (-1) ) {
						obj.top = this.height * (this.itemcount-1) + "px"; 
					}
					if ( parseInt(obj.top) == 0 ) { 
						this.currentspeed = this.pausedelay; 
						this.i = i; 
					} 
				} 
			} 
      if( !this.stop && i == this.itemcount && parseInt(obj.top) == 0 && this.reloadData == 1 ) { 
				this.reloadData = 0; 
      } 
      else { 
				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; 
		} 
		for( var i = 0; i < 10; ++i ) { 
			var ii = i + 1; 
			if( ii < 10 ) ii = "r0" + ii; 
			else ii = "r" + ii; 
				var itemObj = document.getElementById(ii); 
				if( itemObj ) { 
					if( i == this.i ) {
						itemObj.style.fontWeight='bold'; 
					}
				else itemObj.style.fontWeight='normal'; 
				} 
		} 
	}; 

	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)+"px"; 
			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+"px"; 
			} 
		} 

	} 

	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)+"px"; 
				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+"px"; 
				}
				else { 
					obj.left = parseInt(obj.left) + this.width + "px"; 
				} 
			} 
		}
		else { 
			for (i = 0; i < this.itemcount; i++) { 
				obj = document.getElementById(this.name+'item'+i).style; 
				if ( parseInt(obj.left) < 1 ) { 
					obj.left = 0 + "px"; 
				} else { 
					obj.left = parseInt(obj.left) + width+"px"; 
				} 
			} 
		} 
	} 

	this.unext = function () { 
		this.onmouseover(); 
		this.next(); 
		window.setTimeout(this.name+".onmouseout()",this.pausedelay); 
	} 

	this.uprev = function () { 
		this.onmouseover(); 
		this.prev(); 
		window.setTimeout(this.name+".onmouseout()",this.pausedelay); 

	} 
} 