/*
	Slideanje stvari unutar containera
	holderId -> id holdera
	itemClass -> klasa itema koji se scrolla
	sx,	sy, w,	h -> opis kvadrata unutar kojeg se scrolla
	dir -> smjer scrolanja jedan u negativnom smjeru 2 u pozitivnom
	tag -> tag item koji se scrola
*/
slideItemsArr = new Array();
self.SlideItems = function (holderId, itemClass, sx, sy, w, h, dir, tag, pnDir){
	this._speed 		= pnDir||-1;
	this._holderId		= holderId;
	this._itemClass 	= itemClass;
	this._sx			= sx;
	this._sy			= sy;
	this._w				= w;
	this._h				= h;
	this._dir 			= dir;
	this._tag			= tag;
	this._items 		= new Array();
	this._itemsSize		= 0;
	this.objId 			= -1;
	switch(dir){
		case 2:	//	Vertikalno
			this._dirValue = "Height";
			this._dirProp = "top";
		break;
		default:	//	Horizontalno
			this._dirValue = "Width";
			this._dirProp = "left";
		break
	}
	this._pause = false;
	this.initialize();
}
SlideItems.prototype.setPause=function(p){this._pause = p;}
SlideItems.prototype.setDirection=function(p){this._speed = p;}

SlideItems.prototype.initialize = function(){
	var el = document.getElementById(this._holderId);
	if(el){
		el.style.position="relative";el.style.overflov="hidden";
		var items = el.getElementsByTagName(this._tag);
		for(var i=0;i<items.length;i++){
			if(items[i].className.toString().indexOf(this._itemClass)>-1){
				items[i].style.position="absolute"; 
				eval("items["+i+"].style."+this._dirProp + " = this._itemsSize + 'px'");
				eval(("items["+i+"].realS = parseInt(items["+i+"].offset" + this._dirValue +")"));
				eval(("this._itemsSize += parseInt(items["+i+"].offset" + this._dirValue +")"));
				items[i].onmouseover = this.onmouseover;
				items[i].onmouseout = this.onmouseout;
				items[i].celem = this;
				this._items.push(items[i]);
			}
		}
	}
	this.objId = slideItemsArr.length;
	slideItemsArr.push(this);
	slideItemsArr[this.objId].doSlide();
}
SlideItems.prototype.onmouseover = function(){this.celem._pause=true;}
SlideItems.prototype.onmouseout = function(){this.celem._pause=false;}

SlideItems.prototype.doSlide = function(){
	if(!this._pause){
		for(var i=0;i<this._items.length;i++){
			eval("this._items[i].style." + this._dirProp + " = (parseInt(this._items[i].style." + this._dirProp + " + '0') + this._speed) + 'px'")
			var num;
			eval("num=parseInt(this._items[i].style." + this._dirProp+")");
			var end = this._dir==2?this._h:this._w;
			var start = this._dir==2?this._sy:this._sx;
			if(this._speed <0){
				if(num  < start - this._items[i].realS ){
					eval("this._items[i].style." + this._dirProp+" = this.setPosition(this._items[i])");
				}
			}else if(num>end){
				eval("this._items[i].style."+this._dirProp+" = this.setPosition(this._items[i])");
			}
		}
	}
	setTimeout("slideItemsArr["+this.objId+"].doSlide()", 100)
}
SlideItems.prototype.setPosition = function(elem){
	var max = 0;
	var min = this._dir==2?this._h:this._w;
	var s = 0;
	for(var i=0;i<this._items.length;i++){
		eval("max = parseInt(this._items[i].style."+this._dirProp+")>max?parseInt(this._items[i].style."+this._dirProp+"):max")
		eval("s = parseInt(this._items[i].style."+this._dirProp+")>=max?this._items[i].realS:s")
		eval("min = parseInt(this._items[i].style."+this._dirProp+")<min?parseInt(this._items[i].style."+this._dirProp+"):min")
	}
	if(this._speed <0){
		return (max + s) + "px";
	}else{
		return (min-elem.realS) +"px";
	}
}











