


	function E(id){return document.getElementById(id);}



	// uz bildes ielādi pieglabājam tās vecākam uzliekam pašas bildes izmērus
	function PanZoom(image_frame_id, files)
	{
		var me = this;
		this.current_index = null;

		var image_frame = E(image_frame_id);
		image_frame.innerHTML = "";

		
		//var foo_image_1 = new Image();
		//foo_image_1.src = files[1].name;
		//foo_image_1.my_index = 1;
		//foo_image_1.onload = function(){files[this.my_index].width = this.width;}

		
		// novietojam bīdāmo gabalu sākuma pozīcijā
		E('pan_area').style.left = "0px";
		E('pan_area').style.top = "0px";






		// padotajā elementā izveidojam bildi un saliekam stilus un notikumus
		var image = document.createElement("img");
		image_frame.appendChild(image);
		image.style.position = "absolute";
		image.style.left = "0px";
		image.style.top = "0px";
		image.style.MozUserSelect = "none";
		image.galleryimg = "no"; // vai img.galleryimg = "false"; // lai onmouseover nerādītos image toolbar iekš IE
		image.onmousedown = function(){return false};
		image.onmousemove = function(){return false};

		//ChangeImage(files.length - 1);
		ChangeImage(0);


		
		this.ImageWidth  = function(){ return image.width }
		this.ImageHeight = function(){ return image.height }




		


		// iegūst cetra pikseļu attiecību pret bildes izmēru
		function GetImageCenterK()
		{
			//var center_x = 0 + (ObjectLeft(image)*-1) + (ObjectWidth(image_frame)/2);
			//var center_y = 0 + (ObjectTop(image)*-1) + (ObjectHeight(image_frame)/2);
			var center_x = ObjectWidth(E('map_tv'))/2 - ObjectLeft(E('pan_area'));
			var center_y = ObjectHeight(E('map_tv'))/2 - ObjectTop(E('pan_area'));
			var center_x_k = MyRound(image.width / center_x, 2);
			var center_y_k = MyRound(image.height / center_y, 2);
			//alert(['center_x', center_x, 'center_y', center_y, 'center_x_k', center_x_k, 'center_y_k', center_y_k]);
			//alert(['ObjectLeft(E(pan_area))', ObjectLeft(E('pan_area')), 'ObjectWidth(E(map_tv))/2', ObjectWidth(E('map_tv'))/2]);
			//alert(['center_x', center_x, 'center_y', center_y, 'image.width', image.width, 'image.height', image.height, 'center_x_k', center_x_k, 'center_y_k', center_y_k]);
			return {center_x_k: center_x_k, center_y_k: center_y_k};
		}

		// no padotājiem koeficientiem aprēķina jaunās bildes izmēra nobīdes
		function SetImageOffset(koef_obj)
		{
			var new_center_x = MyRound(image.width / koef_obj.center_x_k, 1);
			var new_center_y = MyRound(image.height / koef_obj.center_y_k, 1);
			//alert(["new center", new_center_x, new_center_y]);
			//var left = 0 - new_center_x + ObjectWidth(image_frame)/2;
			//var top = 0 - new_center_y + ObjectHeight(image_frame)/2;
			var left = ObjectWidth(E('map_tv'))/2 - new_center_x;
			var top = ObjectHeight(E('map_tv'))/2 - new_center_y;
			//alert(["new center", new_center_x, new_center_y, "new offset", left, top]);

			E('pan_area').style.left = left+"px";
			E('pan_area').style.top = top+"px";

			//FixAndSetOffset(left, top);
		}

		// pielabo nobīdes, ja tās ir ārpus rāmjiem
		function FixAndSetOffset(left, top)
		{
			var min_left = 0 - image.width + ObjectWidth(image_frame);
			var min_top = 0 - image.height + ObjectHeight(image_frame);
			if (left < min_left) left = min_left;
			if (top < min_top) top = min_top;
			if (left > 0) left = 0;
			if (top > 0) top = 0;

			// kopējo nobīdi pieliek pie sākotnējām nobīdēm
			image.style.left = left + "px";
			image.style.top = top + "px";
		}


		function ChangeImage(index)
		{
			index = Math.max(index, 0);
			index = Math.min(index, files.length-1);

			if (index != me.current_index)
			{
				image.src = files[index].name;
				image.width = files[index].width;
				image.height = files[index].height;

				me.current_index = index;
			}

		}
		
		this.ZoomIn = function()
		{
			var koef_obj = GetImageCenterK();
			ChangeImage(this.current_index+1);
			SetImageOffset(koef_obj);
		}
		this.ZoomOut = function()
		{
			var koef_obj = GetImageCenterK();
			ChangeImage(this.current_index-1);
			SetImageOffset(koef_obj);
		}









		window.onresize = WindowResize;
		function WindowResize()
		{
			// pielabojam nobīdes
			FixAndSetOffset(ObjectLeft(image), ObjectTop(image));
		}
			


	}

