﻿var Homepage = (function() {
    function init() {
        //Site.loadSmallCalendar();
        //Site.loadNextEvents();
        loadSubMenus();
       // loadPromos();
        new HomePageNextEvents();
        new HomePagePromos();
        var direction = 'left';
        if (Config.isRtl)
            direction = 'right';
        new mooquee($('newsTickerHolder'), { direction: direction, marWidth: 465 });
        Site._setBlockRoundCorners();
    }

    $domready(init);

    function loadSubMenus() {

        var rightShift = 0;
        var leftShift = 0;
        $("main-big-menu").getElements(".main-item").each(function(el, index) {
            var SubMenuTemp = el.getElement(".SubMenu");

            if (index > 3) {
                var leftCurrShift = leftShift + ((7 - index) * 75);
            }
            else {
                var rightCurrShift = rightShift + (index * 75);
            }

            if (SubMenuTemp) {
                if (index > 3) {
                    if (Site.Direction == "ltr") {
                        SubMenuTemp.setStyle("right", leftCurrShift + "px");
                        SubMenuTemp.setStyle("left", "auto");
                    }
                    else {
                        SubMenuTemp.setStyle("left", leftCurrShift + "px");
                        SubMenuTemp.setStyle("right", "auto");
                    }

                    SubMenuTemp.getElement(".bottom-flow-right").setStyle("display", "none");
                    SubMenuTemp.getElement(".block-wrapper").setStyles({ marginRight: "0px", marginLeft: "0px" });
                }
                else {
                    if (Site.Direction == "ltr") SubMenuTemp.setStyle("left", rightCurrShift + "px");
                    else SubMenuTemp.setStyle("right", rightCurrShift + "px");

                    SubMenuTemp.getElement(".bottom-flow-left").setStyle("display", "none");
                }

                el.addEvent('mouseover', function() { SubMenuTemp.setStyle("visibility", "visible"); });
                el.addEvent('mouseout', function() { SubMenuTemp.setStyle("visibility", "hidden"); });
            }

        });

    }



})();

//load and rotate promos on homepage
	var promosCount,promos,currPromo,nextPromo,rotatePromosSetTimeout;
	var timerPromo = 3000;
	nextPromo = 1;
	function loadPromos() {
		if (!$("promos-numbers-wrapper")) {
			rotatePromosSetTimeout=$clear(rotatePromosSetTimeout);
			return;
		}
		promos = $("promos").getElements(".promoImg");
		promosCount = promos.length-1;
		nextPromo = promosCount;
		var t = $("promos-numbers-wrapper").getElement(".valign-item");
		promos.each(function(el,index){
			
			var imgNumLink = new Element("a").set("html",(index+1));
			imgNumLink.href="javascript:goToPromo("+index+");";
			imgNumLink.className = "promoLink";
			t.adopt(imgNumLink);
			
			if(index>0){el.fade("out");}
			else {
				currPromo=index;
				$("promos-numbers-wrapper").getElements("a")[index].className="promoLink_on";
			}
			if(index==(promosCount-2)) {nextPromo=index;}
		});
		rotatePromos(timerPromo);
	}
	function rotatePromos(timeOutToNextChange){
		var nextPromoIndex = (nextPromo == promosCount) ? 0 : nextPromo + 1;
		
		switchPromos(promos);
		currPromo = nextPromo;
		rotatePromosSetTimeout = setTimeout ('rotatePromos('+timerPromo+')',timeOutToNextChange);
		nextPromo = nextPromoIndex;
	}
	function switchPromos(promos){
		promos.each(function(el,index){
			if(index==currPromo){
				el.fade("in");
				$("promos-numbers-wrapper").getElements("a")[index].className="promoLink_on";
			}
			else {
			el.fade("out");
				$("promos-numbers-wrapper").getElements("a")[index].className="promoLink";
			}
		});
	}

	function goToPromo(ind){
		currPromo = ind;
		switchPromos(promos);
}

var HomePageNextEvents = new Class({

    Implements: [Options, Events],
    _currentNextEventDateSelected: null,

    options: {

},

initialize: function(options) {
    this.setOptions(options);
    this.initHomeNextEvents();
},
initHomeNextEvents: function() {
    var links = $$(".next-events-navigation .event-nav-link");
    var panels = $$("#next-events-hp .panel");
    this.initPanelsScrollbars(panels);
    panels.fade("out");
    links.addReplacingEvent("click", function(e) {
        this.selectDate($(e.target));
    } .bind(this));
    this.selectDate(links[0]);
},
initPanelsScrollbars: function(panels) {
    panels.each(function(el, idx) {
        var id = el.get('id');
        id = id.substr(7, 5);
        makeScrollbar($('events_' + id + '_panel'), $('events_' + id + '_scroller'), $('events_' + id + '_handle'));
    });
},
selectDate: function(elem) {
    if (!elem)
        return;
    if (this._currentNextEventDateSelected != null) {
        if (this._currentNextEventDateSelected.getPrevious() != null)
            this._currentNextEventDateSelected.getPrevious().removeClass("withoutBorder");
        this._currentNextEventDateSelected.removeClass("selected");
        var ulToHide = $$("#next-events-hp #events_" + (this._currentNextEventDateSelected.get("href").substr(1) + "_holder"));
        ulToHide.fade("out");
    }
    if (elem.getPrevious() != null)
        elem.getPrevious().addClass("withoutBorder");

    elem.addClass("selected");
    this._currentNextEventDateSelected = elem;
    var ulToShow = $$("#next-events-hp #events_" + (this._currentNextEventDateSelected.get("href").substr(1) + "_holder"));
    ulToShow.fade("in");
}

});



var HomePagePromos = new Class({

    Implements: [Options, Events],
    panels: null,
    currentPanel: null,
    options: {

},
promoTimer: 0,
initialize: function(options) {
    this.setOptions(options);
    this.panels = $$("#dealsPromos #promos li");
    this.panels.each(function(el, idx) {
        if (idx != 0)
            el.fade("out");
        else
            this.currentPanel = el;
    } .bind(this));
    $$("#dealsPromos  .prev-promo").addReplacingEvent("click", this.showPrevPromo.bind(this));
    $$("#dealsPromos  .next-promo").addReplacingEvent("click", this.showNextPromo.bind(this));
    if (this.panels.length == 0)
        $("promos-numbers-wrapper").hide();

    this.promoTimer = setInterval((this.showPrevPromo).bind(this), 3000);

},
showNextPromo: function(e) {
    if (typeof (e.target) != 'undefined') {
        $clear(this.promoTimer);
    };
    var currentIdx = this.panels.indexOf(this.currentPanel);
    var nextIdx = currentIdx - 1;
    if (nextIdx >= 0)
        this.showPromo(nextIdx);
    else
        this.showPromo(this.panels.length - 1);

},
showPrevPromo: function(e) {
   
    if (typeof(e)!='undefined' && typeof (e.target) != 'undefined') {
        $clear(this.promoTimer);
    };
    var currentIdx = this.panels.indexOf(this.currentPanel);
    var nextIdx = currentIdx + 1;
    if (nextIdx < this.panels.length)
        this.showPromo(nextIdx);
    else
        this.showPromo(0);

},
showPromo: function(idx) {
    if (this.currentPanel != null) {
        this.currentPanel.fade("out");
    }
    var nextPromo = this.panels[idx];
    this.currentPanel = nextPromo;
    if (typeof (nextPromo) != 'undefined')
        nextPromo.fade("in");


    $$("#dealsPromos .totals .currentPromo")[0].set("text", idx + 1);
}
});

