// JavaScript Document

var sliderItems;
var sliderTotalWidth;
var sliderTotalItems;
var sliderPositions;
var sliderCurrentPosition;
var sliderReady=1;
//newBooksSlider inicializálása
function setNewBooksSlider(){
	sliderItems=$$('.newBooksSliderItem');
	sliderTotalWidth=0;
	sliderTotalItems=sliderItems.length;
	sliderPositions=new Array;
	sliderCurrentPosition=0;
	
	//newBooksSlider tartalom szélesség beállítása
	for(i=0;i<sliderItems.length;i++){
		//Aktuális slider elem szélességének beállítása a termékkép szélességéhez
		itemImage=$$('#'+sliderItems[i].id+' img');
		itemImage=itemImage[0];
		itemWidth=itemImage.offsetWidth;
		sliderItems[i].style.width=itemWidth+'px';
		//Slider elemek pozícióinak felvétele és teljes szélesség kiszámítása
		sliderPositions[i]=sliderTotalWidth;
		sliderTotalWidth+=parseInt(sliderItems[i].offsetWidth)+parseInt(getCssProperty(sliderItems[i],'margin-Right'))+parseInt(getCssProperty(sliderItems[i],'margin-Left'));
	}
	
	$('newBooksSliderItems').style.width=sliderTotalWidth+'px';
}

//
//  Sok gyors klikkelést megoldani: queue, vagy egy ready változó, vagy valami
//
//

function scrollSliderRight(){
	if(sliderReady==1){
		sliderReady=0;
		//Ha van még jobbra hely a limit előtt scrollolni
		if(parseInt(getCssProperty($('newBooksSliderItems'),'left'))+(sliderTotalWidth-$('newBooksSlider').offsetWidth)>0){
			//Ha a következő elem kezdete már a limiten kívül van, a limitig scrollozunk
			if((sliderPositions[sliderCurrentPosition+1]-(sliderTotalWidth-$('newBooksSlider').offsetWidth))>0){
				new Effect.Move($('newBooksSliderItems'), { x: (-1*((sliderTotalWidth-$('newBooksSlider').offsetWidth)+parseInt(getCssProperty($('newBooksSliderItems'),'left')))), y: 0, mode: 'relative'});
				//sliderCurrentPosition+=1;
			}
			//Ha a következő elem kezdete még nem éri el a limitet, a következő elem kezdetéig scrollozunk
			else{
				//alert('jobb limit előtt');
				new Effect.Move($('newBooksSliderItems'), { x: (-1*(sliderPositions[sliderCurrentPosition+1]+parseInt(getCssProperty($('newBooksSliderItems'),'left')))), y: 0, mode: 'relative'});
				sliderCurrentPosition+=1;
			}
		}
		else{
			//alert('jobb limit');
		}
		sliderReady=1;
	}
}

function scrollSliderLeft(){
	if(sliderReady==1){
		sliderReady=0;
		//Ha van még balra hely scrollolni
		if(parseInt(getCssProperty($('newBooksSliderItems'),'left'))<0){
			//alert('bal limit előtt');
			//alert('left: '+parseInt(getCssProperty($('newBooksSliderItems'),'left')));
			//alert('pozíció: '+sliderPositions[sliderCurrentPosition-1]);
			//alert(-1*(parseInt(getCssProperty($('newBooksSliderItems'),'left'))+sliderPositions[sliderCurrentPosition-1]));
			if(sliderCurrentPosition>0){
				new Effect.Move($('newBooksSliderItems'), { x: (-1*(parseInt(getCssProperty($('newBooksSliderItems'),'left'))+sliderPositions[sliderCurrentPosition-1])) , y: 0, mode: 'relative'});
				sliderCurrentPosition-=1;
			}
			else{
				//Ha csak fél elem lóg ki a sliderből korrigáljuk a balra visszatolást
				new Effect.Move($('newBooksSliderItems'), { x: -1*parseInt(getCssProperty($('newBooksSliderItems'),'left')) , y: 0, mode: 'relative'});
			}
		}
		else{
			//alert('bal limit');
		}
		sliderReady=1;
	}
}


// css fileban definiált értékek lekérése obj=dom object, par=css stílus név (margin-Right, height, ...)
//kötőjeleseknél a kötőjel utáni betűk nagy betűk!
function getCssProperty(obj,par){
	 if (obj.currentStyle){
		return parseInt(obj.currentStyle[par.replace(/-/g,'')]);
	 }
	 return parseInt(document.defaultView.getComputedStyle(obj,null).getPropertyValue(par.toLowerCase()));
}
