


/*--------------------------- Poppy ----------------------------*/

jQuery.fn.popIt = function(settings) {
	settings = jQuery.extend({
		overlayBgColor: '#000',
		overlayOpacity: '0.50',
        imgLoading: '/portals/1/skins/main/images/loading_grey.gif',
        imgBtnClose: '/portals/1/skins/main/images/icn_close.png',
        iFrameWidth: 725,
        iFrameHeight: 400
      }, settings);
	
	function init() {
		// Loading...
		var obj = $(this);
		var pClass = " ";

		var url = $(this).attr("href");
		var baseURL = url.indexOf(";")!==-1 && url.substr(0, url.indexOf(";")) || url.indexOf("?")!==-1 && url.substr(0, url.indexOf("?")) || url;
		
		var queryString = url.replace(/^[^\?]+\??/,'');
		var params = parseQuery( queryString );
		
		var pWidth = 725 || !params['width'] && settings.iFrameWidth || params['width'];
		var pHeight = 400 || !params['height'] && settings.iFrameHeight || params['height'];
		
		$('body').append('<div id="blur-overlay"></div><div id="poppyBox"><div class="container ' + pClass + '"><div id="poppyLoading"><strong>Loading...</strong><img src="'+settings.imgLoading+'" border=0></div></div></div>');
		
		$("#poppyBox").append('<div class="shadow" id="poppyShadow"><table cellspacing=0 cellpadding=0><tr><td><img src="/portals/1/skins/main/images/poppy_shadow_tl.png" class="tl png" border=0 width=13 height=12></td><td style="background-color:#F8F3E4"><img src="/portals/1/skins/main/images/poppy_shadow_tc.png" class="tc png" border=0 width=12 height=12></td><td><img src="/portals/1/skins/main/images/poppy_shadow_tr.png" class="tr png" border=0 width=12 height=12></td></tr><tr><td><img src="/portals/1/skins/main/images/poppy_shadow_ml.png" class="ml png" border=0 width=13 height=12></td><td style="background-color:#F8F3E4"><img src="/portals/1/skins/main/images/poppy_shadow_mc.png" class="mc png" border=0 width=13 height=12></td><td style="background-color:#F8F3E4"><img src="/portals/1/skins/main/images/poppy_shadow_mr.png" class="mr png" border=0 width=12 height=12></td></tr><tr><td><img src="/portals/1/skins/main/images/poppy_shadow_bl.png" class="bl png" border=0 width=13 height=12></td><td><img src="/portals/1/skins/main/images/poppy_shadow_bc.png" class="bc png" border=0 width=12 height=12></td><td><img src="/portals/1/skins/main/images/poppy_shadow_br.png" class="br png" border=0 width=12 height=12></td></tr></table></div>');
		
		$("#poppyShadow .tc, #poppyShadow .bc, #poppyShadow .mc").width($("#poppyLoading").width());
		$("#poppyShadow .ml, #poppyShadow .mr, #poppyShadow .mc").height($("#poppyLoading").height());				
		
		$('embed, object, select').css({ 'visibility' : 'hidden' });
		
		 	
		
		if($.browser.firefox && $.browser.mac)
			$("#blur-overlay").addClass("overlayMacFFBGHack"); // MacFF Only
			  				
		posOverlay();
		$('#blur-overlay').css({
			backgroundColor: settings.overlayBgColor,
			opacity: settings.overlayOpacity
		}).fadeIn("fast", function() {
			$("#poppyShadow").show();
			$("#poppyLoading").fadeIn("fast", function() {
			    
				// Content Insert
			  	$("#poppyBox .container").append("<div id='poppytop'><div id='poppyHeader'><div id='poppyLastModified'>Last Modified Date:</div><div class='poppyHeaderInside'><a href='javascript:;' id='poppyPrintImg' title='Print'><img src='/portals/1/skins/main/images/icn_print.gif' border=0 width=16 height=16 alt='Print' /></a><a href='javascript:;' id='poppyPrintLink' title='Print'>Print This Menu</a><a href='javascript:;' id='poppyClose' title='Close'><img src='/portals/1/skins/main/images/icn_close.gif' border=0 width=22 height=23 alt='close' /></a></div><div class='clear'>&nbsp;</div></div><div id='poppyTitle'>Menu</div></div><iframe frameborder='0' hspace='0' src='" + baseURL + "?" + queryString + "' id='poppyIframeContent' name='iframeContent" + Math.round(Math.random()*1000) + "' onload='poppyIframeLoaded($(this))' style='width:" + pWidth + "px;height:" + pHeight + "px;' class='" + pClass + "' > </iframe><div id='poppyFooter'>* Prices & availability subject to change</div>");

	            if(window.supersleight){
			        supersleight.limitTo("poppyBox");
                    supersleight.run("poppyBox");
                }
				// Window Resize Adjust
				$(window).resize(function() {	
					$('#blur-overlay').hide();
					posOverlay();
					$('#blur-overlay').show();			
					posBox();		
				
				});	
				
				
				
				// Exit		
				document.onkeyup = function(e){
					var keycode = e==null ? event.keyCode : e.which;
					if(keycode == 27)	end(); // Escape Key
				};			
				$("#blur-overlay, #poppyLoading, #poppyClose, #poppyImg").click(function() {end();});				
		   
				
			});
			
		
			
			
		});
		posBox();
 
		return false;
	}
	
	function end() {
		$("#poppyBox, #poppyLoading, #poppyShadow").remove();
		$("#blur-overlay").fadeOut("fast", function() { $(this).remove(); });
		$('embed, object, select').css({ 'visibility' : 'visible' });
	}
	
	function posOverlay() {
		var arrPageSizes = getPageSize();
		$('#blur-overlay').css({
			width: arrPageSizes[0],
			height: arrPageSizes[1]
		});
	}
	
	function posBox() {
		var arrPageSizes = getPageSize();
		var arrayPageScroll = getPageScroll();
		var fromLeft = ((arrPageSizes[2]-$('#poppyBox').width())/2)+arrayPageScroll[0];
		var fromTop = ((arrPageSizes[3]-$('#poppyBox').height())/2)+arrayPageScroll[1];
		$('#poppyBox').css({
			left:	fromLeft < 0 ? 0 : fromLeft,
			top: fromTop < 0 ? 10 : fromTop
		}).show();
		
		
	}
	
	function parseQuery ( query ) {
  	var Params = {};
  	if ( ! query ) {return Params;}// return empty object
  	var Pairs = query.split(/[;&]/);
  	for ( var i = 0; i < Pairs.length; i++ ) {
    	var KeyVal = Pairs[i].split('=');
    	if ( ! KeyVal || KeyVal.length != 2 ) {continue;}
      var key = unescape( KeyVal[0] );
      var val = unescape( KeyVal[1] );
      val = val.replace(/\+/g, ' ');
      Params[key] = val;
  	}
  	return Params;
	}
	
	return this.unbind('click').click(init);
}


	
function poppyIframeLoaded(obj) {
	
	var objWidth = $(obj).width() + 5;
	
	var objHeight = $(obj).height() + 88;

	var arrPageSizes = getPageSize();
	var arrayPageScroll = getPageScroll();
	var fromLeft = ((arrPageSizes[2]-objWidth)/2)+arrayPageScroll[0];
	var fromTop = ((arrPageSizes[3]-objHeight)/2)+arrayPageScroll[1];
	fromLeft = fromLeft < 0 ? 0 : fromLeft;
	fromTop = fromTop < 0 ? 0 : fromTop;

		
	$("#poppyLoading").fadeOut("fast",function() { 
		$("#poppyLoading").remove(); 
		
		$("#poppyBox, #poppyBox .container").width(objWidth).height(objHeight);		
		
		$('#poppyBox').animate({ top: fromTop, left:	fromLeft }, 500);
		$("#poppyShadow .mc").animate({ height: objHeight+"px", width: objWidth+"px" }, 700, function() {
			if (obj.attr("id")=="poppyImg")
				$("#poppyImg, #poppyBox .imgCaption").css({display:"block"});
			else
				$("#poppyIframeContent").css({display:"block"});

//			$("#poppyClose").css({ top: "-10px", left: objWidth + "px" }).show();
			
			if (!(obj.attr("id")=="poppyImg")){
				
				$("#poppyBox .fadeTop").css({ top: "18px", left: "10px", width: objWidth - 15 + "px" }).show();
				$("#poppyBox .fadeBtm").css({ top: objHeight - 12 + "px", left: "10px", width: objWidth - 15 + "px" }).show();
			}
			
			try{
               $("#poppyHeader").show();
               $("#poppyTitle").show();
               $("#poppyFooter").show();
               var vDocument = $("#poppyIframeContent")[0].contentWindow.document;
               
               $("#poppyTitle").html($("#hfMenuName", vDocument)[0].value + " Menu");
               $("#poppyLastModified").html("Last Modified Date: " + $("#hfModifiedDate", vDocument)[0].value);
               $("#poppyPrintImg, #poppyPrintLink").click(function() {
                    $("#poppyIframeContent")[0].focus();
                    $("#poppyIframeContent")[0].contentWindow.print();
                    var vDocument = $("#poppyIframeContent")[0].contentWindow.document;
                    sendOmniturePrintEvent($("#hfMenuName", vDocument)[0].value + " Menu");
               });
           }
           catch(err){}
		});
	$("#poppyShadow .ml, #poppyShadow .mr").animate({ height: objHeight+"px"	}, 500);	
	$("#poppyShadow .tc, #poppyShadow .bc").animate({	width: objWidth+"px"	}, 500);	
		 
		
	
	});
	
}
/*--------------------------- Page Sizes ----------------------------*/

function getPageSize(){
	var xScroll = (window.innerHeight && window.scrollMaxY) && window.innerWidth + window.scrollMaxX || (document.body.scrollHeight > document.body.offsetHeight) && document.body.scrollWidth || document.body.offsetWidth;
	var yScroll = (window.innerHeight && window.scrollMaxY) && window.innerHeight + window.scrollMaxY || (document.body.scrollHeight > document.body.offsetHeight) && document.body.scrollHeight || document.body.offsetHeight;

	var windowWidth = self.innerHeight && (document.documentElement.clientWidth ? document.documentElement.clientWidth : self.innerWidth) || (document.documentElement && document.documentElement.clientHeight) && document.documentElement.clientWidth || document.body && document.body.clientWidth;
	var windowHeight = self.innerHeight && self.innerHeight || (document.documentElement && document.documentElement.clientHeight) && document.documentElement.clientHeight || document.body && document.body.clientHeight;

	// for small pages with total height less then height of the viewport
	var pageHeight = yScroll < windowHeight ? windowHeight : yScroll;
	
	// for small pages with total width less then width of the viewport
	var pageWidth = xScroll > windowWidth ? xScroll : windowWidth;

	var arrayPageSize = new Array(pageWidth,pageHeight,windowWidth,windowHeight);
		return arrayPageSize;
}

function getPageScroll(){
	var xScroll = self.pageYOffset && self.pageXOffset || (document.documentElement && document.documentElement.scrollTop) && document.documentElement.scrollLeft || document.body.scrollLeft;
	var yScroll = self.pageYOffset && self.pageYOffset || (document.documentElement && document.documentElement.scrollTop) && document.documentElement.scrollTop || document.body.scrollTop;
	var arrayPageScroll = new Array(xScroll,yScroll);
	return arrayPageScroll;
}