
var Tab = new Class({
    initialize: function(tabContentContainer, contentContainer, tabContainer, clickElement, contentElement) {
        tabContentContainer = document.getElement(tabContentContainer);
        contentContainer = tabContentContainer.getElement(contentContainer);
        tabContainer = tabContentContainer.getElement(tabContainer);
        clickElement = tabContentContainer.getElement(clickElement);
        contentElement = tabContentContainer.getElement(contentElement);

        clickElement.addEvent('click', function(event) {
           event.preventDefault();
           contentContainer.getChildren('div').setStyle('display','none');
           contentElement.setStyle('display','block'); 
           tabContainer.getElement('.selected').removeClass('selected');
           clickElement.addClass('selected');
					// For SiteSpect click tracking for tabs
				   var whichtab = this.id;		
				   new Asset.image("/click_track.png?event='" + whichtab + "'time=" + (new Date().getTime()) )
        });
    }
});

var DropDown = new Class({
    Implements: Options,
    options: {
        'position': 'null',
        'relativeTo': window,
        'orientation': 'left'
    },
    
    initialize: function(hoverEl, popEl, options) {
        this.setOptions(options);
        this.position = this.options['position'];
        this.relative = this.options['relativeTo'];
        this.orientation = this.options['orientation'];
        this.hoverElement = $type(hoverEl) == "element"? hoverEl:document.getElement(hoverEl);
        this.popoverElement = document.getElement(popEl);
        
        var that = this;
        this.hoverElement.addEvent('mouseover', function(event){
            document.getElements('#fp-dropdowns div').setStyle('display','none');
            document.getElements('.selectedDropDown').removeClass('selectedDropDown');
            that.display[that.position].call(that);
        });
    },
    
    display: {
        'bottom': function() {            
            var elementPosition = this.hoverElement.getCoordinates(this.relative);            
            this.popoverElement.setStyles({
                'display':'block',
                'position':'absolute',
                'top':elementPosition.bottom,
                'z-index':'100'
            });
            
            if(this.orientation == 'left')
                this.popoverElement.setStyle('left',elementPosition.left);
            else
                this.popoverElement.setStyle('left',elementPosition.left - 
                                                    this.popoverElement.getCoordinates().width +
                                                    elementPosition.width + 2);
                
            this.hoverElement.addClass('selectedDropDown');
            this.setHide();
        },
        
        'right': function() {
            var elementPosition = this.hoverElement.getCoordinates(this.relative);            
            this.popoverElement.setStyles({
                'display':'block',
                'position':'absolute',
                'top':elementPosition.top,
                'left':elementPosition.right,
                'z-index':'100'
            });
            this.setHide();
        }
    },
    
    setHide: function() {
        var timeout = 0;
        var that = this;
        this.hoverElement.addEvent('mouseout', function(event) {
            timeout = that.hide.delay(300, that);
        });
        this.popoverElement.addEvent('mouseout', function(event) {
            timeout = that.hide.delay(300, that);
        });
        this.hoverElement.addEvent('mouseover', function(event) {
            timeout = $clear(timeout);
        });
        this.popoverElement.addEvent('mouseover', function(event) {
            timeout = $clear(timeout);
        });
    },
    
    hide: function() {
        this.popoverElement.setStyle('display','none');
        this.hoverElement.removeClass('selectedDropDown');
    }
});

window.addEvent('domready', function(){
    var navitems = document.getElements('#header .nav li.category');
		new DropDown(navitems[0],'#fp-dropdown-shoes',{'position':'bottom','relativeTo':document.getElement('#wrap')});
    new DropDown(navitems[1],'#fp-dropdown-clothing',{'position':'bottom','relativeTo':document.getElement('#wrap')});
    new DropDown(navitems[2],'#fp-dropdown-bags',{'position':'bottom','relativeTo':document.getElement('#wrap')});
    new DropDown(navitems[3],'#fp-dropdown-watches',{'position':'bottom','relativeTo':document.getElement('#wrap')});
    new DropDown(navitems[4],'#fp-dropdown-eyewear',{'position':'bottom','relativeTo':document.getElement('#wrap')});
    /*
    new DropDown('#fp-select-brands','#fp-dropdown-brands',{'orientation':'right','position':'bottom','relativeTo':document.getElement('#header')});
    new DropDown('#fp-select-women','#fp-dropdown-women',{'orientation':'right','position':'bottom','relativeTo':document.getElement('#header')});
    new DropDown('#fp-select-men','#fp-dropdown-men',{'orientation':'right','position':'bottom','relativeTo':document.getElement('#header')});
    new DropDown('#fp-select-kids','#fp-dropdown-kids',{'orientation':'right','position':'bottom','relativeTo':document.getElement('#header')});
    */
});

window.addEvent('domready', function(){
    new Tab('#shop-products','.tab-content','.tabs','#shop-products-shoes-tab','#shop-products-shoes')
    new Tab('#shop-products','.tab-content','.tabs','#shop-products-clothing-tab','#shop-products-clothing')
    new Tab('#shop-specialty','.tab-content','.tabs','#shop-specialty-shoes-tab','#shop-specialty-shoes')
    new Tab('#shop-specialty','.tab-content','.tabs','#shop-specialty-clothing-tab','#shop-specialty-clothing')

    window.slider = new Slider("#slider", {'width': 758});
});

window.addEvent('domready', function(){
    var jsonRequest = new Request.JSON({url: "/json/brands", onComplete: function(brands){
        if ($type(brands) == 'array') {
            console.time("Setting up AutoSuggest Brand Search");
            
            new AutoSuggest($('brandsearch'), brands, {
                'defaultValue': '-- Enter a brand name --',
                'compare': 'beginning', // 'anywhere'
                'encodeInput': true
            });
            console.timeEnd("Setting up AutoSuggest Brand Search");
        }
    }}).get();
    
});

(function () {
	var head = document.getElementsByTagName("head")[0];
	if (head) {
		var scriptStyles = document.createElement("link");
		scriptStyles.rel = "stylesheet";
		scriptStyles.type = "text/css";
		scriptStyles.href = "/css/index3-hide.css";
		head.appendChild(scriptStyles);
	}
})();

// SiteSpect click tracking class for external linkage to Classic

var SSTrack = new Class({
    initialize: function(trackelement, eventname) {
						trackelement = $type(trackelement) == "element"? hoverEl:document.getElement(trackelement);
						trackelement.addEvent('click', function(event) {
						new Asset.image("/click_track.png?event='" + eventname + "'&amp;time=" + (new Date().getTime()) ) 
        });
    }
});


window.addEvent('domready', function(){
		
		new SSTrack('#header .nav #more-depts a','ViewMoreDeptsDropdown')
		new SSTrack('#header .main .zapClassic a','headerzapclassiclink')
		new SSTrack('.fp-promo-images #visaccpromo a','VisaCCPromo')
		new SSTrack('.fp-promo-images #freeclotheswinnerpromo a','FreeClothesPromo')
		new SSTrack('.fp-promo-images #giftcardspromo a','GiftCardsPromo')
		
});
