PageRenderTime 51ms CodeModel.GetById 20ms RepoModel.GetById 0ms app.codeStats 0ms

/sites/all/themes/md_oldal/js/front/main.js

https://bitbucket.org/jaayyy/country-lane-farms
JavaScript | 382 lines | 332 code | 40 blank | 10 comment | 32 complexity | fb1ab2efa41c9fe6d1eda61c397afb6d MD5 | raw file
Possible License(s): LGPL-2.1, GPL-2.0
  1. var $ = jQuery.noConflict();
  2. var Oldal = {
  3. init : function() {
  4. //this.initInstagram();
  5. this.initFlexsliders();
  6. this.initTooltips();
  7. this.initPopovers();
  8. this.resizeContent();
  9. this.calculateMainMargin();
  10. $('.search-trigger').click(this.toggleSearch);
  11. $('.custom-select').selectBoxIt({
  12. autoWidth: false
  13. });
  14. $('.main-nav >li').each(this.addMobileButton);
  15. $(window).scroll(this.moveHeader);
  16. this.initFancybox();
  17. },
  18. initFancybox : function() {
  19. $('.trigger-fancybox').fancybox({
  20. padding : 0,
  21. autoResize: true,
  22. arrows : false,
  23. closeBtn : false,
  24. prevEffect : 'fade',
  25. nextEffect : 'fade',
  26. helpers : {
  27. buttons : {
  28. position : 'top'
  29. }
  30. },
  31. beforeShow: function() {
  32. var closeButton = $('<button class="oldal-close oldal-fancy"><i class="entyp-cancel-1"></i></button>');
  33. var fullscreenButton = $('<button class="oldal-fullscreen oldal-fancy"><i class="entyp-resize-full-1"></i></button>');
  34. closeButton.click(function() {
  35. $.fancybox.close();
  36. });
  37. fullscreenButton.click(function() {
  38. $.fancybox.toggle();
  39. });
  40. $.fancybox.wrap.append(closeButton);
  41. $.fancybox.wrap.append(fullscreenButton);
  42. }
  43. });
  44. $('.fancybox-product').fancybox({
  45. padding : 0,
  46. autoResize: true,
  47. arrows : false,
  48. closeBtn : false,
  49. prevEffect : 'fade',
  50. nextEffect : 'fade',
  51. helpers : {
  52. buttons : {
  53. position : 'top'
  54. }
  55. },
  56. beforeShow: function() {
  57. var closeButton = $('<button class="oldal-close oldal-fancy"><i class="entyp-cancel-1"></i></button>');
  58. var fullscreenButton = $('<button class="oldal-fullscreen oldal-fancy"><i class="entyp-resize-full-1"></i></button>');
  59. closeButton.click(function() {
  60. $.fancybox.close();
  61. });
  62. fullscreenButton.click(function() {
  63. $.fancybox.toggle();
  64. });
  65. $.fancybox.wrap.append(closeButton);
  66. $.fancybox.wrap.append(fullscreenButton);
  67. }
  68. });
  69. },
  70. calculateMainMargin : function() {
  71. var mainWrap = $('.main-wrap');
  72. var height = 0;
  73. if(mainWrap.length) {
  74. $('.main-footer').length && (height = $('.main-footer').outerHeight());
  75. $('.simple-footer').length && (height = $('.simple-footer').outerHeight());
  76. mainWrap.css({
  77. "margin-bottom" : height + "px"
  78. });
  79. }
  80. },
  81. addMobileButton : function() {
  82. var el = $(this);
  83. var button = $('<button class="dropdown-toggle"><i class="glyphicon glyphicon-chevron-down"></i></button>');
  84. if(el.find('>ul').length) {
  85. el.append(button);
  86. button.click(Oldal.mobileDropdown);
  87. }
  88. },
  89. mobileDropdown : function() {
  90. var submenu = $(this).parent().find(">ul");
  91. if(submenu.is(':visible')) {
  92. submenu.slideUp(300);
  93. $(this).html('<i class="glyphicon glyphicon-chevron-down"></i>');
  94. } else {
  95. submenu.slideDown(300);
  96. $(this).html('<i class="glyphicon glyphicon-chevron-up"></i>');
  97. }
  98. },
  99. toggleSearch : function(e) {
  100. var searchWrap = $('.search-wrap');
  101. if(searchWrap.is(':visible')) {
  102. searchWrap.slideUp(300);
  103. } else {
  104. searchWrap.slideDown(300);
  105. searchWrap.find('.form-control').focus();
  106. }
  107. e.preventDefault();
  108. },
  109. hideBigSearch : function() {
  110. if($(window).width() <= 768) {
  111. $('.search-wrap').hide();
  112. }
  113. },
  114. initFlexsliders : function() {
  115. $('.recent-work').flexslider({
  116. animation: "slide",
  117. controlNav: false,
  118. directionNav : false,
  119. animationLoop: true,
  120. slideshow: false
  121. });
  122. $('.recent-work .slider-controls .left').click(function() {
  123. $('.recent-work').flexslider('prev');
  124. });
  125. $('.recent-work .slider-controls .right').click(function() {
  126. $('.recent-work').flexslider('next');
  127. });
  128. $('.post-images').flexslider({
  129. animation: "slide",
  130. controlNav: false,
  131. directionNav : false,
  132. animationLoop: true,
  133. slideshow: false
  134. });
  135. $('.post-images .slider-controls .left').click(function() {
  136. $('.post-images').flexslider('prev');
  137. });
  138. $('.post-images .slider-controls .right').click(function() {
  139. $('.post-images').flexslider('next');
  140. });
  141. $('.recent-posts').flexslider({
  142. animation: "slide",
  143. controlNav: false,
  144. directionNav : false,
  145. animationLoop: true,
  146. slideshow: false
  147. });
  148. $('.recent-posts .slider-controls .left').click(function() {
  149. $('.recent-posts').flexslider('prev');
  150. });
  151. $('.recent-posts .slider-controls .right').click(function() {
  152. $('.recent-posts').flexslider('next');
  153. });
  154. $('.product-slider').flexslider({
  155. animation: "slide",
  156. controlNav: true,
  157. directionNav : false,
  158. animationLoop: true,
  159. slideshow: false
  160. });
  161. $('.similar-slider').flexslider({
  162. animation: "slide",
  163. controlNav: false,
  164. directionNav : false,
  165. animationLoop: true,
  166. slideshow: false
  167. });
  168. $('.similar-slider .slider-controls .left').click(function() {
  169. $('.similar-slider').flexslider('prev');
  170. });
  171. $('.similar-slider .slider-controls .right').click(function() {
  172. $('.similar-slider').flexslider('next');
  173. });
  174. },
  175. initTooltips : function() {
  176. $('.oldal-tooltip').tooltip();
  177. },
  178. initPopovers : function() {
  179. $('.oldal-popover').popover();
  180. },
  181. resizeContent : function() {
  182. $('.main-container').css('min-height', ($(window).height() - $('.navbar').outerHeight() - $('.main-footer').outerHeight()) + "px");
  183. var loginWrap = $('.front .login-order-wrap');
  184. var loginInner = loginWrap.find('.login-order');
  185. loginWrap.width('auto');
  186. loginInner.css('position', 'static');
  187. //setTimeout(function(){
  188. //loginWrap.width(loginInner.width());
  189. //loginInner.css('position', 'fixed');
  190. // }, 10);
  191. },
  192. moveHeader : function() {
  193. var homeHero = $('.home-hero');
  194. var firstHeader = $('.navbar .normal-color');
  195. var secondHeader = $('.navbar .inverse-color');
  196. var searchWrap = $('.navbar .search-wrap');
  197. var scrollTop = $(window).scrollTop();
  198. var secondHeaderH = secondHeader.outerHeight();
  199. var firstHeaderH = firstHeader.outerHeight();
  200. var headerSlider = $('.header-slider');
  201. var topOffset = firstHeaderH;
  202. if(headerSlider.length) {
  203. topOffset = headerSlider.outerHeight();
  204. }
  205. if(scrollTop >= topOffset) {
  206. homeHero.addClass('sticky');
  207. secondHeader.addClass('sticky');
  208. firstHeader.addClass('opacity');
  209. searchWrap.addClass('sticky');
  210. searchWrap.css('top', secondHeaderH + "px");
  211. $("body").css('padding-top', secondHeaderH+'px');
  212. } else {
  213. homeHero.removeClass('sticky');
  214. firstHeader.removeClass('opacity');
  215. secondHeader.removeClass('sticky');
  216. searchWrap.removeClass('sticky');
  217. searchWrap.css('top', "100%");
  218. $("body").css('padding-top', 0);
  219. }
  220. }
  221. };
  222. $(document).ready(function() {
  223. Oldal.init();
  224. var frontLogo = $('.front #fixed-header .logo');
  225. var frontRightNav = $('.front #fixed-header .login-order');
  226. if (frontLogo.length) {
  227. //Make the top stuff sticky
  228. frontLogo.css({
  229. top: 10,
  230. position: 'fixed',
  231. width: 150,
  232. height: 150
  233. })
  234. scrollHandler();
  235. };
  236. function scrollHandler() {
  237. if (frontLogo.length) {
  238. if ($(window).width() > 768) {
  239. var stickyProgress = $(window).scrollTop() / 395;
  240. if ($(window).scrollTop() > 395){
  241. if (!$('#header').hasClass('sticky')) {
  242. frontLogo.css({
  243. width: '',
  244. height: ''
  245. });
  246. $('#header').addClass("sticky");
  247. };
  248. }
  249. else{
  250. if ($('#header').hasClass('sticky')) {
  251. // frontRightNav.stop(true, false).animate({
  252. // marginLeft: 150,
  253. // left: '50%'
  254. // }, 200);
  255. frontRightNav.stop(true, false);
  256. $('#header').removeClass("sticky");
  257. };
  258. frontLogo.css({
  259. width: 80 + (150-80) * (1 - stickyProgress),
  260. height: 80 + (150-80) * (1 - stickyProgress),
  261. top: 3 + 8 * (1 - stickyProgress),
  262. marginLeft: 35 * (stickyProgress)
  263. });
  264. }
  265. if ($(window).scrollTop() > 380){
  266. $('.home-hero').addClass('sticky');
  267. } else {
  268. $('.home-hero').removeClass('sticky');
  269. }
  270. } else {
  271. frontLogo.css({
  272. width: '',
  273. height: '',
  274. top: 0,
  275. position: 'static'
  276. });
  277. }
  278. }
  279. }
  280. $(window).scroll(function() {
  281. scrollHandler();
  282. });
  283. $('#header .menu a.has-subnav, #header .subnav').mouseover(function() {
  284. $('.subnav').show();
  285. }).mouseout(function() {
  286. $('.subnav').hide();
  287. });
  288. var delivery = 1;
  289. var rowHeight = function(delivery) {
  290. $('.del-'+delivery).each(function(){
  291. $(this).height($(this).find('.option-item > span').height()+10);
  292. });
  293. }
  294. rowHeight(delivery);
  295. if($(window).width() <= 768) {
  296. $('.option-item').on("click", function() {
  297. $('.option-row').children('td').removeClass('selected');
  298. $('.option-row').find('.loc-title').css('color', 'inherit');
  299. $('.option-row.active').find('.loc-title').css('color', '#fff');
  300. $(this).parents('td').addClass('selected');
  301. })
  302. }
  303. $('.del-prev').on('click', function(e){
  304. e.preventDefault();
  305. $('.del-'+delivery).hide();
  306. if(delivery == 1) { delivery = 1; }
  307. else { delivery -= 1; }
  308. $('.del-'+delivery).show();
  309. rowHeight(delivery);
  310. if($('.del-'+delivery+'.selected').is(':visible')) {
  311. $('.option-row.active').find('.loc-title').css('color', '#fff');
  312. } else {
  313. $('.option-row.active').find('.loc-title').css('color', 'inherit');
  314. }
  315. });
  316. $('.del-next').on('click', function(e){
  317. e.preventDefault();
  318. $('.del-'+delivery).hide();
  319. if(delivery == 4) { delivery = 4; }
  320. else { delivery += 1; }
  321. $('.del-'+delivery).show();
  322. rowHeight(delivery);
  323. if($('.del-'+delivery+'.selected').is(':visible')) {
  324. $('.option-row.active').find('.loc-title').css('color', '#fff');
  325. } else {
  326. $('.option-row.active').find('.loc-title').css('color', 'inherit');
  327. }
  328. });
  329. $('.flexslider .views-field-field-image2').each(function(){
  330. var image = $(this).find('img');
  331. $(this).css({backgroundImage: 'url('+image.attr('src')+')'});
  332. image.detach();
  333. });
  334. });
  335. $(window).bind("load", function() {
  336. Oldal.resizeContent();
  337. });
  338. $(window).resize(function() {
  339. Oldal.hideBigSearch();
  340. Oldal.resizeContent();
  341. });
  342. $(".post").fitVids();