var tooltip;
var pricingWeekCurrent = 0;
var pricingWeeksShown = 8;
var pricingWeeksTotal = 20;
var pricingWeeksWidth = 90;
$(document).ready(function() {
	
	var pathname = window.location.pathname;
	$("[href="+pathname+"]").addClass('active');
	$("[href="+pathname+"]").parents('td').addClass('td-active');

	tooltip = $('<div></div>');
	tooltip.addClass("tooltip")
	$("body").append(tooltip);
	
	$(document).bind('mousemove',function(e){ 
		if (tooltip.css('display') != "none"){
        	//$("#page-title").text("e.pageX: " + e.pageX + ", e.pageY: " + e.pageY); 
			tooltip.css('left', e.pageX + 10);
			tooltip.css('top', e.pageY - 5);
		}
	});
		
	$("[tooltip]").bind('mouseenter', function(e){
		if ($(this).attr('tooltip')!= ""){
			tooltip.text($(this).attr('tooltip'));
			tooltip.show();
		}
	});
	$("[tooltip]").bind('mouseleave', function(e){
		tooltip.hide();
	});
	
	activateNavPopup();
		
	
	/* newsletter */
	
	$("#block-views-NodeToBlock-block_1 .webform-component-email input").val("Enter your Email here");
	
	$("#block-views-NodeToBlock-block_1 .webform-component-email input").mousedown(function(){
	
		if ($(this).val() == "Enter your Email here"){
			$(this).val("");
		}
	});
	
	
	$("#block-views-NodeToBlock-block_1 form").submit(function(e) {
		var emailField = $("#block-views-NodeToBlock-block_1 .webform-component-email input");
		var email = emailField.val();
		if (isEmailValid(email) == true){
			return true;
		} else {
			alert("Please enter a valid Email address");
			emailField.css('border', '1px solid red');
			return false;
		}
	});
	
	$('.pagetitle-newsletter .main-content .links a[href="/content/newsletter"]')
		.attr('href', '/')
		.text("Go back to the home page");
	
	
	
	/* pricing table pager */
	
	$('.pricing-table-pager').each(function(){
	
		$(this).html('Showing weeks <span class="week-start">1</span>-<span class="week-end">8</span> of <span class="week-total">20</span>');
		var table = $(this).parents(".pricing-table");
		table.find('.tr-head').append('<div class="pricing-pager-left"></div><div class="pricing-pager-right"></div>')
		pricingWeeksTotal = table.find('.tr-head .tr-slide .th').length;
		table.find('.week-total').text(pricingWeeksTotal);
		
		// offset start if start is empty
		var firstPopulatedWeek = pricingWeeksTotal;
		table.find('.tr-slide').each(function(){
			var i = 0;
			$(this).find('.td').each(function(){
			 	if(!$(this).hasClass('td-empty')){
			 		if(i < firstPopulatedWeek){
			 			firstPopulatedWeek = i;
			 		}
			 	}
			 	i++;
			});
		});
		
		pricingWeekCurrent = firstPopulatedWeek;
		if (pricingWeekCurrent >= pricingWeeksTotal - pricingWeeksShown){
			pricingWeekCurrent = pricingWeeksTotal - pricingWeeksShown;
		}
		table.find('.tr-slide').stop().animate({'left': pricingWeeksWidth * pricingWeekCurrent * -1},800);
		table.find('.week-start').text(pricingWeekCurrent + 1);
		table.find('.week-end').text(pricingWeekCurrent + pricingWeeksShown);
	
		
		$('.pricing-pager-left').click(function (e){
			e.preventDefault();
			if (pricingWeekCurrent > 0){
				pricingWeekCurrent -= 4;
				if (pricingWeekCurrent <= 0){
					pricingWeekCurrent = 0;
				}
				table.find('.tr-slide').stop().animate({'left': pricingWeeksWidth * pricingWeekCurrent* -1},800);
				table.find('.week-start').text(pricingWeekCurrent + 1);
				table.find('.week-end').text(pricingWeekCurrent + pricingWeeksShown);
			}
		});
		$('.pricing-pager-right').click(function (e){
			e.preventDefault();
			if (pricingWeekCurrent < pricingWeeksTotal - pricingWeeksShown){
				pricingWeekCurrent += 4 ;
				if (pricingWeekCurrent >= pricingWeeksTotal - pricingWeeksShown){
					pricingWeekCurrent = pricingWeeksTotal - pricingWeeksShown;
				}
				table.find('.tr-slide').stop().animate({'left': pricingWeeksWidth * pricingWeekCurrent * -1},800);
				table.find('.week-start').text(pricingWeekCurrent + 1);
				table.find('.week-end').text(pricingWeekCurrent + pricingWeeksShown);
			}
		
		});
		
		
		
		
	});
	
	/* booking form bike hire drop-down */
	evalBFDD();
	$("#edit-submitted-do-you-require-bike-hire-1-wrapper input,#edit-submitted-do-you-require-bike-hire-2-wrapper input").change(function(){
		setTimeout('evalBFDD()', 100);
	});
	$("#edit-submitted-do-you-require-bike-hire-1-wrapper input,#edit-submitted-do-you-require-bike-hire-2-wrapper input").mouseup(function(){
		setTimeout('evalBFDD()', 100);
	});
	
	/* help edit pricing */
	if($('body').hasClass('node-type-pricing')){
		if($('body').hasClass('argument-2-edit') || $('body').hasClass('argument-2-create') ){
			autoPricingName();
			$('select').change(function(){
				autoPricingName();
			});
		}
	}
	
	
});

function autoPricingName (){
	var pricingName = $('#edit-field-package-nid-nid option:selected').text() +' '+$('#edit-field-accommodation-nid-nid option:selected').text() +' '+$('#edit-field-week-nid-nid option:selected').text();
	pricingName = pricingName.replace(/\s+/gi,' ');
	$('#edit-title').val(pricingName);
}

function evalBFDD(){
	if($("#edit-submitted-do-you-require-bike-hire-2-wrapper :checked").length > 0){
		//"No" selected
		$("#webform-component-bike-type").hide();
	} else {
		$("#webform-component-bike-type").show();
	}
}

function activateNavPopup(){
	
	$(".nav-link-holidays, .region-holidays").bind('mouseenter', function() {
  		activeNav("holidays");
	});
	$(".nav-link-guiding, .region-guiding").bind('mouseenter', function(){
  		activeNav("guiding");
	});	
	$(".nav-link-about, .region-about").bind('mouseenter', function(){
  		activeNav("about");
	});
	$(".wrapper-popup").bind('mouseenter', function() {
		showNavPopup();
	});
	$(".wrapper-popup .c1, .nav-link-holidays, .nav-link-guiding, .nav-link-about").bind('mouseleave', function(){
		fadeNavPopup();
	});
	
}
function activeNav(name){
  	$(".region").hide();
	$(".region-"+name).show();
	$(".section-nav .nav-link").removeClass('drop');
	$(".section-nav .nav-link-"+name).addClass('drop');
	showNavPopup();
}
function showNavPopup (){
	$(".wrapper-popup .c1").stop().show().css({'opacity': 1});
}
function fadeNavPopup (){
	$(".wrapper-popup .c1").stop().show().css({'opacity': 1});
	$(".wrapper-popup .c1").animate({'opacity': 0}, 300, function(){
  		$(".wrapper-popup .c1").hide().stop().css({'opacity': 1});
		$(".section-nav .nav-link").removeClass('drop');
	});
}

function isEmailValid (email){
	var emailReg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
	if (emailReg.test(email) == true){
		return true;
	} else {
		return false;
	}
}
