/*jshint jquery:true */


/*global $:true */





var $ = jQuery.noConflict();





$(document).ready(function ($) {


	"use strict";





	/*-------------------------------------------------*/


	/* =  portfolio isotope


	/*-------------------------------------------------*/





	var winDow = $(window);


	// Needed variables


	var $container = $('.portfolio-container');


	var $filter = $('.filter');





	try {


		$container.imagesLoaded(function () {


			$container.show();


			$container.isotope({


				filter: '*',


				layoutMode: 'masonry',


				animationOptions: {


					duration: 750,


					easing: 'linear'


				}


			});


		});


	} catch (err) {


	}





	winDow.bind('resize', function () {


		var selector = $filter.find('a.active').attr('data-filter');





		try {


			$container.isotope({


				filter: selector,


				animationOptions: {


					duration: 750,


					easing: 'linear',


					queue: false,


				}


			});


		} catch (err) {


		}


		return false;


	});





	// Isotope Filter 


	$filter.find('a').click(function () {


		var selector = $(this).attr('data-filter');





		try {


			$container.isotope({


				filter: selector,


				animationOptions: {


					duration: 750,


					easing: 'linear',


					queue: false,


				}


			});


		} catch (err) {





		}


		return false;


	});








	var filterItemA = $('.filter li a');





	filterItemA.on('click', function () {


		var $this = $(this);


		if (!$this.hasClass('active')) {


			filterItemA.removeClass('active');


			$this.addClass('active');


		}


	});





	/*-------------------------------------------------*/


	/* =  fullwidth carousell


	/*-------------------------------------------------*/


	try {


		var fullCarousell = $("#owl-demo");


		fullCarousell.owlCarousel({


			navigation: true,


			afterInit: function (elem) {


				var that = this;


				that.owlControls.prependTo(elem);


			}


		});


	} catch (err) {





	}





	/*-------------------------------------------------*/


	/* =  fullwidth carousell


	/*-------------------------------------------------*/


	try {


		$.browserSelector();


		// Adds window smooth scroll on chrome.


		if ($("html").hasClass("chrome")) {


			$.smoothScroll();


		}


	} catch (err) {





	}





	/*-------------------------------------------------*/


	/* =  Scroll to TOP


	/*-------------------------------------------------*/





	var animateTopButton = $('.go-top'),


		htmBody = $('html, body');





	animateTopButton.click(function () {


		htmBody.animate({
			scrollTop: 0
		}, 'slow');


		return false;


	});





	/*-------------------------------------------------*/


	/* =  flexslider


	/*-------------------------------------------------*/


	try {





		var SliderPost = $('.flexslider');





		SliderPost.flexslider({


			animation: "slide",


			slideshowSpeed: 3000,


			easing: "swing",


			direction: "vertical"


		});


	} catch (err) {





	}





	/* ---------------------------------------------------------------------- */


	/*	Contact Map


	/* ---------------------------------------------------------------------- */


	var contact = {
		"lat": "51.51152",
		"lon": "-0.104198"
	}; //Change a map coordinate here!





	try {


		var mapContainer = $('.map');


		mapContainer.gmap3({


				action: 'addMarker',


				latLng: [contact.lat, contact.lon],


				map: {


					center: [contact.lat, contact.lon],


					zoom: 14


				},


			},


			{
				action: 'setOptions',
				args: [{
					scrollwheel: true
				}]
			}


		);


	} catch (err) {





	}





	/* ---------------------------------------------------------------------- */


	/*	magnific-popup


	/* ---------------------------------------------------------------------- */





	try {


		// Example with multiple objects


		$('.zoom').magnificPopup({


			type: 'image'


		});


	} catch (err) {





	}





	try {


		// Example with multiple objects


		$('.zoom.video').magnificPopup({


			type: 'iframe'


		});


	} catch (err) {





	}





	/* ---------------------------------------------------------------------- */


	/*	Accordion


	/* ---------------------------------------------------------------------- */


	var clickElem = $('a.accord-link');





	clickElem.on('click', function (e) {


		e.preventDefault();





		var $this = $(this),


			parentCheck = $this.parents('.accord-elem'),


			accordItems = $('.accord-elem'),


			accordContent = $('.accord-content');





		if (!parentCheck.hasClass('active')) {





			accordContent.slideUp(400, function () {


				accordItems.removeClass('active');


			});


			parentCheck.find('.accord-content').slideDown(400, function () {


				parentCheck.addClass('active');


			});





		} else {





			accordContent.slideUp(400, function () {


				accordItems.removeClass('active');


			});





		}


	});





	/* ---------------------------------------------------------------------- */


	/*	Tabs


	/* ---------------------------------------------------------------------- */


	var clickTab = $('.tab-links li a');





	clickTab.on('click', function (e) {


		e.preventDefault();





		var $this = $(this),


			hisIndex = $this.parent('li').index(),


			tabCont = $('.tab-content'),


			tabContIndex = $(".tab-content:eq(" + hisIndex + ")");





		if (!$this.hasClass('active')) {





			clickTab.removeClass('active');


			$this.addClass('active');





			tabCont.fadeOut(400);


			tabCont.removeClass('active');


			tabContIndex.delay(400).fadeIn(400);


			tabContIndex.addClass('active');


		}


	});





	/*-------------------------------------------------*/


	/* = slider Testimonial


	/*-------------------------------------------------*/





	var slidertestimonial = $('.bxslider');


	try {


		slidertestimonial.bxSlider({


			mode: 'vertical'


		});


	} catch (err) {


	}





	/*-------------------------------------------------*/


	/* = skills animate


	/*-------------------------------------------------*/





	var animateElement = $(".meter > span");


	animateElement.each(function () {


		$(this)


			.data("origWidth", $(this).width())


			.width(0)


			.animate({


				width: $(this).data("origWidth")


			}, 1200);


	});





	/*-------------------------------------------------*/


	/* =  Shop accordion


	/*-------------------------------------------------*/





	var AccordElement = $('a.accordion-link');





	AccordElement.on('click', function (e) {


		e.preventDefault();


		var elemSlide = $(this).parent('li').find('.accordion-list-content');





		if (!$(this).hasClass('active')) {


			$(this).addClass('active');


			elemSlide.slideDown(200);


		} else {


			$(this).removeClass('active');


			elemSlide.slideUp(200);


		}


	});





	/*-------------------------------------------------*/


	/* =  price range code


	/*-------------------------------------------------*/





	try {





		for (var i = 100; i <= 10000; i++) {


			$('#start-val').append(


				'<option value="' + i + '">' + i + '</option>'


			);


		}


		// Initialise noUiSlider


		$('.noUiSlider').noUiSlider({


			range: [0, 1600],


			start: [0, 1000],


			handles: 2,


			connect: true,


			step: 1,


			serialization: {


				to: [$('#start-val'),


					$('#end-val')
				],


				resolution: 1


			}


		});


	} catch (err) {





	}





	/*-------------------------------------------------*/


	/* =  Single page


	/*-------------------------------------------------*/





	var windowHeight = $(window).height();


	$('.home-box').css('height', windowHeight);





	$(window).resize(function () {


		var windowHeight = $(window).height();


		$('.home-box').css('height', windowHeight);


	});





	/* ---------------------------------------------------------------------- */


	/*	Contact Form


	/* ---------------------------------------------------------------------- */





	var submitContact = $('.submit_contact');





	submitContact.on('click', function (e) {


		e.preventDefault();





		var $this = $(this),


			message = $('.msg');





		if (!$this.hasClass('main-form')) {





			$.ajax({


				type: "POST",


				url: 'contact.php',


				dataType: 'json',


				cache: false,


				data: $('.contact-work-form').serialize(),


				success: function (data) {





					if (data.info !== 'error') {


						$this.parents('form').find('input[type=text],textarea,select').filter(':visible').val('');


						message.hide().removeClass('success').removeClass('error').addClass('success').html(data.msg).fadeIn('slow').delay(5000).fadeOut('slow');


					} else {


						message.hide().removeClass('success').removeClass('error').addClass('error').html(data.msg).fadeIn('slow').delay(5000).fadeOut('slow');


					}


				}


			});


		} else {





			message = $('.msg2');


			$.ajax({


				type: "POST",


				url: 'contact.php',


				dataType: 'json',


				cache: false,


				data: $('.contact-work-form2').serialize(),


				success: function (data) {





					if (data.info !== 'error') {


						$this.parents('form').find('input[type=text],textarea,select').filter(':visible').val('');


						message.hide().removeClass('success').removeClass('error').addClass('success').html(data.msg).fadeIn('slow').delay(5000).fadeOut('slow');


					} else {


						message.hide().removeClass('success').removeClass('error').addClass('error').html(data.msg).fadeIn('slow').delay(5000).fadeOut('slow');


					}


				}


			});


		}


	});





	/* ---------------------------------------------------------------------- */


	/*	Header animate after scroll


	/* ---------------------------------------------------------------------- */





	(function () {





		var docElem = document.documentElement,


			didScroll = false,


			changeHeaderOn = 200;


		document.querySelector('header');


		function init() {


			window.addEventListener('scroll', function () {


				if (!didScroll) {


					didScroll = true;


					setTimeout(scrollPage, 250);


				}


			}, false);


		}





		function scrollPage() {


			var sy = scrollY();


			if (sy >= changeHeaderOn) {


				$('header').addClass('active');


			} else {


				$('header').removeClass('active');


			}


			didScroll = false;


		}





		function scrollY() {


			return window.pageYOffset || docElem.scrollTop;


		}





		init();





	})();





});