jQuery(function () {
    jQuery('.menuToggler img').not('.menuToggler .off').css('display', 'none');

    jQuery('.menuToggler').hover(
		function () {
		    if (jQuery('.innerToggler').attr('status') == 'closed') {
		        jQuery(this).find('.off').css('display', 'none');
		        jQuery(this).find('.hover').css('display', 'block');
		    }
		},
		function () {
		    if (jQuery('.innerToggler').attr('status') == 'closed') {
		        jQuery(this).find('.off').css('display', 'block');
		        jQuery(this).find('.hover').css('display', 'none');
		    }
		}
	).click(function () {
	    animateToggler(750);
	});

    jQuery('.subSiteItem a img.on').css('display', 'none');
    jQuery('.subSiteItem a.active img.off').css('display', 'none');
    jQuery('.subSiteItem a.active img.on').css('display', 'block');

    jQuery('.subSiteItem a').not(jQuery('.subSiteItem a.active')).hover(
		function () {
		    jQuery(this).find('img.on').css('display', 'block');
		    jQuery(this).find('img.off').css('display', 'none');
		},
		function () {
		    jQuery(this).find('img.on').css('display', 'none');
		    jQuery(this).find('img.off').css('display', 'block');
		}
	);

    // setup do top menu / clubes / mouse overs
    jQuery('.clubsplaceholder .logoItem .on').css('display', 'none');
    jQuery('.clubsplaceholder .logoItem').hover(
						function () {
						    jQuery(this).find('.off').css('display', 'none');
						    jQuery(this).find('.on').css('display', 'block');
						},
						function () {
						    jQuery(this).find('.on').css('display', 'none');
						    jQuery(this).find('.off').css('display', 'block');
						}
	);

    //jQuery(function () { SetUpTogglerScroller(); });

    // showClubL();

});

function animateToggler(speed) {
    var toggler = jQuery('.innerToggler');

    if (toggler.attr('status') == 'closed') {
        toggler.attr('status', 'opened');
        jQuery('.menuToggler img').css('display', 'none').filter('.on').css('display', 'block');
        toggler.stop().animate({
            height: 486
        }, speed, 'swing');
    } else {
        toggler.attr('status', 'closed');
        jQuery('.menuToggler img').css('display', 'none').filter('.off').css('display', 'block');
        toggler.stop().animate({
            height: 0
        }, speed, 'swing');
    }
}

function showClubL() {
    jQuery('div.[name="lnkRecrutamento"]').removeClass("activeItemTopMenu");
    jQuery('div.[name="lnkClubes"]').removeClass("activeItemTopMenu");
    jQuery('div.[name="lnkSobreClubeL"]').addClass("activeItemTopMenu");
    jQuery("#topClubL").show();
    jQuery("#topRecrutamento").hide();
    jQuery("#topClubes").hide();

    SetUpTogglerScroller('#topClubL');
}

function showClubes() {
    jQuery('div.[name="lnkRecrutamento"]').removeClass("activeItemTopMenu");
    jQuery('div.[name="lnkClubes"]').addClass("activeItemTopMenu");
    jQuery('div.[name="lnkSobreClubeL"]').removeClass("activeItemTopMenu");
    jQuery("#topClubL").hide();
    jQuery("#topRecrutamento").hide();
    jQuery("#topClubes").show();

    SetUpTogglerScroller('#topClubes');
}

function showRecrutamento() {
    jQuery('div.[name="lnkRecrutamento"]').addClass("activeItemTopMenu");
    jQuery('div.[name="lnkClubes"]').removeClass("activeItemTopMenu");
    jQuery('div.[name="lnkSobreClubeL"]').removeClass("activeItemTopMenu");
    jQuery("#topClubL").hide();
    jQuery("#topRecrutamento").show();
    jQuery("#topClubes").hide();

    SetupRecruitScrolling();
}

function OpenToggler() {
    // jQuery('.menuToggler').click();
    animateToggler(0);
}

function SetUpNewsletterScroller() {
	var viewport = jQuery('.topContainer .innerContainer .leftColumn .scrollerViewport');
	var scroller = jQuery('.topContainer .innerContainer .leftColumn .scrollerViewport .scroller');
	var sliderWrapper = jQuery('.topContainer .innerContainer .leftColumn .sliderWrapper');
	var btnSliderTop = jQuery('.topContainer .innerContainer .leftColumn .sliderWrapper #sliderTop');
	var btnSliderBottom = jQuery('.topContainer .innerContainer .leftColumn .sliderWrapper #sliderBottom');
	var sliderArea = jQuery('.topContainer .innerContainer .leftColumn .sliderWrapper #sliderArea');
	var knob = jQuery('.topContainer .innerContainer .leftColumn .sliderWrapper #sliderArea #knob');

	if (scroller.height() <= viewport.height()) {
		sliderWrapper.hide(0);
	} else {
		function SlideDown(offset) {
			var knobPos = knob.offset().top - sliderArea.offset().top;
			knobPos += offset || 5;
			if (knobPos > (sliderArea.height() - knob.height())) knobPos = (sliderArea.height() - knob.height());

			knob.css('top', knobPos);
			viewport.scrollTop(cst * knobPos);
		};

		function SlideUp(offset) {
			var knobPos = knob.offset().top - sliderArea.offset().top;
			knobPos -= offset || 5;
			if (knobPos < 0) knobPos = 0;
			knob.css('top', knobPos);
			viewport.scrollTop(cst * knobPos);
		};

		sliderWrapper.show(0);

		var viewportHeight = viewport.outerHeight();
		var contentHeight = scroller.outerHeight();

		var cst = (contentHeight - viewportHeight) / (sliderArea.height() - knob.height());

		knob.draggable({
			axis: 'y',
			containment: 'parent',
			drag: function (event, ui) {
				viewport.scrollTop(cst * ui.position.top);
			},
			refreshPositions: true
		});

		viewport.unbind();
		viewport.mwheelIntent(function (event, delta) {
			viewport.stop();
			knob.stop();
			if (delta > 0) {
				SlideUp(25);
			}
			else {
				SlideDown(25);
			}
		});

		var knobPos = knob.offset().top - sliderArea.offset().top;
		knob.css('top', knobPos);
		viewport.scrollTop(cst * knobPos);

		btnSliderTop.click(function () {
			SlideUp(25);
		}).mousedown(function () {
			jQuery(this).css('background-position', '-18px -19px');
			jQuery(this).everyTime('100ms', 'SlideUp', SlideUp);
		}).mouseup(function () {
			jQuery(this).css('background-position', '-18px 0');
			jQuery(this).stopTime('SlideUp', SlideUp);
		});

		btnSliderBottom.click(function () {
			SlideDown(25);
		}).mousedown(function () {
			jQuery(this).css('background-position', '-38px -19px');
			jQuery(this).everyTime('100ms', 'SlideDown', SlideDown);
		}).mouseup(function () {
			jQuery(this).css('background-position', '-38px 0');
			jQuery(this).stopTime('SlideDown', SlideDown);
		});
	}
}

function SetUpTogglerScroller(subTogglerId) {
	var subToggler = jQuery(subTogglerId);
	var viewport = subToggler.find('.centerColumn .viewport');
	var scroller = subToggler.find('.centerColumn .viewport .scroller');
	var sliderWrapper = subToggler.find('.rightColumn .sliderWrapper');
	var btnSliderTop = subToggler.find('.rightColumn .sliderWrapper .sliderTopButton');
	var btnSliderBottom = subToggler.find('.rightColumn .sliderWrapper .sliderBottomButton');
	var sliderArea = subToggler.find('.rightColumn .sliderWrapper .sliderArea');
	var knob = subToggler.find('.rightColumn .sliderWrapper .sliderArea .knob');

	if (scroller.height() <= viewport.height()) {
		sliderWrapper.hide(0);
	} else {
		function SlideDown(offset) {
			var knobPos = knob.offset().top - sliderArea.offset().top;
			knobPos += offset || 5;
			if (knobPos > (sliderArea.height() - knob.height())) knobPos = (sliderArea.height() - knob.height());

			knob.css('top', knobPos);
			viewport.scrollTop(cst * knobPos);
		};

		function SlideUp(offset) {
			var knobPos = knob.offset().top - sliderArea.offset().top;
			knobPos -= offset || 5;
			if (knobPos < 0) knobPos = 0;
			knob.css('top', knobPos);
			viewport.scrollTop(cst * knobPos);
		};

		sliderWrapper.show(0);

		var viewportHeight = viewport.outerHeight();
		var contentHeight = scroller.outerHeight();

		var cst = (contentHeight - viewportHeight) / (sliderArea.height() - knob.height());

		knob.draggable({
			axis: 'y',
			containment: 'parent',
			drag: function (event, ui) {
				viewport.scrollTop(cst * ui.position.top);
			},
			refreshPositions: true
		});

		viewport.unbind();
		viewport.mwheelIntent(function (event, delta) {
			viewport.stop();
			knob.stop();
			if (delta > 0) {
				SlideUp(25);
			}
			else {
				SlideDown(25);
			}
		});

		var knobPos = knob.offset().top - sliderArea.offset().top;
		knob.css('top', knobPos);
		viewport.scrollTop(cst * knobPos);

		btnSliderTop.click(function () {
			SlideUp(25);
		}).mousedown(function () {
			jQuery(this).css('background-position', '-18px -19px');
			jQuery(this).everyTime('100ms', 'SlideUp', SlideUp);
		}).mouseup(function () {
			jQuery(this).css('background-position', '-18px 0');
			jQuery(this).stopTime('SlideUp', SlideUp);
		});

		btnSliderBottom.click(function () {
			SlideDown(25);
		}).mousedown(function () {
			jQuery(this).css('background-position', '-37px -19px');
			jQuery(this).everyTime('100ms', 'SlideDown', SlideDown);
		}).mouseup(function () {
			jQuery(this).css('background-position', '-37px 0');
			jQuery(this).stopTime('SlideDown', SlideDown);
		});
	}
}

function SetupRecruitScrolling() {
    var paggingSection = jQuery('.paggingSection .paggingWrapper');
    var viewport = jQuery('.recrutamentoViewport');
    var scroller = jQuery('.recrutamentoViewport .scroller');
    var recruitItems = jQuery('.recrutamentoItem');

	var pages = Math.ceil(scroller.height() / viewport.height());

	paggingSection.empty();
	for (var i = 0; i < pages; i++) {
		jQuery('<div class="pageItem">' + parseInt(i + 1) + '</div>').appendTo(paggingSection);
	}

    var clickers = jQuery('.paggingSection .paggingWrapper .pageItem');
    clickers.click(function () {
        var index = clickers.index(jQuery(this));

        clickers.removeClass('pageItemActive').addClass('pageItem');
        jQuery(this).removeClass('pageItem').addClass('pageItemActive');

        if (index == pager.currentPage)
            scroller.stop().animate({ top: -(index * 204) }, 0, 'swing');
        else
            scroller.stop().animate({ top: -(index * 204) }, 500, 'swing');

        pager.currentPage = index;
    });
    jQuery(clickers.get(pager.currentPage)).click();
}

function loadClassMap(gymId) {
	var object = '' +
		'<div class="classMapItem">' +
			'<div class="left">' +
				'<div class="title"></div>' +
				'<div class="desc">' +
					'<div class="hour"></div>' +
					'<div class="image"></div>' +
					'<div class="clearBoth"></div>' +
					'<div class="prof"></div>' +
					'<div class="clearBoth"></div>' +
				'</div>' +
			'</div>' +
			'<div class="right">' +
				'<div class="wrapper">' +
					'<div class="top"></div>' +
					'<div class="middle"></div>' +
					'<div class="bottom"></div>' +
				'</div>' +
			'</div>' +
			'<div class="clearBoth"></div>' +
			'<div class="sep"></div>' +
		'</div>';

	jQuery.ajax({
		data: '{ "gymId": ' + gymId + '}',
		type: "POST",
		contentType: "application/json; charset=utf-8",
		dataType: 'json',
		success: function (data, textStatus, XMLHttpRequest) {
			var d = data.d;
			jQuery('.classMapPlugin .viewport .scroller').empty();

			jQuery.each(d, function (index, item) {
				if (index >= 4) return;

				var classMapItem = jQuery(object);
				classMapItem.find('.title').html(item.title);
				classMapItem.find('.hour').html(item.hour);
				classMapItem.find('.prof').html(item.prof);
				if (item.imagem != '') {
					var img = new Image();
					img.src = item.imagem;
					jQuery(img).appendTo(classMapItem.find('.image'));
				}

				var topCst = 0;
				switch (item.duration) {
					case '15':
						topCst = 0;
						break;
					case '20':
						topCst = 1;
						break;
					case '25':
						topCst = 2;
						break;
					case '30':
						topCst = 3;
						break;
					case '35':
						topCst = 4;
						break;
					case '40':
						topCst = 5;
						break;
					case '45':
						topCst = 6;
						break;
					case '50':
						topCst = 7;
						break;
					case '55':
						topCst = 8;
						break;
					case '60':
						topCst = 9;
						break;
					case '65':
						topCst = 10;
						break;
					case '70':
						topCst = 11;
						break;
					case '75':
						topCst = 12;
						break;
				}
				classMapItem.find('.right .wrapper .top').css('background-position', '0 -' + parseInt(14 * topCst) + 'px');

				var bottomCst = 0;
				switch (item.location) {
					case 'Estudio 1':
						bottomCst = 0;
						break;
					case 'Estudio 2':
						bottomCst = 1;
						break;
					case 'Estudio 3':
						bottomCst = 2;
						break;
					case 'Estudio 4':
						bottomCst = 3;
						break;
					case 'Piscina':
						bottomCst = 4;
						break;
					case 'Outdoor':
						bottomCst = 5;
						break;
					case 'Kids':
						bottomCst = 6;
						break;
					case 'SE':
						bottomCst = 7;
						break;
				}
				classMapItem.find('.right .wrapper .bottom').css('background-position', '0 -' + parseInt(14 * bottomCst) + 'px');

				classMapItem.appendTo(jQuery('.classMapPlugin .viewport .scroller'));
			});

			if (jQuery.browser.webkit == true) {
				jQuery('.clock').css('top', '5px');
			}
		},
		url: 'RemoteServices.asmx/getEventClasses',
		error: function (XMLHttpRequest, textStatus, errorThrown) {
			alert(errorThrown);
		},
		complete: function () {
		}
	});
}

function SetClock() {
	var date = new Date();
	var hours = date.getHours();
	var minutes = date.getMinutes();

	if (hours.toString().length <= 1)
		hours = '0' + hours;

	if (minutes.toString().length <= 1)
		minutes = '0' + minutes;

	jQuery('.classMapPlugin .header .clock').html(hours + ':' + minutes);
}

function LoadIndexDate() {
	var days = ['Domingo', 'Segunda', 'Ter%E7a', 'Quarta', 'Quinta', 'Sexta', 'S%E1bado'];
	var months = ['Jan', 'Fev', 'Mar', 'Abr', 'Mai', 'Jun', 'Jul', 'Ago', 'Sep', 'Out', 'Nov', 'Dez'];

	var date = new Date();

	jQuery('.indexFlashContainer .head .day').text(unescape(days[date.getDay()]));
	jQuery('.indexFlashContainer .head .date').text(date.getDate() + '.' + months[date.getMonth()] + '.' + date.getFullYear());
}

function AdjustScroller() {
	var viewport = jQuery('.topContainer .innerContainer .leftColumn .scrollerViewport');
	var scroller = jQuery('.topContainer .innerContainer .leftColumn .scrollerViewport .scroller');
	var sliderArea = jQuery('.topContainer .innerContainer .leftColumn .sliderWrapper #sliderArea');
	var knob = jQuery('.topContainer .innerContainer .leftColumn .sliderWrapper #sliderArea #knob');

	var selectedItem = jQuery('.newsletterItem a.selected');

	if (selectedItem.length > 0) {
		var viewportHeight = viewport.outerHeight();
		var contentHeight = scroller.outerHeight();
		var cst = (contentHeight - viewportHeight) / (sliderArea.height() - knob.height());

		var knobPos = selectedItem.position().top / cst;
		if (knobPos > (sliderArea.height() - knob.height())) knobPos = (sliderArea.height() - knob.height());
		knob.css('top', knobPos);
		viewport.scrollTop(cst * knobPos);
	}
}
