var SATA = {};

SATA.jacketSlide = function (cnf) {
	var tab_lid = cnf.leafs;
	var length = cnf.length;
	var delay = cnf.delay;
	var intervalTime = cnf.intervalTime;
	var type = cnf.type || '^';

	var btn_prev = cnf.btn_prev;
	var btn_next = cnf.btn_next;

	var current_index = 0;
	var current_el = false;
	var lock = false;

	if (tab_lid.length > 1 && btn_prev && btn_next)
	{
		var fn_prev = function (e)
		{
			if (current_index > 0 && !lock)
			{
				lock = true;
				if (current_index == (tab_lid.length)-1)
					MG.$(btn_next).style["backgroundImage"] = "url('resources/images/template/default/right_arrow.png')";
				else if (current_index == 1)
					MG.$(btn_prev).style["backgroundImage"] = "url('resources/images/template/default/left_arrow_disabled.png')";
				current_el = MG.$(tab_lid[current_index-1]);
				PrevRightMove();
			}
		};

		var fn_next = function (e)
		{
			if (current_index < (tab_lid.length)-1 && !lock)
			{
				lock = true;
				if (current_index == 0)
					MG.$(btn_prev).style["backgroundImage"] = "url('resources/images/template/default/left_arrow.png')";
				else if (current_index == (tab_lid.length)-2)
					MG.$(btn_next).style["backgroundImage"] = "url('resources/images/template/default/right_arrow_disabled.png')";
				current_el = MG.$(tab_lid[current_index]);
				NextRightMove();
			}
		};

		var NextRightMove = function ()
		{
			MG.moveEffect(current_el, {
				length: length,
				delay: delay,
				intervalTime: intervalTime,
				type: type,
				deplacement: 'margin-left',
				callback: NextLeftMove
			});
		};

		var NextLeftMove = function ()
		{
			current_el.style.zIndex = 6;
			MG.moveEffect(current_el, {
				length: -length,
				delay: delay,
				intervalTime: intervalTime,
				deplacement: 'margin-left',
				callback: function() {
					current_index++;
					lock = false;
				}
			});
		};

		var PrevRightMove = function ()
		{
			MG.moveEffect(current_el, {
				length: length,
				delay: delay,
				intervalTime: intervalTime,
				deplacement: 'margin-left',
				callback: PrevLeftMove
			});
		};

		var PrevLeftMove = function ()
		{
			current_el.style.zIndex = 9;
			MG.moveEffect(current_el, {
				length: -length,
				delay: delay,
				intervalTime: intervalTime,
				type: type,
				deplacement: 'margin-left',
				callback: function() {
					current_index--;
					lock = false;
				}
			});
		};

		MG.addEventSimple(MG.$(btn_prev), "click", fn_prev);
		MG.addEventSimple(MG.$(btn_next), "click", fn_next);
	}
};
