SHARE

‘);

if(!WVM.IS_STREAMING){
$videoEl.append(‘‘ +
‘ +
‘);
}
setTimeout(function(){
$(‘.mute-overlay’).on(‘touchstart click’, function(e){
if(e.handled === false) return;
e.stopPropagation();
e.preventDefault();
e.handled = true;

player.muted(false);
//console.log(“volumee ” + WVM.activePlayer.volume());
$(this).hide();
$(this).css(‘display’, ‘none’);
var currentTime = player.currentTime();
if(currentTime 0){
if(deviceName == ‘desktop’){
WVM.VIDEO_TOP = $(‘#media-container-‘ + videoId).offset().top;
}else{
WVM.VIDEO_TOP = $(‘#media-container-‘ + videoId).offset().top – $(‘.next-dropdown-accordion’).height();
}
if(deviceName == ‘desktop’){
WVM.VIDEO_HEIGHT = $(‘#html5-video-‘ + videoId).outerHeight();
}else{
WVM.VIDEO_HEIGHT = $(‘#html5-video-‘ + videoId).outerHeight();
}
WVM.CONTAINER_HEIGHT = $(‘#media-container-‘ + videoId).height();
//console.log(“container height: ” + WVM.CONTAINER_HEIGHT);
$(window).on( “resize”, function() {
if(deviceName == ‘desktop’){
WVM.VIDEO_TOP = $(‘#media-container-‘ + videoId).offset().top;
}else{
WVM.VIDEO_TOP = $(‘#media-container-‘ + videoId).offset().top – $(‘.next-dropdown-accordion’).height();
}
if(deviceName == ‘desktop’){
WVM.VIDEO_HEIGHT = $(‘#html5-video-‘ + videoId).outerHeight();
}else{
WVM.VIDEO_HEIGHT = $(‘#html5-video-‘ + videoId).outerHeight();
}
WVM.CONTAINER_HEIGHT = $(‘#media-container-‘ + videoId).height();
console.log(“container height: ” + WVM.CONTAINER_HEIGHT);
});

//console.log(“VIDEOTOP: ” + WVM.VIDEO_TOP);
//console.log(“VIDEOHEIGHT: ” + WVM.VIDEO_HEIGHT);

$(window).on( “scroll”, function() {
if(!WVM.IS_FLOATING){
if(deviceName == ‘desktop’){
WVM.CONTAINER_HEIGHT = $(‘#media-container-‘ + videoId).height();
}else{
WVM.CONTAINER_HEIGHT = $(‘#media-container-‘ + videoId + ” .hlsvideo-wrapper”).height() +
$(‘#media-container-‘ + videoId + ” .now-playing-container”).height();
}
}

//var top = $(‘#media-container-‘ + videoId).offset().top;
var offset = WVM.VIDEO_TOP + (WVM.VIDEO_HEIGHT / 2);
var offsetBack = WVM.VIDEO_TOP;
var changed = false;
//console.log(“VIDEOTOP: ” + WVM.VIDEO_TOP);
//console.log(“VIDEOHEIGHT: ” + WVM.VIDEO_HEIGHT);
//console.log(“scrolltop ” + $(window).scrollTop());
//only float if playing
var isPlaying = WVM[‘player_state’ + videoId][‘IS_PLAYING’] || WVM[‘player_state’ + videoId][‘AD_IS_PLAYING’];
if(isPlaying){
$(‘.vjs-loading-spinner’).hide();
}

var offsetFloatAd = 99999999;
if(deviceName == ‘desktop’ && $(‘#float_anchor’).length > 0){
offsetFloatAd = $(‘#float_anchor’).offset().top – WVM.VIDEO_HEIGHT;
//console.log(“float anchor offset top ” + offsetFloatAd);

}

if($(window).scrollTop() > offset && isPlaying && !WVM[‘player_state’ + videoId][‘CANCEL_FLOATING’]){
$(‘#media-placeholder-‘ + videoId).height(WVM.CONTAINER_HEIGHT);
$(‘#media-placeholder-‘ + videoId).css(‘display’, ‘block’);
if(!WVM.IS_FLOATING){
changed = true;
}
WVM.IS_FLOATING = true;
$(‘#media-container-‘ + videoId).addClass(‘floating-video’);

var sWidth = window.innerWidth || document.documentElement.clientWidth;
var sHeight = window.innerHeight || document.documentElement.clientHeight;
if(sWidth > 900 && WADS.IS_STICKING){
$(‘#media-container-‘ + videoId).addClass(‘desktop-ad-is-sticky’);
}
else if(WADS.IS_STICKING){
if(!TOP_AD_VIEWED){
$(‘#media-container-‘ + videoId).addClass(‘mobile-ad-is-sticky’);
}else{
$(‘#media-container-‘ + videoId).addClass(‘mobile-ad-is-sticky-noad’);
}
}
else if(!WADS.IS_STICKING){
if(!TOP_AD_VIEWED){
$(‘#media-container-‘ + videoId).removeClass(‘desktop-ad-is-sticky’);
}else{
$(‘#media-container-‘ + videoId).addClass(‘desktop-ad-is-sticky-noad’);
}
}

//set right
var sWidth = window.innerWidth || document.documentElement.clientWidth;
var sHeight = window.innerHeight || document.documentElement.clientHeight;
if(deviceName == ‘desktop’ || sWidth > 900){
var leftPos2 = $(‘aside’).get(0).getBoundingClientRect().left;
var leftPos = $(‘aside’).offset().left ;
$(‘#media-container-‘ + videoId).css(‘left’, leftPos + “px”);
var newWidth = Math.floor(sWidth / 3.5);
$(‘#media-container-‘ + videoId).css(‘width’, newWidth + “px”);

}
else{
$(‘#media-container-‘ + videoId).css(‘width’, “100% !important”);
$(‘#media-container-‘ + videoId + ‘ .now-playing-container’).css(‘display’, ‘block’);
$(‘#media-container-‘ + videoId + ‘ .next-dropdown-accordion’).css(‘display’, ‘block’);
}

//floating-video
$(‘#media-container-‘ + videoId + ” ” + ‘.page-carousel-wrapper’).hide();
setTimeout(function(){
var hWrapper = $(‘.floating-video .hlsvideo-wrapper’).height();
var npWidth = $(‘.floating-video .now-playing-container’).height();
var ndWidth = $(‘.floating-video .next-dropdown-header’).height() + 20;
var scrollerHeight = sHeight – (hWrapper + npWidth + ndWidth);
scrollerHeight = 180;
//scrollerHeight = parseInt(scrollerHeight * 0.5);
if(WVM.device_name == ‘desktop’){
$(‘#media-container-‘ + videoId + ” ” + ” .mobile-list-videos”).height(scrollerHeight);
}
}, 100);
}else if($(window).scrollTop() 0){
var container = document.querySelector(‘#page-carousel-‘ + fullVideoId);
imagesLoaded( container, function() {
var screenWidth = window.innerWidth || document.documentElement.clientWidth;
if(screenWidth > 850){
WVM.IS_DESKTOP = true;
$(‘#page-carousel-‘ + fullVideoId + ‘ .page-carousel-lg-slides’).css(‘display’, ‘block’);

WVM[‘player_settings’ + fullVideoId].slider = $(‘#page-carousel-‘ + fullVideoId).bxSlider({
maxSlides: 4,
minSlides: 4,
slideWidth: 305,
infiniteLoop: false,
hideControlOnEnd: true,
useCSS: true,
pager: false,
slideMargin: 15,
moveSlides: 1,
nextText: ‘‘,
prevText: ‘
});
}else{
WVM.IS_DESKTOP = false;
$(‘.page-carousel-wrapper’).css(‘display’, ‘block’);
}
});
}

};

WVM.setupToggleButton = function(fullVideoId, player){
if($(‘.nextplay-switch-‘ + fullVideoId).length > 0){
new DG.OnOffSwitchAuto({
cls:’.nextplay-switch-‘ + fullVideoId,
height: 24,
trackColorOn:’#F9F9F9′,
trackColorOff:’#222’,
textColorOn: ‘#222’,
textColorOff: ‘#222′,
textOn:’On’,
textOff:’Off’,
listener:function(name, checked){
var theVal = 1;
if(!checked){
theVal = 0;
}

$.ajax({
url: ‘/ajax/update_autoplay_video/’,
data: {
autoplay_on: theVal
},
type: ‘POST’,
dataType: ‘json’,
success: function(data)
{
WVM[‘player_settings’ + fullVideoId][‘autoplay’] = checked;
},
error : function(){
console.log(“Error loading video”);
}
});
}
});
}
};

WVM.setupAccordionButton = function(fullVideoId){
var deviceName = ‘desktop’;
$(‘#next-dropdown-accordion-button-‘ + fullVideoId).on(‘click’, function(){
if($(this).find(‘i’).hasClass(‘fa-chevron-up’)){
//hide
$(this).find(‘i’).removeClass(‘fa-chevron-up’);
$(this).find(‘i’).addClass(‘fa-chevron-down’);
if(deviceName == “desktop” && !$(‘#media-container-‘ + fullVideoId).hasClass(‘floating-video’)){
$(‘#media-container-‘ + fullVideoId + ” ” + ‘.page-carousel-wrapper’).slideUp();
$(‘#media-container-‘ + fullVideoId + ” ” + ‘.mobile-list-wrapper’).hide();

}else{
$(‘#media-container-‘ + fullVideoId + ” ” + ‘.mobile-list-wrapper’).slideUp();
$(‘#media-container-‘ + fullVideoId + ” ” + ‘.page-carousel-wrapper’).hide();
}
var currVideoId = WVM[‘player_state’ + fullVideoId][‘VIDEO_ID’];
var nextVideoId = WVM.getNextPlaylistIndex(currVideoId);
//playerId, mediaId, fieldName
var myTitle = WVM.getPlaylistData(fullVideoId, nextVideoId, ‘noprefixtitle’);
//alert(“Getting title ” + myTitle);
$(‘#video-slider-nexttitle’ + fullVideoId).css(‘display’, ‘inline’);
$(‘#video-slider-nexttitle’ + fullVideoId).html(myTitle);
}else{
//expand
$(this).find(‘i’).addClass(‘fa-chevron-up’);
$(this).find(‘i’).removeClass(‘fa-chevron-down’);
$(‘#media-container-‘ + fullVideoId + ” ” + ‘.mobile-list-wrapper’).css(‘display’, ‘block’);
if(deviceName == “desktop” && !$(‘#media-container-‘ + fullVideoId).hasClass(‘floating-video’)){
$(‘#media-container-‘ + fullVideoId + ” ” + ‘.page-carousel-wrapper’).css(‘display’, ‘block’);
$(‘#media-container-‘ + fullVideoId + ” ” + ‘.page-carousel-wrapper’).slideDown();
$(‘#media-container-‘ + fullVideoId + ” ” + ‘.mobile-list-wrapper’).hide();
if(!WVM.player_state196077[‘CAROUSEL_INIT’]){
WVM.setupCarousel(fullVideoId);
}

}else{
$(‘#media-container-‘ + fullVideoId + ” ” + ‘.mobile-list-wrapper’).slideDown();
$(‘#media-container-‘ + fullVideoId + ” ” + ‘.page-carousel-wrapper’).hide();

if(!$(‘#media-container-‘ + fullVideoId).hasClass(‘floating-video’)){
if(!WVM.player_state196077[‘CAROUSEL_INIT’]){
WVM.setupCarousel(fullVideoId);
}
}
}

$(‘#video-slider-nexttitle’ + fullVideoId).css(‘display’, ‘none’);
}
});
var currVideoId = WVM[‘player_state’ + fullVideoId][‘VIDEO_ID’];
//console.log(“current Video ” + currVideoId);
var nextVideoId = WVM.getNextPlaylistIndex(currVideoId);
var myTitle = WVM.getPlaylistData(fullVideoId, nextVideoId, ‘noprefixtitle’);
//console.log(“setting title ” + myTitle);
$(‘#video-slider-nexttitle’ + fullVideoId).css(‘display’, ‘inline’);
$(‘#video-slider-nexttitle’ + fullVideoId).html(myTitle);

};
WVM.sendbeacon = function(action, nonInteraction, value, eventLabel) {
var eventCategory = ‘Video’;
if (window.ga) {
//console.log(“sending action: ” + action + ” val: ” + value + ” label ” + eventLabel);
ga(‘send’, ‘event’, {
‘eventCategory’: eventCategory,
‘eventAction’: action,
‘eventLabel’: eventLabel,
‘eventValue’: value,
‘nonInteraction’: nonInteraction
});
}
};

WVM.getNextPlaylistIndex = function(mediaId, returnArrayIndex){
var currId = null;
if(mediaId == null){
return null;
}
for(var x =0; x 20){
if(fullDuration > 1 && ((fullDuration – fullCurrent) > 1) && !$(‘.vjs-loading-spinner’).hasClass(‘badspinner’)){
console.log(“hiding spinner”);
$(‘.vjs-loading-spinner’).addClass(‘badspinner’);
}
}
var duration_time = Math.floor(this.duration());

//this is a hack because the end video event is not firing…
var current_time = Math.floor(this.currentTime());
if ( current_time > 0 && ( fullCurrent >= (fullDuration – 10) )){
var currId = playerState.VIDEO_ID;
var newMediaId = WVM.getNextPlaylistIndex(currId);
//if(playerSettings.autoplay_next && newMediaId){
if(newMediaId){
if(‘desktop’ == “iphone” && playerState.AD_ERROR){
console.log(“skipped timeupdate end”);
}else{
WVM.load_video(newMediaId, true, playerState.ORIGINAL_ID);
}
}
}

if(!playerState.START_SENT){
WVM.sendbeacon(‘start’, true, playerState.VIDEO_ID, playerState.VIDEO_TITLE);
playerState.START_SENT = true;
}

var currentTime, duration, percent, percentPlayed, _i;
currentTime = Math.round(this.currentTime());
duration = Math.round(this.duration());
percentPlayed = Math.round(currentTime / duration * 100);
for (percent = _i = 0; _i = percent && __indexOf.call(playerState[‘PERCENTS_TRACKED’], percent) 0) {
playerState[‘PERCENTS_TRACKED’].push(percent);
}
}
}

});
//player.off(‘ended’);
player.on(‘ended’, function(){
console.log(“ended”);
playerState.IS_PLAYING = false;
WVM.sendbeacon(“complete”, true, playerState.VIDEO_ID, playerState.VIDEO_TITLE);
var currId = playerState.VIDEO_ID;
var newMediaId = WVM.getNextPlaylistIndex(currId);
//if(playerSettings.autoplay_next && newMediaId){
if(newMediaId){
WVM.load_video(newMediaId, true, playerState.ORIGINAL_ID);
}else{
console.log(“Playlist complete (no more videos)”);
}

});

//player.off(‘adserror’);
player.on(‘adserror’, function(e){
//$(‘#ima-ad-container’).remove();
WVM.lastAdRequest = new Date().getTime() / 1000;
console.log(e);
console.log(“ads error”);

var errMessage = e[‘data’][‘AdError’][‘l’];

playerState.AD_IS_PLAYING = false;
playerState.IS_PLAYING = false;

// && errMessage == ‘The VAST response document is empty.’
if(!playerState.AD_ERROR){
var dTime = new Date().getTime();
WVM.firstPrerollTagUrl = WVM.getFirstPrerollUrl();
console.log(“calling backup ad tag url: ” + WVM.firstPrerollTagUrl);
WVM.activePlayer.ima.changeAdTag(WVM.firstPrerollTagUrl + “?” + dTime);
WVM.activePlayer.ima.requestAds();

//WVM.activePlayer.src({
// src: masterSrc,
// type: ‘video/mp4’
//});
//WVM.firstPrerollTagUrl = “”;
}
playerState.AD_ERROR = true;
});

//player.off(‘error’);
player.on(‘error’, function(event) {
if (player.error().code === 4) {
player.error(null); // clear out the old error
player.options().sources.shift(); // drop the highest precedence source
console.log(“now doing src”);
console.log(player.options().sources[0]);
player.src(player.options().sources[0]); // retry
return;
}
});

//player.off(‘volumechange’);
player.on(‘volumechange’, function(event) {
console.log(event);

var theHeight = $(‘#media-container-‘ + playerState.ORIGINAL_ID + ‘ .vjs-volume-level’).css(‘height’);
var cssVolume = 0;
if(theHeight){
cssVolume = parseInt(theHeight.replace(‘%’, ”));
}
var theVolume = player.volume();
if(theVolume > 0.0 || cssVolume > 0){
$(‘#media-container-‘ + playerState.ORIGINAL_ID + ‘ .mute-overlay’).css(‘display’, ‘none’);
}else{
$(‘#media-container-‘ + playerState.ORIGINAL_ID + ‘ .mute-overlay’).css(‘display’, ‘block’);
}
});
WVM.reinitRawEvents(playerState.ORIGINAL_ID);
setInterval(function(){
WVM.reinitRawEvents(playerState.ORIGINAL_ID);
}, 2000);
}
if(!WVM.rawCompleteEvent){
WVM.rawCompleteEvent = function(e){
var playerState = WVM[‘player_state196077’];
};
}
if(!WVM.rawTimeupdateEvent){
WVM.rawTimeupdateEvent = function(e){
var playerState = WVM[‘player_state196077’];
var rawVideoElem = document.getElementById(‘html5-video-‘ + playerState[‘ORIGINAL_ID’] + ‘_html5_api’);
var fullCurrent = rawVideoElem.currentTime * 1000;
var fullDuration = rawVideoElem.duration * 1000;
var current_time = Math.floor(rawVideoElem.currentTime);
console.log(“raw timeupdate: ” + fullCurrent + ” out of ” + fullDuration);

if ( current_time > 0 && ( fullCurrent >= (fullDuration – 50) )){
var currId = playerState.VIDEO_ID;
var newMediaId = WVM.getNextPlaylistIndex(currId);
if(newMediaId){
console.log(“loading new video from rawtimeupdate”);
WVM.load_video(newMediaId, true, playerState.ORIGINAL_ID);
}
}
if(!$(‘.vjs-loading-spinner’).hasClass(‘badspinner’)){
$(‘.vjs-loading-spinner’).addClass(‘badspinner’)
}
};
}

WVM.reinitRawEvents = function(playerId){
var playerState = WVM[‘player_state’ + playerId];
var rawVideoElem = document.getElementById(‘html5-video-‘ + WVM[‘player_state’ + playerId][‘ORIGINAL_ID’] + ‘_html5_api’);

//COMPLETE EENT
if( WVM[‘player_state’ + playerId].COMPLETE_EVENT){
rawVideoElem.removeEventListener(‘ended’, WVM.rawCompleteEvent, false);
}
rawVideoElem.addEventListener(‘ended’, WVM.rawCompleteEvent, false);

//TIME UPDATE EVENT
if( WVM[‘player_state’ + playerId].TIMEUPDATE_EVENT){
rawVideoElem.removeEventListener(‘ended’, WVM.rawTimeupdateEvent, false);
}
rawVideoElem.addEventListener(‘ended’, WVM.rawTimeupdateEvent, false);

WVM[‘player_state’ + playerId].COMPLETE_EVENT = true;
WVM[‘player_state’ + playerId].TIMEUPDATE_EVENT = true;
};


CASSOPOLIS, Mich.– Falling from a high, cannabis products in Michigan have half the value they had eighteen months ago.

In just one of three growing rooms at Highway Horticulture, the parent company of Cassopolis dispensary Sunset Coast, growers have 1,942 plants.

Their first harvest season is coming up, and over the next few months, they will narrow their hundreds of strains of cannabis, down to about thirty.

Lead growers say offering a large variety, and using the best facilities, will help them survive a crashing market.

“We have 1942 plants in this room,” said Chief Cultivation Officer, Nicholas Luhowy. “They’re all individual phenotypes across hundreds of strains in the facility.”

Marijuana growers in Michigan, like Luhowy, are experimenting with the genetics of the cannabis plant to create their best strains yet.

“Every aroma, from coffee to gasoline, to terrible aromas you might not like, to every fruit and candy, is represented in cannabis,” Luhowy said. “You have to do a massive pheno-farm like this to find those strains that have those aromas.”

But Luhowy said so many new companies now have too much product.

“We knew when we started here, price compression is inevitable for a young market,” he said. “18 months ago, wholesale flower was almost twice as valuable as it is now.”

He said plenty of new companies are all growing similar, if not the same, strains of marijuana.

“You see a lot of startup companies that are just putting out mid-quality flower and driving the price down, because they’re not in it for the long game,” he said.

At Highway Horticulture, Luhowy and his colleagues are looking to fight a crash in cannabis prices.

“The only way to survive that is you have differentiate yourself in some way so when you are trying to work with retailers and sell your product, you offer something unique,” he said. “If you don’t offer that, they’re just going to haggle on price.”

Luhowy even predicts the bottom half of the market will fail.

“Everyone who’s in it for a quick buck will learn shortly, without decades of experience, that there is no quick buck in cannabis,” he said.

But what can cannabis companies do to stay above the fold? Luhowy said the trick is to have a large variety of product in the best possible facilities.

“So it comes down to how much can you produce a gram of cannabis for, at the highest quality?” he said. “If you want to compete in a crashing market, that has to be your focus. But it starts with engineering your facility…”

Highway Horticulture will harvest for the first time since they opened in roughly two weeks.

After that, they’ll harvest 350 to 400 pounds of product each month.

SHARE

Leave a Reply