jQuery(
	function($) {
		var
			// parameters for resize handling
			$window			= $(window),
			$frame			= $('#frame'),
			$virtualtour	= $('#virtualtour', $frame),
			$frameHeader	= $('#frame_header', $frame),
			$frameFooter	= $('#frame_footer', $frame),
			resizeDelay		= 500,
			resizeTimer		= null,
			triggerDelayedResize =
				function() {
					$window.trigger('delayedResize');
				},

			// read metadata parameters
			o				= $.metadata ? $virtualtour.metadata() : {},

			// parameters for SWFObject
			flashvars		= $.extend({ startPanorama: "1228" }, o.flashvars),
			params			= $.extend({ movie: "vr_tour.swf", allowFullScreen: "true", wmode: "transparent" }, o.params),
			attributes		= $.extend({}, o.attributes);


		$window
			.bind(
				'delayedResize',
				function() {
					var
						$flashcontent = $('object#flashcontent', $virtualtour);
						panoId = ($flashcontent.get(0) && $flashcontent.get(0).getPanoID) ? $flashcontent.get(0).getPanoID() : flashvars.startPanorama;

					$.extend(flashvars, { startPanorama: panoId });

					if (!$flashcontent.length) {
						$flashcontent.replaceWith('<div id="flashcontent">No Flash</div>');
						swfobject
							.embedSWF(
								params.movie,
								"flashcontent",
								$frame.width(),
								$frame.height() - ($frameHeader.height() + $frameFooter.height()),
								"9.0.28",
								"../../swf/expressInstall.swf",
								flashvars,
								params,
								attributes
							);
					} else {
						$flashcontent
							.attr('width', $frame.width())
							.attr('height', $frame.height() - ($frameHeader.height() + $frameFooter.height()));
					}
				}
			)
			.bind(
				'resize',
				function() {
					if (resizeTimer) {
						clearTimeout(resizeTimer);
						resizeTimer = null;
					}
					resizeTimer = setTimeout(triggerDelayedResize, resizeDelay);
				}
			)
			.trigger('delayedResize');
	}
);

