﻿/**
 * main.js
 */

/**
 * jQuery and Prototype libraries conflict with each other (both use "$").
 * In order to maintain the full, original functionality of Lightbox (which requires Prototype),
 * all jQuery code is contained within the DOM ready event.
 * Ref: "Using jQuery with Other Libraries" [http://docs.jquery.com/Using_jQuery_with_Other_Libraries]
 */

// Initializes object(s) when the DOM is loaded.
jQuery(document).ready(function($)
{
    var Page =
    {
        init: function()
        {
            //
            // Page-specific initialization.
            //
            
            // Food > Take Out Orders
            if ($("div#take-out-orders").length > 0)
            {
                // Insert Flash
                var flashvars = {};
                flashvars.width = 607;
                flashvars.height = 258;
                flashvars.file = '../flash/punch_oven.flv';
                flashvars.backcolor = '0xFFFFFF';
                flashvars.bufferlength = 1;
                flashvars.backcolor = '0xFFFFFF';
                flashvars.frontcolor = '0xF26722';
                flashvars.lightcolor = '0xFBE9A1';
                flashvars.screencolor = '0xFFFFFF';
                flashvars.volume = 100;
                flashvars.showdigits = false;
                flashvars.usefullscreen = false;
                flashvars.shuffle = false;
                //
                var params =
                {
                    play: "true",
                    loop: "true",
                    menu: "true",
                    quality: "high",
                    scale: "showall",
                    salign: "",
                    wmode: "opaque",
                    bgcolor: "#ffffff",
                    devicefont: "false",
                    allowFullScreen: "false",
                    allowScriptAccess: "sameDomain"
                };
                //
                var attributes = {};
                //
                swfobject.embedSWF("/flash/punch_player.swf", "flashcontent", "617", "293", "8", false, flashvars, params, attributes);
            }
            
            // Where > Index
            if ($("div#where").length > 0)
            {
                GoogleMap.load();
                $("body").unload(function () { GoogleMap.unload(); });
            }
        }
    }

    var GoogleMap =
    {
        load: function()
        {
            // Add icon
            var icon = new GIcon();
            icon.image = "/images/where/icon_map_small.png";
			icon.shadow = "/images/where/icon_shadow_small-v2.png";
            icon.iconSize = new GSize(25, 35);
			icon.shadowSize = new GSize(40, 35);
            icon.iconAnchor = new GPoint(10, 35);
            icon.infoWindowAnchor = new GPoint(31, 8);
			icon.infoShadowAnchor = new GPoint(48, 42);

            var map = new GMap(document.getElementById("map"));
            //map.addControl(new GMapTypeControl());
            //map.addControl(new GSmallMapControl());
            map.centerAndZoom(new GPoint(-93.320985,44.948423), 7);

            // Add marker (Eden Prairie)
            var point = new GPoint(-93.433497,44.853494);
            var location = 'Eden Prairie';
            var address = '8353 Crystal View Rd Eden Prairie MN 55334';
            GoogleMap.addMarker(map, point, icon, address, location);

            // Add marker (Wayzata)
            var point = new GPoint(-93.496713,44.971655);
            var location = 'Wayzata';
            var address = '1313 Wayzata Blvd E Wayzata MN 55391';
            GoogleMap.addMarker(map, point, icon, address, location);
			
            // Add marker (Northeast Minneapolis )
            var point = new GPoint(-93.256797,44.987835);
            var location = 'Northeast Minneapolis';
            var address = '210 E Hennepin Ave Minneapolis MN 55414';
            GoogleMap.addMarker(map, point, icon, address, location);

            // Add marker (Highland Park)
            var point = new GPoint(-93.187356,44.920328);
            var location = 'Highland Park';
            var address = '704 Cleveland Ave S St Paul MN 55116';
            GoogleMap.addMarker(map, point, icon, address, location);

            // Add marker (Lake Calhoun Minneapolis)
            var point = new GPoint(-93.321326,44.948441);
            var location = 'Lake Calhoun Minneapolis';
            var address = '3226 W Lake St Minneapolis MN 55416';
            GoogleMap.addMarker(map, point, icon, address, location);
            
            // Add marker (Grand Avenue)
            var point = new GPoint(-93.132509,44.940235);
            var location = 'Grand Avenue';
            var address = '769 Grand Ave St Paul MN 55105';
            GoogleMap.addMarker(map, point, icon, address, location);
        },

        unload: function()
        {
            GUnload();
        },
        
        addMarker: function(map, point, icon, address, location)
        {
            var marker = new GMarker(point, icon);
            map.addOverlay(marker);
            
            GEvent.addListener(marker, "click", function()
            {
                marker.openInfoWindowHtml('<div style="width: 220px; background: url(/images/where/icon_marker.gif) no-repeat top left; padding: 10px 0 0 25px; font-size: 13px;"><div style="color: #F26722; font-weight: bold; text-transform: uppercase;">' + location + '</div><strong>Get directions</strong> by entering your starting address below:<br /><br /> <input id="StartAddress" type="text" style="border:1px solid #FFCD05; height:16px; padding:2px;margin-right:5px; vertical-align:middle;" /> <input id="GoogleSubmit" type="button" value="Go" style="display: inline; border:1px solid #FFCD05;height:22px;background:#FFF;vertical-align:middle;padding: 0 5px;"/></div>');

                $("#GoogleSubmit").click(function()
                {                                        
                    var googleMapsUrl = 'http://maps.google.com/maps?';
                    
                    var spaceRegex = /\s/;
                    var saddr = $("#StartAddress").attr("value");
                    while (spaceRegex.test(saddr) == true)
                    {
                        saddr = saddr.replace(spaceRegex, '+');
                    }
                    
                    var daddr = address;
                    while (spaceRegex.test(daddr) == true)
                    {
                        daddr = daddr.replace(spaceRegex, '+');
                    }
                    
                    var href = googleMapsUrl + 'saddr=' + saddr + '&' + 'daddr=' + daddr;                    
                    window.open(href, "window");
                });
            });
        }
    }

    // Initializes general and page-specific script behavior.
    Page.init();
});

// See comment above re jQuery and Prototype conflict.
jQuery.noConflict();

// EOF