/**
	params:
		- win_id : window id
		- objName : obj példány neve

*/

function sliderwindow_class(params) {
	this.objName = params['objName']
	this.close = false;
	this.obj = document.getElementById(params['win_id']);
	this.sliding_callback = (params['sliding_callback']?params['sliding_callback']:false);
	this.obj.op = 100;
	this.xPos = -this.obj.offsetWidth;
	this.speed = 40;
	this.gyorsulas = 0.8;
	this.maxSpeed = 40;
	var size = getPageSize();
	this.centerPos = Math.round(size[0]/2-this.obj.offsetWidth/2);
	this.fadeOut = sliderwindow_fadeOut;
	this.fadeIn = sliderwindow_fadeIn;
	this.setOpacity = sliderwindow_setOpacity;
	this.sliding = sliderwindow_sliding;
	if (!params['noAutoStart']) this.sliding();
	if (params['finish_callback']) this.finish_callback = params['finish_callback'];
	else this.finish_callback = function(){};
	if (params['fadeout_finish_callback']) this.fadeout_finish_callback = params['fadeout_finish_callback'];
	else this.fadeout_finish_callback = function(){};
}

function sliderwindow_sliding() {

	if (this.obj.style.display=='none') {
		this.obj.style.display = 'block';
		this.obj.op = 100;
		this.setOpacity(this.obj);
		this.xPos = -this.obj.offsetWidth;
	}

	var irany = 0;
	if (this.centerPos>this.xPos) irany = 1;
	else irany = -1;

	var fek = 0;
	if (Math.abs(this.xPos-this.centerPos)<100) {
		fek = this.gyorsulas*-0.5;
	}

	if ( ( (this.speed>0) && (irany<0) ) ||
		 ( (this.speed<0) && (irany>0) ) ) {
		this.speed += this.gyorsulas*irany*3;
	} else {
		this.speed += this.gyorsulas*irany*fek;
	}
	this.speed += this.gyorsulas*irany;
	if (Math.abs(this.speed)>this.maxSpeed) this.speed = (this.speed>0?this.maxSpeed:-this.maxSpeed);
	this.xPos += this.speed;
	this.obj.style.left = this.xPos+'px';
	if (this.sliding_callback!=false) this.sliding_callback();
	if (!this.close) {
		if ( (Math.round(this.xPos)!=Math.round(this.centerPos)) || (Math.abs(this.speed)>2) )
			setTimeout(this.objName+'.sliding()',20);
		else this.finish_callback();
	}
}

function sliderwindow_fadeOut() {
	this.close = true;
	this.obj.op -= 20;
	if (this.obj.op<0) this.obj.op = 0;
	this.setOpacity(this.obj);
	if (this.obj.op>20)
		setTimeout(this.objName+'.fadeOut()',20);
	else {
		this.obj.style.display = 'none';
		this.fadeout_finish_callback();
	}
}

function sliderwindow_fadeIn() {
	if (this.obj.style.display=='none')
	this.obj.style.display = 'block';
	this.obj.op += 20;
	if (this.obj.op<100) this.obj.op = 100;
	this.setOpacity(this.obj);
	if (this.obj.op<100)
		setTimeout(this.objName+'.fadeIn()',20);
}

function sliderwindow_setOpacity(obj) {
	obj.style.filter = 'alpha(opacity='+obj.op+')';
	obj.style.mozOpacity = obj.op/100.0;
	obj.style.opacity = obj.op/100.0;
}

