var objList = new Array();
var lightBox;

var moveState = false;
// Переменные координат мыши в начале перемещения, пока неизвестны
var x0, y0;
// Начальные координаты элемента, пока неизвестны
var  divX0 = 0;
var  divY0 = 0;

function menuOver(name){
	var dot = document.getElementById("dot_"+name);
	var line = document.getElementById("line_"+name);
	if (dot){
		dot.src = "/$files/img/dot_over.gif"
	}
	
	if (line){
		line.src = "/$files/img/lines_over.gif"
	}
}
function menuOut(name){
	var dot = document.getElementById("dot_"+name);
	var line = document.getElementById("line_"+name);
	if (dot){
		dot.src = "/$files/img/dot.gif"
	}
	
	if (line){
		line.src = "/$files/img/lines.gif"
	}
}

function positionDiv(name,x,y){
	var obj = new Array();
	obj[0] = name;
	obj[1] = x;
	obj[2] = y;
	objList.push(obj);
}
function doInit(){
	lightBox = new Lightbox();
	dragDrop.initElement(document.getElementById('lightboxImage'));
	//doRes();
}

function doRes(){
	var wc = document.body.clientWidth;
	var leftMin = (wc-993);
	if (leftMin < 0){
		leftMin =0
	}
	//alert(leftMin)
	//alert(objList.length)
	for (var i = 0; i < objList.length; i++){
	    var obj = document.getElementById(objList[i][0]);
		if (obj){
			var left = leftMin/2+319+objList[i][1];
			var top = objList[i][2]+180;
			obj.style.left = left;
			obj.style.top = top;
			obj.style.display = 'block';
		}
	}
	
	//ll.start();
}

function doRes2(){
	var obj = document.getElementById("overlay");
	if (obj && obj.style.display !="none"){
		lightBox.onResize();
	}
}

function hideBlock(){
	for (var i = 0; i < objList.length; i++){
	    var obj = document.getElementById(objList[i][0]);
		if (obj){
			obj.style.display = 'none';
		}
	}
}

function fullSceen(url){
		var w = window.screen.availWidth;
		var h = window.screen.availHeight;
		if (document.layers)
		{
			var tmp1 = window.outerWidth - window.innerWidth;
			var tmp2 = window.outerHeight - window.innerHeight;
			w -= tmp1;
			h -= tmp2;
		}
		var pParameter = "toolbar=no,status=no,location=no,resizable=no,scrollbars=no,width=" + w +",height="+ h +  ",left=0,top=0";
		
		//window.alert(pUrl);
		var win = window.open(url+"?w="+w+"&h="+h, "FSwin", pParameter);	
		win.resizeTo(w,h);	
		win.moveTo(0,0);
		win.focus();
	
	// window.open(url, '', 'resizable=no, location=no, menubar=no, scrollbars=no, status=no, toolbar=no, fullscreen=no, dependent=no, width=800, height=600');
}



dragDrop = {
	keyHTML: '<a href="#" class="keyLink">#</a>',
	keySpeed: 10, // pixels per keypress event
	initialMouseX: undefined,
	initialMouseY: undefined,
	startX: undefined,
	startY: undefined,
	dXKeys: undefined,
	dYKeys: undefined,
	draggedObject: undefined,
	initElement: function (element) {
		if (typeof element == 'string'){
			element = document.getElementById(element);
		}
		element.onmousedown = dragDrop.startDragMouse;
		//element.innerHTML += dragDrop.keyHTML;
		//var links = element.getElementsByTagName('a');
		//var lastLink = links[links.length-1];
		//lastLink.relatedElement = element;
		//lastLink.onclick = dragDrop.startDragKeys;
	},
	startDragMouse: function (e) {
		dragDrop.startDrag(this);
		var evt = e || window.event;
		dragDrop.initialMouseX = evt.clientX;
		dragDrop.initialMouseY = evt.clientY;
		addEventSimple(document,'mousemove',dragDrop.dragMouse);
		addEventSimple(document,'mouseup',dragDrop.releaseElement);
		return false;
	},
	startDrag: function (obj) {
		if (dragDrop.draggedObject)
			dragDrop.releaseElement();
		dragDrop.startX = obj.offsetLeft;
		dragDrop.startY = obj.offsetTop;
		dragDrop.draggedObject = obj;
		obj.className += ' dragged';
	},
	dragMouse: function (e) {
		var evt = e || window.event;
		var dX = evt.clientX - dragDrop.initialMouseX;
		var dY = evt.clientY - dragDrop.initialMouseY;
		dragDrop.setPosition(dX,dY);
		return false;
	},
	setPosition: function (dx,dy) {
		var iContW =  parseInt(lightBox.imageContainer.style.width);
		var iContH =  parseInt(lightBox.imageContainer.style.height);
		var iW = parseInt(lightBox.lightboxImage.width);
		var iH = parseInt(lightBox.lightboxImage.height);
		var dragIt = true;
		if ( iContW >= iW && iContH >= iH){
			dragIt = false;
		}
		
		if (dragIt){
			if (dragDrop.startX + dx >= iContW-iW  && dragDrop.startX + dx < 0){
				dragDrop.draggedObject.style.left = dragDrop.startX + dx + 'px';
			}else {
				//alert(iContW-iW )
			}
			if (dragDrop.startY + dy >= iContH-iH  && dragDrop.startY + dy < 0){
				dragDrop.draggedObject.style.top = dragDrop.startY + dy + 'px';
			}
		}
		
		
	},
	switchKeyEvents: function () {
		// for Opera and Safari 1.3
		//removeEventSimple(document,'keydown',dragDrop.dragKeys);
		//removeEventSimple(document,'keypress',dragDrop.switchKeyEvents);
		//addEventSimple(document,'keypress',dragDrop.dragKeys);
	},
	releaseElement: function() {
	//alert(dragDrop.draggedObject.offsetLeft)
		removeEventSimple(document,'mousemove',dragDrop.dragMouse);
		removeEventSimple(document,'mouseup',dragDrop.releaseElement);
		//removeEventSimple(document,'keypress',dragDrop.dragKeys);
		//removeEventSimple(document,'keypress',dragDrop.switchKeyEvents);
		//removeEventSimple(document,'keydown',dragDrop.dragKeys);
		dragDrop.draggedObject.className = dragDrop.draggedObject.className.replace(/dragged/,'');
		dragDrop.draggedObject = null;
	}
}

function addEventSimple(obj,evt,fn) {
	if (obj.addEventListener)
		obj.addEventListener(evt,fn,false);
	else if (obj.attachEvent)
		obj.attachEvent('on'+evt,fn);
}

function removeEventSimple(obj,evt,fn) {
	if (obj.removeEventListener)
		obj.removeEventListener(evt,fn,false);
	else if (obj.detachEvent)
		obj.detachEvent('on'+evt,fn);
}

function showLogin()
{
	var obj = document.getElementById('loginDiv');
	if (obj) {
		obj.style.display = 'block';
	}
}

function hideLogin()
{
	var obj = document.getElementById('loginDiv');
	if (obj) {
		obj.style.display = 'none';
	}
}
