// Объявим глобальные переменные
// Переменная состояния, по умолчанию ничего не двигается = false
var moveState = false;
// Переменные координат мыши в начале перемещения, пока неизвестны
var x0, y0;
// Начальные координаты элемента, пока неизвестны
var divX0, divY0, obj;

function mouseup()
{
	moveState = false;
}
function mousemove()
{
	moveHandler(obj, event);
}
// Объявим функцию для определения координат мыши
function defPosition(event) {
    var x = y = 0;
    if (document.attachEvent != null) { // Internet Explorer & Opera
        x = window.event.clientX + document.documentElement.scrollLeft + document.body.scrollLeft;
        y = window.event.clientY + document.documentElement.scrollTop + document.body.scrollTop;
    }
    if (!document.attachEvent && document.addEventListener) { // Gecko
        x = event.clientX + window.scrollX;
        y = event.clientY + window.scrollY;
    }
    return {x:x, y:y};
}

// Функция инициализации движения
// Записываем всё параметры начального состояния
function initMove(div, event) {
	obj=div;
    var event = event || window.event;
    x0 = defPosition(event).x;
    y0 = defPosition(event).y;
    divX0 = parseInt(div.style.left);
    divY0 = parseInt(div.style.top);
    moveState = true;
}

// Если клавишу мыши отпустили вне элемента движение должно прекратиться
document.onmouseup = function() {
    moveState = false;
}

// И последнее
// Функция обработки движения:
function moveHandler(div, event) {
    var event = event || window.event;
    if (moveState) {
        div.style.left = divX0 + defPosition(event).x - x0;
        div.style.top  = divY0 + defPosition(event).y - y0;
    }
}
document.onmousemove = mousemove;
document.onmouseup = mouseup;
function getClientWidth()
{
  return document.compatMode=='CSS1Compat' && !window.opera?document.documentElement.clientWidth:document.body.clientWidth;
}

function getClientHeight()
{
  return document.compatMode=='CSS1Compat' && !window.opera?document.documentElement.clientHeight:document.body.clientHeight;
}
function open_photo_gallery(id,photo_url,photo_x,photo_y)
{
	var div_id='photo_div_'+id;
	var open_photo='open_photo_div_'+id;
	if(document.getElementById(div_id).style.display!="inline")
	{
		document.getElementById(div_id).style.left=document.documentElement.scrollLeft+getClientWidth()/2-photo_x/2;
		document.getElementById(div_id).style.top=document.documentElement.scrollTop+document.body.scrollTop+getClientHeight()/2-photo_y/2;
		document.getElementById(open_photo).innerHTML='<img style="cursor: hand;" onclick="open_photo_gallery('+id+',\''+photo_url+'\','+photo_x+','+photo_y+')" src="'+photo_url+'">';
		document.getElementById(div_id).style.display="inline";
	}else{
		document.getElementById(div_id).style.display="none";
	}
}
var open_comment='no';
function open_fast_comment(id)
{
	if(document.getElementById(id).style.display!="block")
	{
		document.getElementById(id).style.display="block";
		if(open_comment!='no')
		{
			document.getElementById(open_comment).style.display="none";
		}
		open_comment=id;
	}else{
		document.getElementById(id).style.display="none";
		open_comment='no';
	}
	return false;
}
