//(function(){
var Module = new function() {
var self=this;
self.profileGrid = false;
self.profilesUrl = $('.profiles-grid').data('url');
self.previewUrls = $('.profiles-grid').data('source');
if(self.previewUrls && self.previewUrls.length) {
self.previewUrls = self.previewUrls.split(',');
} else {
self.previewUrls = false;
}
self.profilesStartPage = $('.profiles-grid').data('page')||1;
if($('#profilesFilterOptions').hasClass('filter-notAuth')) {
var isAuth = false;
}
else {
var isAuth = true;
}
$.fn.filterFormChecked = function() {
var arr = [];
this.each(function() {
if($(this).find('input[type=checkbox]').is(':checked')){
var elem = $(this).find('input[type=checkbox]');
arr.push(elem.val());
}
});
arr = arr.join('-').toLowerCase();
if(arr.length > 0)
return arr;
return false;
}
var filterForm = {
'minh' : function() {
return $('.select-height-filter-min option:selected').index() > 0
?
{
value: $('.select-height-filter-min option:selected').val(),
text: $('.select-height-filter-min').data('translate')
}
: false
;
},
'maxh' : function() {
return $('.select-height-filter-max option:selected').index() > 0
?
{
value: $('.select-height-filter-max option:selected').val(),
text: $('.select-height-filter-max').data('translate')
}
: false;
},
'minw' : function() {
return $('.select-weight-filter-min option:selected').index() > 0
?
{
value: $('.select-weight-filter-min option:selected').val(),
text: $('.select-weight-filter-min').data('translate')
}
: false;
},
'maxw' : function() {
return $('.select-weight-filter-max option:selected').index() > 0
?
{
value: $('.select-weight-filter-max option:selected').val(),
text: $('.select-weight-filter-max').data('translate')
}
: false;
},
'language' : function() {
return $('.select-language-filter option:selected').index() > 0
?
{
value: $('.select-language-filter option:selected').val(),
text: $('.select-language-filter').data('translate').replace('{{language}}',$('.select-language-filter option:selected').data('value'))
}
: false;
},
'hairc' : function() {
var values = $('.option-check-hairc-filter li').filterFormChecked();
return {
value: values,
text: values
? $('.option-check-hairc-filter')
.data('translate')
.replace('{{hairColor}}', values.split('-').map(function(hairColor){
return $('.option-check-hairc-filter li input[value='+hairColor+']').data('value')
}).join(','))
: ''
}
},
'hairl' : function() {
var values = $('.option-check-hairl-filter li').filterFormChecked();
return {
value: values,
text: values
? $('.option-check-hairl-filter')
.data('translate')
.replace('{{hairLength}}', values.split('-').map(function(hairLength){
return $('.option-check-hairl-filter li input[value='+hairLength+']').data('value')
}).join(','))
: ''
}
},
'body' : function() {
var values = $('.option-check-body-filter li').filterFormChecked();
return {
value: values,
text: values
? $('.option-check-body-filter')
.data('translate')
.replace('{{bodyType}}', values.split('-').map(function(bodyTupe){
return $('.option-check-body-filter li input[value='+bodyTupe+']').data('value')
}).join(','))
: ''
}
},
'eyes' : function() {
var values = $('.option-check-eyes-filter li').filterFormChecked();
return {
value: values,
text: values
? $('.option-check-eyes-filter')
.data('translate')
.replace('{{eyes}}', values.split('-').map(function(eyeType){
return $('.option-check-eyes-filter li input[value='+eyeType+']').data('value')
}).join(','))
: ''
}
},
'tits' : function() {
var values = $('.option-check-tits-filter li').filterFormChecked();
return {
value: values,
text: values
? $('.option-check-tits-filter')
.data('translate')
.replace('{{titsType}}', values.split('-').map(function(titsType){
return $('.option-check-tits-filter li input[value='+titsType+']').data('value')
}).join(','))
: ''
}
},
'ethnicity' : function() {
var values = $('.option-check-ethnicity-filter li').filterFormChecked();
return {
value: values,
text: values
? $('.option-check-ethnicity-filter')
.data('translate')
.replace('{{ethnicityType}}', values.split('-').map(function(ethnicityType){
return $('.option-check-ethnicity-filter li input[value='+ethnicityType+']').data('value')
}).join(','))
: ''
}
},
'languages' : function() {
return ($('input[name=language]:checked',$('#profilesFilterOptions')).val() && ($('input[name=language]:checked',$('#profilesFilterOptions')).val() != 'any'))
?
{
value: $('input[name=language]:checked',$('#profilesFilterOptions')).val(),
text: $('input[name=language]:checked',$('#profilesFilterOptions')).closest('.language-container').data('translate').replace('{{language}}',$('input[name=language]:checked',$('#profilesFilterOptions')).data('value'))
}
: false;
},
'gender' : function() {
var aReturn = {
value: [],
text:''
};
$('input[name=gender]:checked',$('#profilesFilterOptions')).each(function(){
aReturn.value.push( $(this).val());
aReturn.text += aReturn.text==='' ? '' : ',';
aReturn.text += $(this).data('value');
});
return aReturn;
},
'age' : function() {
if (!$('#ageSlider',$('#profilesFilterOptions')).length)
return 0;
var age = $('#ageSlider',$('#profilesFilterOptions')).data('slider').getValue();
if ((age[0]!=$('#ageSlider',$('#profilesFilterOptions')).data('slider-min')) || (age[1]!=$('#ageSlider',$('#profilesFilterOptions')).data('slider-max')))
return age
return false;
},
'price' : function() {
if (!$('#priceSlider',$('#profilesFilterOptions')).length)
return 0;
var price = $('#priceSlider',$('#profilesFilterOptions')).data('slider').getValue();
if ((price[0]!=$('#priceSlider',$('#profilesFilterOptions')).data('slider-min')) || (price[1]!=$('#priceSlider',$('#profilesFilterOptions')).data('slider-max')))
return price
return false;
},
'with-videos': function() {
return $('input[name=videos]',$('#profilesFilterOptions')).is(':checked')?true:false;
},
'online': function() {
return $('input[name=online]',$('#profilesFilterOptions')).is(':checked')?true:false;
},
'with-preview': function() {
return $('input[name=preview]',$('#profilesFilterOptions')).is(':checked')?true:false;
},
'tags':function() {
if (!$('input[name=tags]',$('#profilesFilterOptions')).length)
return false
return $('input[name=tags]',$('#profilesFilterOptions')).val().split(',').map(function(i){return i.trim()}).join('-').toLowerCase();
},
'with-store':function() {
return $('input[name=store]',$('#profilesFilterOptions')).is(':checked')?true:false;
},
'sort':function() {
return !$('#profiles-sort_by li.active').is(':first-child') ? $('#profiles-sort_by li.active a').data('value') : false;
},
'service': function() {
var aFields = ['skype','discord','stream','phone'];
var aFilter = []
for(var i = 0;i < aFields.length;i++) {
if($('input[name='+aFields[i]+']',$('#profilesFilterOptions')).is(':checked')) {
aFilter.push(aFields[i])
}
}
return aFilter.length ? aFilter.join("-") : false;
}
}
var loadMasonry = function() {
// masonry plugin --profiles grid
self.profileGrid = $('.profiles-grid').masonry({
itemSelector: '.profiles-grid__item',
columnWidth: '.profiles-grid__sizer',
gutter: '.profiles-grid__gutter',
percentPosition: true,
initLayout: false
});
self.profileGrid.on('layoutComplete', function() {
var $this = $(this),
$profileGridItems = $this.children('.profiles-grid__item:not(.profiles-grid__item--width2)'),
$profileGridItemsWidth2 = $this.children('.profiles-grid__item--width2'),
profileGridItemsWidth = $profileGridItems.first().width(),
arr = [],
max = 0,
arrWidth2 = [],
maxWidth2 = 0;
$profileGridItems
.removeClass('open-left')
.each(function() {
arr.push($(this).position().left);
});
if ($profileGridItems.length==1)
return;
max = Math.max.apply(null, arr);
var openLeft = $.grep($profileGridItems, function(e) {
return $(e).position().left === max;
});
$(openLeft).addClass('open-left');
$profileGridItemsWidth2
.removeClass('open-left')
.each(function() {
arrWidth2.push($(this).position().left);
});
maxWidth2 = Math.max.apply(null, arrWidth2);
if (maxWidth2 > profileGridItemsWidth) {
var openLeftWidth2 = $.grep($profileGridItemsWidth2, function(e) {
return $(e).position().left === maxWidth2;
});
}
$(openLeftWidth2).addClass('open-left');
});
self.profileGrid.masonry();
// masonry plugin -- media gallery
$('div.media-gallery').masonry({
itemSelector: '.media-gallery__item',
columnWidth: '.media-gallery__sizer',
gutter: '.media-gallery__gutter'
});
}
var globalResponseParse = function(data) {
if (data.pagination) {
$('.profiles-grid-wrapper .profilesGridPagination').html(data.pagination);
} else {
$('.profiles-grid-wrapper .profilesGridPagination').html('');
}
if (data.modelsTotal)
$('.profiles-sort-bar__item.info-block span').html(data.modelsTotal);
else
$('.profiles-sort-bar__item.info-block span').html('no');
setDescText(createDescText());
}
var paginationTriggers = function() {
$('.profiles-grid-wrapper .profilesGridPagination').on('click','.profiles-grid__more-profiles-btn, .profile-pagination .btn.btn-primary',function(e){
e.preventDefault();
history.replaceState({state:1},'',$(this).attr('href'));
$this = $(this);
data = {
'btnType': $(this).data('type')
};
Controller.loadUrl($(this).attr('href'),data,function(data){
Emitter.emit('models-updated',data.dataLayer);
globalResponseParse(data);
data.content=$(data.content);
if($this.data('type') != 'loadmore')
self.profileGrid.masonry('remove', $('.profiles-grid__item')).masonry('layout');
self.profileGrid.append(data.content).masonry('appended',data.content);
if($this.data('type') != 'loadmore')
$("html, body").animate({ scrollTop: 0 }, 1500);
// ga('send', 'pageview', location.pathname);
if (typeof ga !=="undefined") {
ga(function() {
var tracker = ga.getAll()[0];
tracker.send('pageview',location.pathname)
});
}
})
})
}
var createDescText = function() {
var ltxt = [$('[data-translate="default"]').data('translate-to')];
if(isAuth) {
var body = filterForm.body();
if(body.value) ltxt.push(body.text);
var ethnicity = filterForm.ethnicity();
if(ethnicity.value) ltxt.push(ethnicity.text);
var eyes = filterForm.eyes();
if(eyes.value) ltxt.push(eyes.text);
var hairc = filterForm.hairc();
if(hairc.value) ltxt.push(hairc.text);
var hairl = filterForm.hairl();
if(hairl.value) ltxt.push(hairl.text);
var minh = filterForm.minh();
if(minh.value) ltxt.push(minh.text + ' ' + minh.value + ' cm');
var maxh = filterForm.maxh();
if(maxh.value) ltxt.push(maxh.text + ' ' + maxh.value + ' cm');
var tits = filterForm.tits();
if(tits.value) ltxt.push(tits.text);
var minw = filterForm.minw();
if(minw.value) ltxt.push(minw.text + ' ' + minw.value + ' kg');
var maxw = filterForm.maxw();
if(maxw.value) ltxt.push(maxw.text+' ' + maxw.value + ' kg');
}
var service = filterForm['service']();
if(service) {
ltxt.push("having " + service.replace(/-/g,", "))
}
var gender = filterForm.gender();
if (gender.text)
ltxt.push(gender.text);
var lg = filterForm.languages();
if (lg && (lg.value!="any"))
ltxt.push(lg.text);
else {
lg = filterForm.language();
if(lg)
ltxt.push(lg.text);
}
var age = filterForm.age();
if ((age) && ((age[0]>parseInt($('#ageSlider',$('#profilesFilterOptions')).data('slider-min'),10)) || (age[1]<$('#ageSlider',$('#profilesFilterOptions')).data('slider-max'))))
ltxt.push( $('#ageSlider',$('#profilesFilterOptions')).data('translate').replace('{{fromAge}}',age[0]).replace('{{toAge}}',age[1]) );
var price = filterForm.price();
if ((price) && ((price[0]>parseInt($('#priceSlider',$('#profilesFilterOptions')).data('slider-min'),10)) || (price[1]<$('#priceSlider',$('#profilesFilterOptions')).data('slider-max'))))
ltxt.push($('#priceSlider',$('#profilesFilterOptions')).data('translate').replace('{{priceFrom}}',price[0]).replace('{{priceTo}}',price[1]));
var videos = filterForm['with-videos']();
if (videos)
ltxt.push($('input[name="videos"]',$('#profilesFilterOptions')).data('translate'));
var online = filterForm['online']();
if (online) {
ltxt.push($('input[name="online"]',$('#profilesFilterOptions')).data('translate'));
}
var store = filterForm['with-store']();
if(store)
ltxt.push($('input[name="store"]',$('#profilesFilterOptions')).data('translate'));
var store = filterForm['with-preview']();
if(store)
ltxt.push($('input[name="preview"]',$('#profilesFilterOptions')).data('translate'));
var tags = filterForm['tags']();
if (tags) {
ltxt.push($('input[name="tags"]',$('#profilesFilterOptions')).data('translate').replace('{{tags}}',tags.toLowerCase().replace(/-/g,',')));
}
var sort = filterForm['sort']();
if(sort)
ltxt.push( $('#profiles-sort_by').data('translate').replace('{{sortType}}', $('#profiles-sort_by li.active a').data('text').toLowerCase()));
return ltxt;
}
var setDescText = function(ltxt){
$('.profiles-filter__heading').html($('.profiles-filter__heading').data('title')+' '+ltxt.join(' ')+'');
}
$.fn.resetFilterChecked = function() {
this.each(function() {
$(this).find('input[type=checkbox]').prop( "checked", false );
});
}
var _resetFilter = function(){
if(isAuth) {
/* reset height */
$('.select-height-filter-min').prop('selectedIndex',0);
$('.select-height-filter-max').prop('selectedIndex',0);
/* reset weight */
$('.select-weight-filter-min').prop('selectedIndex',0);
$('.select-weight-filter-max').prop('selectedIndex',0);
/* reset language */
$('.select-language-filter').prop('selectedIndex',0);
/* reset hairc */
$('.option-check-hairc-filter li').resetFilterChecked();
/* reset hairl */
$('.option-check-hairl-filter li').resetFilterChecked();
/* reset body type */
$('.option-check-body-filter li').resetFilterChecked();
/* reset body eyes */
$('.option-check-eyes-filter li').resetFilterChecked();
/* reset tits */
$('.option-check-tits-filter li').resetFilterChecked();
/* reset ethnicity */
$('.option-check-ethnicity-filter li').resetFilterChecked();
}
/* reset language */
$('input[name=language][value=any]',$('#profilesFilterOptions')).trigger('click');
/* reset gender */
$('input[name=gender]:checked',$('#profilesFilterOptions')).trigger('click');
/* reset age */
$('#ageSlider',$('#profilesFilterOptions')).data('slider').setValue([$('#ageSlider',$('#profilesFilterOptions')).data('slider-min'),$('#ageSlider',$('#profilesFilterOptions')).data('slider-max')])
/* reset price */
$('#priceSlider',$('#profilesFilterOptions')).data('slider').setValue([$('#priceSlider',$('#profilesFilterOptions')).data('slider-min'),$('#priceSlider',$('#profilesFilterOptions')).data('slider-max')])
/* reset videos */
$('input[name=videos]:checked',$('#profilesFilterOptions')).trigger('click')
/* reset online */
$('input[name=online]:checked',$('#profilesFilterOptions')).trigger('click')
/* reset online */
$('input[name=preview]:checked',$('#profilesFilterOptions')).trigger('click')
/* reset store */
$('input[name=store]:checked',$('#profilesFilterOptions')).trigger('click')
/* reset tags*/
$('input[name=tags]',$('#profilesFilterOptions')).val('');
$('#profiles-sort_by li.active').removeClass('active');
$('#profiles-sort_by li:first').addClass('active');
$('#dropdown-current_sort').text($('#profiles-sort_by li:first > a').data('text'));
/* Reset services */
$('input[name=skype]:checked, input[name=discord]:checked, input[name=stream]:checked, input[name=phone]:checked',$('#profilesFilterOptions')).trigger('click')
}
var attachMakeFilterDefault = function() {
$('.makeDefault').on('click',function(e){
e.preventDefault();
var lLink = _getLink();
Controller.loadUrl($(this).attr('href'),{'filter':lLink},function(data) {
if (data.state=='success')
Controller.Alert(data.msg,'Info');
})
})
}
var attachResetFilter = function() {
$('.resetFilter').on('click',function(e){
e.preventDefault();
_resetFilter();
})
$('.profiles-filter__close-btn').on('click',function(e){
e.preventDefault();
_resetFilter();
_applyFilter();
})
}
var attachLanguageSelectToggle = function() {
$('input[name=language]').on('click',function(){
if($(this).val() != 'any') {
$('.select-language-filter').prop('selectedIndex',0);
}
})
$('.select-language-filter').on('change',function() {
if($(this).val() != 'any') {
$('input[name=language][value=any]',$('#profilesFilterOptions')).trigger('click');
}
});
}
var _sortFunc = function(a,b) {
return ((a[0]b[0]) ? 1 :0))
}
var _getLink = function(overwrite) {
var params = []
filter = filterForm;
if (typeof overwrite=="object")
var filter = $.extend({},filterForm,overwrite);
$.each(filter, function(index, value) {
var options = (typeof value=="function") ? value():value;
options = options.value || options
if (!options)
return;
if (typeof options=="object"){
if (options.length){
params.push([index,options.join('-')]);
}
}
else if ((typeof options=="string") || (typeof options=="number"))
params.push([index,options]);
else if (typeof options=="boolean")
params.push([index]);
});
params.sort(_sortFunc);
return [].concat.apply([], params).join('/');
}
var _applyFilter = function() {
var lLink = _getLink();
var link = self.profilesUrl+(lLink?(lLink+"/"):'');
Cookies.set('lastFilter', link);
history.replaceState({state:1},'',link);
Controller.loadUrl(link,{'from':'click'},function(data) {
if(data.dataLayer != null){
Emitter.emit('models-updated',data.dataLayer);
}
self.profileGrid.masonry('remove',$('.profiles-grid__item')).masonry('layout');
globalResponseParse(data);
data.content=$(data.content);
self.profileGrid.append(data.content).masonry('appended',data.content);
// ga('send', 'pageview', location.pathname);
if (typeof ga !=="undefined") {
ga(function() {
var tracker = ga.getAll()[0];
tracker.send('pageview',location.pathname)
});
}
$('.page-section--card').addClass('hide');
})
};
var filterOptions = function() {
$('.btnFilterModels').on('click',function(event){
event.preventDefault();
_applyFilter.call(this);
toggleFilter(false);
})
$(".show-skype").on('click', function() {
$('input[name=discord]',$('#profilesFilterOptions')).prop('checked', false);
$('input[name=skype]',$('#profilesFilterOptions')).prop('checked', true);
$('.btnFilterModels').trigger('click');
})
$(".show-discord").on('click', function() {
$('input[name=skype]',$('#profilesFilterOptions')).prop('checked', false);
$('input[name=discord]',$('#profilesFilterOptions')).prop('checked', true);
$('.btnFilterModels').trigger('click');
})
$('#profiles-sort_by li a').on('click',function(event){
event.preventDefault();
$('#profiles-sort_by li.active').removeClass('active');
$(this).parent().addClass('active');
$('#dropdown-current_sort').text($(this).data('text'));
_applyFilter.call(this);
toggleFilter(false);
})
if (!self.profilesUrl && !self.previewUrls)
return false;
if(self.previewUrls) {
let processedSegments = {};
let pendingSegments = {};
let lastSegment = -1;
// console.log(self.previewUrls);
for(let i in self.previewUrls) {
let link = self.previewUrls[i];
Controller.loadUrl(link, function (i) { return function (data) {
data.content = $(data.content);
if(lastSegment == -1) {
// console.log('first came: '+i);
self.profileGrid.append(data.content).masonry('appended', data.content);
processedSegments[i] = true;
lastSegment=i;
} else if(i == lastSegment+1) {
// console.log('append '+i);
self.profileGrid.append(data.content).masonry('appended', data.content);
processedSegments[i] = true;
lastSegment=i;
} else if(i == lastSegment-1) {
// console.log('prepend '+i);
self.profileGrid.prepend(data.content).masonry('prepended', data.content);
processedSegments[i] = true;
lastSegment=i;
} else {
pendingSegments[i] = data.content;
// console.log('pending: '+i);
}
let check = false;
do {
for(let j in pendingSegments) {
j = parseInt(j, 10);
if(processedSegments[j-1] === true ) {
// console.log('* append '+j);
self.profileGrid.append(pendingSegments[j]).masonry('appended', pendingSegments[j]);
check = true;
} else if(processedSegments[j+1] === true ) {
// console.log('* prepend '+j);
self.profileGrid.prepend(pendingSegments[j]).masonry('prepended', pendingSegments[j]);
check = true;
}
if(check) {
processedSegments[j] = true;
delete pendingSegments[j];
}
check = false;
}
} while (check);
if(i==self.previewUrls.length-1){
globalResponseParse(data);
}
if(data.dataLayer != null){
Emitter.emit('models-updated', data.dataLayer);
}
}}(i))
// // show video if in touch mode
// randomShowVideosifTouch();
// randomShowGifIfTouch();
}
// console.log(processedSegments);
} else {
var page = self.profilesStartPage>1 ? {'page':self.profilesStartPage} : false;
var lLink = _getLink(page);
var link = self.profilesUrl + (lLink ? (lLink + "/") : '');
Cookies.set('lastFilter', link);
Controller.loadUrl(link, function (data) {
if(data.dataLayer != null){
Emitter.emit('models-updated', data.dataLayer);
}
//$('.profiles-grid').html(data.content);
globalResponseParse(data);
data.content = $(data.content);
self.profileGrid.append(data.content).masonry('appended', data.content);
// show video if in touch mode
randomShowVideosifTouch();
randomShowGifIfTouch();
})
}
}
// This is then function used to detect if the element is scrolled into view
var isElementIntoView = function(elem) {
if(!elem)
return false;
var docViewTop = $(window).scrollTop();
var docViewBottom = docViewTop + $(window).height();
var elemTop = $(elem).offset().top;
return ((elemTop <= docViewBottom) && (elemTop >= docViewTop));
}
var fixFixedSticky = function(){
if((document.getElementById('site-nav')!==null) && !document.getElementById('site-nav').length)
return;
if(!document.getElementsByClassName('fixedsticky').length)
return;
if (!isElementIntoView(document.getElementById('site-nav')) && document.getElementsByClassName('fixedsticky')[0].classList.contains('fixedsticky-off')) {
document.getElementsByClassName('fixedsticky')[0].classList.remove('fixedsticky-off');
//$('.profiles-filter-wrapper').fixedsticky('update');
}
}
var hideProfilesFilterOptions = function(){
if($(window).width() < 768)
return;
if (!isElementIntoView(document.getElementById('site-nav')) )
return;
var $profilesFilterOptions = $('#profilesFilterOptions');
if (!$profilesFilterOptions.is(':visible'))
return;
if($profilesFilterOptions.data('closed-automated') == 'true')
return;
$profilesFilterOptions.data('closed-automated', 'true');
$('#filtersToggle').removeClass('profiles-filter-trigger__btn--close');
$profilesFilterOptions
.removeClass('modal fade in')
.velocity('slideUp', {
duration: 200,
complete: function () { $('.profiles-filter-wrapper').fixedsticky('update'); }
});
$('#profile-filter-tooltips-tags').trigger('focusout');
}
var checkScroll = function () {
window.addEventListener('scroll', hideProfilesFilterOptions, { passive: true });
window.addEventListener('touchmove', hideProfilesFilterOptions, { passive: true });
window.addEventListener('scroll', fixFixedSticky, { passive: true });
window.addEventListener('touchmove', fixFixedSticky, { passive: true });
}
var toggleFilter = function (option){
var $filtersToggle = $('#filtersToggle'),
$profilesFilterOptions = $('#profilesFilterOptions');
if ($(window).width() >= 768) {
// Tablet and above
$profilesFilterOptions.data('closed-automated', 'false'); //reset closed-atomated
var isOpen = $profilesFilterOptions.is(':visible'),
slideDir = isOpen ? 'slideUp' : ((typeof option != 'undefined') && !option ? 'slideUp' : 'slideDown'),
duration = 200;
Cookies.set('filterState', isOpen?'closed':'open',{'expires':365});
$filtersToggle[slideDir=='slideUp' ? 'removeClass' : 'addClass']('profiles-filter-trigger__btn--close');
//$filtersToggle.toggleClass('profiles-filter-trigger__btn--close');
$profilesFilterOptions
.removeClass('modal fade in')
.velocity(slideDir, {
duration: duration,
complete:function(){
$('.profiles-filter-wrapper').fixedsticky('update');
}
});
}
else {
// Mobile
if (($profilesFilterOptions.data('bs.modal') && $profilesFilterOptions.data('bs.modal').isShown) || ((typeof option != 'undefined') && !option)) {
$profilesFilterOptions.modal('hide');
Cookies.set('filterState', 'closed',{'expires':365});
}else{
Cookies.set('filterState', 'open',{'expires':365});
$profilesFilterOptions
.modal({
backdrop: false
})
.addClass('modal fade in');
}
}
}
var loadFilterToggles = function() {
// toggle filters
$('#filtersToggle,#profilesFilterOptions .button--back').on('click', function(event) {
event.preventDefault();
toggleFilter();
});
// MOBILE filter modal popup
// $(window).resize(function() {
// clearTimeout(window.resizedFinished);
//
// window.resizedFinished = setTimeout(function(){
//
// if ($(window).width() < 768) {
// $profilesFilterOptions.addClass('modal fade in');
// }
// else {
// $profilesFilterOptions.removeClass('modal fade in');
// }
// }, 250);
// });
// MOBILE filter modal popup END
}
var attachUpdateFavorites = function() {
$('.profiles-grid').on('click','.btnUpdateFavorite',function(e){
e.preventDefault();
var todo = "add";
if ($(this).hasClass('active'))
todo = "remove";
var that = $(this).closest('.profiles-grid__item');
Controller.loadUrl($(this).data('href')+todo,function(that) { return function(data){
if (data.state=="fail") {
return Controller.Alert(data.err.msg,'Please login or register',{buttons:[{'text':'Login or Register','val':'ok','eKey':true,'addClass':'btn-light-blue',onClick:function(e){ e.close();$('#overlay-login').modal({ backdrop: false });}}]});
}
if (data.selected=="yes") {
$('.btnUpdateFavorite',that).addClass('active');
} else {
$('.btnUpdateFavorite',that).removeClass('active');
}
}}(that))
})
}
var videoPreviews = function() {
let hls = false;
$('.profiles-grid').on('touchstart','.profiles-grid__item.profile-tile[data-video][data-video!=""]',function(e){
$(this).data('touch',true);
})
$('.profiles-grid').on('mouseenter','.profiles-grid__item.profile-tile[data-video][data-video!=""]',function(){
var self = $(this);
if (self.data('touch')) {
self.data('touch',false);
return;
}
$('.profile-tile__img-link',self).addClass('loader');
self.data('timeoutHandler',false);
let ext = self.data('video').split('.').pop();
if(ext == 'm3u8') {
$('').appendTo($('.profile-tile__img-link',self));
let video = $('video', $('.profile-tile__img-link',self))[0];
if (Hls.isSupported()) {
hls = new Hls({
// debug: true,
});
hls.loadSource(self.data('video'));
hls.attachMedia(video);
hls.on(Hls.Events.MEDIA_ATTACHED, function () {
video.muted = true;
video.play();
});
}
// This is using the built-in support of the plain video element, without using hls.js.
else if (video.canPlayType('application/vnd.apple.mpegurl')) {
video.src = self.data('video');
video.addEventListener('canplay', function () {
video.play();
});
}
} else {
$('').appendTo($('.profile-tile__img-link',self));
}
$('video',self).on('loadeddata',function(){
$(this).removeClass('hide');
$(this).closest('.profile-tile').data('loaded',true);
$('img.img-responsive',self).addClass('hide');
$('.profile-tile__img-link',self).removeClass('loader');
});
})
$('.profiles-grid').on('mouseleave','.profiles-grid__item.profile-tile[data-video][data-video!=""]',function(){
let video = $('video', $(this))[0];
if(typeof video !== "undefined") {
video.pause();
}
if(hls != false) {
hls.stopLoad();
hls.destroy();
}
$('.profile-tile__img-link',$(this)).removeClass('loader');
if ($(this).data('timeoutHandler'))
return clearTimeout($(this).data('timeoutHandler'));
$('img.img-responsive',$(this)).removeClass('hide');
$('video.img-responsive',$(this)).remove();
})
}
var randomShowVideosifTouch = function() {
// disable for the moment
return;
var isTouchDevice= function() {
return 'ontouchstart' in window // works on most browsers
|| navigator.maxTouchPoints; // works on IE10/11 and Surface
};
if (!isTouchDevice())
return false;
if (!$('.profiles-grid__item.profile-tile[data-gif][data-gif!=""]:not([data-shown])').length)
return;
var randomVideo = $('.profiles-grid__item.profile-tile[data-gif][data-gif!=""]:not([data-shown])').first();
randomVideo.attr('data-shown',1);
$('').appendTo($('.profile-tile__img-link',randomVideo));
$('video',randomVideo).on('loadeddata',function(){
$(this).removeClass('hide');
$('img.img-responsive',randomVideo).addClass('hide');
})
$('video',randomVideo).on('ended',function(){
$(this).remove();
$('img.img-responsive',randomVideo).removeClass('hide');
setTimeout(randomShowVideosifTouch,500);
})
}
var randomShowGifIfTouch = function(){
return;
var isTouchDevice= function() {
return 'ontouchstart' in window // works on most browsers
|| navigator.maxTouchPoints; // works on IE10/11 and Surface
};
if (!isTouchDevice())
return false;
if (!$('.profiles-grid__item.profile-tile[data-video][data-video!=""]:not([data-shown])').length)
return;
var randomVideo = $('.profiles-grid__item.profile-tile[data-gif][data-gif!=""]:not([data-shown])').first();
randomVideo.attr('data-shown',1);
// $('.profile-tile__img-link',randomVideo).addClass('loader');
var origAvatar = $('img',randomVideo).attr('src');
$('img',randomVideo).one('load',function(){
// $('.profile-tile__img-link',randomVideo).removeClass('loader');
setTimeout(function(){
$('img',randomVideo).attr('src',origAvatar);
},3000);
setTimeout(randomShowGifIfTouch,3500);
})
$('img',randomVideo).attr('src',randomVideo.data('gif'));
}
return {
init: function(){
loadMasonry();
paginationTriggers();
filterOptions();
attachResetFilter();
attachMakeFilterDefault();
attachUpdateFavorites();
attachLanguageSelectToggle();
loadFilterToggles();
videoPreviews();
randomShowVideosifTouch();
randomShowGifIfTouch();
checkScroll();
},
grid:function () {
return self.profileGrid;
},
mtt:function() {
setDescText(createDescText());
},
frm:filterForm
}
}();
Module.init();
//}())