
var IE = document.all?true:false;
if (!IE) document.captureEvents(Event.MOUSEMOVE)
document.onmousemove = getMouseXY;
var tempX = 0;
var tempY = 0;

//ptr punctele definite ptr taiere
var rx=0;
var ry=0;
var px=0;
var py=0;

//excluzieunea mutuala meniu stanga (picker, cut, arrow)
var fctdiv = new Array("arrtbbutton","cuttbbutton","picktbbutton","texttbbutton");
var usefct = 0; // 0 - arrow, 1 - cut, 2 - pick color, 3 - text pe poza
//////////////////////////////////////////////////////////////////
//var usepick = false;//ptr folosire color picker
//var usecut = false;//foloseste functia cut
var mdown = false; //arata daca a fost setat primul punct ptr operatia de taiere

var jsg = null; //arata daca a fost initializata libraria  jsGraphics
//ptr divul meniu galerii
var xl, yl;

//pozitia in pagina a mouselui
function getMouseXY(e) {
	
	if (IE) { // grab the x-y pos.s if browser is IE
//		var s = findPos('poza');
		tempX = event.offsetX;// + s[0];
		tempY = event.offsetY;// + s[1];
	}
	else {  // grab the x-y pos.s if browser is NS
		tempX = e.pageX;
		tempY = e.pageY;
	}  
	if (tempX < 0){tempX = 0;}
	if (tempY < 0){tempY = 0;}  
	var obj = document.getElementById('docx');
	obj.value = tempX;
	obj = document.getElementById('docy');
	obj.value = tempY;
//	document.Show.DocX.value = tempX;
//	document.Show.DocY.value = tempY;
//	findPosRelative('poza');
	findPosRelative('divpoza');
	return true;
}

function findPos(mid) {
	var curleft = curtop = 0;
	var obj = document.getElementById(mid);
	if (obj.offsetParent) {
		curleft = obj.offsetLeft;
		curtop = obj.offsetTop;
		while (obj = obj.offsetParent) {
			curleft += obj.offsetLeft;
			curtop += obj.offsetTop;
		}
	}
	document.Show.DivX.value = curleft;
	document.Show.DivY.value = curtop;
	return [curleft,curtop];
}

function findPosRelative(mid)
{
	var s = findPos(mid);
	var x,y;
	var obj = document.getElementById(mid);
	if(IE)
	{
		x = (document.Show.DocX.value * 1);
		y = (document.Show.DocY.value * 1);
	}
	else
	{
		x = ((document.Show.DocX.value * 1) - s[0]);
		y = ((document.Show.DocY.value * 1) - s[1]);
	}

	if(x < 0)
	{
		document.Show.ImgX.value = 0;
	}
	else
	{
		if(x > obj.width)
			document.Show.ImgX.value = obj.width;
		else
			document.Show.ImgX.value = x;
	}

	if(y < 0)
	{
		document.Show.ImgY.value = 0;
	}
	else
	{
		if(y > obj.height)
			document.Show.ImgY.value = obj.height;
		else
			document.Show.ImgY.value = y;
	}
}

//copiaza valorile din picker in text
function copyvalues()
{
	var objs = document.getElementById("red");
	var objd = document.getElementById("rd");
	objd.value = objs.value;
	objs = document.getElementById("green");
	objd = document.getElementById("gr");
	objd.value = objs.value;
	objs = document.getElementById("blue");
	objd = document.getElementById("bl");
	objd.value = objs.value;
}

//selectia functiei
function dofct()
{
	if(usefct == 1)
		setcutpoints();
	if(usefct == 2)
		setpickpoint();
	if(usefct == 3)
		settextpoint();

}

//nu dau drumu la o functie decat daca este selectat butonul care trebuie
function verfct(fctnum)
{
	if(usefct == fctnum)
		return true;
	else
		return false;
}

//setare pct ptr color picker
function setpickpoint()
{
	if(usefct != 2)
		return;
	if(!jsg)
		jsg = new jsGraphics("divpoza");
	jsg.clear();
	var objr = document.getElementById("imgratio");			
	document.Picker.PX.value = Math.round(parseInt(document.Show.ImgX.value) / objr.value);
	document.Picker.PY.value = Math.round(parseInt(document.Show.ImgY.value) / objr.value);
	rx = parseInt(document.Show.ImgX.value) + parseInt(document.Show.DivX.value);
	ry = parseInt(document.Show.ImgY.value) + parseInt(document.Show.DivY.value);
	drawrect(rx,ry,1,1);
}

//setare pct ptr fct scriere text pe poza
function settextpoint()
{
	if(usefct != 3)
		return;
	if(!jsg)
		jsg = new jsGraphics("divpoza");
	jsg.clear();
	var objr = document.getElementById("imgratio");			
	document.TextForm.PTX.value = Math.round(parseInt(document.Show.ImgX.value) / objr.value);
	document.TextForm.PTY.value = Math.round(parseInt(document.Show.ImgY.value) / objr.value);
	rx = parseInt(document.Show.ImgX.value) + parseInt(document.Show.DivX.value);
	ry = parseInt(document.Show.ImgY.value) + parseInt(document.Show.DivY.value);
	drawrect(rx,ry,1,1);
}

//setarea punctelor ptr operatia de taiere
function setcutpoints()
{
	if(usefct != 1)
		return;
	if(!jsg)
		jsg = new jsGraphics("divpoza");
	jsg.clear();
	var objr = document.getElementById("imgratio");
	if(!mdown)
	{
		rx = parseInt(document.Show.ImgX.value) + parseInt(document.Show.DivX.value);
		ry = parseInt(document.Show.ImgY.value) + parseInt(document.Show.DivY.value);
		mdown = true;
		document.Show.PSX.value = Math.round(parseInt(document.Show.ImgX.value) / objr.value);
		document.Show.PSY.value = Math.round(parseInt(document.Show.ImgY.value) / objr.value);
		return;
	}
	else
	{
		px = parseInt(document.Show.ImgX.value) + parseInt(document.Show.DivX.value);
		py = parseInt(document.Show.ImgY.value) + parseInt(document.Show.DivY.value);
		mdown = false;
		document.Show.PEX.value = Math.round(parseInt(document.Show.ImgX.value) / objr.value);
		document.Show.PEY.value = Math.round(parseInt(document.Show.ImgY.value) / objr.value);
	}
	drawrect(rx,ry,(px-rx),(py-ry));
}

function drawrect(x,y,lenx,leny)
{
	jsg.setColor("#ff0000");
	if(lenx < 0)
	{
		x = x + lenx;
		lenx = -lenx;
	}
	if(leny < 0)
	{
		y = y + leny;
		leny = -leny;
	}
	jsg.drawRect(x,y,lenx,leny);
	jsg.paint();
}

function selfct(num)
{
	var obj = null;
	if(jsg)
		jsg.clear();
	else
		jsg = new jsGraphics("divpoza");	
	usefct = num;
	
	var i = 0;
	while(i < fctdiv.length)
	{
		obj = document.getElementById(fctdiv[i]);
		if(i == num)
			obj.style.backgroundColor = '#cccccc';
		else
			obj.style.backgroundColor = '#ffffff';
		i++;
	}
	document.Show.PSX.value = 0;
	document.Show.PSY.value = 0;
	document.Show.PEX.value = 0;
	document.Show.PEY.value = 0;
	document.Picker.PX.value = 0;
	document.Picker.PY.value = 0;
	document.TextForm.PTX.value = 0;
	document.TextForm.PTY.value = 0;
}

//ptr timer
var timerRunning = false;//timer
var DELAY = 100;//100 ms
var timerID = null;
var objid = '';
var comanda = true; //true - increment; false - decrement

function StartTimer(lmin,lmax)
{
	if(timerRunning)
		ExecuteCommand(lmin,lmax);
	timerRunning = true;
	timerID = self.setTimeout("StartTimer(" + lmin + "," + lmax + ")", DELAY);
}

function StopTimer()
{
	if(timerRunning)
        clearTimeout(timerID);
    timerRunning = false;
    objid = '';
    timerID = null;
    
    MakeColor();
}

//ptr color picker
function verify(id,lmin,lmax)
{
	var obj = document.getElementById(id);
	var nr = obj.value * 1;
	if(nr > lmax)
		obj.value = lmax;
	if(nr < lmin)
		obj.value = lmin;
}

function incrdecr(id,incr,lmin,lmax)
{
	var obj = document.getElementById(id);
	if(obj.value >= lmax && incr)
	{
		obj.value = lmax;
		return;
	}
	if(obj.value <= lmin && !incr)
	{
		obj.value = lmin;
		return;
	}
	if(incr)
		obj.value++; 	
	else
		obj.value--;
}


function ExecuteCommand(lmin,lmax)
{
	obj = document.getElementById(objid);
	if(comanda == true)
		incrdecr(objid,true,lmin,lmax);
	else
		incrdecr(objid,false,lmin,lmax);
}

//formeaza culoarea ca string din valori distincte
function MakeColor()
{
	var obj = document.getElementById('red');
	var red = obj.value * 1;
	obj = document.getElementById('green');
	var green = obj.value * 1;
	obj = document.getElementById('blue');
	var blue = obj.value * 1;
	var rs = red.toString(16);
	if(rs.length < 2)
		rs = '0' + rs;
	var gs = green.toString(16);
	if(gs.length < 2)
		gs = '0' + gs;
	var bs = blue.toString(16);
	if(bs.length < 2)
		bs = '0' + bs;
	obj = document.getElementById('culoare');
	obj.style.backgroundColor = '#' + rs + gs + bs;
}

function copyv(ids,idd,id)
{
	var objs = document.getElementById(ids);
	var objd = document.getElementById(idd);
	var obj = document.getElementById(id);
	
	if(obj.checked)
		objd.value = objs.value;
}
