Your IP : 216.73.217.77


Current Path : /home/users/unlimited/www/foodbank.codeskitter.site/public/themes/scripts/
Upload File :
Current File : /home/users/unlimited/www/foodbank.codeskitter.site/public/themes/scripts/custom.js

/* ----------------- Start Document ----------------- */
(function($){
	"use strict";

	$(document).ready(function(){

		/*--------------------------------------------------*/
		/*  Mobile Menu - mmenu.js
		/*--------------------------------------------------*/
		$(function() {
			function mmenuInit() {
				var wi = $(window).width();
				if(wi <= '1024') {

					$(".mmenu-init" ).remove();
					$("#navigation").clone().addClass("mmenu-init").insertBefore("#navigation").removeAttr('id').removeClass('style-1 style-2')
									.find('ul, div').removeClass('style-1 style-2 mega-menu mega-menu-content mega-menu-section').removeAttr('id');
					$(".mmenu-init").find("ul").addClass("mm-listview");
					$(".mmenu-init").find(".mobile-styles .mm-listview").unwrap();


					$(".mmenu-init").mmenu({
						 "counters": true
					}, {
					 // configuration
					 offCanvas: {
						pageNodetype: "#wrapper"
					 }
					});

					var mmenuAPI = $(".mmenu-init").data( "mmenu" );
					var $icon = $(".hamburger");

					$(".mmenu-trigger").click(function() {
						mmenuAPI.open();
					});

					mmenuAPI.bind( "open:finish", function() {
					   setTimeout(function() {
						  $icon.addClass( "is-active" );
					   });
					});
					mmenuAPI.bind( "close:finish", function() {
					   setTimeout(function() {
						  $icon.removeClass( "is-active" );
					   });
					});


				}
				$(".mm-next").addClass("mm-fullsubopen");
			}
			mmenuInit();
			$(window).resize(function() { mmenuInit(); });
		});

		/*  User Menu */
		$('.user-menu').on('click', function(){
			$(this).toggleClass('active');
		});


		// Closes notification dropdown on click outside the conatainer
		var mouse_is_inside = false;

		$( ".user-menu" ).on( "mouseenter", function() {
		  mouse_is_inside=true;
		});
		$( ".user-menu" ).on( "mouseleave", function() {
		  mouse_is_inside=false;
		});

		$("body").mouseup(function(){
			if(! mouse_is_inside) $(".user-menu").removeClass('active');
		});



		/*----------------------------------------------------*/
		/*  Sticky Header
		/*----------------------------------------------------*/
		$( "#header" ).not( "#header.not-sticky" ).clone(true).addClass('cloned unsticky').insertAfter( "#header" );
		$('#header.cloned #sign-in-dialog').remove();
		$( "#navigation.style-2" ).clone(true).addClass('cloned unsticky').insertAfter( "#navigation.style-2" );

		// Logo for header style 2
		$( "#logo .sticky-logo" ).clone(true).prependTo("#navigation.style-2.cloned ul#responsive");


		// sticky header script
		var headerOffset = 140; // height on which the sticky header will shows

		$(window).scroll(function(){
			if($(window).scrollTop() >= headerOffset){
				$("#header.cloned").addClass('sticky').removeClass("unsticky");
				$("#navigation.style-2.cloned").addClass('sticky').removeClass("unsticky");
			} else {
				$("#header.cloned").addClass('unsticky').removeClass("sticky");
				$("#navigation.style-2.cloned").addClass('unsticky').removeClass("sticky");
			}
		});

		// Sticky Logo
		$(window).on('scroll load', function() {
			$("#header.cloned #logo img").attr("src", $('#header #logo img').attr('data-sticky-logo'));
		});

		/*----------------------------------------------------*/
		/*  Back to Top
		/*----------------------------------------------------*/
		var pxShow = 600; // height on which the button will show
		var scrollSpeed = 500; // how slow / fast you want the button to scroll to top.

		$(window).scroll(function(){
		 if($(window).scrollTop() >= pxShow){
			$("#backtotop").addClass('visible');
		 } else {
			$("#backtotop").removeClass('visible');
		 }
		});

		$('#backtotop a').on('click', function(){
		 $('html, body').animate({scrollTop:0}, scrollSpeed);
		 return false;
		});


		/*----------------------------------------------------*/
		/*  Inline CSS replacement for backgrounds etc.
		/*----------------------------------------------------*/
		function inlineCSS() {

			// Common Inline CSS
			$(".main-search-container, section.fullwidth, .listing-slider .item, .listing-slider-small .item, .address-container, .img-box-background, .image-edge, .edge-bg").each(function() {
				var attrImageBG = $(this).attr('data-background-image');
				var attrColorBG = $(this).attr('data-background-color');

				if(attrImageBG !== undefined) {
					$(this).css('background-image', 'url('+attrImageBG+')');
				}

				if(attrColorBG !== undefined) {
					$(this).css('background', ''+attrColorBG+'');
				}
			});

		}

		// Init
		inlineCSS();

		function parallaxBG() {

			$('.parallax').prepend('<div class="parallax-overlay"></div>');

			$( ".parallax").each(function() {
				var attrImage = $(this).attr('data-background');
				var attrColor = $(this).attr('data-color');
				var attrOpacity = $(this).attr('data-color-opacity');

				if(attrImage !== undefined) {
					$(this).css('background-image', 'url('+attrImage+')');
				}

				if(attrColor !== undefined) {
					$(this).find(".parallax-overlay").css('background-color', ''+attrColor+'');
				}

				if(attrOpacity !== undefined) {
					$(this).find(".parallax-overlay").css('opacity', ''+attrOpacity+'');
				}

			});
		}

		parallaxBG();



		/*----------------------------------------------------*/
		/*  Image Box
		/*----------------------------------------------------*/
		$('.category-box').each(function(){

			// add a photo container
			$(this).append('<div class="category-box-background"></div>');

			// set up a background image for each tile based on data-background-image attribute
			$(this).children('.category-box-background').css({'background-image': 'url('+ $(this).attr('data-background-image') +')'});

			// background animation on mousemove
			// $(this).on('mousemove', function(e){
			//   $(this).children('.category-box-background').css({'transform-origin': ((e.pageX - $(this).offset().left) / $(this).width()) * 100 + '% ' + ((e.pageY - $(this).offset().top) / $(this).height()) * 100 +'%'});
			// })
		});


		/*----------------------------------------------------*/
		/*  Image Box
		/*----------------------------------------------------*/
		$('.img-box').each(function(){
			$(this).append('<div class="img-box-background"></div>');
			$(this).children('.img-box-background').css({'background-image': 'url('+ $(this).attr('data-background-image') +')'});
		});



		/*----------------------------------------------------*/
		/*  Parallax
		/*----------------------------------------------------*/

		/* detect touch */
		if("ontouchstart" in window){
			document.documentElement.className = document.documentElement.className + " touch";
		}
		if(!$("html").hasClass("touch")){
			/* background fix */
			$(".parallax").css("background-attachment", "fixed");
		}

		/* fix vertical when not overflow
		call fullscreenFix() if .fullscreen content changes */
		function fullscreenFix(){
			var h = $('body').height();
			// set .fullscreen height
			$(".content-b").each(function(i){
				if($(this).innerHeight() > h){ $(this).closest(".fullscreen").addClass("overflow");
				}
			});
		}
		$(window).resize(fullscreenFix);
		fullscreenFix();

		/* resize background images */
		function backgroundResize(){
			var windowH = $(window).height();
			$(".parallax").each(function(i){
				var path = $(this);
				// variables
				var contW = path.width();
				var contH = path.height();
				var imgW = path.attr("data-img-width");
				var imgH = path.attr("data-img-height");
				var ratio = imgW / imgH;
				// overflowing difference
				var diff = 100;
				diff = diff ? diff : 0;
				// remaining height to have fullscreen image only on parallax
				var remainingH = 0;
				if(path.hasClass("parallax") && !$("html").hasClass("touch")){
					//var maxH = contH > windowH ? contH : windowH;
					remainingH = windowH - contH;
				}
				// set img values depending on cont
				imgH = contH + remainingH + diff;
				imgW = imgH * ratio;
				// fix when too large
				if(contW > imgW){
					imgW = contW;
					imgH = imgW / ratio;
				}
				//
				path.data("resized-imgW", imgW);
				path.data("resized-imgH", imgH);
				path.css("background-size", imgW + "px " + imgH + "px");
			});
		}


		$(window).resize(backgroundResize);
		$(window).focus(backgroundResize);
		backgroundResize();

		/* set parallax background-position */
		function parallaxPosition(e){
			var heightWindow = $(window).height();
			var topWindow = $(window).scrollTop();
			var bottomWindow = topWindow + heightWindow;
			var currentWindow = (topWindow + bottomWindow) / 2;
			$(".parallax").each(function(i){
				var path = $(this);
				var height = path.height();
				var top = path.offset().top;
				var bottom = top + height;
				// only when in range
				if(bottomWindow > top && topWindow < bottom){
					//var imgW = path.data("resized-imgW");
					var imgH = path.data("resized-imgH");
					// min when image touch top of window
					var min = 0;
					// max when image touch bottom of window
					var max = - imgH + heightWindow;
					// overflow changes parallax
					var overflowH = height < heightWindow ? imgH - height : imgH - heightWindow; // fix height on overflow
					top = top - overflowH;
					bottom = bottom + overflowH;


					// value with linear interpolation
					// var value = min + (max - min) * (currentWindow - top) / (bottom - top);
					var value = 0;
					if ( $('.parallax').is(".titlebar") ) {
						value = min + (max - min) * (currentWindow - top) / (bottom - top) *2;
					} else {
						value = min + (max - min) * (currentWindow - top) / (bottom - top);
					}

					// set background-position
					var orizontalPosition = path.attr("data-oriz-pos");
					orizontalPosition = orizontalPosition ? orizontalPosition : "50%";
					$(this).css("background-position", orizontalPosition + " " + value + "px");
				}
			});
		}
		if(!$("html").hasClass("touch")){
			$(window).resize(parallaxPosition);
			$(window).scroll(parallaxPosition);
			parallaxPosition();
		}

		// Jumping background fix for IE
		if(navigator.userAgent.match(/Trident\/7\./)) { // if IE
			$('body').on("mousewheel", function () {
				event.preventDefault();

				var wheelDelta = event.wheelDelta;
				var currentScrollPosition = window.pageYOffset;
				window.scrollTo(0, currentScrollPosition - wheelDelta);
			});
		}


		/*----------------------------------------------------*/
		/*  Chosen Plugin
		/*----------------------------------------------------*/

		var config = {
		  '.chosen-select'           : {disable_search_threshold: 10, width:"100%"},
		  '.chosen-select-deselect'  : {allow_single_deselect:true, width:"100%"},
		  '.chosen-select-no-single' : {disable_search_threshold:100, width:"100%"},
		  '.chosen-select-no-single.no-search' : {disable_search_threshold:10, width:"100%"},
		  '.chosen-select-no-results': {no_results_text:'Oops, nothing found!'},
		  '.chosen-select-width'     : {width:"95%"}
		};

		for (var selector in config) {
			   if (config.hasOwnProperty(selector)) {
			  $(selector).chosen(config[selector]);
			  }
		}


		  /*----------------------------------------------------*/
		/*  Magnific Popup
		/*----------------------------------------------------*/

		$('.mfp-gallery-container').each(function() { // the containers for all your galleries

			$(this).magnificPopup({
				 type: 'image',
				 delegate: 'a.mfp-gallery',

				 fixedContentPos: true,
				 fixedBgPos: true,

				 overflowY: 'auto',

				 closeBtnInside: false,
				 preloader: true,

				 removalDelay: 0,
				 mainClass: 'mfp-fade',

				 gallery:{enabled:true, tCounter: ''}
			});
		});

		$('.popup-with-zoom-anim').magnificPopup({
			 type: 'inline',

			 fixedContentPos: false,
			 fixedBgPos: true,

			 overflowY: 'auto',

			 closeBtnInside: true,
			 preloader: false,

			 midClick: true,
			 removalDelay: 300,
			 mainClass: 'my-mfp-zoom-in'
		});

		$('.mfp-image').magnificPopup({
			 type: 'image',
			 closeOnContentClick: true,
			 mainClass: 'mfp-fade',
			 image: {
				  verticalFit: true
			 }
		});

		$('.popup-youtube, .popup-vimeo, .popup-gmaps').magnificPopup({
			 disableOn: 700,
			 type: 'iframe',
			 mainClass: 'mfp-fade',
			 removalDelay: 160,
			 preloader: false,

			 fixedContentPos: false
		});



		   /*----------------------------------------------------*/
		/*  Slick Carousel
		/*----------------------------------------------------*/

		$('.fullwidth-slick-carousel').slick({
		  centerMode: true,
		  centerPadding: '15%',
		  slidesToShow: 5,
		  dots: true,
		  arrows: false,
		  responsive: [
			{
			  breakpoint: 1920,
			  settings: {
				centerPadding: '15%',
				slidesToShow: 5
			  }
			},
			{
			  breakpoint: 1441,
			  settings: {
				centerPadding: '10%',
				slidesToShow: 5
			  }
			},
			{
			  breakpoint: 1025,
			  settings: {
				centerPadding: '10px',
				slidesToShow: 5,
			  }
			},
			{
			  breakpoint: 767,
			  settings: {
				centerPadding: '10px',
				slidesToShow: 5
			  }
			}
		  ]
		});
		// Fix for carousel if there are less than 4 categories
		$(window).on('load resize', function(e) {
			var carouselListItems = $(".fullwidth-slick-carousel .fw-carousel-item").length;
			if (carouselListItems<6) {
				$('.fullwidth-slick-carousel .slick-slide').css({
					'pointer-events': 'all',
					'opacity': '1',
				});
			}
		});



		$('.testimonial-carousel').slick({
		  centerMode: true,
		  centerPadding: '34%',
		  slidesToShow: 1,
		  dots: true,
		  arrows: false,
		  responsive: [
			{
			  breakpoint: 1025,
			  settings: {
				centerPadding: '10px',
				slidesToShow: 2,
			  }
			},
			{
			  breakpoint: 767,
			  settings: {
				centerPadding: '10px',
				slidesToShow: 1
			  }
			}
		  ]
		});


		 $('.listing-slider').slick({
			centerMode: true,
			centerPadding: '20%',
			slidesToShow: 2,
			responsive: [
				{
				  breakpoint: 1367,
				  settings: {
					centerPadding: '15%'
				  }
				},
				{
				  breakpoint: 1025,
				  settings: {
					centerPadding: '0'
				  }
				},
				{
				  breakpoint: 767,
				  settings: {
					centerPadding: '0',
					slidesToShow: 1
				  }
				}
			]
		});


		 $('.listing-slider-small').slick({
			centerMode: true,
			centerPadding: '0',
			slidesToShow: 3,
			responsive: [
				{
				  breakpoint: 767,
				  settings: {
					slidesToShow: 1
				  }
				}
			]
		});
		// Mobile fix for small listing slider
		$(window).on('load resize', function(e) {
			var carouselListItems = $(".listing-slider-small .slick-track").children().length
			if (carouselListItems<2) {
				$('.listing-slider-small .slick-track').css({
					transform: 'none'
				});
			}
		});


		$('.simple-slick-carousel').slick({
			infinite: true,
			slidesToShow: 6,
			slidesToScroll: 6,
			dots: true,
			arrows: true,
			responsive: [
				{
				  breakpoint: 992,
				  settings: {
					slidesToShow: 3,
					slidesToScroll: 3
				  }
				},
				{
				  breakpoint: 769,
				  settings: {
					slidesToShow: 2,
					slidesToScroll: 2
				  }
				}
		  ]
		});


		$('.simple-fw-slick-carousel').slick({
			infinite: true,
			slidesToShow: 5,
			slidesToScroll: 1,
			dots: true,
			arrows: false,

			responsive: [
			{
			  breakpoint: 1610,
			  settings: {
				slidesToShow: 4,
			  }
			},
			{
			  breakpoint: 1365,
			  settings: {
				slidesToShow: 3,
			  }
			},
			{
			  breakpoint: 1024,
			  settings: {
				slidesToShow: 2,
			  }
			},
			{
			  breakpoint: 767,
			  settings: {
				slidesToShow: 1,
			  }
			}
			]
		});


		$('.logo-slick-carousel').slick({
			infinite: true,
			slidesToShow: 5,
			slidesToScroll: 4,
			dots: true,
			arrows: true,
			responsive: [
				{
				  breakpoint: 992,
				  settings: {
					slidesToShow: 3,
					slidesToScroll: 3
				  }
				},
				{
				  breakpoint: 769,
				  settings: {
					slidesToShow: 1,
					slidesToScroll: 1
				  }
				}
		  ]
		});


		/*----------------------------------------------------*/
		/*  Tabs
		/*----------------------------------------------------*/

		var $tabsNav    = $('.tabs-nav'),
		$tabsNavLis = $tabsNav.children('li');

		$tabsNav.each(function() {
			 var $this = $(this);

			
		});

		$tabsNavLis.on('click', function(e) {
			 var $this = $(this);

			 $this.siblings().removeClass('active').end()
			 .addClass('active');

			 $this.parent().next().children('.tab-content').stop(true,true).hide()
			 .siblings( $this.find('a').attr('href') ).fadeIn();

			 e.preventDefault();
		});
		var hash = window.location.hash;
		var anchor = $('.tabs-nav a[href="' + hash + '"]');
		if (anchor.length === 0) {
			
		} else {
			 anchor.parent('li').click();
		}


		/*----------------------------------------------------*/
		/*  Accordions
		/*----------------------------------------------------*/
		var $accor = $('.accordion');

		 $accor.each(function() {
			 $(this).toggleClass('ui-accordion ui-widget ui-helper-reset');
			 $(this).find('h3').addClass('ui-accordion-header ui-helper-reset ui-state-default ui-accordion-icons ui-corner-all');
			 $(this).find('div').addClass('ui-accordion-content ui-helper-reset ui-widget-content ui-corner-bottom');
			 $(this).find("div").hide();

		});

		var $trigger = $accor.find('h3');

		$trigger.on('click', function(e) {
			 var location = $(this).parent();

			 if( $(this).next().is(':hidden') ) {
				  var $triggerloc = $('h3',location);
				  $triggerloc.removeClass('ui-accordion-header-active ui-state-active ui-corner-top').next().slideUp(300);
				  $triggerloc.find('span').removeClass('ui-accordion-icon-active');
				  $(this).find('span').addClass('ui-accordion-icon-active');
				  $(this).addClass('ui-accordion-header-active ui-state-active ui-corner-top').next().slideDown(300);
			 }
			  e.preventDefault();
		});


		/*----------------------------------------------------*/
		/*	Toggle
		/*----------------------------------------------------*/

		$(".toggle-container").hide();

		$('.trigger, .trigger.opened').on('click', function(a){
			$(this).toggleClass('active');
			a.preventDefault();
		});

		$(".trigger").on('click', function(){
			$(this).next(".toggle-container").slideToggle(300);
		});

		$(".trigger.opened").addClass("active").next(".toggle-container").show();


		/*----------------------------------------------------*/
		/*  Tooltips
		/*----------------------------------------------------*/

		$(".tooltip.top").tipTip({
		  defaultPosition: "top"
		});

		$(".tooltip.bottom").tipTip({
		  defaultPosition: "bottom"
		});

		$(".tooltip.left").tipTip({
		  defaultPosition: "left"
		});

		$(".tooltip.right").tipTip({
		  defaultPosition: "right"
		});



		/*----------------------------------------------------*/
		/*  Rating Overview Background Colors
		/*----------------------------------------------------*/
		function ratingOverview(ratingElem) {

			$(ratingElem).each(function() {
				var dataRating = $(this).attr('data-rating');

				// Rules
				if (dataRating >= 4.0) {
					$(this).addClass('high');
					   $(this).find('.rating-bars-rating-inner').css({ width: (dataRating/5)*100 + "%", });
				} else if (dataRating >= 3.0) {
					$(this).addClass('mid');
					   $(this).find('.rating-bars-rating-inner').css({ width: (dataRating/5)*80 + "%", });
				} else if (dataRating < 3.0) {
					$(this).addClass('low');
					   $(this).find('.rating-bars-rating-inner').css({ width: (dataRating/5)*60 + "%", });
				}

			});
		} ratingOverview('.rating-bars-rating');

		$(window).on('resize', function() {
			ratingOverview('.rating-bars-rating');
		});


		/*----------------------------------------------------*/
		/*  Custom Upload Button
		/*----------------------------------------------------*/

		var uploadButton = {
			$button    : $('.uploadButton-input'),
			$nameField : $('.uploadButton-file-name')
		};

		uploadButton.$button.on('change',function() {
			_populateFileField($(this));
		});

		function _populateFileField($button) {
			var selectedFile = [];
			for (var i = 0; i < $button.get(0).files.length; ++i) {
				selectedFile.push($button.get(0).files[i].name +'<br>');
			}
			uploadButton.$nameField.html(selectedFile);
		}


		/*----------------------------------------------------*/
		/*  Recaptcha Holder
		/*----------------------------------------------------*/
		$('.message-vendor').on('click', function() {
			$('.captcha-holder').addClass('visible')
		});


		/*----------------------------------------------------*/
		/*  Like Icon Trigger
		/*----------------------------------------------------*/
		$('.like-icon, .widget-button, .like-button').on('click', function(e){
			e.preventDefault();
			$(this).toggleClass('liked');
			$(this).children('.like-icon').toggleClass('liked');
		});

		/*----------------------------------------------------*/
		/*  Searh Form More Options
		/*----------------------------------------------------*/
		$('.more-search-options-trigger').on('click', function(e){
			e.preventDefault();
			$('.more-search-options, .more-search-options-trigger').toggleClass('active');
			$('.more-search-options.relative').animate({height: 'toggle', opacity: 'toggle'}, 300);
		});


		/*----------------------------------------------------*/
		/*  Half Screen Map Adjustments
		/*----------------------------------------------------*/
		$(window).on('load resize', function() {
			var winWidth = $(window).width();
			var headerHeight = $("#header-container").height(); // height on which the sticky header will shows

			$('.fs-inner-container, .fs-inner-container.map-fixed, #dashboard').css('padding-top', headerHeight);

			if(winWidth<992) {
				$('.fs-inner-container.map-fixed').insertBefore('.fs-inner-container.content');
			} else {
				$('.fs-inner-container.content').insertBefore('.fs-inner-container.map-fixed');
			}

		});


		/*----------------------------------------------------*/
		/*  Counters
		/*----------------------------------------------------*/
		$(window).on('load', function() {
			$('.dashboard-stat-content h4').counterUp({
				delay: 100,
				time: 800
			});
		});


		/*----------------------------------------------------*/
		/*  Rating Script Init
		/*----------------------------------------------------*/

		// Leave Rating
		$('.leave-rating input').on('change',function () {
			var $radio = $(this);
			$('.leave-rating .selected').removeClass('selected');
			$radio.closest('label').addClass('selected');
		});


		/*----------------------------------------------------*/
		/* Dashboard Scripts
		/*----------------------------------------------------*/
		$('.dashboard-nav ul li a').on('click', function(){
			if ($(this).closest('li').has('ul').length) {
				$(this).parent('li').toggleClass('active');
			}
		});

		// Dashbaord Nav Scrolling
		$(window).on('load resize', function() {
			var wrapperHeight = window.innerHeight;
			var headerHeight = $("#header-container").height();
			var winWidth = $(window).width();

			if(winWidth>992) {
				$(".dashboard-nav-inner").css('max-height', wrapperHeight-headerHeight);
			} else {
				$(".dashboard-nav-inner").css('max-height', '');
			}
		});


		// Tooltip
		$(".tip").each(function() {
			var tipContent = $(this).attr('data-tip-content');
			$(this).append('<div class="tip-content">'+ tipContent + '</div>');
		});

		$(".verified-badge.with-tip").each(function() {
			var tipContent = $(this).attr('data-tip-content');
			$(this).append('<div class="tip-content">'+ tipContent + '</div>');
		});

		$(window).on('load resize', function() {
			var verifiedBadge = $('.verified-badge.with-tip');
			verifiedBadge.find('.tip-content').css({
			   'width' : verifiedBadge.outerWidth(),
			   'max-width' : verifiedBadge.outerWidth(),
			});
		});


		// Switcher
		$(".add-listing-section").each(function() {

			var switcherSection = $(this);
			var switcherInput = $(this).find('.switch input');

			if(switcherInput.is(':checked')){
				$(switcherSection).addClass('switcher-on');
			}

			switcherInput.change(function(){
				if(this.checked===true){
					$(switcherSection).addClass('switcher-on');
				} else {
					$(switcherSection).removeClass('switcher-on');
				}
			});

		});


		// Responsive Nav Trigger
		$('.dashboard-responsive-nav-trigger').on('click', function(e){
			e.preventDefault();
			$(this).toggleClass('active');

			var dashboardNavContainer = $('body').find(".dashboard-nav");

			if( $(this).hasClass('active') ){
				$(dashboardNavContainer).addClass('active');
			} else {
				$(dashboardNavContainer).removeClass('active');
			}

		});

		// Dashbaord Messages Alignment
		$(window).on('load resize', function() {
			var msgContentHeight = $(".message-content").outerHeight();
			var msgInboxHeight = $(".messages-inbox ul").height();

			if( msgContentHeight > msgInboxHeight ){
				$(".messages-container-inner .messages-inbox ul").css('max-height', msgContentHeight)
			}
		});


		/*----------------------------------------------------*/
		/* Time Slots
		/*----------------------------------------------------*/

		// Add validation parts
		$('.day-slots').each(function(){

			var daySlots = $(this);

			daySlots.find('.add-slot-btn').on('click', function() {

				var slotTime_Start = daySlots.find('.add-slot-inputs input.time-slot-start').val();
				var slotTimePM_AM_Start = daySlots.find('.add-slot-inputs select.time-slot-start').val();

				var slotTime_End = daySlots.find('.add-slot-inputs input.time-slot-end').val();
				var slotTimePM_AM_End = daySlots.find('.add-slot-inputs select.time-slot-end').val();

				// Checks if input values are not blank
				if( slotTime_Start.length > 0 && slotTime_End.length > 0) {

						// New Time Slot Div
						var newTimeSlot = daySlots
										.find('.single-slot.cloned')
										.clone(true)
										.addClass('slot-animation')
										.removeClass('cloned');

						setTimeout(function(){
							newTimeSlot.removeClass('slot-animation');
						}, 300);

						newTimeSlot.find('.plusminus input').val('1');

						// Plus - Minus Init
						  newTimeSlot.find('.plusminus').numberPicker();

						// Check if there's am/pm dropdown
						var $twelve_hr = $('.add-slot-inputs select.twelve-hr');

						if ( $twelve_hr.length){
							newTimeSlot.find('.single-slot-time').html(slotTime_Start + ' ' + '<i class="am-pm">'+slotTimePM_AM_Start+'</i>' + ' - '+ slotTime_End + ' ' + '<i class="am-pm">'+slotTimePM_AM_End+'</i>');
						} else {
							newTimeSlot.find('.single-slot-time').html(''+ slotTime_Start + ' - ' + slotTime_End);
						}

						// Appending new slot
						newTimeSlot.appendTo(daySlots.find('.slots-container'));

						// Refresh sotrable script
						$(".slots-container").sortable('refresh');
				}

				// Validation Error
				else {
					daySlots.find('.add-slot').addClass('add-slot-shake-error');
					setTimeout(function(){
						daySlots.find('.add-slot').removeClass('add-slot-shake-error');
					}, 600);
				}
			});

			// Removing "no slots" message
			function hideSlotInfo() {
				var slotCount = daySlots.find(".slots-container").children().length;
				if ( slotCount < 1 ) {
					daySlots.find(".no-slots")
							.addClass("no-slots-fadein")
							.removeClass("no-slots-fadeout");
				}
			}
			hideSlotInfo();


			// Removing Slot
			daySlots.find('.remove-slot').bind('click', function() {
				$(this).closest('.single-slot').animate({height: 0, opacity: 0}, 'fast', function() {
					$(this).remove();
				});

				// Removing "no slots" message
				setTimeout(function(){
					hideSlotInfo()
				}, 400);

			});

			// Showing "no slots" message
			daySlots.find('.add-slot-btn').on('click', function() {
				var slotCount = daySlots.find(".slots-container").children().length;
				if ( slotCount >= 1 ) {
					daySlots.find(".no-slots")
							.removeClass("no-slots-fadein")
							.addClass("no-slots-fadeout");
				}
			});

		});

		// Sotrable Script
		$( ".slots-container" ).sortable();

		// 24 hour clock type switcher
		if ( $('.availability-slots').attr('data-clock-type') == '24hr' ) {
			$('.availability-slots').addClass('twenty-four-clock');
			$('.availability-slots').find('input[type="time"]').attr({ "max" : "24:00"});
		}

		// Number Picker - TobyJ
		(function ($) {
		  $.fn.numberPicker = function() {
			var dis = 'disabled';
			return this.each(function() {
			  var picker = $(this),
				  p = picker.find('button:last-child'),
				  m = picker.find('button:first-child'),
				  input = picker.find('input'),
				  min = parseInt(input.attr('min'), 10),
				  max = parseInt(input.attr('max'), 10),
				  inputFunc = function(picker) {
					var i = parseInt(input.val(), 10);
					if ( (i <= min) || (!i) ) {
					  input.val(min);
					  p.prop(dis, false);
					  m.prop(dis, true);
					} else if (i >= max) {
					  input.val(max);
					  p.prop(dis, true);
					  m.prop(dis, false);
					} else {
					  p.prop(dis, false);
					  m.prop(dis, false);
					}
				  },
				  changeFunc = function(picker, qty) {
					var q = parseInt(qty, 10),
						i = parseInt(input.val(), 10);
					if ((i < max && (q > 0)) || (i > min && !(q > 0))) {
					  input.val(i + q);
					  inputFunc(picker);
					}
				  };
			  m.on('click', function(){changeFunc(picker,-1);});
			  p.on('click', function(){changeFunc(picker,1);});
			  input.on('change', function(){inputFunc(picker);});
			  inputFunc(picker); //init
			});
		  };
		}(jQuery));

		// Init
		$('.plusminus').numberPicker();



		/*----------------------------------------------------*/
		/* Pricing List
		/*----------------------------------------------------*/
		function newMenuItem() {
			var newElem = $('tr.pricing-list-item.pattern').first().clone();
			newElem.find('input').val('');
			newElem.appendTo('table#pricing-list-container');
		}

		if ($("table#pricing-list-container").is('*')) {
			$('.add-pricing-list-item').on('click', function(e) {
				e.preventDefault();
				newMenuItem();
			});

			// remove ingredient
			$(document).on( "click", "#pricing-list-container .delete", function(e) {
				e.preventDefault();
				$(this).parent().parent().remove();
			});

			// add submenu
			$('.add-pricing-submenu').on('click', function(e) {
				e.preventDefault();

				var newElem = $(''+
					'<tr class="pricing-list-item pricing-submenu">'+
						'<td>'+
							'<div class="fm-move"><i class="sl sl-icon-cursor-move"></i></div>'+
							'<div class="fm-input padding-right-5"><input type="text" placeholder="Name" /></div>'+
							'<div class="fm-input"><input type="text" placeholder="Price" /></div>'+
							'<div class="fm-close"><a class="delete" href="#"><i class="fa fa-remove"></i></a></div>'+
						'</td>'+
					'</tr>');

				newElem.appendTo('table#pricing-list-container');
			});

			$('table#pricing-list-container tbody').sortable({
				forcePlaceholderSize: true,
				forceHelperSize: false,
				placeholder : 'sortableHelper',
				zIndex: 999990,
				opacity: 0.6,
				tolerance: "pointer",
				start: function(e, ui ){
					 ui.placeholder.height(ui.helper.outerHeight());
				}
			});
		 }


		// Unit character
		var fieldUnit = $('.pricing-price').children('input').attr('data-unit');
		$('.pricing-price').children('input').before('<i class="data-unit">'+ fieldUnit + '</i>');



		/*----------------------------------------------------*/
		/*  Notifications
		/*----------------------------------------------------*/
		$("a.close").removeAttr("href").on('click', function(){

			function slideFade(elem) {
				var fadeOut = { opacity: 0, transition: 'opacity 0.5s' };
				elem.css(fadeOut).slideUp();
			}
			slideFade($(this).parent());

		});


		/*----------------------------------------------------*/
		/* Panel Dropdown
		/*----------------------------------------------------*/
		function close_panel_dropdown() {
			$('.panel-dropdown').removeClass("active");
			$('.fs-inner-container.content').removeClass("faded-out");
		}

		$('.panel-dropdown a').on('click', function(e) {

			if ( $(this).parent().is(".active") ) {
				close_panel_dropdown();
			} else {
				close_panel_dropdown();
				$(this).parent().addClass('active');
				$('.fs-inner-container.content').addClass("faded-out");
			}

			e.preventDefault();
		});

		// Apply / Close buttons
		$('.panel-buttons button').on('click', function(e) {
			$('.panel-dropdown').removeClass('active');
			$('.fs-inner-container.content').removeClass("faded-out");
		});

		// Closes dropdown on click outside the conatainer
		var mouse_is_inside = false;

		$('.panel-dropdown').hover(function(){
			mouse_is_inside=true;
		}, function(){
			mouse_is_inside=false;
		});

		$("body").mouseup(function(){
			if(! mouse_is_inside) close_panel_dropdown();
		});

		// "All" checkbox
		$('.checkboxes.categories input').on('change', function() {
			if($(this).hasClass('all')){
				$(this).parents('.checkboxes').find('input').prop('checked', false);
				$(this).prop('checked', true);
			} else {
				$('.checkboxes input.all').prop('checked', false);
			}
		});


		$('input[type="range"].distance-radius').rangeslider({
			polyfill : false,
			onInit : function() {
				this.output = $( '<div class="range-output" />' ).insertBefore( this.$range ).html( this.$element.val() );

				var radiustext = $('.distance-radius').attr('data-title');
				$('.range-output').after('<i class="data-radius-title">'+ radiustext + '</i>');

			},
			onSlide : function( position, value ) {
				this.output.html( value );
			}
		});


		/*----------------------------------------------------*/
		/*  Show More Button
		/*----------------------------------------------------*/
		$('.show-more-button').on('click', function(e){
			e.preventDefault();
			$(this).toggleClass('active');

			$('.show-more').toggleClass('visible');
			if ( $('.show-more').is(".visible") ) {

				var el = $('.show-more'),
					curHeight = el.height(),
					autoHeight = el.css('height', 'auto').height();
					el.height(curHeight).animate({height: autoHeight}, 400);


			} else { $('.show-more').animate({height: '450px'}, 400); }

		});


		/*----------------------------------------------------*/
		/* Listing Page Nav
		/*----------------------------------------------------*/

		$(window).on('load resize scroll', function() {
		  var containerWidth = $(".container").width();
		  $('.listing-nav-container.cloned .listing-nav').css('width', containerWidth);
		});

		if(document.getElementById("listing-nav") !== null) {
			$(window).scroll(function(){
				var window_top = $(window).scrollTop();
				var div_top = $('.listing-nav').not('.listing-nav-container.cloned .listing-nav').offset().top + 90;
				if (window_top > div_top) {
					$('.listing-nav-container.cloned').addClass('stick');
				} else {
					$('.listing-nav-container.cloned').removeClass('stick');
				}
			});
		}

		$( ".listing-nav-container" ).clone(true).addClass('cloned').prependTo("body");


		// Smooth scrolling using scrollto.js
		$('.listing-nav a, a.listing-address, .star-rating a').on('click', function(e) {
			e.preventDefault();
			$('html,body').scrollTo(this.hash, this.hash, { gap: {y: -20} });
		});

		$(".listing-nav li:first-child a, a.add-review-btn, a[href='#add-review']").on('click', function(e) {
			e.preventDefault();
			$('html,body').scrollTo(this.hash, this.hash, { gap: {y: -100} });
		});


		// Highlighting functionality.
		$(window).on('load resize', function() {
			var aChildren = $(".listing-nav li").children();
			var aArray = [];
			for (var i=0; i < aChildren.length; i++) {
				var aChild = aChildren[i];
				var ahref = $(aChild).attr('href');
				aArray.push(ahref);
			}

			$(window).scroll(function(){
				var windowPos = $(window).scrollTop();
				for (var i=0; i < aArray.length; i++) {
					var theID = aArray[i];
					var divPos = $(theID).offset().top - 150;
					var divHeight = $(theID).height();
					if (windowPos >= divPos && windowPos < (divPos + divHeight)) {
						$("a[href='" + theID + "']").addClass("active");
					} else {
						$("a[href='" + theID + "']").removeClass("active");
					}
				}
			});
		});


		/*----------------------------------------------------*/
		/*  Payment Accordion
		/*----------------------------------------------------*/
		var radios = document.querySelectorAll('.payment-tab-trigger > input');

		for (var i = 0; i < radios.length; i++) {
			radios[i].addEventListener('change', expandAccordion);
		}

		function expandAccordion (event) {
		  var allTabs = document.querySelectorAll('.payment-tab');
		  for (var i = 0; i < allTabs.length; i++) {
			allTabs[i].classList.remove('payment-tab-active');
		  }
		  event.target.parentNode.parentNode.classList.add('payment-tab-active');
		}


		/*----------------------------------------------------*/
		/*  Booking Sticky Footer
		/*----------------------------------------------------*/
		$('.booking-sticky-footer a.button').on('click', function(e) {
			var $anchor = $(this);
			$("html, body").animate({ scrollTop: $($anchor.attr('href')).offset().top - 100 }, 1000);
		});


		/*----------------------------------------------------*/
		/*  Contact Form
		/*----------------------------------------------------*/

		var shake = "No";

		$('#message').hide();

		// Add validation parts
		$('#contact input[type=text], #contact input[type=number], #contact input[type=email], #contact input[type=url], #contact input[type=tel], #contact select, #contact textarea').each(function(){

		});

		 // Validate as you type
		   $('#name, #comments, #subject').focusout(function() {
			   if (!$(this).val()) {
				   $(this).addClass('error').parent().find('mark').removeClass('valid').addClass('error');
			   }
			   else {
				   $(this).removeClass('error').parent().find('mark').removeClass('error').addClass('valid');
			   }
				 $('#submit')
				   .prop('disabled',false)
				   .removeClass('disabled');
		   });
		   $('#email').focusout(function() {
			   if (!$(this).val() || !isEmail($(this).val())) {
				   $(this).addClass('error').parent().find('mark').removeClass('valid').addClass('error');
			   } else {
				   $(this).removeClass('error').parent().find('mark').removeClass('error').addClass('valid');
			   }
		   });

		   $('#email').focusin(function() {
				$('#submit')
				   .prop('disabled',false)
				   .removeClass('disabled');
		   });

		$('#submit').on('click', function() {
			$("#contact-message").slideUp(200,function() {
				$('#contact-message').hide();

				// Kick in Validation
				$('#name, #subject, #phone, #comments, #website, #email').triggerHandler("focusout");

				if ($('#contact mark.error').size()>0) {
					if(shake == "Yes") {
						$('#contact').effect('shake', { times:2 }, 75, function(){
							$('#contact input.error:first, #contact textarea.error:first').focus();
						});
					} else $('#contact input.error:first, #contact textarea.error:first').focus();

					return false;
				}

			});
		});

		$('#contactform').on('submit',function(){

			if ($('#contact mark.error').size()>0) {
				if(shake == "Yes") {
				$('#contact').effect('shake', { times:2 }, 75);
				}
				return false;
			}

			var action = $(this).attr('action');

			$('#contact #submit').after('<img src="images/loader.gif" class="loader" />');

			$('#submit')
				.prop('disabled',true)
				.addClass('disabled');

			$.post(action, $('#contactform').serialize(),
				function(data){
					$('#contact-message').html( data );
					$('#contact-message').slideDown();
					$('#contactform img.loader').fadeOut('slow',function(){$(this).remove();});
					
					if(data.match('success') !== null) $('#contactform').slideUp('slow');

				}
			);

			return false;

		});

		function isEmail(emailAddress) {

			var pattern = new RegExp(/^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/i);

			return pattern.test(emailAddress);
		}

	// ------------------ End Document ------------------ //
	});

	})(this.jQuery);


	/*!
	 * jquery.scrollto.js 0.0.1 - https://github.com/yckart/jquery.scrollto.js
	 * Copyright (c) 2012 Yannick Albert (http://yckart.com)
	 * Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php).
	 **/

	$.scrollTo = $.fn.scrollTo = function(x, y, options){
		if (!(this instanceof $)) return $.fn.scrollTo.apply($('html, body'), arguments);

		options = $.extend({}, {
			gap: {
				x: 0,
				y: 0
			},
			animation: {
				easing: 'swing',
				duration: 600,
				complete: $.noop,
				step: $.noop
			}
		}, options);

		return this.each(function(){
			var elem = $(this);
			elem.stop().animate({
				scrollLeft: !isNaN(Number(x)) ? x : $(y).offset().left + options.gap.x,
				scrollTop: !isNaN(Number(y)) ? y : $(y).offset().top + options.gap.y
			}, options.animation);
		});
	};


	/*----------------------------------------------------*/
	/*  Ratings Script
	/*----------------------------------------------------*/

	/*  Numerical Script
	/*--------------------------*/
	function numericalRating(ratingElem) {

		$(ratingElem).each(function() {
			var dataRating = $(this).attr('data-rating');

			// Rules
			if (dataRating >= 4.0) {
				$(this).addClass('high');
			} else if (dataRating >= 3.0) {
				$(this).addClass('mid');
			} else if (dataRating < 3.0) {
				$(this).addClass('low');
			}

		});

	} numericalRating('.numerical-rating');


	/*  Star Rating
	/*--------------------------*/
	function starRating(ratingElem) {

		$(ratingElem).each(function() {

			var dataRating = $(this).attr('data-rating');

			// Rating Stars Output
			function starsOutput(firstStar, secondStar, thirdStar, fourthStar, fifthStar) {
				return(''+
					'<span class="'+firstStar+'"></span>'+
					'<span class="'+secondStar+'"></span>'+
					'<span class="'+thirdStar+'"></span>'+
					'<span class="'+fourthStar+'"></span>'+
					'<span class="'+fifthStar+'"></span>');
			}

			var fiveStars = starsOutput('star','star','star','star','star');

			var fourHalfStars = starsOutput('star','star','star','star','star half');
			var fourStars = starsOutput('star','star','star','star','star empty');

			var threeHalfStars = starsOutput('star','star','star','star half','star empty');
			var threeStars = starsOutput('star','star','star','star empty','star empty');

			var twoHalfStars = starsOutput('star','star','star half','star empty','star empty');
			var twoStars = starsOutput('star','star','star empty','star empty','star empty');

			var oneHalfStar = starsOutput('star','star half','star empty','star empty','star empty');
			var oneStar = starsOutput('star','star empty','star empty','star empty','star empty');

			// Rules
			if (dataRating >= 4.75) {
				$(this).append(fiveStars);
			} else if (dataRating >= 4.25) {
				$(this).append(fourHalfStars);
			} else if (dataRating >= 3.75) {
				$(this).append(fourStars);
			} else if (dataRating >= 3.25) {
				$(this).append(threeHalfStars);
			} else if (dataRating >= 2.75) {
				$(this).append(threeStars);
			} else if (dataRating >= 2.25) {
				$(this).append(twoHalfStars);
			} else if (dataRating >= 1.75) {
				$(this).append(twoStars);
			} else if (dataRating >= 1.25) {
				$(this).append(oneHalfStar);
			} else if (dataRating < 1.25) {
				$(this).append(oneStar);
			}

		});

	} starRating('.star-rating');