// TENTO SCRIPT VYRABA A OBSLUHUJE SCROLLOVACI BANNER

// vsetko sa zacina vytvorenim instancie tohto objektu (spusta sa naspodku skriptu)
// vstupne parametre su cesta k obrazku (banner) a HTML element v ktorom sa to ma vsetko odohravat
ScrollingBanner = function( pictureSRC, elementHTML, defaultPosition )
{
	if (elementHTML)
	{
		ScrollingBanner.obj	 = this;
		this.div			 = elementHTML;
		this.image			 = null;	
		this.img			 = this.div.firstChild;
		this.img.setPosition = Position.setPositionHTML;
		this.defaultPosition = defaultPosition ? defaultPosition : new Position(0,0);
		this.targetPosition	 = this.defaultPosition.getCopy();
		this.actualPosition	 = this.targetPosition.getCopy();
		this.maxPosition	 = null;
		this.winSize		 = null;
		window.onresize		 = ScrollingBanner.onResize;
		this.visibleSize	 = offsetSize_objektu( elementHTML ).plus(3); // +3 lebo vytrcal koniec
		this.precalcPos		 = null;
		this.processCode	 = null;
		this.loadPicture( pictureSRC );
	}
}

// fn nahra obrazok banneru do pameti
ScrollingBanner.prototype.loadPicture = function( pictureSRC )
{

	this.image = new Image();
	this.image.onload = this.init;
	this.image.src = pictureSRC;
}

ScrollingBanner.prototype.init = function()
{
	var actualSB = ScrollingBanner.obj;
	/*if (!actualSB.img) // zahadna (len raz za cas) chyba v IE
	{
		actualSB.img = actualSB.div.firstChild;
		actualSB.img.setPosition = Position.setPositionHTML;
		//alert(actualSB.img + " " + actualSB.img.nodeName + " ("+actualSB.image+")"); 
	}*/
	actualSB.img.src = actualSB.image.src;
	actualSB.img.setPosition( actualSB.defaultPosition );
	actualSB.size = new Size( parseInt(actualSB.image.width), parseInt(actualSB.image.height) );
	actualSB.maxPosition = ScrollingBanner.obj.size.getCopy().minus( ScrollingBanner.obj.visibleSize );

	ScrollingBanner.onResize();
	document.onmousemove = ScrollingBanner.changeTarget;
	actualSB.processCode = setInterval( ScrollingBanner.timeInterval, 50);
	
}

ScrollingBanner.onResize = function ()
{
	ScrollingBanner.obj.winSize		= getWindowSize();
	ScrollingBanner.obj.precalcPos	= ScrollingBanner.obj.maxPosition.getCopy().divide( ScrollingBanner.obj.winSize );
}

ScrollingBanner.changeTarget = function(e)
{
	ScrollingBanner.obj.targetPosition = getMousePositionInWindow(e).multiply(-1).multiply( ScrollingBanner.obj.precalcPos ).round();
}

ScrollingBanner.timeInterval = function()
{
	ScrollingBanner.obj.img.setPosition( ScrollingBanner.obj.actualPosition.multiply(4).plus( ScrollingBanner.obj.targetPosition ).divide(5) );	
}