HOME


Mini Shell 1.0
DIR: /home/islapiiu/sites/evergreenvilla/js/
Upload File :
Current File : /home/islapiiu/sites/evergreenvilla/js/custom.js
(function($) {
	

	var $window		= $(window),
	$header			= $('#header'),	
	$dropdown  		= $('.dropdown-toggle'),
	$image_slider 	= $('.image-gallery'),
	$contact		= $('#contact-form')
	
	
	
	
	// Put slider space for nav not in mini screen
	// Autometic count header height and take space body from header
	
	if(document.querySelector('.nav-on-top') !== null) {
		var get_height = jQuery('.nav-on-top').height();
			if(get_height > 0 && $window.width() > 991){
			jQuery('.nav-on-top').next().css('margin-top', get_height);
		}
		$window.on('resize', function(){
			if($window.width() < 991){
				jQuery('.nav-on-top').next().css('padding-top', '0');
			}
			else {
				jQuery('.nav-on-top').next().css('margin-top', get_height);
			}
		});
	 }
	 if(document.querySelector('.nav-on-banner') !== null) {
		var get_height = jQuery('.nav-on-banner').height();
			if(get_height > 0 && $window.width() > 991){
			jQuery('.nav-on-banner').next().css('padding-top', get_height);
		}
		$window.on('resize', function(){
			if($window.width() < 991){
				jQuery('.nav-on-banner').next().css('padding-top', '0');
			}
			else {
				jQuery('.nav-on-banner').next().css('padding-top', get_height);
			}
		});
	}





	// Custom input numbering
	// Click on plus and minus icon in form auto added number
	
	jQuery('<div class="quantity-nav"><div class="quantity-button quantity-up bg-primary">+</div><div class="quantity-button quantity-down bg-primary">-</div></div>').insertAfter('.quantity input');
		jQuery('.quantity').each(function() {
		  var spinner = jQuery(this),
			input = spinner.find('input[type="number"]'),
			btnUp = spinner.find('.quantity-up'),
			btnDown = spinner.find('.quantity-down'),
			min = input.attr('min'),
			max = input.attr('max');

		  btnUp.click(function() {
			var oldValue = parseFloat(input.val());
			if (oldValue >= max) {
			  var newVal = oldValue;
			} else {
			  var newVal = oldValue + 1;
			}
			spinner.find("input").val(newVal);
			spinner.find("input").trigger("change");
		  });

		  btnDown.click(function() {
			var oldValue = parseFloat(input.val());
			if (oldValue <= min) {
			  var newVal = oldValue;
			} else {
			  var newVal = oldValue - 1;
			}
			spinner.find("input").val(newVal);
			spinner.find("input").trigger("change");
		  });
     });
	

	
	
	
	// Update Header Style + Scroll to Top
	// Added fixed class with header when page scroll
	
	function headerStyle() {
		if($header.length){
			var windowpos = $window.scrollTop();
			if (windowpos >= 100) {
				$header.addClass('fixed-top');
			} else {
				$header.removeClass('fixed-top');
			}
		}
	}
	
	



	// dropdown submenu on hover in desktopand dropdown sub menu on click in mobile
	// Hover and dropdown menu system
	
	$('#navbarSupportedContent').each(function() {
		$dropdown.on('click', function(e){
			if($window.width() < 1100){
				if($(this).parent('.dropdown').hasClass('visible')){
				//	$(this).parent('.dropdown').children('.dropdown-menu').first().stop(true, true).slideUp(300);
				//	$(this).parent('.dropdown').removeClass('visible');
					window.location = $(this).attr('href');
				}
				else{
					e.preventDefault();
					$(this).parent('.dropdown').siblings('.dropdown').children('.dropdown-menu').slideUp(300);
					$(this).parent('.dropdown').siblings('.dropdown').removeClass('visible');
					$(this).parent('.dropdown').children('.dropdown-menu').slideDown(300);
					$(this).parent('.dropdown').addClass('visible');
				}
				e.stopPropagation();
			}
		});
		
		$('body').on('click', function(e){
			$dropdown.parent('.dropdown').removeClass('visible');
		});
		
		$window.on('resize', function(){
			if($window.width() > 991){
				$('.dropdown-menu').removeAttr('style');
				$('.dropdown ').removeClass('visible');
			}
		});
		
	});




    // Auto active class adding with navigation
	// When you open a link, active class will add with the nav autometically
	
    $window.on('load', function () {
        var current = location.pathname;
        var $path = current.substring(current.lastIndexOf('http://unicoderbd.com/') + 1);
        $('.navbar-nav a').each(function (e) {
            var $this = $(this);
            // if the current path is like this link, make it active
            if ($path == $this.attr('href')) {
                $this.addClass('active');
            } else if ($path == '') {
                $('.navbar-nav li:first-child > a').addClass('active');
            }
        })
    })
	
	
	
	
	
	
	// Layer slider settings jQuesy
	// You can edit the settings by reading layerSlider documentation
			
	$('#slider-full').layerSlider({
		sliderVersion: '6.0.0',
		type: 'fullwidth',
		responsiveUnder: 0,
		layersContainer: 1200,
		allowFullscreen: true,
		maxRatio: 1,
		parallaxScrollReverse: true,
		hideUnder: 0,
		hideOver: 100000,
		skin: 'noskin',
		showBarTimer: true,
		thumbnailNavigation: 'disabled',
		allowRestartOnResize: true,
		skinsPath: 'skins/',
		height: 940
	});
	
	$('#slider').layerSlider({
		sliderVersion: '6.0.0',
		type: 'fullwidth',
		responsiveUnder: 0,
		layersContainer: 1200,
		maxRatio: 1,
		parallaxScrollReverse: true,
		hideUnder: 0,
		hideOver: 100000,
		skin: 'v5',
		showBarTimer: true,
		thumbnailNavigation: 'disabled',
		allowRestartOnResize: true,
		skinsPath: 'skins/',
		height: 840
	});
	
	$('#slider5').layerSlider({
		sliderVersion: '6.0.0',
		type: 'fullwidth',
		responsiveUnder: 0,
		layersContainer: 1200,
		maxRatio: 1,
		parallaxScrollReverse: true,
		hideUnder: 0,
		hideOver: 100000,
		skin: 'v5',
		showBarTimer: true,
		thumbnailNavigation: 'disabled',
		allowRestartOnResize: true,
		skinsPath: 'skins/',
		height: 980
	});
	

	// 06. Our Doctor Carousel HealthLine
    if ($image_slider.length) {
        $image_slider.owlCarousel({
            loop: true,
            margin: 0,
            nav: false,
            dots: false,
            autoplayHoverPause: false,
            smartSpeed: 300,
            autoplay: false,
            navText: ['<i class="fa fa-angle-left"></i>', '<i class="fa fa-angle-right"></i>'],
            responsive: {
                0: {
                    items: 1
                },
                600: {
                    items: 2
                },
                1024: {
                    items: 4
                },
                1200: {
                    items: 4
                }
            }
        });
    };
	




	// Fact Counter For Achivement Counting
	// Autometic counting number when you page scroll and visible that part
	
	function factCounter() {
	  if($('.fact-counter').length){
	   $('.fact-counter .count.animated').each(function() {
	  
		var $t = $(this),
		 n = $t.find(".count-num").attr("data-stop"),
		 r = parseInt($t.find(".count-num").attr("data-speed"), 10);
		 
		if (!$t.hasClass("counted")) {
		 $t.addClass("counted");
		 $({
		  countNum: $t.find(".count-text").text()
		 }).animate({
		  countNum: n
		 }, {
		  duration: r,
		  easing: "linear",
		  step: function() {
		   $t.find(".count-num").text(Math.floor(this.countNum));
		  },
		  complete: function() {
		   $t.find(".count-num").text(this.countNum);
		  }
		 });
		}
		
		//set skill building height
		 var size = $(this).children('.progress-bar').attr('aria-valuenow');
		 $(this).children('.progress-bar').css('width', size+'%');

		
	   });
	  }
	}
	
	
	
	
	// DatePicker Function Call
	// Calender will appear when you click on date on the form
	
	$('#datepairExample .date').datepicker({
		'format': 'm/d/yyyy',
		'autoclose': true
	});
	
	
	
	

	// Contact Form Validation
	// jQuery validation when before form submit
	
	if($contact.length){
		$contact.validate({  //#contact-form contact form id
			rules: {
				firstname: {
					required: true    // Field name here
				},
				email: {
					required: true, // Field name here
					email: true
				},
				subject: {
					required: true
				},
				message: {
					required: true
				}
			},
			
			messages: {
                firstname: "Please enter your First Name", //Write here your error message that you want to show in contact form
                email: "Please enter valid Email", //Write here your error message that you want to show in contact form
                subject: "Please enter your Subject", //Write here your error message that you want to show in contact form
				message: "Please write your Message" //Write here your error message that you want to show in contact form
            },

            submitHandler: function (form) {
                $('#send').attr({'disabled' : 'true', 'value' : 'Sending...' });
                $.ajax({
                    type: "POST",
                    url: "email.php",
                    data: $(form).serialize(),
                    success: function () {
                        $('#send').removeAttr('disabled').attr('value', 'Send');
                        $( "#success").slideDown( "slow" );
                        setTimeout(function() {
                        $( "#success").slideUp( "slow" );
                        }, 5000);
                        form.reset();
                    },
                    error: function() {
                        $('#send').removeAttr('disabled').attr('value', 'Send');
                        $( "#error").slideDown( "slow" );
                        setTimeout(function() {
                        $( "#error").slideUp( "slow" );
                        }, 5000);
                    }
                });
                return false; // required to block normal submit since you used ajax
            }

		});
	} 
	



	// Elements Animation if you add the class
	// Call wow function and content appear when page scroll
	
	if($('.wow').length){
		var wow = new WOW(
		  {
			boxClass:     'wow',      // animated element css class (default is wow)
			animateClass: 'animated', // animation css class (default is animated)
			offset:       0,          // distance to the element when triggering the animation (default is 0)
			mobile:       true,       // trigger animations on mobile devices (default is true)
			live:         true       // act on asynchronously loaded content (default is true)
		  }
		);
		wow.init();
	}
	
	
	
	

	// Scroll to a Specific Div
	// back to top when you click on the text
	
	if($('.btn-scroll').length){
		$(".btn-scroll").on('click', function(e) {
			e.preventDefault();
			var target = $(this).attr('data-target');
			// animate
			$('html, body').animate({scrollTop: $(target).offset().top }, 1000);
		});
	}
	
	
	
	

	// Acive scroll top button
	// Back to top text appear when you page scroll
	
	function jumptotop(){
		var $scrollsize = $window.scrollTop();
		if($scrollsize > 300){
			$('.scroll-to-top').fadeIn(1000);
		}
		else {
			$('.scroll-to-top').fadeOut(1000);
		}
	}




    // When document is Scrollig, do
	// Function called when page scroll
	
    $window.on('scroll', function () {
		jumptotop();
        headerStyle();
        factCounter();
    });





	// LightBox / Fancybox Functions
	
    $('[data-fancybox="gallery"]').fancybox({
       animationEffect: "zoom",
       transitionEffect: "fade"
    });
	
	
	
	
	
	// Gallery With Filters List
	
    if($('.filter-list').length){
       $('.filter-list').mixItUp({});
    }




    // Youtube and Vimeo video popup control
	// all youtube jquery system and function called
	
	jQuery(function(){
		$.fn.YouTubePopUp = function(options) {

			var YouTubePopUpOptions = $.extend({
					autoplay: 1
			}, options );

			$(this).on('click', function (e) {

				var youtubeLink = $(this).attr("href");

				if( youtubeLink.match(/(youtube.com)/) ){
					var split_c = "v=";
					var split_n = 1;
				}

				if( youtubeLink.match(/(youtu.be)/) || youtubeLink.match(/(vimeo.com\/)+[0-9]/) ){
					var split_c = "http://unicoderbd.com/";
					var split_n = 3;
				}

				if( youtubeLink.match(/(vimeo.com\/)+[a-zA-Z]/) ){
					var split_c = "http://unicoderbd.com/";
					var split_n = 5;
				}

				var getYouTubeVideoID = youtubeLink.split(split_c)[split_n];

				var cleanVideoID = getYouTubeVideoID.replace(/(&)+(.*)/, "");

				if( youtubeLink.match(/(youtu.be)/) || youtubeLink.match(/(youtube.com)/) ){
					var videoEmbedLink = "https://www.youtube.com/embed/"+cleanVideoID+"?autoplay="+YouTubePopUpOptions.autoplay+"";
				}

				if( youtubeLink.match(/(vimeo.com\/)+[0-9]/) || youtubeLink.match(/(vimeo.com\/)+[a-zA-Z]/) ){
					var videoEmbedLink = "https://player.vimeo.com/video/"+cleanVideoID+"?autoplay="+YouTubePopUpOptions.autoplay+"";
				}

				$("body").append('<div class="YouTubePopUp-Wrap YouTubePopUp-animation"><div class="YouTubePopUp-Content"><span class="YouTubePopUp-Close"></span><iframe src="'+videoEmbedLink+'" allowfullscreen></iframe></div></div>');

				if( $('.YouTubePopUp-Wrap').hasClass('YouTubePopUp-animation') ){
					setTimeout(function() {
						$('.YouTubePopUp-Wrap').removeClass("YouTubePopUp-animation");
					}, 600);
				}

				$(".YouTubePopUp-Wrap, .YouTubePopUp-Close").click(function(){
					$(".YouTubePopUp-Wrap").addClass("YouTubePopUp-Hide").delay(515).queue(function() { $(this).remove(); });
				});

				e.preventDefault();

			});

			$(document).keyup(function(e) {

				if ( e.keyCode == 27 ){
					$('.YouTubePopUp-Wrap, .YouTubePopUp-Close').click();
				}
			});
		};
		jQuery("a.video-popup").YouTubePopUp();
		//jQuery("a.video-popup").YouTubePopUp( { autoplay: 0 } ); // Disable autoplay
	});
	
	
	
	
	
	// Template Settings 
	// Color Settings, Template Settings, Background Settings
	
	$('.color-panel').each(function(){
		$('.on-panel').on('click', function(){
			$('.color-panel').toggleClass('open');
		});
		
		$('.color-box li').on('click', function(){
			$('.color-box li').removeClass('active');
			$(this).addClass('active');
			 var path = $(this).data('path');
			 var logo1 = $(this).data('image');
			 var logo2 = $(this).data('target');
			 $('#color-change').attr('href', path);
			 $('.nav-logo').attr('src', logo1);
			 $('.logo-bottom').attr('src', logo2);
		});	
		
		// Template color change
		$(".color-box li").each( function() {		
			if ($.cookie('uwash_color') && $.cookie('uwash_color') == $(this).attr('class')) {
				$(this).addClass('active');
				var path = $(this).data('path');
				var logo1 = $(this).data('image');
				var logo2 = $(this).data('target');
				$('#color-change').attr('href', path);
				$('.nav-logo').attr('src', logo1);
				$('.logo-bottom').attr('src', logo2);
			}
		});
		
		$(".color-box li").on('click',function() {
			var file_name = $(this).attr('data-name');
			$.cookie('uwash_color', file_name, { path: '/', expires: 365 });
		});
		
		// Layout select with slide button
		$("#layout_type").each( function() {
			var name = $(this).attr('name');
			if ($.cookie(name) && $.cookie(name) == "boxLayout") {
				$(this).prop('checked', true);
				$('#page_wrapper').addClass('box-layout');
			}
		});
		
		$("#layout_type").change(function() {
			var name = $(this).attr('name');
			if($(this).prop('checked')){
				$.cookie(name, 'boxLayout', { path: '/', expires: 365 });
			}
			else {
				$.cookie(name, '', { path: '/', expires: 365 });
			}
		});
		
		$('#layout_type').on('click', function(){	
			if($(this).is(':checked')){
				$('#page_wrapper').addClass('box-layout');
				location.reload();
			}
			else {
				$('#page_wrapper').removeClass('box-layout');
				location.reload();
			}
		});
		
		
		// Background select with check
		$(".box_bg_style li input[type='radio']").on('click', function(){
			$('body').removeAttr('class');
			if($(this).is(':checked')){
				var class_nm = $(this).attr('value');
				$('body').addClass(class_nm);
			}
			var name = $("#bg_over").attr('name');
			if ($.cookie(name) && $.cookie(name) == "true") {
				$(this).prop('checked', $.cookie(name));
				$('body').addClass('body_overlay');
			}
		});
		
		$(".box_bg_style li input[type='radio']").each( function() {		
			if ($.cookie('bg_layout') && $.cookie('bg_layout') == $(this).attr('value')) {
				$(this).prop('checked', true);
				$('body').addClass($.cookie('bg_layout'));
			}
		});
		
		$(".box_bg_style li input[type='radio']").change(function() {
			var name = $(this).attr('value');
			if($(this).prop('checked')){
				$.cookie('bg_layout', name, { path: '/', expires: 365 });
			}
		});
		
		// Background Overly settinhs
		$("#bg_over").each( function() {
			var name = $(this).attr('name');
			if ($.cookie(name) && $.cookie(name) == "true") {
				$(this).prop('checked', $.cookie(name));
				$('body').addClass('body_overlay');
			}
		});
		
		$("#bg_over").change(function() {
			var name = $(this).attr('name');
			$.cookie(name, $(this).prop('checked'), { path: '/', expires: 365 });
		});
		
		$('#bg_over').on('click', function(){	
			if($(this).is(':checked')){
				$('body').addClass('body_overlay');
			}
			else {
				$('body').removeClass('body_overlay');
			}
		});
		
	});
    
    // Date Count Down
	$('[data-countdown]').each(function() {
		var $this = $(this),
			finalDate = $(this).data('countdown');

		$this.countdown(finalDate, function(event) {
		  $this.html(event.strftime('<ul class="cd100"><li class="font-weight-bold"><span class="days d-block">%D</span><br><span>Days</span></li><li class="font-weight-bold"><span class="hour d-block">%H</span><br><span>Hour</span></li><li class="font-weight-bold"><span class="min d-block">%M</span><br><span>Min</span></li><li class="font-weight-bold"><span class="sec d-block">%S</span><br><span>Sec</span></li></ul>'));
		});
	  });



})(jQuery);