var xwzVRoll=function(srcById,targetTag,height){
		if(typeof srcById =='string') this.frame=document.getElementById(srcById);
		else if(typeof srcById =='object') this.frame=object;
		else{alert('´ë»ó °´Ã¼°ªÀÌ À¯È¿ÇÏÁö ¾Ê½À´Ï´Ù.');return false;}

		this.Nodes=[];/*´ë»ó°´Ã¼*/
		this.height=height||this.frame.offsetHeight||parseInt(this.frame.style.height||0);/*³ôÀÌ*/
		this.direction='updn';/*¹æÇâ*/
		this.bPause=false;/*ÀÏ½Ã¸ØÃã*/
		this.nDelay=3000;/*Áö¿¬½Ã°£*/
		this.nPeriod=30;/*ÀÌµ¿¼Óµµ Á¦¾î°ª*/
		this.index=0;/*INCREMENT*/
		this.resTime=null;/*Å¸ÀÓ¸®¼Ò½º*/
		this.length=0;/*ÀüÃ¼°¹¼ö*/
		this.Queue=[];/*ÀÌµ¿ÇÒ ´ë»óÀÇ °´Ã¼ ¹è¿­*/
		this.dd=this.direction.indexOf('dn')!==-1;/*ÀÌµ¿¹æÇâ BOOLEAN °ª*/

		/*½Ç ÃÊ±âÈ­*/
		var itms=this.frame.getElementsByTagName(targetTag);
		this.length=itms.length;

		this.frame.style.overflow='hidden';
		this.frame.style.position='relative';
		if(!this.frame.style.height) this.frame.style.height=this.height+'px';
		/**/
		for(var i=0;i<this.length;i++){
			if(!itms[i].style.height) itms[i].style.height=this.height+'px' ;
			itms[i].style.position="absolute";
			if(this.dd) this.Nodes.unshift(itms[i]);else this.Nodes.push(itms[i]);

		};
		for(var i=0;i<this.length;i++){this.Nodes[i].style.top=(this.height*(this.dd?((this.length-1-i)*-1):i))+'px';}
};
xwzVRoll.prototype={
	/**
	 * ´ÙÀ½ °´Ã¼°¡ ÀÌµ¿ÇÒ µ¿¾ÈÀÇ Áö¿¬½Ã°£ ¼³Á¤ ÇÔ¼ö
	 * @Param {Number}
	 * @Return {Number}
	 */
	setDelaytime:function(nVal){
		var n=nVal||(this.nDelay/1000);
		return this.nDelay=Math.abs(n*1)*1000;
	},
	/**
	 * ÀÌµ¿¼Óµµ Á¦¾î°ª ¼³Á¤ÇÔ¼ö
	 * @Param {Number}
	 * @Return {Number}
	 */
	setPeriod:function(nVal){
		var n=nVal||(this.nPeriod);
		return this.nPeriod=Math.abs(n*1);
	},
	/**
	 * ´ÙÀ½ °´Ã¼°¡ ÀÌµ¿ÇÒ µ¿¾ÈÀÇ Áö¿¬½Ã°£ ¼³Á¤ ÇÔ¼ö
	 * @Param {String} ÀÌµ¿¹æÇâ¼³Á¤ [up,dn,updn]
	 * @Return {String}
	 */
	setDirection:function(strVal){
		strVal=(strVal||this.direction).toString().toLowerCase();
		if((/^(up|dn|updn)$/).test(strVal)==false||this.direction==strVal) return this.direction;

		this.dd=strVal.indexOf('dn')!==-1;/*ÀÌµ¿¹æÇâ BOOLEAN °ª*/
		var a= this.Nodes;this.Nodes=[];
		for(var i=0;i<this.length;i++){
			if(this.dd) this.Nodes.unshift(a[i]);else this.Nodes.push(a[i]);
		};

		for(var i=0;i<this.length;i++){this.Nodes[i].style.top=(this.height*(this.dd?((this.length-1-i)*-1):i))+'px';}
		this._stack();
		return this.direction=strVal;/*¹æÇâ*/
	},
	/**
	 *¿ÜºÎ ½ÇÇà ÇÔ¼ö
	 */
	on:function(){
		this.onmouseover=new Function("this.bPause=true").bindForEvent(this);
		this.onmouseout=new Function("this.bPause=false;this._aviate()").bindForEvent(this);
		this.frame.onmouseover=this.onmouseover;
		this.frame.onmouseout=this.onmouseout;
		this.resTime=setTimeout(this._aviate.bind(this),this.nDelay);
	},
	/**
	 * °¢ °´Ã¼ °£ ½ÇÁ¦ ÀÌµ¿ Á¦¾î ÇÔ¼ö
	 */
	_stack:function(){
		var dY=pY=0,o=null,a=[];
		this.Queue=[];
		/*¾Æ·¡·Î ÀÌµ¿ÇÏ´Â °æ¿ì ÀÌÀü¿¡ ÀÌµ¿µÈ °´Ã¼¸¦ Ã¹¹øÂ° ¿ä¼Ò·Î ÀÌµ¿.*/
		if(this.dd && this.index>0){
			o=this.Nodes[this.length-1];this.Nodes.pop();this.Nodes.unshift(o);o.style.top=(this.height*(this.length-1)*-1)+'px';
		/*À§·Î ÀÌµ¿ÇÏ´Â °æ¿ì ÀÌÀü¿¡ ÀÌµ¿µÈ °´Ã¼¸¦ ¸¶Áö¸· ¿ä¼Ò·Î ÀÌµ¿ÇÑ´Ù.*/
		}else if(!this.dd && this.index>0){
			o=this.Nodes[0];this.Nodes.shift();this.Nodes.push(o);o.style.top=(this.height*(this.length-1))+'px';
		}
		if(this.bPause==true) return;
		/*INCREMENT*/
		this.index++;
		/*¼øÈ¯ÇüÅÂ°¡ ¾Æ´Ñ up<->down¹Ýº¹ÀÏ¶§*/
		if(this.index==this.length&&this.direction=='updn'&&this.dd){
			/*swap*/
			a[0]=this.Nodes[this.length-1];for(var i=1;i<this.length;i++){a[i]=this.Nodes[i-1];}this.Nodes=a;
			/*À§Ä¡ Àç ÁöÁ¤*/
			for(var i=0;i<this.length;i++) this.Nodes[i].style.top=(this.height* i) + 'px';
			this.dd=false;
		}else if(this.index==this.length-1&&this.direction=='updn'&&!this.dd){
			/*swap*/
			for(var i=1;i<this.length;i++){a[i-1]=this.Nodes[i];}a[this.length-1]=this.Nodes[0];this.Nodes=a;
			/*À§Ä¡ Àç ÁöÁ¤*/
			for(var i=0;i<this.length;i++) this.Nodes[i].style.top=(   this.height* ((this.length-1-i)*-1)  ) + 'px';
			/*¹æÇâ»óÅÂ°ªº¯°æ ÈÄ Áß´Ü*/
			this.dd=true;this.index=0;return false;
		}
		a=null; 
		/*ÀÌµ¿´ë»ó °´Ã¼ ¼±Á¤ ¹× ÇØ´ç °´Ã¼ÀÇ ÀÌµ¿´Ü°è°ª±¸ÇÏ±â*/
		for(var i=0;i<this.length;i++){
			pY=this.height* ( this.dd?(this.length-(2+i))*-1:i-1 );
			dY=pY-parseInt(this.Nodes[i].style.top);
			if(dY==0) continue;
			this.Queue[this.Queue.length]={style:this.Nodes[i].style,distY:dY,posY:parseInt(this.Nodes[i].style.top),mvY:pY,nBaud:dY!=0?0:this.nPeriod};
		}
		if(this.index>this.length) this.index=0;
	},
	/**
	 * ÁÖ¾îÁø °´Ã¼ÀÇ À§Ä¡¸¦ Á¦¾îÇÔ¼ö
	 */
	_aviate:function(){
		clearTimeout(this.resTime);this.resTime=null;
		var Toggle=null,Queue=[];
		var dY=0, nsec=0;
		for(var i=0,len=this.Queue.length;i<len;i++){
			Toggle=this.Queue[i];
			/*ÇØ´ç°´Ã¼ÀÇ ÀÌµ¿ Ä«¿îÆ®¸¦ ³ÑÁö ¾ÊÀº °æ¿ì À§Ä¡ÀÌµ¿Á¦¾î*/
			if(Toggle.nBaud < this.nPeriod){
				dY = Math.round(Math.sin(Toggle.nBaud / this.nPeriod*Math.PI/2)*Toggle.distY);
				Toggle.style.top=(Toggle.posY+dY)+'px';
				Toggle.nBaud++;
			}
			/*ÇØ´ç°´Ã¼ÀÇ ÀÌµ¿ Ä«¿îÆ®¸¦ ³Ñ´Â°æ¿ì ³õ¿©Áú À§Ä¡¿¡ °´Ã¼ À§Ä¡¸¦ ¼±Á¤ÇÏ°í Áß´Ü*/
			if(Toggle.nBaud >= this.nPeriod ){
				Toggle.style.top=(Toggle.mvY)+'px';
			}else{
				Queue[Queue.length]=Toggle;
			}
		};
		/*°´Ã¼ÀÌµ¿ÀÌ ³¡³­ °æ¿ì ÀÏ½ÃÁ¤Áö ÈÄ Áß´Ü*/
		if(Queue.length==0){
			/*ÀÏ½Ã Á¤Áö*/
			if(this.bPause==true){	return false;}
			this._stack();
			nsec=this.nDelay;
		}else{
			this.Queue=Queue;
		}
		this.resTime=setTimeout(this._aviate.bind(this),nsec);
	}
	
}
