
	function vScroll( p_objName, p_divName )
	{
		/* Properties */
		this.objName = p_objName;
		this.divName = p_divName;
		this.marqueewidth = "150px";
		this.marqueeheight = "200px";
		this.marqueespeed = 1;
		this.pauseit = 1;
		this.marqueecontent = "";
		
		this.marqueespeed = (document.all)? this.marqueespeed : Math.max(1, this.marqueespeed-1); //slow speed down by 1 for NS
		this.copyspeed = this.marqueespeed;
		this.pausespeed = (this.pauseit==0)? this.copyspeed: 0;
		this.iedom = document.all||document.getElementById;
		this.actualheight = '';
		this.cross_marquee = '';
		this.ns_marquee = '';
		
		/* Public Methods */
		this.scroll = vs_scrollmarquee;
		this.setContent = vs_setcontent;
		this.setSpeed = vs_setcopyspeed;
		this.setWidth = vs_setwidth;
		this.setHeight = vs_setheight;
		this.writeDiv = vs_writediv;
		
		/* Private Methods */
		this._getDiv = vs_getdiv;
		this._populate = vs_populate;
	}
	
	/* Class Methods */
	
	function vs_setcontent( p_content )
	{
		this.marqueecontent = p_content;
	}
	
	function vs_setcopyspeed( p_speed )
	{
		this.copyspeed = p_speed;
	}
	
	function vs_setwidth( p_w )
	{
		this.marqueewidth = p_w;
	}
	
	function vs_setheight( p_h )
	{
		this.marqueeheight = p_h;
	}
	
	function vs_writediv( p_outerCSS, p_innerCSS )
	{
		document.write( this._getDiv(p_outerCSS,p_innerCSS) );
		this._populate();
	}
	
	function vs_getdiv( p_outerCSS, p_innerCSS )
	{
		var outerClass = '';
		var innerClass = '';
		if( p_outerCSS )
			outerClass = "class='" + p_outerCSS + "'";
		if( p_innerCSS )
			innerClass = "class='" + p_innerCSS + "'";
		
		var mouseover = this.objName + ".setSpeed('" + this.pausespeed + "')";
		var mouseout = this.objName + ".setSpeed('" + this.marqueespeed + "')";
		var outerDiv = "<div "+outerClass+" style=\"position:relative; width:"+this.marqueewidth+"; height:"+this.marqueeheight+"; overflow:hidden;\" onmouseover=\""+mouseover+"\" onmouseout=\""+mouseout+"\">";
		var innerDiv = "<div id=\"" + this.divName + "\" "+innerClass+" style=\"position:absolute; left:0px; top:0px; width: 100%;\"></div>";
		outerDiv += (innerDiv + "</div>");
		
		return outerDiv;
	}
	
	function vs_populate(){		
		if(this.iedom)
		{
			if( document.getElementById )
			{
				this.cross_marquee = document.getElementById(this.divName);
			}
			else
			{
				//alert('document.all');
				this.cross_marquee = eval('document.all.'+this.divName);
			}
			this.cross_marquee.style.top = parseInt(this.marqueeheight)+8+"px";
			this.cross_marquee.innerHTML = this.marqueecontent;
			this.actualheight = this.cross_marquee.offsetHeight;
		}
		else if(document.layers)
		{
			this.ns_marquee = document.ns_marquee.document.ns_marquee2;
			this.ns_marquee.top = parseInt(this.marqueeheight)+8;
			this.ns_marquee.document.write(this.marqueecontent);
			this.ns_marquee.document.close();
			this.actualheight = this.ns_marquee.document.height;
		}
		lefttime=setInterval(this.objName+".scroll()",40)
	}
	
	function vs_scrollmarquee(){
		if (this.iedom)
		{
			if (parseInt(this.cross_marquee.style.top)>(this.actualheight*(-1)+8))
				this.cross_marquee.style.top = parseInt(this.cross_marquee.style.top)-this.copyspeed+"px";
			else
				this.cross_marquee.style.top = parseInt(this.marqueeheight)+8+"px";
		}
		else if (document.layers){
			if(this.ns_marquee.top > (this.actualheight*(-1)+8))
				this.ns_marquee.top -= this.copyspeed;
			else
				this.ns_marquee.top = parseInt(this.marqueeheight)+8;
		}
	}
