//---------------------------
// Список констант галереи
var pHeight;
var pWidth;
var popUpGaleryOpen = 0;
var popUpImageContainerMaxWidth = 920;
var popUpImageContainerMaxHeight = 600;
var popUpBodyMaxWidth = 920;
var popUpBodyMaxHeight = 2000;
var info2Height;
var someDo = 0;
var bigImgWidth;
var bigImgHeight;
var bigImgDelta;
var curImgHref;
var galeryDir = '';
var galerySlydeWidth = 0;
var galerySlydeCp    = 0;
//---------------------------
// Ф-ция расчета размера страницы 
function pageSize(){
	pHeight = $(window).height();
	pWidth = $(window).width();
}
//---------------------------
// Размер фона
function popUpBgSize(){
	$("#galeryBg").css("width", pWidth+"px");
	$("#galeryBg").css("height", pHeight+"px");
}
//---------------------------
// Размер контейнера галереи
function popUpBodySize(){
	if(pWidth < popUpBodyMaxWidth)
		$("#galeryPopUp").css("width", (pWidth-40)+"px");
	else
		$("#galeryPopUp").css("width", popUpBodyMaxWidth+"px");
		
	if(pHeight < popUpBodyMaxHeight)
		$("#galeryPopUp").css("height", (pHeight-40)+"px");
	else
		$("#galeryPopUp").css("height", popUpBodyMaxHeight+"px");
		
	popUpImageContainer();	
}
//---------------------------
// Размер контейнера изображения
function popUpImageContainer(){
	if($("#galeryPopUp").width() < popUpImageContainerMaxWidth)	
		$("#imageContainer").css("width", $("#galeryPopUp").width()+"px");
	else
		$("#imageContainer").css("width", popUpImageContainerMaxWidth+"px");
		
	if($("#galeryPopUp").height() < popUpBodyMaxHeight)
		$("#imageContainer").css("height", ($("#galeryPopUp").height() - 160)+"px");
	else
		$("#imageContainer").css("height", popUpImageContainerMaxHeight+"px");
		
	$(".galeryInfoContainer").css("height", $("#imageContainer").height()+"px");
	
	var valyd = 1;
	
	if($(".galeryInfoContainer").height() < info2Height)
		valyd = 0;
		
	if($("#imageContainer").width() < 450)
		valyd = 0;
		
	/*if(valyd == 0)
		$(".galeryInfoContainer").hide();
	else if(valyd == 1)
		$(".galeryInfoContainer").show();
	*/	
	
}
//---------------------------
// функция маштабирования изображения
function loadNewImage(src){
	$('.preloaderImg').show();
	curImgHref = src;
	$('.dragImg').draggable('destroy');
	$('.dragImg').remove();
	$("#imageContainer").append('<img src="'+hostJs+'upload/'+galeryDir+src+'" class="dragImg" onLoad="javascript: imageLoaded();">');
//	$("meta[property=og:image]").attr("content", hostJs+'upload/'+galeryDir+'mini1_'+src);
//	alert($("meta[property=og:image]").attr("content"));
	someDo = 0;
}

function imageLoaded(){
	bigImgWidth  = $(".dragImg").width();
	bigImgHeight = $(".dragImg").height();
	bigImgDelta  = (bigImgHeight/bigImgWidth).toFixed(4);
	setTimeout('imageLoaded2()', 1);
}

function imageLoaded2(){
	$(".dragImg").css("width", ($("#imageContainer").height() / bigImgDelta)+"px");
	$(".dragImg").css("height", $("#imageContainer").height()+"px");
	var cw1 = $("#imageContainer").width();
	var cw2 = $(".dragImg").width();
	$(".dragImg").css("left", (cw1-cw2)/2+"px");
	
	$(".dragImg").show();
	$(".dragImg").draggable({
	    cursor: "move",
		containment: '#dragImgContainer'
	});
	mathImgPodl();
	
}
//---------------------------
// функция пересчета размера подложки под изображением
function mathImgPodl(){
	var cw1 = $("#imageContainer").width();
	var cw2 = $(".dragImg").width();
	
	var ch1 = $("#imageContainer").height();
	var ch2 = $(".dragImg").height();
	
	if(cw2 <= cw1){
		$("#dragImgContainer").css("width", cw2+"px");
		$("#dragImgContainer").css("left", (cw1-cw2)/2+"px");
	}	
	else{
		$("#dragImgContainer").css("width", cw2+(cw2-cw1)+"px");
		$("#dragImgContainer").css("left", "-"+(cw2-cw1)+"px");
	}	
	
	if(ch2 <= ch1){
		$("#dragImgContainer").css("height", ch2+"px");
		$("#dragImgContainer").css("top", (ch1-ch2)/2+"px");
	}	
	else{
		$("#dragImgContainer").css("height", ch2+(ch2-ch1)+"px");
		$("#dragImgContainer").css("top", "-"+(ch2-ch1)+"px");
	}	
	
	$('.dragImg').draggable('enable');
	$('.preloaderImg').hide();
}
//---------------------------

function initBigGalery(firstImg){
	if(popUpGaleryOpen == 1){
		$("#body").css("overflow", "hidden");
		$("#body").css("background-color", "#000000");
		info2Height = $(".galeryInfoContainer2").height();
		pageSize();
		popUpBgSize();
		popUpBodySize();
		loadNewImage(firstImg);
		
		$(window).resize(function(){
			pageSize();
			popUpBgSize();
			popUpBodySize();
			mathImgPodl();
		});
		
		$(".zoomIn").live("click", function(){			
			if(someDo == 1)
				return false;
				
			someDo = 1;
			
			
			if(($(".dragImg").width()+250) > bigImgWidth)
				res = bigImgWidth - $(".dragImg").width();
			else
				res = 250;
			
			if(res <= 0){
				someDo = 0;
				return false;
			}
			
			//----------------------------------------------
			// расчет смещения
			var offset1 = $(".dragImg").offset();
			var offset2 = $("#imageContainer").offset();
			var ofsetLeft = offset1.left - offset2.left;
			var ofsetTop = offset1.top - offset2.top;
			var w1  = $("#imageContainer").width();
			var w2  = $(".dragImg").width() + res;
			
			if(w2 > w1) var dl = 0
			else var dl = (w1-w2) / 2;
						
			if(dl < ofsetLeft) dw = dl - ofsetLeft;
			else dw = 0;
			
			dh = 0;
			
			//----------------------------------------------
				
				
			$('.dragImg').draggable('disable');
			$(".dragImg").animate({
				width: "+="+res,
				height: "+="+res*bigImgDelta,
				left: "+="+dw,
				top: "-="+dh
			}, 500, function(){
				mathImgPodl();
				someDo = 0;
			});
		});
		
		$(".zoomOut").live("click", function(){
			if(someDo == 1)
				return false;
				
			someDo = 1;	
			
			
			if(($(".dragImg").height()-(250*bigImgDelta)) < $("#imageContainer").height())
				res = ($(".dragImg").height() - $("#imageContainer").height()) / bigImgDelta;
			else
				res = 250;
				
			if(res <= 0){
				someDo = 0;
				return false;
			}	
				
			//----------------------------------------------
			// расчет смещения влево
			var offset1 = $(".dragImg").offset();
			var offset2 = $("#imageContainer").offset();
			var ofsetLeft = offset1.left - offset2.left;
			var ofsetTop = offset1.top - offset2.top;
			var w1  = $("#imageContainer").width();
			var w2  = $(".dragImg").width() - res;
			var h1  = $("#imageContainer").height();
			var h2  = $(".dragImg").height() - res*bigImgDelta;
			
			if(w2 > w1) var dl = 0
			else var dl = (w1-w2) / 2;
						
			if(dl > ofsetLeft) dw = dl - ofsetLeft;
			else dw = 0;
			
			if(h2 > h1) var dh = 0;
			else var dh = (h1-h2) / 2;
			
			if(dh > ofsetTop) dh = (h1-h2) - ofsetTop;
			else dh = 0;
			//----------------------------------------------
				
			$('.dragImg').draggable('disable');
			$(".dragImg").animate({
				width: "-="+res,
				height: "-="+res*bigImgDelta,
				left: "+="+dw,
				top: "+="+dh
			}, 500, function(){
				mathImgPodl();
				someDo = 0;
			});
		});
		
		$(".fullScreen").live("click", function(){
			$("#galeryPopUp").hide();
			var w2 = $(window).width();	
			var h2 = $(window).height();
			$(".centerContainer").append('<img src="'+hostJs+'upload/'+galeryDir+curImgHref+'" class="trueSizeImg">');
			
			var w1 = $(".trueSizeImg").width();
			var h1 = $(".trueSizeImg").height();
			
			if(w1 < w2){ var w = w1; var l = (w2 - w1) / 2; }
			else { var w = w1+(w1-w2); var l = -(w1 - w2); }
			
			if(h1 < h2){ var h = h1; var t = 0; }
			else { var h = h1+(h1-h2); t = -(h1 - h2); }
			
			$("#bigImgPodl").css("width", w+"px");
			$("#bigImgPodl").css("height", h+"px");
			$("#bigImgPodl").css("top", t+"px");
			$("#bigImgPodl").css("left", l+"px");
			
			$("#bigImgPodl").show();
			$(".closeBigImg").css("top", (h2-50)+"px");
			$(".closeBigImg").show();
			$(".trueSizeImg").draggable({
				cursor: "move",
				containment: '#bigImgPodl'
			});
		});
		
		$(".closeBigImg").click(function(){
			$("#bigImgPodl").hide();
			$(".closeBigImg").hide();
			$("#galeryPopUp").show();
			$(".trueSizeImg").remove();
		});
		
		$(".miniImgSlydeLeft").live("click", function(){
			if(someDo == 1)
				return false;
				
			if($(".miniImgSlydeLeft").hasClass('na'))
				return false;
				
			someDo = 1;
			
			galerySlydeCp += 150;
			if(galerySlydeCp == 0)
				$(".miniImgSlydeLeft").addClass('na');
			else if($(".miniImgSlydeLeft").hasClass('na'))
				$(".miniImgSlydeLeft").removeClass('na');
				
			if($(".miniImgSlydeRight").hasClass('na'))
				$(".miniImgSlydeRight").removeClass('na');	
				
			$(".minImgSlydeContainer2").animate({
				left: "+=150"
			}, 500, function(){
				someDo = 0;
			});	
		});
		
		$(".miniImgSlydeRight").live("click", function(){
			if(someDo == 1)
				return false;
				
			if($(".miniImgSlydeRight").hasClass('na'))
				return false;
				
			if(galerySlydeWidth < $("#galeryPopUp").width()){
				$(".miniImgSlydeRight").addClass('na');
				return false;
			}	
				
			someDo = 1;
			
			galerySlydeCp -= 150;
			if(galerySlydeCp <= "-"+(galerySlydeWidth-$(".minImgSlydeContainer1").width()-30))
				$(".miniImgSlydeRight").addClass('na');
			else if($(".miniImgSlydeRight").hasClass('na'))
				$(".miniImgSlydeRight").removeClass('na');
				
			if($(".miniImgSlydeLeft").hasClass('na'))
				$(".miniImgSlydeLeft").removeClass('na');	
				
			$(".minImgSlydeContainer2").animate({
				left: "-=150"
			}, 500, function(){
				someDo = 0;
			});	
		});
		
		$(".minImgSlydeContainer2").children("div").children("img").click(function(){
			if(someDo == 1)
				return false;
				
			if($(this).hasClass('activeImg'))
				return false;
				
			someDo = 1;	
				
			$(".minImgSlydeContainer2").children("div").children("img").removeClass('activeImg');
			$(this).addClass('activeImg');
			loadNewImage($(this).attr('bigImg'));
			var img_type = $(this).attr('img_type');
			var img_id   = $(this).attr('img_id');
			var img_mid  = $(this).attr('img_mid');
			
			if(img_type == 1){
				sendDataToServer(hostJs+langJs+"/ajax/", "act=changeClassicPhoto&img_id="+img_id, "changeGaleryPhoto(msg)");
				sendDataToServer(hostJs+langJs+"/ajax/", "act=changeClassicText&img_mid="+img_mid, "changeClassicText(msg)");
			}	
			else if(img_type == 2)
				sendDataToServer(hostJs+langJs+"/ajax/", "act=changeGaleryPhoto&img_id="+img_id, "changeGaleryPhoto(msg)");
		});
	}
}

function changeClassicText(msg){
	$(".galeryInfoContainer").html(msg);
}

function changeGaleryPhoto(msg){
	$(".galerySocProf").html(msg);
}

