pagelayer_svg_cache = {};
var pagelayer_document_width;
// For automatic row parent change
jQuery(window).resize(function(){
var new_vw = jQuery(document).width();
if(new_vw == pagelayer_document_width){
return false;
}
pagelayer_document_width = new_vw;
// Set a timeout to prevent bubbling
setTimeout(function(){
jQuery(pagelayer_editable+' .pagelayer-row-stretch-full').each(function(){
var par = jQuery(this).parent();
pagelayer_pl_row_parent_full(par);
});
}, 200);
});
// Render for row
function pagelayer_render_pl_row(el){
var img_urls = !pagelayer_empty(el.tmp['bg_slider-urls']) ? JSON.parse(el.tmp['bg_slider-urls']) : [];
el.atts['slider'] = '';
if(!pagelayer_empty(img_urls)){
for(var x in img_urls){
el.atts['slider'] += '';
}
}
pagelayer_bg_video(el);
}
// Render for inner row
function pagelayer_render_pl_inner_row(el){
pagelayer_render_pl_row(el);
}
// Render for col
function pagelayer_render_pl_col(el){
var img_urls = !pagelayer_empty(el.tmp['bg_slider-urls']) ? JSON.parse(el.tmp['bg_slider-urls']) : [];
el.atts['slider'] = '';
if(!pagelayer_empty(img_urls)){
for(var x in img_urls){
el.atts['slider'] += '';
}
}
// We need the parent of type pagelayer-wrap-col
var par = el.$.parent('.pagelayer-wrap-col');
// Apply to wrapper
if(!pagelayer_empty(el.atts['col'])){
for(var x=1; x<=12; x++){
if(par.hasClass('pagelayer-col-'+x)){
par.removeClass('pagelayer-col-'+x);
break;
}
}
par.addClass('pagelayer-col-'+el.atts['col']);
par.css('width', '');
}
if(el.atts['col_width']){
par.css('width', '');
}
pagelayer_bg_video(el);
}
function pagelayer_bg_video(el){
var youtubeRegExp = /youtube\.com|youtu\.be/;
var vimeoRegExp = /vimeo\.com/;
el.tmp['bg_video_src-url'] = el.tmp['bg_video_src-url'] || el.atts['bg_video_src'];
var src = el.tmp['bg_video_src-url'];
var iframe_src = pagelayer_video_url(el.tmp['bg_video_src-url']);
// Adding mute and loop option in row or col
if(el.atts['mute'] == "true"){
iframe_src +="?&mute=1";
el.atts['mute'] = " muted ";
}else{
iframe_src +="?&mute=0";
el.atts['mute'] = "";
}
if(el.atts['stop_loop'] != "true"){
iframe_src +="&loop=1";
el.atts['stop_loop'] = " loop ";
}else{
iframe_src +="&loop=0";
el.atts['stop_loop'] ="";
}
if (youtubeRegExp.exec(src)) {
var youtubeRegExp1 = /youtube\.com/;
var youtubewatch = /watch/;
var youtubeembed = /embed/;
var youtube = /youtu\.be/;
var videoId;
if (youtubeRegExp1.exec(src)) {
if (youtubewatch.exec(src)) {
videoId = src.split('?v=');
} else if (youtubewatch.exec(src)) {
videoId = src.split('embed/');
}
} else if (youtube.exec(src)) {
videoId = src.split('.be/');
}
//console.log(frame_height);
el.atts['vid_src'] = '';
} else if (vimeoRegExp.exec(src)) {
el.atts['vid_src'] = '';
}else{
el.atts['vid_src'] = '';
}
}
// Load the full width row
function pagelayer_render_end_pl_row(el){
// The parent
var par = el.$.parent();
// Any class with full width
if(el.$.hasClass('pagelayer-row-stretch-full')){
// Give it the full width
pagelayer_pl_row_full(el.$);
// Give full width to the parent
pagelayer_pl_row_parent_full(par);
// Also add that we had a full width
el.$.addClass('pagelayer-row-stretch-had-full');
// Did this row have full width ?
}else if(el.$.hasClass('pagelayer-row-stretch-had-full')){
// Remove style
el.$.removeAttr('style');
par.removeAttr('style');
par.children('.pagelayer-ele-overlay').removeAttr('style');
// Remove HAD class
el.$.removeClass('pagelayer-row-stretch-had-full');
}
pagelayer_pl_row_video(el.$);
el.$.find('.pagelayer-parallax-window img').each(function(){
pagelayer_pl_row_parallax(jQuery(this));
});
el.$.find('.pagelayer-bgimg-slider').each(function(){
pagelayer_pl_row_slider(jQuery(this));
});
// Row shape
if('row_shape_type_top' in el.atts){
pagelayer_render_row_shape(el, 'top')
}
if('row_shape_type_bottom' in el.atts){
pagelayer_render_row_shape(el, 'bottom')
}
}
// Render for inner row
function pagelayer_render_end_pl_inner_row(el){
pagelayer_render_end_pl_row(el);
}
// Set Row parent width
function pagelayer_pl_row_parent_full(par){
var vw = jQuery('html').width();
par.css({'width': vw,'max-width': '100vw'});
par.offset({left: 0});
par.children('.pagelayer-row').css({left: 0});
}
// Row shape render
function pagelayer_render_row_shape(el, shape_pos){
var name = el.atts['row_shape_type_'+shape_pos]+'-'+shape_pos+'.svg';
// DO we have in cache
if(!(name in pagelayer_svg_cache)){
// Make url and fetch
var url = pagelayer_url+'/images/shapes/'+name;
jQuery.get(url, function(data){
el.$.find('.pagelayer-svg-'+shape_pos).html(data);
pagelayer_svg_cache[name] = data;
}, 'html');
// Fill with cache
}else{
el.$.find('.pagelayer-svg-'+shape_pos).html(pagelayer_svg_cache[name]);
}
}
// Load the col
function pagelayer_render_end_pl_col(el){
pagelayer_pl_row_video(el.$);
el.$.find('.pagelayer-parallax-window img').each(function(){
pagelayer_pl_row_parallax(jQuery(this));
});
el.$.find('.pagelayer-bgimg-slider').each(function(){
pagelayer_pl_row_slider(jQuery(this));
});
}
// Render the image object
function pagelayer_render_pl_image(el){
// Decide the image URL
el.atts['func_id'] = el.tmp['id-'+el.atts['id-size']+'-url'] || el.tmp['id-url'];
el.atts['func_id'] = el.atts['func_id'] || el.atts['id'];
// What is the link ?
if('link_type' in el.atts){
// Custom url
if(el.atts['link_type'] == 'custom_url'){
el.atts['func_link'] = el.tmp['link'] || '';
}
// Link to the media file itself
if(el.atts['link_type'] == 'media_file'){
el.atts['func_link'] = el.tmp['id-url'] || el.atts['id'];
}
// Lightbox
if(el.atts['link_type'] == 'lightbox'){
el.atts['func_link'] = el.tmp['id-url'] || el.atts['id'];
}
}
}
// Incase if there is a lightbox
function pagelayer_render_end_pl_image(el){
pagelayer_pl_image(el.$);
}
// Pre DragAndDrop function
function pagelayer_preDAndD_image(jEle){
dropzoneParent = jEle.find('.pagelayer-img').parent();
// Check if drop zone is already there then return
if(dropzoneParent.find('.pagelayer-image-drop-zone').length > 0){
return;
}
var dropDiv = '
'+
'
'+
''+
'
'+pagelayer_l('drop_file')+'
'+
'
'+
''+
'
'+
'
'+
'
';
dropzoneParent.prepend(dropDiv);
dropZone = dropzoneParent.find('.pagelayer-image-drop-zone');
// Inserting values in image drag and drop function
pagelayer_img_dragAndDrop(dropzoneParent, dropZone, jEle, '');
}
// Render for video
function pagelayer_render_pl_video(el){
el.atts['video_overlay_image-url'] = el.tmp['video_overlay_image-'+el.atts['custom_size']+'-url'] || el.tmp['video_overlay_image-url'];
el.atts['video_overlay_image-url'] = el.atts['video_overlay_image-url'] || el.atts['video_overlay_image'];
el.tmp['src-url'] = el.tmp['src-url'] || el.atts['src'];
el.tmp['ele_id'] = el['id'];
el.atts['vid_src'] = pagelayer_video_url(el.tmp['src-url']);
if(el.atts['autoplay'] == "true"){
el.atts['vid_src'] +="?&autoplay=1";
}else{
el.atts['vid_src'] +="?&autoplay=0";
}
if(el.atts['mute'] == "true"){
el.atts['vid_src'] +="&mute=1";
}else{
el.atts['vid_src'] +="&mute=0";
}
if(el.atts['loop'] == "true"){
el.atts['vid_src'] +="&loop=1";
}else{
el.atts['vid_src'] +="&loop=0";
}
}
// Incase if there is a lightbox
function pagelayer_render_end_pl_video(el){
pagelayer_pl_video(el.$);
}
// Render the testimonial
function pagelayer_render_pl_testimonial(el){
if(!pagelayer_empty(el.tmp['avatar-no-image-set'])){
el.atts['avatar'] = '';
return;
}
//console.log(el);
// Decide the image URL
el.atts['func_image'] = el.tmp['avatar-'+el.atts['custom_size']+'-url'] || el.tmp['avatar-url'];
el.atts['func_image'] = el.atts['func_image'] || el.atts['avatar'];
}
// Render the stars
function pagelayer_render_end_pl_stars(el){
var jEle = el.$.find('.pagelayer-stars-container');
pagelayer_stars(jEle);
};
// Render the service box
function pagelayer_render_pl_service(el){
// Decide the image URL
el.atts['func_image'] = el.tmp['service_image-'+el.atts['service_image_size']+'-url'] || el.tmp['service_image-url'];
el.atts['func_image'] = el.atts['func_image'] || el.atts['service_image'];
}
function pagelayer_render_end_pl_service(el){
// Drag and Drop function for image
if (typeof pagelayer_preDAndD_image !== "undefined") {
pagelayer_preDAndD_image(el.$);
}
}
function pagelayer_social(jEle,sel){
var holder = jEle.find(sel);
var icon = holder.data('icon');
//alert(icon);
var icon_splited = icon.split(' fa-');
//console.log(icon_splited);
holder.addClass('pagelayer-'+icon_splited[1]);
}
function pagelayer_social_icon_onchange(jEle, row, val){
var url = '';
// Lets get the value of the nearest social icon
for(var k in pagelayer_social_urls){
var patt = new RegExp(k, 'i');
if(patt.test(val)){
url = pagelayer_social_urls[k];
}
}
if(url.length > 0){
var social_url_row = row.parent().find('[pagelayer-elp-name="social_url"]');
//console.log(social_url_row);
social_url_row.find('.pagelayer-elp-link').val(url).trigger('change');
}
}
// Render the social icon
function pagelayer_render_end_pl_social(el){
pagelayer_social(el.$, '.pagelayer-icon-holder');
}
// Render the social profile group
function pagelayer_render_end_pl_social_grp(el){
// Removing extra animation classes
el.$.find('.pagelayer-icon-holder').removeClass (function (index, className) {
return (className.match (/(^|\s)pagelayer-animation-\S+/g) || []).join(' ');
});
pagelayer_pl_social_profile(el.$);
}
// Render the counter
function pagelayer_render_end_pl_counter(el){
pagelayer_counter();
};
// Render the progress
function pagelayer_render_end_pl_progress(el){
pagelayer_progress();
};
// Render the image slider
function pagelayer_render_pl_image_slider(el){
// The URLs
var img_urls = !pagelayer_empty(el.tmp['ids-urls']) ? JSON.parse(el.tmp['ids-urls']) : [];
var all_urls = !pagelayer_empty(el.tmp['ids-all-urls']) ? JSON.parse(el.tmp['ids-all-urls']) : [];
var img_title = !pagelayer_empty(el.tmp['ids-all-titles']) ? JSON.parse(el.tmp['ids-all-titles']) : [];
//console.log(img_urls);
var ul = '';
var is_link = 'link_type' in el.atts && !pagelayer_empty(el.atts['link_type']) ? true : false;
// Create figure HTML
for (var x in img_urls){
// Use the default URL first
var url = img_urls[x];
// But if we have a custom size, use that
if(el.atts['size'] != 'custom' && x in all_urls && el.atts['size'] in all_urls[x]){
url = all_urls[x][el.atts['size']];
}
ul += '
';
if(is_link){
var link = (el.atts['link_type'] == 'media_file' ? url : (el.tmp['link'] || ''))
ul += '';
}
ul += '';
if(is_link){
ul += '';
}
ul += '
';
}
if(pagelayer_empty(ul)){
ul = '
'+ pagelayer_l('Please select Images from left side Widget properties.')+'
';
}
el.atts['ul'] = ul;
// Which arrows to show
if('controls' in el.atts && (el.atts['controls'] == 'arrows' || el.atts['controls'] == 'none')){
el.CSS.attr.push({'sel': '.pagelayer-image-slider-ul', 'val': 'data-pager="false"'});
}
if('controls' in el.atts && (el.atts['controls'] == 'pager' || el.atts['controls'] == 'none')){
el.CSS.attr.push({'sel': '.pagelayer-image-slider-ul', 'val': 'data-controls="false"'});
}
};
// Render the image slider
function pagelayer_render_end_pl_image_slider(el){
pagelayer_owl_destroy(el.$, '.pagelayer-image-slider-ul');
pagelayer_pl_image_slider(el.$);
};
// Render the grid gallery
function pagelayer_render_pl_grid_gallery(el){
// The URLs
var img_urls = !pagelayer_empty(el.tmp['ids-urls']) ? JSON.parse(el.tmp['ids-urls']) : [];
var all_urls = !pagelayer_empty(el.tmp['ids-all-urls']) ? JSON.parse(el.tmp['ids-all-urls']) : [];
var img_title = !pagelayer_empty(el.tmp['ids-all-titles']) ? JSON.parse(el.tmp['ids-all-titles']) : [];
var img_links = !pagelayer_empty(el.tmp['ids-all-links']) ? JSON.parse(el.tmp['ids-all-links']) : [];
var img_captions = !pagelayer_empty(el.tmp['ids-all-captions']) ? JSON.parse(el.tmp['ids-all-captions']) : [];
//console.log(img_urls);
var ul = '';
var pagin = '
1
';
var is_link = 'link_to' in el.atts && !pagelayer_empty(el.atts['link_to']) ? true : false;
var i = 0;
var j = 1;
if(pagelayer_empty(el.tmp)){
ul = '
';
var gallery_rand = 'gallery-id-'+Math.floor((Math.random() * 100) + 1);
var imgInPage = el.atts['images_no'];
// Create figure HTML
for (var x in img_urls){
if(imgInPage != 0 && (i % imgInPage) == 0 && i != 0){
ul += '
';
j++;
pagin += '
'+j+'
';
}
// Use the default URL first
var url = img_urls[x];
// But if we have a custom size, use that
if(el.atts['size'] != 'custom' && x in all_urls && el.atts['size'] in all_urls[x]){
url = all_urls[x][el.atts['size']];
}
ul += '
';
}
// Required classes for particular rotate
el.atts['rotate_req'] = '';
var letters = ['pagelayer-aheading-rotate2','pagelayer-aheading-rotate3','type','pagelayer-aheading-scale'];
if(jQuery.inArray(el.atts['animations'], letters) != -1){
el.atts['rotate_req'] = 'letters ';
}
if(el.atts['animations'] == 'pagelayer-aheading-clip'){
el.atts['rotate_req'] = 'is-full-width ';
}
}
// Render animated heading
function pagelayer_render_end_pl_anim_heading(el){
var jEle = el.$;
pagelayer_anim_heading(jEle);
}
// Mega Menu popup handler
pagelayer_add_action('pagelayer_setup_history', function(){
if(!('pagelayer_template_type' in pagelayer_post && pagelayer_post['pagelayer_template_type'] == 'menu')){
return;
}
jQuery(pagelayer_editable).wrap('
'+'
');
pagelayer.$$('.pagelayer-settings-icon').attr("pagelayer-tag", "pl_mega_menu");
pagelayer.$$(".pagelayer-settings-icon").click();
pagelayer_mega_menu(jQuery('.pagelayer-mega-menu-editor'), pagelayer_post['ID']);
});
// Mega menu function place content editable in the menu
function pagelayer_mega_menu(mEle, postId){
var mainEle = jQuery('.pagelayer-mega-menu [menu-id="'+postId+'"]');
mainEle.empty();
mainEle.append(mEle);
mainEle.parents('.pagelayer-mega-menu').show();
}
////////////////
// Freemium End
////////////////