script.js 8.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375
  1. /*jshint jquery:true */
  2. $(document).ready(function($) {
  3. "use strict";
  4. /* global google: false */
  5. /*jshint -W018 */
  6. /*-------------------------------------------------*/
  7. /* = portfolio isotope
  8. /*-------------------------------------------------*/
  9. var winDow = $(window);
  10. // Needed variables
  11. var $container=$('.iso-call');
  12. var $filter=$('.filter');
  13. try{
  14. $container.imagesLoaded( function(){
  15. // init
  16. winDow.trigger('resize');
  17. $container.isotope({
  18. filter:'*',
  19. layoutMode:'masonry',
  20. itemSelector: '.iso-call > div',
  21. masonry: {
  22. columnWidth: '.default-size'
  23. },
  24. animationOptions:{
  25. duration:750,
  26. easing:'linear'
  27. }
  28. });
  29. });
  30. } catch(err) {
  31. }
  32. winDow.on('resize', function(){
  33. var selector = $filter.find('a.active').attr('data-filter');
  34. try {
  35. $container.isotope({
  36. filter : selector,
  37. animationOptions: {
  38. duration: 750,
  39. easing : 'linear',
  40. queue : false,
  41. }
  42. });
  43. } catch(err) {
  44. }
  45. return false;
  46. });
  47. // Isotope Filter
  48. $filter.find('a').on('click', function(){
  49. var selector = $(this).attr('data-filter');
  50. try {
  51. $container.isotope({
  52. filter : selector,
  53. animationOptions: {
  54. duration: 750,
  55. easing : 'linear',
  56. queue : false,
  57. }
  58. });
  59. } catch(err) {
  60. }
  61. return false;
  62. });
  63. var filterItemA = $('.filter li a');
  64. filterItemA.on('click', function(){
  65. var $this = $(this);
  66. if ( !$this.hasClass('active')) {
  67. filterItemA.removeClass('active');
  68. $this.addClass('active');
  69. }
  70. });
  71. $('#container').addClass('active');
  72. $('.iso-call').css('opacity', 0);
  73. $('.iso-call').imagesLoaded( function(){
  74. $('.iso-call').css('opacity', 1);
  75. });
  76. /*-------------------------------------------------*/
  77. /* = ticker news
  78. /*-------------------------------------------------*/
  79. $('a.toogle-box').on('click', function(event){
  80. event.preventDefault();
  81. if(!$(this).hasClass('active')) {
  82. $(this).addClass('active');
  83. $('div.versions-box-choose').addClass('closed');
  84. } else {
  85. $(this).removeClass('active');
  86. $('div.versions-box-choose').removeClass('closed');
  87. }
  88. });
  89. /*-------------------------------------------------*/
  90. /* = ticker news
  91. /*-------------------------------------------------*/
  92. try{
  93. $('#js-news').ticker({
  94. speed: 0.20, // The speed of the reveal
  95. controls: true, // Whether or not to show the jQuery News Ticker controls
  96. titleText: '', // To remove the title set this to an empty String
  97. displayType: 'reveal', // Animation type - current options are 'reveal' or 'fade'
  98. direction: 'ltr', // Ticker direction - current options are 'ltr' or 'rtl'
  99. pauseOnItems: 2000, // The pause on a news item before being replaced
  100. fadeInSpeed: 600, // Speed of fade in animation
  101. fadeOutSpeed: 300 // Speed of fade out animation
  102. });
  103. } catch(err) {
  104. }
  105. /*-------------------------------------------------*/
  106. /* = OWL carousell - featured post, video post, gallery posts
  107. /*-------------------------------------------------*/
  108. try {
  109. var owlWrap = $('.owl-wrapper');
  110. if (owlWrap.length > 0) {
  111. if (jQuery().owlCarousel) {
  112. owlWrap.each(function(){
  113. var carousel= $(this).find('.owl-carousel'),
  114. dataNum = $(this).find('.owl-carousel').attr('data-num'),
  115. dataNum2,
  116. dataNum3;
  117. if ( dataNum == 1 ) {
  118. dataNum2 = 1;
  119. dataNum3 = 1;
  120. } else if ( dataNum == 2 ) {
  121. dataNum2 = 2;
  122. dataNum3 = dataNum - 1;
  123. } else {
  124. dataNum2 = dataNum - 1;
  125. dataNum3 = dataNum - 2;
  126. }
  127. carousel.owlCarousel({
  128. autoPlay: 4000,
  129. navigation : true,
  130. items : dataNum,
  131. itemsDesktop : [1199,dataNum2],
  132. itemsDesktopSmall : [979,dataNum3],
  133. });
  134. });
  135. }
  136. }
  137. } catch(err) {
  138. }
  139. /*-------------------------------------------------*/
  140. /* = bxslider
  141. /*-------------------------------------------------*/
  142. try {
  143. /*$('.bxslider').bxSlider({
  144. mode: 'fade',
  145. auto: true
  146. });*/
  147. $('.bxsliderLeft').bxSlider({
  148. mode: 'fade',
  149. auto: true
  150. });
  151. $('.bxsliderRight').bxSlider({
  152. mode: 'fade',
  153. auto: true
  154. });
  155. $('.big-bxslider').bxSlider({
  156. mode: 'horizontal',
  157. auto: true
  158. });
  159. $('.slider-call').bxSlider({
  160. pagerCustom: '#bx-pager'
  161. });
  162. $('.slider-call2').bxSlider({
  163. pagerCustom: '#bx-pager2'
  164. });
  165. } catch(err) {
  166. }
  167. /* ---------------------------------------------------------------------- */
  168. /* magnific-popup
  169. /* ---------------------------------------------------------------------- */
  170. try {
  171. // Example with multiple objects
  172. $('.zoom').magnificPopup({
  173. type: 'image',
  174. gallery: {
  175. enabled: true
  176. }
  177. });
  178. } catch(err) {
  179. }
  180. try {
  181. // Example with multiple objects
  182. $('.video-link').magnificPopup({
  183. type: 'iframe'
  184. });
  185. } catch(err) {
  186. }
  187. try {
  188. var magnLink = $('.log-in-popup');
  189. magnLink.magnificPopup({
  190. closeBtnInside:true
  191. });
  192. } catch(err) {
  193. }
  194. /*-------------------------------------------------*/
  195. /* = comming soon & error height fix
  196. /*-------------------------------------------------*/
  197. try {
  198. $('#clock').countdown("2016/04/29", function(event) {
  199. var $this = $(this);
  200. switch(event.type) {
  201. case "seconds":
  202. case "minutes":
  203. case "hours":
  204. case "days":
  205. case "daysLeft":
  206. $this.find('span#'+event.type).html(event.value);
  207. break;
  208. case "finished":
  209. $this.hide();
  210. break;
  211. }
  212. });
  213. } catch(err) {
  214. }
  215. /*-------------------------------------------------*/
  216. /* = skills animate
  217. /*-------------------------------------------------*/
  218. try{
  219. var skillBar = $('.review-box');
  220. skillBar.appear(function() {
  221. var animateElement = $(".meter > p");
  222. animateElement.each(function() {
  223. $(this)
  224. .data("origWidth", $(this).width())
  225. .width(0)
  226. .animate({
  227. width: $(this).data("origWidth")
  228. }, 1200);
  229. });
  230. });
  231. } catch(err) {
  232. }
  233. /* ---------------------------------------------------------------------- */
  234. /* register login forms
  235. /* ---------------------------------------------------------------------- */
  236. $('.register-line a').on('click', function(event){
  237. event.preventDefault();
  238. $('form.login-form').slideUp(400);
  239. $('form.register-form').slideDown(400);
  240. });
  241. $('a.lost-password').on('click', function(event){
  242. event.preventDefault();
  243. $('form.login-form').slideUp(400);
  244. $('form.lost-password-form').slideDown(400);
  245. });
  246. $('.login-line a').on('click', function(){
  247. console.log("clicked");
  248. $('form.lost-password-form').slideUp(400);
  249. $('form.register-form').slideUp(400);
  250. $('form.login-form').slideDown(400);
  251. });
  252. /* ---------------------------------------------------------------------- */
  253. /* Contact Map
  254. /* ---------------------------------------------------------------------- */
  255. var contact = {"lat":"-38.3945495", "lon":"144.9187974"}; //Change a map coordinate here!-38.3945495,144.9187974
  256. try {
  257. var mapContainer = $('#map');
  258. mapContainer.gmap3({
  259. action: 'addMarker',
  260. marker:{
  261. options:{
  262. icon : new google.maps.MarkerImage('images/marker.png')
  263. }
  264. },
  265. latLng: [contact.lat, contact.lon],
  266. map:{
  267. center: [contact.lat, contact.lon],
  268. zoom: 10
  269. },
  270. },
  271. {action: 'setOptions', args:[{scrollwheel:false}]}
  272. );
  273. } catch(err) {
  274. }
  275. /* ---------------------------------------------------------------------- */
  276. /* Header animate after scroll
  277. /* ---------------------------------------------------------------------- */
  278. (function() {
  279. var docElem = document.documentElement,
  280. didScroll = false,
  281. changeHeaderOn = 300;
  282. document.querySelector( 'header' );
  283. function init() {
  284. window.addEventListener( 'scroll', function() {
  285. if( !didScroll ) {
  286. didScroll = true;
  287. setTimeout( scrollPage, 100 );
  288. }
  289. }, false );
  290. }
  291. function scrollPage() {
  292. var sy = scrollY();
  293. if ( sy >= changeHeaderOn ) {
  294. $( 'header' ).addClass('active');
  295. }
  296. else {
  297. $( 'header' ).removeClass('active');
  298. }
  299. didScroll = false;
  300. }
  301. function scrollY() {
  302. return window.pageYOffset || docElem.scrollTop;
  303. }
  304. init();
  305. })();
  306. });