/*========================================================================================
  
   Function : showPopup
  
 ========================================================================================*/
function SlidePopup(container,popup) {
	var this1 = this;
	var fadeIn_speed = 0;
	var fadeOut_speed = 0;
	var popupHidden = true; // to avoid a popup is shown after mouseout event
	var popupsrc = new Image; // To save popup-image to be displayed. We use an Image not an string because image adds %20 for space 
	popupsrc.src = null; // set this to null to stop showing a popup
	var containerDiv = $("#"+container);  // map_canvas1
	var popupDiv  = $("#"+popup);					// popup
	var popupImg  = $("#"+popup+" img");
	var popupText = $("#"+popup+" p"); 
	
	DD_roundies.addRule('#'+popup,'5px',true);
	
	this1.show = function(mapPoint,imgfile,img_title) {
		logit("showPopup:"+imgfile);
		popupHidden = false;
		var thisImgSrc;

		if (imgfile) {
			thisImgSrc = imgfile;
			popupsrc.src = imgfile;
			logit("showPopup 1:"+thisImgSrc);
		} else {
			logit("No Popup image");
			return;		
			// default image
			thisImgSrc = img1;
		} 

		imgLoaded(thisImgSrc,function(thisImg) {
			logit("Image loaded:"+thisImg.src);
			if (popupsrc.src != thisImg.src) {
				logit("Popup cancelled:"+popupsrc.src+'/'+thisImg.src);
				return;
			}
	 		if (popupHidden) return;
			$(popupImg).attr("src",thisImg.src).css("width",thisImg.width).css("height",thisImg.height);
			// now show div
			$(popupText).html(img_title);
			
			if ($(popupDiv).is(':animated')) {
				$(popupDiv).stop(); 
			} 
		
		  logit("popup start");
			
			var coords = calcPosition(containerDiv,popupDiv,mapPoint); // calcPosition in commonFunctions.js
			$(popupDiv).css("top",coords.y+"px").css("left",coords.x+"px");
			if (fadeIn_speed == 0) {
				$(popupDiv).show().css('opacity',1);;
			} else {
				$(popupDiv).show().fadeTo(fadeIn_speed,1);
			}
		});

		// fill image in popup
	
	}
	/*========================================================================================
	  
	   Function : hidePopup
	  
	 ========================================================================================*/
	this1.hide = function() {
		logit("hidePopup");
		popupsrc.src = null;  // prevent loading image to show in popup
		if (popupHidden) return;
		popupHidden = true;
	
		if ($(popupDiv).is(':animated')) {
			$(popupDiv).stop();
		} 
		
		if (fadeOut_speed == 0) {
			$(popupDiv).hide();
		} else {
			$(popupDiv).fadeTo(fadeOut_speed,0,function() {$(this).hide();});
		}
	}
	function logit(text) {
		if (debug) logitAll("SlidePopup-"+text);
	}
}
