"use strict"
jQuery(window).load(function(){
if(jQuery("body").hasClass("page-loading")){
jQuery("body").removeClass("page-loading");
jQuery("#page-loader").fadeOut();
}});
var swipeboxInstance;
jQuery(function($){
var $window=$(window),
$body=$("body"),
$msnry_container=$("#brick-wrap"), // "main" masonry container
$mainMenu=$('#main-menu-wrap'),
responsiveMode=false,
$side_area=$("#sidebar-side-area");
function responsive(){
responsiveMode=$("#menu-stripe").css('display')!='none';
if(responsiveMode){
$body.addClass('responsive');
$body.addClass('off-canvas-menu');
}else{
$body.removeClass('responsive');
stickyNav();
}}
responsive();
$window.resize(responsive);
var stickyNavTop;
var stickyTimer;
function stickyNav(){
if(responsiveMode){
return;
}
var scrollTop=Math.floor($window.scrollTop());
if($body.hasClass("off-canvas-menu-enabled")){
if($body.hasClass("page-has-slider")&&!$("#site-header").isOnScreen(0.01, 0.01)){
$body.addClass("off-canvas-menu");
}
else if($body.hasClass("off-canvas-menu")&&$body.hasClass("page-has-slider")&&$("#site-header").hasClass("stretch-right")
&& $("#site-header").isOnScreen(0.01, 0.01)){
$body.removeClass("off-canvas-menu");
}}
if(scrollTop > stickyNavTop){
$mainMenu.addClass('scrolled sticky');
if(!$mainMenu.hasClass('sticky-animate')){
stickyTimer=setTimeout(function (){
$mainMenu.addClass('sticky-animate');
clearStickyTimer();
}, 500);
}}else{
if($mainMenu.hasClass("sticky")){
$mainMenu.removeClass("scrolled sticky sticky-animate");
}
if($body.removeClass("canvas-menu-open")&&$body.hasClass("home")){
$body.removeClass("canvas-menu-open");
}}
};
function clearStickyTimer(){
clearTimeout(stickyTimer);
}
function update_sticky_nav(){
stickyNavTop=Math.floor($mainMenu.offset().top);
}
if($mainMenu.hasClass("menu-sticky")){
stickyNav();
$window.scroll(stickyNav);
update_sticky_nav();
$window.resize(update_sticky_nav);
}
var mask=document.createElement("div");
mask.className="menu-mask";
document.body.appendChild(mask);
$("#toggle-canvas-menu").on("click", function(e){
e.preventDefault();
$body.addClass("canvas-menu-open");
});
mask.addEventListener("click", function(){
$body.removeClass("canvas-menu-open");
if($body.hasClass("responsive")){
$("#check").prop("checked", !$("#check").prop("checked"));
}});
var isset_submenu_height=false;
function set_submenu_height(){
$.each($mainMenu.find(".submenu-wide .submenu-inner"), function (index, elem){
var width=0,
max_height=0,
$elem=$(elem);
$elem.children('ul').children('li').each(function (index, li){
width +=parseInt($(li).outerWidth(true));
var height=parseInt($(li).height());
if(height > max_height){
max_height=height;
}});
$elem.css('display', '').css('width', Math.floor(width ));
$elem.find("> ul > li").height(max_height);
});
}
$window.resize(maybe_set_submenu_height);
maybe_set_submenu_height();
function maybe_set_submenu_height(){
if(responsiveMode||isset_submenu_height){
return false;
}
set_submenu_height();
isset_submenu_height=true;
}
$(".no-link > a").on("click", function(e){
e.preventDefault();
});
$("#menu-open").on("click", function(e){
if(!$("#check").prop("checked")){
$body.addClass("canvas-menu-open");
}else{
$body.removeClass("canvas-menu-open");
}});
$('#check').prop('checked', false);
$("#responsive-menu .no-link > a").on("click", function(e){
e.preventDefault();
$(this).parent().children(".sub-menu").slideToggle();
});
function runMasonry(){
$msnry_container.imagesLoaded().always(function(instance){
$msnry_container.masonry({
columnWidth: ".grid-sizer",
isAnimated: !Modernizr.csstransitions,
itemSelector: '.brick-item-wrap',
isRTL:(typeof(Pukka.isRTL)!=="undefined" ? Pukka.isRTL:false),
animationOptions: {
duration: 750,
easing: 'linear',
queue: false
}});
});
if($(".portfolio-items-wrap").length > 0){
$("#grid-filter span").on("click", function(e){
e.preventDefault();
$("#grid-filter .current").removeClass("current");
$(this).addClass("current");
var group=$(this).data("cat");
var group_class="." + group;
if(group!="all"){
$(".portfolio-items-wrap .brick-item-wrap").hide();
$(group_class).show();
}else{
$(".portfolio-items-wrap .brick-item-wrap").show();
}
$msnry_container.masonry('layout');
});
}
if($(".pukka-posts-wrap").length > 0){
$.each($(".pukka-posts-wrap"), function(index, elem){
var $brickWrap=null;
if($(elem).find(".brick-wrap").length > 0){
$brickWrap=$(elem).find(".brick-wrap");
$brickWrap.masonry({
itemSelector: ".brick-item-wrap",
columnWidth: ".grid-sizer",
isRTL:(typeof(Pukka.isRTL)!=="undefined" ? Pukka.isRTL:false),
isAnimated: !Modernizr.csstransitions,
animationOptions: {
duration: 750,
easing: 'linear',
queue: false
}});
}
$(elem).on("click", ".pukka-shortcode-load-more a", function(e){
e.preventDefault();
$(this).parent().addClass('loading');
loadShortcodeContent($(elem), $brickWrap);
});
});
}}
setTimeout(function(){ runMasonry(); }, 1000);
var pageLoading=false;
function loadContent($link){
if(pageLoading==true){
return;
}
pageLoading=true;
$.ajax({
type: "get",
url: $link.attr("href"),
dataType: "html",
success: function(response){
var html=$('<div>').html(response);
var $bricks=$(html).find(".brick-item-wrap");
if($bricks.length > 0){
$bricks.imagesLoaded().always(function(instance){
$msnry_container.append($bricks);
$msnry_container.masonry('appended', $bricks);
});
}else{
var $articles=$(html).find("#main article");
$link.closest(".paging-navigation").before($articles);
}
$link.closest(".paging-navigation").html($(html).find(".paging-navigation").html());
pageLoading=false;
$window.trigger('content-loaded');
}});
}
$window.on('content-loaded', refreshSliders);
$window.trigger('content-loaded');
function refreshSliders(){
}
$("body").on("click", ".pukka-load-more a", function(e){
e.preventDefault();
$(this).parent().addClass('loading');
loadContent($(this));
});
$(window).bind('mousewheel wheel', function(e){
$(window).scroll();
});
var mousewheelevt=(/Firefox/i.test(navigator.userAgent))? "DOMMouseScroll":"mousewheel"
if(document.attachEvent){
document.attachEvent("on"+mousewheelevt, function(){ $(window).scroll(); });
}
$(window).scroll(function(){
if($(".pukka-load-more.infinite-scroll").length==0){
return;
}
if($(".pukka-load-more.infinite-scroll").isOnScreen()){
if( pageLoading){
return false;
}else{
$(".pukka-load-more a").trigger("click");
}}
});
function loadShortcodeContent($postsWrap, $brickWrap){
if(pageLoading==true){
return;
}
pageLoading=true;
var layout=$postsWrap.data("layout")!=undefined ? $postsWrap.data("layout"):"",
queryArgs=$postsWrap.data("query_args");
$.ajax({
type: "get",
url: Pukka.ajaxurl,
dataType: "json",
data: {query_args: queryArgs, layout: layout, action: "pukka_shortcode_load_posts"},
success: function(response){
if(!response.error){
var html=$('<div>').html(response.html);
if($brickWrap!==null){
var $bricks=$(html).find(".brick-item-wrap");
if($bricks.length > 0){
$bricks.imagesLoaded().always(function (instance){
$brickWrap.append($bricks);
$brickWrap.masonry('appended', $bricks);
$brickWrap.masonry("layout");
});
}}else{
$postsWrap.children(".posts-wrap").append($(html).find("article"));
}
$postsWrap.data("query_args", response.query_args);
if(response.load_more){
$postsWrap.find(".infinite-load-more-wrap").removeClass("loading");
}else{
$postsWrap.find(".paging-navigation").remove();
}}else{
$postsWrap.find(".paging-navigation").remove();
}
pageLoading=false;
}});
}
var $searchContainer=$('.search-wrap');
$searchContainer.find('.s-main').on({
focus: function(){
toggleSearch(true);
},
blur: function(){
toggleSearch(false);
}});
function toggleSearch(active){
if(active){
$searchContainer.addClass("search-active");
}else{
$searchContainer.removeClass("search-active");
}}
$('.searchsubmit-main').click(function(e){
$(this).closest('form').submit();
});
$('#top-link').click(function(e){
e.preventDefault();
$("html,body").animate({ scrollTop: 0 }, "slow");
});
$(window).scroll(function(){
if($(this).scrollTop() > $(window).height()){
$('#top-link:hidden').stop(true, true).fadeIn().css("display","block");
}else{
$('#top-link').stop(true, true).fadeOut();
}});
if(typeof($(".swipebox").swipebox)==="function"){
swipeboxInstance=$(".swipebox").swipebox();
}
function initLightbox(){
if(typeof($(".swipebox").swipebox)==="function"&&swipeboxInstance!==undefined){
if(swipeboxInstance!=null){
swipeboxInstance.refresh();
}else{
swipeboxInstance=$(".swipebox").swipebox();
}}
}
$("#main").on({
click: function(e){
e.preventDefault();
var url=$(this).parent().data("url"),
title=$(this).parent().data("title"),
description=$(this).parent().data("desc"),
image=$(this).parent().data("image"),
network=$(this).data("network");
var fn_name="pukka"+ network.toUpperCase() +"Share";
var fn=window[fn_name];
if(typeof fn==='function'){
fn(url, title, description, image);
}}
}, ".pukka-share");
$(window).resize(function(){
share_winTop=(screen.height / 2) - (share_winHeight / 2);
share_winLeft=(screen.width / 2) - (share_winWidth / 2);
});
$(".pukka-message-box a").on("click", function(e){
e.preventDefault();
$(this).closest(".pukka-message-box").fadeOut("fast");
});
var touch=Modernizr.touch;
$('.parallax-holder').imageScroll({
holderClass: 'parallaxImageHolder',
touch: touch
});
if($(".pukka-slider-wrap").length > 0){
$(".pukka-slider-wrap").each(function(index, elem){
var $elem=$(elem);
$elem.flexslider({
slideshow: $(elem).data("autostart")!=undefined ? $(elem).data("autostart"):true,
animation: "slide",
slideshowSpeed: $(elem).data("speed")!=undefined ? $(elem).data("speed"):3500,
controlNav: false,
directionNav: false,
smoothHeight: false,
rtl:(typeof(Pukka.isRTL)!=="undefined" ? Pukka.isRTL:false),
itemMargin: 0,
move: 1,
start: function(){
$elem.find(".flex-viewport").css("visibility", "visible");
}});
$elem.find('.slider-prev, .slider-next').on('click', function (e){
var href=$(this).attr('href');
$elem.flexslider(href);
return false;
});
});
}
if($body.hasClass("page-has-slider")
&& $("#slider-wrapper").length > 0 
&& $(window).height() > 640&&$(window).height() < 1080 
&& !/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)
){
if($("#site-header").hasClass("stretch-vertical")){
sliderUpdateHeight();
$(window).resize(sliderUpdateHeight);
}
if($("#site-header").hasClass("stretch-right")){
sliderUpdateWidth();
$(window).resize(sliderUpdateWidth);
}}
function sliderUpdateHeight(){
var height=$(window).height(),
admin_bar_height=0;
var navbar_height=$mainMenu.outerHeight();
if($("#wpadminbar").length > 0){
admin_bar_height=$("#wpadminbar").height();
}
$("#site-header").css("height", (height - (navbar_height+admin_bar_height)));
$(".pukka-slide .slide-item-big").css("height", (height - (navbar_height+admin_bar_height)));
$(".pukka-slide .slide-item-medium").css("height", Math.floor((height - (navbar_height + admin_bar_height))/2));
$(".pukka-slide .slide-item-small").css("height", Math.floor((height - (navbar_height + admin_bar_height))/2));
update_sticky_nav();
};
function sliderUpdateWidth(){
var windowWidth=$window.width(),
contentWidth=$(".width-wrap").width(),
leftSidebarOffset=0;
if($side_area.length > 0){
leftSidebarOffset=parseInt($side_area.css("width"), 10) + parseInt($side_area.css("margin-left"), 10);
}
$("#site-header").find("#slider-wrapper").css('width', Math.floor(contentWidth + (windowWidth-contentWidth)/2 - leftSidebarOffset));
}
$body.imagesLoaded().always(function(instance){
pukka_sticky_sidebar();
});
$('body').on('keydown', function(e){
if(e.which==35){
$(this).click();
}
if(e.which==36){
$(this).click();
}});
$(window).bind('resize', function(){
pukka_sticky_sidebar();
});
function pukka_sticky_sidebar(){
if($(window).width() > 960){
if($('.pukka-sticky').length > 0){
if($('#main').height() - 50 > $('.sidebar').height()){
var t=$('.pukka-sticky').offset().top-50;
if($('body').hasClass('admin-bar')){
var b=0;
}else{
var b=30;
}
$(".pukka-sticky").affix({
offset: {
top: function(){
return t;
},
bottom: function(){
return ($("#footer").outerHeight(true) + 30);
}}
});
}}
}}
$("#main").fitVids();
function pukkaResize(){
$('.window-width').each(function(index, elem){
var $elem=$(elem);
var windowWidth=$window.width();
$elem.css('width', windowWidth);
$elem.css('margin-left', '');
$elem.css('margin-left', 0 - $elem.offset().left);
});
}
pukkaResize();
$(window).resize(pukkaResize);
});
var share_winWidth='520',
share_winHeight='350';
var share_winTop=(screen.height / 2) - (share_winHeight / 2);
var share_winLeft=(screen.width / 2) - (share_winWidth / 2);
function pukkaFBShare(url, title, descr, image){
window.open('http://www.facebook.com/sharer.php?m2w&s=100&p[title]=' + title + '&p[summary]=' + descr + '&p[url]=' + encodeURIComponent(url) + '&p[images][0]=' + image, 'sharer', 'top=' + share_winTop + ',left=' + share_winLeft + ',toolbar=0,status=0,width=' + share_winWidth + ',height=' + share_winHeight);
}
function pukkaTWShare(url, title, descr, image){
window.open('https://twitter.com/share?url=' + url +'&text='+ title, 'sharer', 'top=' + share_winTop + ',left=' + share_winLeft + ',toolbar=0,status=0,width=' + share_winWidth + ',height=' + share_winHeight);
}
function pukkaGPShare(url, title, descr, image){
window.open('https://plus.google.com/share?url='+ encodeURIComponent(url), 'sharer', 'top=' + share_winTop + ',left=' + share_winLeft + ',toolbar=0,status=0,width=' + share_winWidth + ',height=' + share_winHeight);
}
function pukkaINShare(url, title, descr, image){
window.open('http://www.linkedin.com/shareArticle?mini=true&url='+ encodeURIComponent(url) +"&title="+ title +"&sumary="+ descr, 'sharer', 'top=' + share_winTop + ',left=' + share_winLeft + ',toolbar=0,status=0,width=' + share_winWidth + ',height=' + share_winHeight);
}
function pukkaPTShare(url, title, descr, image){
window.open('http://pinterest.com/pin/create/button/?url=' + url + '&description=' + descr + '&media=' + image, 'sharer', 'top=' + share_winTop + ',left=' + share_winLeft + ',toolbar=0,status=0,width=' + share_winWidth + ',height=' + share_winHeight);
}
(function ($){
$.fn.isOnScreen=function(x, y){
if(x==null||typeof x=='undefined') x=1;
if(y==null||typeof y=='undefined') y=1;
var win=$(window);
var viewport={
top:win.scrollTop(),
left:win.scrollLeft()
};
viewport.right=viewport.left + win.width();
viewport.bottom=viewport.top + win.height();
var height=this.outerHeight();
var width=this.outerWidth();
if(!width||!height){
return false;
}
var bounds=this.offset();
bounds.right=bounds.left + width;
bounds.bottom=bounds.top + height;
var visible=(!(viewport.right < bounds.left||viewport.left > bounds.right||viewport.bottom < bounds.top||viewport.top > bounds.bottom));
if(!visible){
return false;
}
var deltas={
top:Math.min(1,(bounds.bottom - viewport.top) / height),
bottom:Math.min(1,(viewport.bottom - bounds.top) / height),
left:Math.min(1,(bounds.right - viewport.left) / width),
right:Math.min(1,(viewport.right - bounds.left) / width)
};
return (deltas.left * deltas.right) >=x&&(deltas.top * deltas.bottom) >=y;
};})(jQuery);
var map;
var geocoder;
function initializeContactMap(map_el){
geocoder=new google.maps.Geocoder();
var data={map_zoom: Pukka.contact.map_zoom, address: "Kneza Milosa 47, Belgrade", title: "title", map_lat: 40.712784, map_lnt: -74.005941};
var mapOptions={
scrollwheel: false,
styles: Pukka.contact.map_style,
zoom: parseInt(data.map_zoom)
};
map=new google.maps.Map(map_el, mapOptions);
var pos=new google.maps.LatLng(data.map_lat, data.map_lnt);
var options={
map: map,
position: pos,
content: 'something something'
};
map.setCenter(options.position);
}
function codeAddress(address){
var address=address;
var contentString='<div id="content">'+
'<div id="siteNotice">'+
'</div>'+
'<div id="bodyContent">'+
'<p>'+ address +'</p>'+
'</div>'+
'</div>';
var infowindow=new google.maps.InfoWindow({
content: contentString
});
geocoder.geocode({ 'address': address}, function(results, status){
if(status==google.maps.GeocoderStatus.OK){
map.setCenter(results[0].geometry.location);
var marker=new google.maps.Marker({
map: map,
position: results[0].geometry.location,
icon: Pukka.contact.map_marker,
title: address
});
google.maps.event.addListener(marker, 'click', function(){
infowindow.open(map,marker);
});
} 
});
};