$(function () {

	$('.popup_wrap').each(function () {
		/* Automatically wrap the image in a table structure for easier coding */
		var popupImage = $('.popup_image', this).parent().html();
		var popImage = $('.popup_image', this);
		
		var popupImageY = $('.popup_image', this).parent().css('top');
		var popupImageX = $('.popup_image', this).parent().css('right');

		if (!popupImageY || popupImageY == 'auto') {	popupImageY = 0; }
		if (!popupImageX || popupImageX == 'auto') { popupImageX = 0; }

		popupImageY = parseInt(popupImageY);
		popupImagex = parseInt(popupImageX); 
		//$('.popup_image', this).css('display','block');
		$('.popup_image', this).parent().replaceWith('<table class="popup"><tbody><tr><td><span class="closetab" style="display:block"></span></td></tr><tr><td id="topleft" class="corner"></td><td class="top"></td><td id="topright" class="corner"></td></tr><tr><td class="left"></td><td>' + popupImage + '</td><td class="right"></td></tr><tr><td class="corner botcorner" id="bottomleft"></td><td class="bottom"></td><td id="bottomright" class="corner botcorner"></td></tr></tbody></table>');


	/* Begin popup functionality */
		var distance = 10;
		var time = 250;
		var hideDelay = 500;

		var hideDelayTimer = null;

		var beingShown = false;
		var shown = false;
		var trigger = $('.pop_trigger', this);
		var popI = $('.popup', this);
		var close = $('.closetab', this);
		var info = $('.popup', this).css('opacity', 0);
		
		var wrap = $(this);
		
		var imageWidth = parseInt($('.popup_image', this).css('width')) + 15;

		$(trigger).click(function(e) {
			if (hideDelayTimer) clearTimeout(hideDelayTimer);

			if (beingShown || shown) {
				// don't trigger the animation again
				return;
			} else {
				// reset position of info box
				beingShown = true;
				//popImage.css('display','block');
				wrap.css('zIndex',1); /* IE 6 & 7 Fix (This changes the native stack order for these two browsers and fixes the "pop-under" bug */
				info.css({
					width: imageWidth,
					top: popupImageY,
//					top: 0,
					right: popupImageX,
//					right: 0,
					display: 'block'
				}).animate({
					top: '-=' + distance + 'px',
					opacity: 1
				}, time, 'swing', function() {
					beingShown = false;
					shown = true;
				});
			}
			return false;
		});

		$(popI).click(function() {
			if (hideDelayTimer) clearTimeout(hideDelayTimer);
				hideDelayTimer = null;
				info.animate({
					top: '-=' + distance + 'px',
					opacity: 0
				}, time, 'swing', function () {
					shown = false;
					info.css('display', 'none');
					wrap.css('zIndex',0); /* IE 6 & 7 Fix (Reset to 0 when popup is closed so it doesn't interfere with other popups */
				});		
			return false;
		});
	});
});
