var iScrlHeightStart = 80; //Высота уменьшенной картинки
var iScrlHeightEnd = 99;   //Высота увеличенной картинки
var iScrlMarginX = 8;  //Отступ от краев (задается в CSS)
var iScrlCount = 0;
var iScrlIndex = -1;
var aScrlItems = {};
var bScrlFix = false;
var strScrlId = "scroller";
var iLastMinWidth = 0;
var oLastObject;

function debugParams(obj, retr) {
	var pstr = "";

	for (i in obj) {
		pstr += "event." + i + "=" + obj[i] + "\n";
	}
	if(retr == -1) document.write(pstr);
	if(!retr) alert(pstr);
	else return pstr;
}

function getEl(elId) {
	return document.getElementById(elId);
}

function scrollerInit() {
	for(i=0;i<getEl(strScrlId).childNodes.length;i++) {
		if(getEl(strScrlId).childNodes[i].nodeName != "A") continue;
		aScrlItems[iScrlCount] = getEl(strScrlId).childNodes[i].childNodes[0];
		$(getEl(strScrlId).childNodes[i].childNodes[0]).bind("mouseover", function(event) {

		});
		$(getEl(strScrlId).childNodes[i].childNodes[0]).bind("mousemove", function(event) {
			scrollerMove(event);
		});
		$(getEl(strScrlId).childNodes[i].childNodes[0]).bind("mouseout", function(event) {
			scrollerOut(event);
		});
		iScrlCount++;
	}
	setTimeout("scrollerProcess()", 10);
}

function scrollerMove(event) {
	if(!iLastMinWidth) iLastMinWidth = $(event.target).width();
	if(oLastObject != event.target) {
		if(!oLastObject) oLastObject = event.target;
		else return false;
	}
	lastEvent = event;

	tpos = $(event.target).position();
	cpos = $("#wn").position();
	epos = $("#lyr1").position();
	xpos = event.clientX - tpos.left - cpos.left - epos.left - 8; //8 это горизонтальный паддинг у контейнера #scroller

	iwidth = $(event.target).width();
//	percent = (1.2 - Math.abs(Math.floor(iwidth / 2) - xpos) / Math.floor(iwidth / 2)).toFixed(4);
	percent = (1.2 - Math.abs(Math.floor(iLastMinWidth / 2) - xpos) / Math.floor(iLastMinWidth / 2)).toFixed(4);

	if(percent > 1) percent = 1;

	sheight = (iScrlHeightStart + Math.round((iScrlHeightEnd - iScrlHeightStart) * percent));
	swidth = iLastMinWidth - Math.floor(((iScrlHeightStart - sheight) / iScrlHeightStart) * iLastMinWidth);
	smargin = swidth - iLastMinWidth;
	lmargin = Math.ceil(smargin / 2);
	rmargin = smargin - lmargin;

	lmargin = iScrlMarginX - lmargin;
	rmargin = iScrlMarginX - rmargin;

	$(event.target).css({
		"width":swidth,
		"height":sheight,
		"margin-left":lmargin,
		"margin-right":rmargin
	});
}

function scrollerOut(event) {
	obj = oLastObject;
	$(obj).css({
		"width":iLastMinWidth,
		"height":iScrlHeightStart,
		"margin-left":iScrlMarginX,
		"margin-right":iScrlMarginX
	});
	oLastObject = false;
	iLastMinWidth = 0;
}

function scrollerClear(obj) {
}

function scrollerProcess() {
	if(lastEvent) {
		
	}
	lastEvent = false;
	setTimeout("scrollerProcess()", 10);
}

/*
function scrollerInit() {
	for(i=0;i<getEl(strScrlId).childNodes.length;i++) {
		if(getEl(strScrlId).childNodes[i].nodeName != "A") continue;
		aScrlItems[iScrlCount] = getEl(strScrlId).childNodes[i].childNodes[0];
		$(getEl(strScrlId).childNodes[i].childNodes[0]).bind("mousemove", function(event) {
			scrollerOver(event);
		});
		iScrlCount++;
	}
	iScrlMinWidth = iScrlCount * iScrlStartX + iScrlCount * iScrlMarginX * 2;
	iScrlMaxWidth = iScrlMinWidth + iScrlEndX - iScrlStartX;
	$("#"+strScrlId).bind("mouseout", function(event) {
		iScrlIndex = -1;
		iScrlIndexOver = 0;
	});
	setTimeout("scrollerProcess()", 10);
}

function scrollerOver(event) {
	swidth = $("#"+strScrlId).width();
	spos = $("#"+strScrlId).position();
	leftx = Math.ceil((swidth - iScrlMaxWidth) / 2) + spos.left;
	mousex = event.clientX - leftx;
	if(mousex >= 0 && mousex <= iScrlMaxWidth) {
		iScrlIndex = (mousex / (iScrlStartX + iScrlMarginX * 2) - 0.5).toFixed(2);
		bScrlFix = true;
	}
}

function scrollerProcess() {
	if(iScrlIndex != -1) {
		icur = Math.round(iScrlIndex);
		inear = icur - 1 + 2 * (iScrlIndex > icur.toFixed(2));
		difw = iScrlEndX - iScrlStartX;
		coof = (0.5 - Math.abs(iScrlIndex - icur.toFixed(2))) / 0.5;
		setw = Math.round(difw * coof);
		setm = Math.round((difw - setw) / 2);
		$(aScrlItems[icur]).css({"width":(iScrlStartX + setw)+"px", "margin-left":setm+"px", "margin-right":(difw - setw - setm)+"px"});
//		$("#debug").html(setm+" "+iScrlMarginX+" ");
	} else if(bScrlFix) {
		bScrlFix = false;
		for(i in aScrlItems) {
			$(aScrlItems[i]).css({"width":iScrlStartX+"px", "margin-left":iScrlMarginX+"px", "margin-right":iScrlMarginX+"px"});
		}
	}
	setTimeout("scrollerProcess()", 10);
}
*/