﻿
/* Redesign Site Javascript */

// turn off go button for calendar if javascript is enabled
function hideGoNavigation() {
        $('go_button').style.display = "none";  
}

function merchNavOn() {
        if (!$$('ul#merchnav li.on ul li.on a')[0]) {            
            return;
            }
        $$('ul#merchnav li.on ul li.on a')[0].up('li.on', 1).className = "parent_on";      
    }


var prodDetailTabs =
Class.create({
    initialize: function(tabClass, contentClass) {
		this.tabLinks = $$(tabClass);   // tabs      
        this.divContent = $$(contentClass);   // div content to show related to tab
        
        if (!this.tabLinks[0] || !this.divContent[0]) { return; }    // if tabs and content don't exist, return
        		        
		for(var i=0; i < this.tabLinks.length; i++) {
		    Event.observe(this.tabLinks[i], "click", this.__Click.bindAsEventListener(this));	     // watch click on tabs
		}
	    if (location.href.indexOf('&showall') == -1) {    // as long as there is no query string, load first content div by default (tabs load via query string when js is disabled) */
	        this.divContent[0].show();  
	        this.tabLinks[0].addClassName("on");
	    }
	            

	},
	/**
	 * Deal with a click on tab
	 */
	__Click: function(e) {
		var e = e || window.event;
	    Event.stop(e); // stop event
		
		this.clickedTab = Event.findElement(e, "SPAN");    
		this.tabIndex = this.tabLinks.indexOf(this.clickedTab); // find index of tab
        
        this.hidePreviousOnTab();   // turn off any other on tabs and content

        this.tabLinks[this.tabIndex].addClassName("on");        // add class name on to clicked tab 
		this.divContent[this.tabIndex].show();                  // show corresponding content div
		        

	},
	
	hidePreviousOnTab: function() {
     for(var i=0; i < this.divContent.length; i++) {
	    this.divContent[i].hide();                  // hide all content divs
	  }	   
	  for(var i=0; i < this.tabLinks.length; i++) {
		this.tabLinks[i].removeClassName("on");     // remove all on classes from tabs
	   }    
	}
	
	});


/*
addPrintLink function by Roger Johansson, www.456bereastreet.com
*/
var addPrintLink = {
	init:function(sTargetEl,sLinkText) {
		if (!document.getElementById || !document.createTextNode) {return;} // Check for DOM support
		if (!document.getElementById(sTargetEl)) {return;} // Check that the target element actually exists
		if (!window.print) {return;} // Check that the browser supports window.print
		var oTarget = document.getElementById(sTargetEl);
		var oLink = document.createElement('a');
		oLink.id = 'print-link'; // Give the link an id to allow styling
		oLink.href = '#'; // Make the link focusable for keyboard users
		oLink.appendChild(document.createTextNode(sLinkText));
		oLink.onclick = function() {window.print(); return false;} // Return false prevents the browser from following the link and jumping to the top of the page after printing
		oTarget.appendChild(oLink);
	},
/*
addEvent function included here for portability. Replace with your own addEvent function if you use one.
*/
/* addEvent function from http://www.quirksmode.org/blog/archives/2005/10/_and_the_winner_1.html */
	addEvent:function(obj, type, fn) {
		if (obj.addEventListener)
			obj.addEventListener(type, fn, false);
		else if (obj.attachEvent) {
			obj["e"+type+fn] = fn;
			obj[type+fn] = function() {obj["e"+type+fn](window.event);}
			obj.attachEvent("on"+type, obj[type+fn]);
		}
	}
};
addPrintLink.addEvent(window, 'load', function(){addPrintLink.init('print-page','Print this page');});


 
/* Original Site Design Javascript */

// start cart widgets

function openCartDetail(divID)
{
    document.getElementById(divID).style.display = 'block';
}
function closeCartDetail(divID)
{
    document.getElementById(divID).style.display = 'none';
}

// end cart widgets


// start tour widget

function openSelectDate(datestr)
{
    $$('div.tourSelectDate').invoke('hide');    // hide all open dates first
    document.getElementById('tourSelectDate' + datestr).style.display='block'; // then show selected date
}
function closeSelectDate(datestr)
{
    document.getElementById('tourSelectDate' + datestr).style.display='none';
}

// end tour widget


function openEmailOptions()
{
    document.getElementById('fieldsetEmailOptions').style.display='block';
    document.getElementById('openlinkEmailOptions').style.display='none';
    document.getElementById('closelinkEmailOptions').style.display='inline';
}
function closeEmailOptions()
{
    document.getElementById('fieldsetEmailOptions').style.display='none';
    document.getElementById('openlinkEmailOptions').style.display='inline';
    document.getElementById('closelinkEmailOptions').style.display='none';
}


function toggleMiniFormlet(baseId)
{
    var miniFormlet = $dom.getById(baseId + '_miniFormlet');
    var toggleOn = $dom.getById(baseId + '_toggleOn');
    var toggleOff = $dom.getById(baseId + '_toggleOff');
    
    if (miniFormlet.style.display == 'none')
    {
        miniFormlet.style.display = 'block';
        toggleOn.style.display = 'none';
        toggleOff.style.display = 'block';
    } else {
        miniFormlet.style.display = 'none';
        toggleOn.style.display = 'block';
        toggleOff.style.display = 'none';
    }
}

function updateRestFormletSel(ddlId, restName)
{
    var uxRestaurant = $dom.getById(ddlId);
    if (uxRestaurant) {
        for (i = 0; i < uxRestaurant.options.length; i++) {
            if(uxRestaurant.options[i].value == restName) {
                uxRestaurant.selectedIndex = i;
                break;
             }
        }
    }
}

function toggleVisibleArea(name, visible)
{
    document.getElementById(name).style.display = (visible ? 'block' : 'none');
}


function formletSelector(uxRestaurantId, uxLinkId)
{
    this.updateLink = function()
    {
        var s = this.uxLink.href;
        s = s.replace(/r=.*$/, "r=" + this.value);
        this.uxLink.href = s;
    };
    
    var uxRestaurant = document.getElementById(uxRestaurantId);
    uxRestaurant.uxLink = document.getElementById(uxLinkId);
    us.popdt.event.add(uxRestaurant, "change", this.updateLink);
}


// start loader

function addEvent( obj, type, fn )
{
	if (obj.addEventListener)
	{
	    obj.addEventListener( type, fn, false );
	}
	else if (obj.attachEvent)
	{
		obj["e"+type+fn] = fn;
		obj[type+fn] = function()
		{
		    obj["e"+type+fn]( window.event );
        }
		obj.attachEvent( "on"+type, obj[type+fn] );
	}
}

function removeEvent( obj, type, fn )
{
	if (obj.removeEventListener)
	{
	    obj.removeEventListener( type, fn, false );
	}
	else if (obj.detachEvent)
	{
		obj.detachEvent( "on"+type, obj[type+fn] );
		obj[type+fn] = null;
		obj["e"+type+fn] = null;
	}
}

// end loader



// start popup

// usage: popuplink(['js-only url',] this[, w[, h[, scroll[, resizable [, extras]]]]])
// basic usage: <a href="popup.html" target="_blank" onclick="return(popuplink(this));">new pop</a>
// advanced usage: <a href="popup_nojs.html" target="_blank" onclick="return(popuplink('popup_yesjs.html', this, 200, 100, false,false));">new pop</a>  */
// site-wide defaults:
popup_w = 600;
popup_h = 450;
popup_scroll = true;
popup_resize = false;
popup_extras = 'location=0,status=0,menubar=0';
function popuplink()
{
    var undef, i=0, args=popuplink.arguments;
    var url = (typeof(args[i])=='string') ? args[i++] : args[i].getAttribute('href');
    var target = args[i++].getAttribute('target') || '_blank';
    var w = args[i++];
    var h = args[i++];
    var s = (args[i]===undef) ? popup_scroll : args[i++];
    var r = (args[i]===undef) ? popup_resize : args[i++];
    var scrw=(screen.width/2)-((w || popup_w)/2);
    var scrh=(screen.height/2)-((h || popup_w)/2);
    if (scrh > 100) { scrh = scrh - 40; }
    var features = 'width=' + (w || popup_w)
        + ',height=' + (h || popup_h)
        + ',scrollbars=' + (s ? 'yes,' : 'no,')
        + ',resizable=' + (r ? '1,' : '0,')
        + (args[i] || popup_extras)
        + ',left='+scrw+',top='+scrh+',screenX='+scrw+',screenY='+scrh;
    var win = window.open(url, target, features);
    win.focus();
    return false;
}

// end popup
