function simpleGallery(settingarg){
	this.setting=settingarg;
	settingarg=null;
	var setting=this.setting;
	setting.fadeduration=parseInt(setting.fadeduration);
	setting.vsize=parseInt(setting.vsize);
	setting.hsize=parseInt(setting.hsize);
	setting.speed=parseInt(setting.speed);
	setting.curimage=-1;
	setting.currentstep=0; //keep track of # of slides slideshow has gone through
	setting.fglayer=0; 
	setting.bglayer=1; //index of active and background layer (switches after each change of slide)
	setting.oninit=setting.oninit || function(){};
	setting.onslide=setting.onslide || function(){};
	var slideshow=this;
	jQuery(document).ready(function($){
		var setting=slideshow.setting;
		setting.$wrapperdiv=$('#'+setting.wrapperid).css({position:'relative', visibility:'visible', background:'transparent', overflow:'hidden', width:setting.dimensions[0], height:setting.dimensions[1]}).empty(); //main gallery DIV
		if (setting.$wrapperdiv.length==0){ //if no wrapper DIV found
			alert("Error: DIV with ID \""+setting.wrapperid+"\" not found on page.");
			return;
		}
		setting.$gallerylayers=$('<div class="gallerylayer"></div><div class="gallerylayer"></div>').css({position:'absolute', left:0, top:0, marginTop:(setting.vsize+"px"), marginLeft:(setting.hsize+"px"), width:setting.dimensions[0], height:setting.dimensions[1]}).appendTo(setting.$wrapperdiv);
		setting.gallerylayers=setting.$gallerylayers.get(); //cache stacked DIVs as DOM objects

		slideshow.showslide(setting.curimage); //show initial slide														!!!!!!!!!!!!!!!!!!
		setting.oninit.call(slideshow); //trigger oninit() event
	})
}

simpleGallery.prototype={

	showslide:function(keyword){
		var slideshow=this;
		var setting=slideshow.setting;
		var totalimages=setting.imagearray.length;
		if(setting.curimage!=totalimages-1) setting.curimage++;
		else setting.curimage=0;
		var imgindex=  setting.curimage;
		//Math.floor(Math.random()*(totalimages));		random esetén
		var x = parseInt(setting.vsize);
		var y = parseInt(setting.hsize);
		//var imgindex=(keyword=="next")? Math.floor(Math.random()*(totalimages-1)): Math.min(keyword, totalimages-1)     << Ha az első képpel akarunk indítani
		setting.$gallerylayers.css({ marginTop: (x + "px"), marginLeft: (y +"px") });
		setting.gallerylayers[setting.bglayer].innerHTML=simpleGallery.routines.getSlideHTML(setting.imagearray[imgindex]);
		setting.$gallerylayers.eq(setting.bglayer).css({zIndex:1000, opacity:0}).stop().css({opacity:0}).animate({opacity:1}, setting.fadeduration, function(){ //Callback function after fade animation is complete:
				clearTimeout(setting.playtimer);
				setting.gallerylayers[setting.bglayer].innerHTML=null;  //empty bglayer (previously fglayer before setting.fglayer=setting.bglayer was set below)
				try{
					setting.onslide.call(slideshow, setting.gallerylayers[setting.fglayer], setting.curimage);
				}catch(e){
					alert("Simple Controls Gallery: An error has occured somwhere in your code attached to the \"onslide\" event: "+e);
				}
				setting.playtimer=setTimeout(function(){slideshow.showslide('next')}, setting.speed);
			}) //end callback function
		setting.gallerylayers[setting.fglayer].style.zIndex=999; //foreground layer becomes background
		setting.fglayer=setting.bglayer;
		setting.bglayer=(setting.bglayer==0)? 1 : 0;
		setting.curimage=imgindex;
	}
}

simpleGallery.routines={

	getSlideHTML:function(imgelement){
		var layerHTML='';
		layerHTML+='<img src="'+imgelement[0]+'" style="border-width:0" />';
		return layerHTML; //return HTML for this layer
	}
}
