/**
 * Betöltő az InSlideShow osztályhoz
 *
 **/

if(typeof(AjaxRequest)=='undefined')	throw 'Az SlideShowLoader osztály használatához az AjaxRequest betöltése szükséges';
if(typeof(Utils)=='undefined')		throw 'Az SlideShowLoader osztály használatához a Utils betöltése szükséges';
if(typeof(InSlideShow)=='undefined')	throw 'Az SlideShowLoader osztály használatához az InSlideShow betöltése szükséges';

var SlideShowLoader = {
	loadOnInit : true,
	baseDir    : '',
	nSlides    : 0,
	nLoaded    : 0,
	slideShows : [],
	Request    : null,

	init : function(){
		this.collectSlides();
		if(this.loadOnInit)	this.loadSlide();
	},

	collectSlides : function(){
		var InSlideShows=document.getElementsByTagName('div');
		var slideID,contID;
		for(var i=InSlideShows.length-1;i>=0;i--){
			if(InSlideShows[i].getAttribute('replace')!='inslideshow') continue;
			slideID=InSlideShows[i].getAttribute('slideid');
			contID='inslideshow'+slideID;
			this.slideShows[this.nSlides++]={
				'slideID' : slideID,
				'contID' : contID,
				'loaded' : false,
				'Slide' : null
			};
			InSlideShows[i].parentNode.replaceChild(Utils.createElement('div',{'id':contID}),InSlideShows[i]);
		}
	},

	loadSlide : function(){
		if(this.nLoaded<this.nSlides){
			this.nLoaded++;
			this.Request=new AjaxRequest();
			this.Request.onReadyHandler=function(response){
				eval('var rsp='+response);
				if(!rsp.error){
					var slideItem=SlideShowLoader.slideShows[SlideShowLoader.nLoaded-1];
					slideItem.Slide=new InSlideShow(SlideShowLoader.nLoaded-1,slideItem.slideID,slideItem.contID);
					slideItem.Slide.init();
					slideItem.Slide.setParams(rsp.parameters);
					slideItem.Slide.addImages(rsp.images);
					slideItem.Slide.baseDir=this.baseDir;
					slideItem.Slide.Create();
				}
				SlideShowLoader.loadSlide();
			}
			this.Request.send(this.baseDir+'inc/InSlideShow.inc.php?needinstance&do=getparams&slideID='+this.slideShows[this.nLoaded-1].slideID);
		}
	},

	pauseAllAutoScroll : function(){
		for(var i=0;i<this.slideShows.length;i++) this.slideShows[i].Slide.pauseAutoScroll();
	},

	resumeAllAutoScroll : function(){
		for(var i=0;i<this.slideShows.length;i++) this.slideShows[i].Slide.resumeAutoScroll();
	},

	hasUnloadedSlide : function(){
		var reply=false;
		for(var i=0;i<this.slideShows.length;i++) if(!this.slideShows[i].loaded) reply=true;
		return reply;
	},

	setBaseDir : function(newDir){
		this.baseDir=newDir;
	},

	addInit : function(){
		var oldQueue = window.onload? window.onload: function() {};
	    window.onload = function() {
	    	eval('SlideShowLoader.init()');
	        oldQueue();
	    }
	}
}

SlideShowLoader.addInit();



