//	JavaScript Document
//	this file required ls_assets.js and
//	http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js

/*
*	@version	LS_Marquee v.1.0.1
*	@autor		RedCat
*	@copyright	Copyright (C) 2001 - 2010 LightSoft Research. All rights reserved.
*	@copyright	Copyright (C) 2005 - 2010 SiteFactory.SU. All rights reserved.
*	@email		redcat@lightsoft.ru, support@sitefactory.su
*	@url		www.lightsoft.ru, www.sitefactory.su
*/

function runMarquee(obj) {
	obj.run();
}


function LS_Marquee(params) {
	
	var timer;
	
	var run = true;
	
	if(!ls_is_array(params)){
    	alert("The params for new marquee object is not an array!");
	} else {
		this.container	= ls_isset(params['container'])		? $(params['container']) 	: '#ls-marquee-container';
		this.direction	= ls_isset(params['direction']) 	? params['direction']		: 'rtl';
		this.scrolldelay= ls_isset(params['scrolldelay']) 	? params['scrolldelay'] 	: '50';
		this.scrollstep = ls_isset(params['scrollstep']) 	? params['scrollstep'] 		: '1';
		this.pause		= ls_isset(params['pause']) 		? params['pause'] 			: true;
		
		this.run = function() {
			_this = this;
			left = parseInt(_this.marquee.css('left'));
			if (_this.direction=='rtl') {
				left = left - _this.scrollstep;
				if (left<(_this.marquee.outerWidth() * -1)) {
					left = _this.container.width()+'px';
				}
				_this.marquee.css('left',left);
			} else {
				left = left + _this.scrollstep;
				if (left>(_this.container.width()+_this.marquee.outerWidth())) {
					left = 0-_this.marquee.outerWidth()+'px';
				}
				_this.marquee.css('left',left);
			}
			if (run) {
				timer = setTimeout('runMarquee(_this)',params['scrolldelay']);
			}
		}
		
		this.init = function() {
			_this = this;
			_this.container.css('position','relative');
			_this.container.css('overflow','hidden');
			_this.marquee = $('<div></div>');
			_this.marquee.css('position','absolute');
			_this.marquee.append(ls_marqueeConfig['text']);
			containerWidth	= _this.container.width();		//	without padding and margin
			marqueeWidth 	= _this.marquee.outerWidth();	//	whith padding and margin
			//	set the init position
			if (_this.direction=='rtl') {
				_this.marquee.css('left',containerWidth);
			} else {
				_this.marquee.css('left',0-marqueeWidth);
			}
			_this.marquee.css('top',0);	//	rewrite if exists			
			
			_this.container.append(_this.marquee);
			
			_this.run(_this);
			run = true;
			
			if (_this.pause) {
				_this.marquee.mouseover(function() {
					run = false;
					clearTimeout(timer);				
				});
			
				_this.marquee.mouseout(function() {
					run = true;
					timer = setTimeout('runMarquee(_this)',params['scrolldelay']);
				});
			}
						
		};
		
		this.init();
		
	}
}

$(document).ready(function(){ var ls_marquee = new LS_Marquee(ls_marqueeConfig); });
