/* scrollamatic javascript                                      *

 * ************************************************************ *

 *                                                              *

 * v1.0   -   03 Dec 04   -   Anson Parker                      *

*/



var ScrollReg = new scrollers();

var scrollStat = new Array ('inactive','active','hover');

var scrollRight = new Array();

var scrollLeft  = new Array();

for(i=0;i<scrollStat.length;i++)

{

	scrollRight[i] = new Image();

	scrollLeft[i]  = new Image();



	scrollRight[i].src = 'http://www.lsifloors.com//scroll_script/scrollright_p2_'+ scrollStat[i] +'.gif'



	scrollLeft[i].src  = 'http://www.lsifloors.com//scroll_script/scrollleft_p2_'+ scrollStat[i] +'.gif'



}



function updateScrolla() {

	// userWidth and criticalRes are provided by the news common subset javascript

    if (userWidth < criticalRes) {

        // reset scroller view port

        if(ScrollReg)

        {

	        var sone = ScrollReg.get(38214);

	        if(sone)

	        {

		        sone.view = 3

		        sone.updateIcons(false,3)

	        }

	        sone = ScrollReg.get(38248);

	        if(sone)

	        {

		        sone.view = 3

		        sone.updateIcons(false,3)

	        }

	        sone = ScrollReg.get(38338);

	        if(sone)

	        {

		        sone.view = 3

		        sone.updateIcons(false,3)

	        }

	        sone = ScrollReg.get(38398);

	        if(sone)

	        {

		        sone.view = 3

		        sone.updateIcons(false,3)

	        }

			

        }

    }

    else {

        // reset scroller view port

        if(ScrollReg)

        {

	        var sone = ScrollReg.get(38214);

	        if(sone)

	        {

		        sone.view = 4

		        sone.updateIcons(false,3)

	        }

	        sone = ScrollReg.get(38248);

	        if(sone)

	        {

		        sone.view = 4

		        sone.updateIcons(false,3)

	        }

	        sone = ScrollReg.get(38338);

	        if(sone)

	        {

		        sone.view = 3

		        sone.updateIcons(false,3)

	        }

	        sone = ScrollReg.get(38398);

	        if(sone)

	        {

		        sone.view = 4

		        sone.updateIcons(false,3)

	        }

        }

    }

}



function scrollers ()

{

	var sarr = new Array()

	this.add = add

	this.get = get



	function add(scr)

	{

		sarr.push(scr)

	}



	function get(id)

	{

		for(i=0;i<sarr.length;i++)

		{

			if(sarr[i].id == id)

			{

				return sarr[i]

			}

		}

	}

}



function nso () {

	var me = this

	this.id = ''

	this.dir = 0

	this.pos = 0

	this.offset = 0

	this.max = 8

	this.view = 3

	this.cpos = 0

	this.moving = false

	this.interval = ''

	this.movearray = new Array ( 1, 2, 3, 5, 8, 12, 16, 22, 22, 16, 12, 8, 5, 3, 2, 1 );



	this.getStatus = getStatus

	this.updateIcons = updateIcons



	function getStatus(side)

	{

		if(side==0)

		{

			if(me.cpos==0)

				return 0

			return 1

		}



		if(side==1)

		{

			if( (me.cpos+me.view) < me.max)

				return 1

			return 0

		}



	}



	function updateIcons(hover,side)

	{

		if(hover)

		{

			if(side&1 && getStatus(0))

			document.getElementById('scrollleft_'+me.id).src = scrollLeft[2].src

			if(side&2 && getStatus(1))

			document.getElementById('scrollright_'+me.id).src = scrollRight[2].src

		} else {

			if(side&1)

			document.getElementById('scrollleft_'+me.id).src = scrollLeft[getStatus(0)].src

			if(side&2)

			document.getElementById('scrollright_'+me.id).src = scrollRight[getStatus(1)].src

		}

	}



}



function initScrollers()

{

	var scrollers = getElementsByClassName('scrollamatic',document.getElementById('middleContent'),'div')

	for(i=0;i<scrollers.length;i++)

	{



		var scr = scrollers[i]

		var scid = scr.id



		var sc = document.getElementById( 'scrollcontent_'  + scid )



		var sob = new nso();

		sob.id = scid

		if(sc.style.left != '')

		{

			sob.offset = parseInt(sc.style.left);

		}



		// count children

		sob.max = getElementsByClassName('scrollPromoBox',document.getElementById('scrollshell_'+scid),'div').length

		sob.updateIcons(false,3)

		ScrollReg.add(sob)



	}





}





function singleScroll(unit,scid)

{

	var sob = ScrollReg.get(scid)

	sob.dir = unit

	

	if(  !sob.moving && ( (sob.dir>0 && (sob.cpos+sob.view)<sob.max )  ||  (sob.dir<0 && sob.cpos>0) ) )

	{

		sob.moving = true

		sob.cpos += sob.dir

		if(sob.dir > 0)

		{

			sob.updateIcons(false,1)

		} else {

			sob.updateIcons(false,2)

		}

		if(sob.getStatus(0) == 0)

			sob.updateIcons(false,1)

		if(sob.getStatus(1) == 0)

			sob.updateIcons(false,2)

		sob.interval = setInterval(function () { unitScroller(sob) },15)

	}

}



function unitScroller(sob)

{



	var sc = document.getElementById( 'scrollcontent_'  + sob.id )



	if(sob.pos == sob.movearray.length)

	{

		sob.pos = 0

		clearInterval(sob.interval)

		sob.moving = false

		return

	}



	sob.offset += ((-1 * sob.dir) * sob.movearray[sob.pos])

	sc.style.left = sob.offset + 'px'

	sob.pos++



}