



// Load the script
function load_script(url) {
    script = document.createElement('script');
    script.type = 'text/javascript';
    script.async = false;
    script.src = url;
    document.body.appendChild(script);
}


var pbjs = pbjs || {};
pbjs.que = pbjs.que || [];

var PREBID_TIMEOUT = 1000;

(function() {
var ymk_player_id = "player-dcf4722f-9c8a-4ec6-7d29-532c0c9ad310";

var ymk_player_cover_img_id = "div_cover_img_dcf4722f-9c8a-4ec6-7d29-532c0c9ad310";

var ymk_site_cat = 'us/us-news';

var ymk_domain = 'www.youmaker.com'

var ymk_ia_nav_url = '';

if (ymk_ia_nav_url != '') {
    ymk_ia_nav_url = decodeURIComponent(ymk_ia_nav_url);
}

var ymk_b_started = false;
var ymk_b_completed = false;
var ymk_b_mobile = true;
var ymk_default_domain = 'youmaker.com';
var ymk_b_instantArticle = 0;
var ymk_b_continuousPlay = 0;
var ymk_b_iPhone = false;
var ymk_show_img_only = false;
var ymk_afid = '';

var ymk_play_index = 0;
var ymk_playlist = [];

var ymk_placement = '';

var ymk_default_root_domain = "theepochtimes.com";
var ymk_m3u8 = '//vs.youmaker.com/assets/2018/1011/dcf4722f-9c8a-4ec6-7d29-532c0c9ad310/playlist.m3u8';
var ymk_tn_path = '//vs.youmaker.com/assets/2018/1011/dcf4722f-9c8a-4ec6-7d29-532c0c9ad310/thumbnail_h.jpg';
var ymk_v_id = "dcf4722f-9c8a-4ec6-7d29-532c0c9ad310";
var ymk_ratio = "16:9";
var ymk_var_autostart = false;
var ymk_var_mute = false;
var ymk_systemid = 'dcf4722f-9c8a-4ec6-7d29-532c0c9ad310';
var ymk_str_provider_id = '35';

var ymk_resolution = '576x324';

// Video meta data
var ymk_video_id = 'dcf4722f-9c8a-4ec6-7d29-532c0c9ad310';
var ymk_provider_id = '35';
var ymk_provider_name = "CNN";
if (ymk_provider_name == '') {
    ymk_provider_name = 'unknown';
}
var ymk_video_title = "WH16x9N_NA-49TH_MICHAEL_ BROOKE BALDWIN IN CHOPPER-MEXICO BEACH _CNNA-ST1-1000000004d1727f_213_0";
var ymk_video_description = "CNN";
var ymk_duration = '58';
var ymk_category_id = '11';
var ymk_user = "jack.phillips";
var ymk_noads = '0';
var ymk_mute = '0';
var ymk_autoplay = '0';
var ymk_bool_noads = false;
var ymk_init = true;

var video_container = document.getElementById("dcf4722f-9c8a-4ec6-7d29-532c0c9ad310");
if (video_container && !ymk_init) {
    video_container.setAttribute("style","background: url(//vs.youmaker.com/assets/2018/1011/dcf4722f-9c8a-4ec6-7d29-532c0c9ad310/thumbnail_h.jpg) no-repeat center center;background-size:contain;background-color:rgb(0, 0, 0); display: inline-block; width: 100%; height: 56.25vw;");
}

var player_container_html = '<div class="player-container" style="clear:both;width:100%;max-width:100%">';
    
if (ymk_init === false) {
    player_container_html += '<span class="ymk_player_icon" id="ymk_player_icon_dcf4722f-9c8a-4ec6-7d29-532c0c9ad310"></span>';
} else {
    player_container_html += '<center> \
            <div id="player-dcf4722f-9c8a-4ec6-7d29-532c0c9ad310"></div> \
            <div id="div_cover_img_dcf4722f-9c8a-4ec6-7d29-532c0c9ad310" style="display: none; overflow: hidden;"> \
                <a id="redirect_link_dcf4722f-9c8a-4ec6-7d29-532c0c9ad310" href=""> \
                    <div id="static_video_div"> \
                        <img id="static_video_img" src="//vs.youmaker.com/assets/2018/1011/dcf4722f-9c8a-4ec6-7d29-532c0c9ad310/thumbnail_h.jpg" style="width: 100%; max-height: 100%;"> \
                    </div> \
                    <div id="static_imp_text"> \
                        <img src="//www.youmaker.com/img/Arrow.png"><span class="v_text">&nbsp;click to watch video</span> \
                    </div> \
                    <div id="static_play_icon"><img src="//www.youmaker.com/img/NTD_video_logo_thumbnail.png"></div> \
                </a> \
            </div> \
        </center>'
}

player_container_html += '</div>';

if (video_container) {
    video_container.innerHTML = player_container_html;
}else {
    document.write(
        player_container_html
    );
}

var ymk_player_icon_id = document.getElementById("ymk_player_icon_dcf4722f-9c8a-4ec6-7d29-532c0c9ad310");

ymk_play_list = [];
ymk_loaded = false;

(function() {
   	jwplayer.key = "7HzBc8HxNtv/PV3rNChXEpovs2WvZtOHBfhnoQ==";
	var continuous_play = false;

    String.prototype.replaceAll = function(search, replacement) {
        var target = this;
        return target.replace(new RegExp(search, 'g'), replacement);
    };

	function getLocation(href) {
		var l = document.createElement("a");
		l.href = href;
		return l;
	}



	function getQueryString(url, name) {
		var reg = new RegExp('(^|[&?])' + name + '=([^&]*)(&|$)', 'i');
		var r = url.substr(1).match(reg);
		if (r != null) {
			return unescape(r[2]);
		}
		return null;
	}

	function getAffiliatePlacement(root_domain, afid) {
		var ajax = new AJAX();

		ajax.request({
			type: "GET",
			contentType: "application/json;utf-8",
			url: '//' + ymk_domain + "/getAffPlacement?rootdomain=" + root_domain + "&afid=" + ymk_afid,
			dataType: 'json',
			async: false,
			beforeSend: function(x) { x.setRequestHeader("Content-Type", "application/json; charset=utf-8"); },
			success: function(data) {
				if (data.status == "ok" && data.placementid != "") {
                    ymk_placement = data.placementid;
				} else {
                    ymk_placement = "";
				}
			},
			error: function(e) {
                ymk_placement = "";
    		}
		});

		return ymk_placement;
	}

	function getDeviceType() {
		var browser={
			versions:function(){
				var u = navigator.userAgent, app = navigator.appVersion;
				return {
					trident: u.indexOf('Trident') > -1, //IE
					presto: u.indexOf('Presto') > -1, //opera
					webKit: u.indexOf('AppleWebKit') > -1, //Apple/Google
					gecko: u.indexOf('Gecko') > -1 && u.indexOf('KHTML') == -1, //Firefox
					mobile: !!u.match(/AppleWebKit.*Mobile.*/), //Mobile?
					ios: !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/), //ios
					android: u.indexOf('Android') > -1 || u.indexOf('Linux') > -1, //android
					iPhone: u.indexOf('iPhone') > -1 , //iPhone
					iPad: u.indexOf('iPad') > -1, //iPad
					webApp: u.indexOf('Safari') == -1 //webApp
				};
			}(),
			language:(navigator.browserLanguage || navigator.language).toLowerCase()
		};

		if(browser.versions.iPhone) {
			return 'iPhone';
		} else if(browser.versions.mobile || browser.versions.ios || browser.versions.android) {
			return 'mobile';
		} else {
			return 'desktop';
		}
	}

    function getDomainName(domain) {
        var parts = domain.split('.').reverse();
        var cnt = parts.length;
        if (cnt >= 3) {
            // see if the second level domain is a common SLD.
            if (parts[1].match(/^(com|edu|gov|net|mil|org|nom|co|name|info|biz)$/i)) {
                return parts[2] + '.' + parts[1] + '.' + parts[0];
            }
        }
        return parts[1]+'.'+parts[0];
    }

	try {
		deviceType = getDeviceType();
		//deviceType = 'iPhone'; ymk_b_instantArticle = 1;  // for test

		if (deviceType == 'iPhone') {
            ymk_b_iPhone = true;
		} else if (deviceType == 'desktop') {
            ymk_b_mobile = false;
		}
	} catch(err) {
        ymk_b_mobile = true;
	}

	if (ymk_b_instantArticle > 0 && ymk_b_iPhone && ymk_ia_nav_url != '') {
        ymk_show_img_only = true;
        document.getElementById(ymk_player_id).style.display = 'none';
        document.getElementById(ymk_player_cover_img_id).style.display = 'block';
        document.getElementById("redirect_link_" + ymk_v_id).href = ymk_ia_nav_url;
    }

	if (ymk_show_img_only == false) {
		root_domain = ymk_default_root_domain;

		try {
			if(root_domain == '') {
				var hostname = window.location.href.replace("https:", "").replace("http:", "").replace("//", "");
				root_domain = (hostname.split('/'))[0];
                root_domain = (root_domain.split(':'))[0];//remove port part
                if(root_domain != '') {
                    root_domain = getDomainName(root_domain);
                }
			}
		} catch(err) {
			root_domain = ymk_default_domain;
		}

        ymk_referrer_url = window.location.href;

        var tmp_afid = getQueryString(ymk_referrer_url, 'afid');  // the afid from page url will cover afid in iframe src
        if (tmp_afid != null) {
            ymk_afid = tmp_afid;
        }

		// Prepare custom dimensions: for GA
		var embed_url = ymk_referrer_url;
		var embed_location = getLocation(embed_url);
		var embed_domain = embed_location.hostname;
		var embed_pathname = embed_location.pathname;
		var embed_protocol = embed_location.protocol;

		var ads_played = false;
		var midroll_played = false;
		var first_video = true;
		var tempTag = false;

		//init facebook tracking
		var b_fbTracking = false;
		var trackingId = '';
		var curPos = 0;
		var b_adPlayed10s = false;
		var b_adShown = true;

		var playerInstance = jwplayer(ymk_player_id);
		var playerInit;

		var advertising = {};

        var invokeVideoPlayer = function(url) {
            tempTag = url;
        };

		if (!ymk_bool_noads) {

			var vast_tag = 'https://pubads.g.doubleclick.net/gampad/ads?sz=640x480&impl=s&gdfp_req=1&env=vp&output=vast&unviewed_position_start=1&url=' + encodeURI(ymk_referrer_url) + '&description_url=' + encodeURI(ymk_referrer_url) + '&correlator=[timestamp]&iu=%2F5965368%2F';
			var advertising_client = 'googima';
            var prebid_adnetworks = [
                ["appnexus", {
                    bidder: "appnexus",
                    params: {
                        placementId: 13649153,
                        video: {
                            skipppable: true,
                            playback_method: ['auto_play_sound_on']
                        }
                    }
                }],
                ["pubmatic", {
                    bidder: "pubmatic",
                    params: {
                        adSlot: "1683761@640x480",
                        publisherId: '156822',
                        video: {
                            skipppable: true,
                            playbackmethod: [3],
                            mimes:['video/mp4', 'video/h.264', 'video/webm', 'application/javascript', 'video/ogg', 'video/flv'],
                            protocols: [2,3,5,6],
                            linearity: 1,
                            w:640,
                            h:480,
                            minduration: 1,
                            maxduration: 60,
                            startdelay: 0,
                            api: [2]
                        }
                    }
                }],
            ];
			var prebid_domain = ["lagranepoca.com", "epochtimes.fr"];

			var all_identification = {
				'ntd.tv': {
					'placement': "NTD_News_Preroll",
					'SpotX': {
						"mediation_layer": "dfp",
						"floor_price": 0,
						"channel_id": 232511,
					},
				},
				'ntd.com': {
					'placement': "NTD_News_Preroll",
					'SpotX': {
						"mediation_layer": "dfp",
						"floor_price": 0,
						"channel_id": 232511,
					},
				},
				'ntdnews.com': {
					'placement': "NTD_News_Preroll",
					'SpotX': {
						"mediation_layer": "dfp",
						"floor_price": 0,
						"channel_id": 232511,
					},
				},
				'theepochtimes.com': {
					'placement': "EET_News_Preroll",
					'SpotX': {
						"mediation_layer": "jwpdfp",
						"floor_price": 500,
						"channel_id": 232512,
					},
				},
				'epochtimes.fr': {
					'placement': "epochtimes.fr_preroll",
				},
				'lagranepoca.com': {
					'placement': "lagranepoca.com_preroll",
				},
				'epochtimes.com.br': {
					'placement': "epochtimes.com.br_preroll",
				},
				'ntdtv.kr': {
					'placement': "ntdtv.kr_preroll",
				},
				'ntdtv.jp': {
					'placement': "ntdtv.jp_preroll",
				},
				'epochtimes.it': {
					'placement': "epochtimes.it_preroll",
				},
				'epochtimes.de': {
					'placement': "epochtimes.de_preroll",
				},
				'epochtimes.nl': {
					'placement': "epochtimes.nl_preroll",
				},
				'epochtimes.se': {
					'placement': "epochtimes.se_preroll",
				},
				'epochtimes.com': {
					'placement': "epochtimes.com_preroll",
				},
				'ntdtv.com': {
					'placement': "ntdtv.com_preroll",
				},
			};

			//Define ymk_placement and only use ymk_placement from now on
			if (root_domain in all_identification) {
				domain_info = all_identification[root_domain];
				ymk_placement = domain_info["placement"];
			} else {
				domain_info = {};
				ymk_placement = "Youmaker.com_Preroll";
			}

			if (root_domain == 'ntd.tv') {
				if (embed_domain.indexOf('inspiring.ntd.tv', 0) >= 0 || embed_pathname.indexOf('/inspiring/', 0) >= 0) {
					ymk_placement = "NTD_Inspired_Preroll";
				}
			} else if (root_domain == 'ntd.com') {
				if (embed_domain.indexOf('inspiring.ntd.com', 0) >= 0 || embed_pathname.indexOf('/inspiring/', 0) >= 0) {
					ymk_placement = "NTD_Inspired_Preroll";
				}
			} else if (root_domain == 'ntdnews.com') {
				if (embed_domain.indexOf('inspiring.ntdnews.com', 0) >= 0 || embed_pathname.indexOf('/inspiring/', 0) >= 0) {
					ymk_placement = "NTD_Inspired_Preroll";
				}
			} else if(root_domain == 'theepochtimes.com') {
				if (embed_pathname.indexOf('/uplift/', 0) >= 0) {
					ymk_placement = "EET_Uplift_Preroll";
				}
			}

			var pre_vast_tag = vast_tag;
			vast_tag += ymk_placement;
			vast_tag += '&pageurl=__page-url__';

			console.log('vast_tag: ' + vast_tag);
			console.log('site: ' + root_domain);

			var ad_bids = {};

			//If the settings for SpotX exist

			if ('SpotX' in domain_info) {
				ad_bids = {
					settings: {
						mediationLayerAdServer: domain_info["SpotX"]["mediation_layer"],
						floorPriceCents: domain_info["SpotX"]["floor_price"],
					},
					bidders: [
						{
							"name": "SpotX",
							"id": domain_info["SpotX"]["channel_id"],
						}]
				}
			}

			advertising = {
				client: advertising_client,
                "adscheduleid": "00000000",
				'autoplayadsmuted': false,
				'skipoffset': 10,
				'vpaidcontrols': true,
				'admessage': 'Ad ends in xx seconds',
				//'requestTimeout': 6000,   //  'creativeTimeout'
				schedule: {
					myPreroll: {
						offset: 'pre',
						tag: vast_tag,
						custParams: {
							"site": root_domain,
							"player_width": "__player-width__",
							"player_height": "__player-height__"
						}
					}
				}
			};

            if (ad_bids.hasOwnProperty('settings') === true){
                advertising['bids'] = ad_bids;
            }

			if (prebid_domain.indexOf(root_domain) > -1) {//using video prebid
				(function () {
					if (!pbjs.prebid_loaded && typeof pbjs.processQueue === "undefined" && !document.getElementById("prebid-js")) {
						pbjs.prebid_loaded = true;

						var pbjsEl = document.createElement("script");
						pbjsEl.id = "prebid-js";
						pbjsEl.type = "text/javascript";
						pbjsEl.async = false;
						pbjsEl.src = "//" + ymk_domain + "/js/prebid.js";
						var pbjsTargetEl = document.getElementsByTagName("head")[0];
						try {
							pbjsTargetEl.insertBefore(pbjsEl, pbjsTargetEl.firstChild);
						} catch (e) {
							console.error(e);
						}
					}
				})();

				var videoAdUnit = {
					code: ymk_placement,
					mediaTypes: {
						video: {
							playerSize: [640, 480],
							context: 'instream'
						}
					},
					bids: []
				};

				//Add prebid bidders
                prebid_adnetworks.forEach(function (ad_network_index) {
                    if (prebid_domain.indexOf(root_domain) > -1) {
                        videoAdUnit['bids'].push(ad_network_index[1]);
                        console.log(ad_network_index[0])
                    }
                });

				var customBannerPriceGranularity = {
					"buckets": [
						{ "precision": 2, "min": 0, "max": 5, "increment": 0.01 },
						{ "precision": 2, "min": 5, "max": 10, "increment": 0.05 },
						{ "precision": 2, "min": 10, "max": 20, "increment": 0.10 },
						{ "precision": 2, "min": 20, "max": 30, "increment": 0.50 },
						{ "precision": 2, "min": 30, "max": 40, "increment": 1.00 }
					]
				};

				var customVideoPriceGranularity = {
					"buckets": [
						{
							"precision": 2, //default is 2 if omitted - means 2.1234 rounded to 2 decimal places = 2.12
							"min": 0,
							"max": 40,
							"increment": 0.50
						},
					]
				};

				var requestVideoAd = function () {
					pbjs.requestBids({
						bidsBackHandler: function (bids) {
							var videoUrl = pbjs.adServers.dfp.buildVideoUrl({
								adUnit: videoAdUnit,
								params: {
									iu: '/5965368/' + ymk_placement,
									cust_params: {
										site: root_domain,
										"player_width": "__player-width__",
										"player_height": "__player-height__"
									},
									output: 'vast',
									description_url: encodeURIComponent(window.location.href),
									sdkv: 'h.3.225.0',
									sdki: '3c0d'
								}
							});
							invokeVideoPlayer(videoUrl);
						}
					});
				};

				pbjs.que.push(function () {
					pbjs.addAdUnits(videoAdUnit);

					if(!pbjs.initialized) {
						pbjs.initialized = true;

						pbjs.setConfig({
							cache: {
								url: 'https://prebid.adnxs.com/pbc/v1/cache'
							},
							bidderTimeout: PREBID_TIMEOUT,
							'mediaTypePriceGranularity': {
								'banner': customBannerPriceGranularity,
								'video': customVideoPriceGranularity
							},
							userSync: {
								filterSettings: {
									iframe: {
										bidders: '*',   // '*' means all bidders
										filter: 'include'
									}
								}
							}
						});
					}

					requestVideoAd();
				});
			}
		}

		var load_times = 0;
		var index = 0;
		var mid = undefined;

		function loadList() {
			if ( !loaded ) {
				try {
					if (window.top.getYoumakerPlaylistJSON != undefined ) {
						list  = window.top.getYoumakerPlaylistJSON();
						loaded = true;
					}
				}catch(e){}

				if ( !loaded ) {
					if(load_times <= 5) {
						setTimeout(function () {
							loadList();
						}, 1000);
					}
				}
				load_times++;
			}
		}

        var prepare_video = function () {
            mid = undefined;

            if(!continuous_play) {
            	return;
			}

            if (!ymk_loaded && load_times <= 5) {
                setTimeout(function(){
                    prepare_video();
                }, 1000);
                load_times++;
                return;
            }

            if (typeof(PrepareVideo) != 'undefined' && ymk_play_list.length > 0) {

                var src = ymk_play_list[index].url;

                console.log("PrepareVideo "+index + "  src is "+src);

                try {
                    var update = PrepareVideo(ymk_play_list[index].url);
                    if (1 == update) {
                        mid = ymk_play_list[index].ym_video_id;
                    } else {
                        while(!update) {
                            index++;
                            if(index < ymk_play_list.length) {
                                update = PrepareVideo(ymk_play_list[index].url);
                            }else {
                                break;
                            }
                        }

                        if (1 == update) {
                            mid = ymk_play_list[index].ym_video_id;
                        }
                    }
                }catch(e){}
            }
        };

        var continuous_play_ad_position = 0;

        var init_player = function () {
			if (playerInit) return;

            playerInstance.setup({
				sources: [{"label":"hls","file":ymk_m3u8}],
				title: ymk_video_title,
				description: ymk_video_description,
				displaytitle: false,
				displaydescription: false,
                image: ymk_tn_path,
                mediaid: ymk_v_id,
                // playlist:playlist,

                stretching: "uniform",
                width: "100%",
                aspectratio: ymk_ratio,
                hlshtml: true,
                controlbar: "bottom",
                timeSliderAbove: true,
                autostart: ymk_var_autostart,
                mute: ymk_var_mute,
                /*sharing: {
                  link: referrer_url,
                  heading: "Share Now",
                  sites: [
                    "facebook",
                    "twitter",
                    "googleplus",
                    "email"
                  ]
                },*/
                skin: {
                    name: "epoch"
                },
                advertising: advertising
			});
			
			playerInstance.on('complete', function () {
				if(typeof(jQuery) != 'undefined') {
					var jw_nextup_container = $('.jw-nextup-container.jw-reset', '#' + ymk_player_id);
					if (jw_nextup_container.hasClass('jw-nextup-sticky')) {
						jw_nextup_container.removeClass('jw-nextup-sticky jw-nextup-container-visible');
					}
				}
	
				ads_played = false;
				console.log("going to play " + mid);
				if (continuous_play && mid != undefined) {
					playerInstance.setConfig({autostart: true});
					setTimeout(function() {
						playerInstance.load({
							"file": "//vs.youmaker.com/assets" + mid + "playlist.m3u8"
						});
					}, 0);
					first_video = false;
					midroll_played = false;
				}
			  });
	
			playerInstance.on('beforePlay', function (e,v,c) {
				if(ads_played) {
					return;
				}
	
				if (continuous_play && mid != undefined) {
					console.log("SwitchVideo "+ymk_play_list[index].url);
	
					try {
						if (ymk_loaded && SwitchVideo != undefined) {
							SwitchVideo(ymk_play_list[index].url);
						}
	
						var event = new CustomEvent('YMKNextVideoPlay', { url: ymk_play_list[index].url });
						window.dispatchEvent(event);
					}catch(e) {
						console.log(e);
					}
				}
	
				ads_played = true;
				//setTimeout(function(){ playerInstance.playAd(vast_tag); }, 0);
			});
	
			playerInstance.on('firstFrame', function (e,v,c) {
	
				if (!continuous_play && ymk_play_list.length > 0 && ymk_play_list.length < index) {
					return;
				}
	
				prepare_video();
			});

			playerInstance.on('time', function () {
				var played = playerInstance.getPosition();
				var tmp_placement = '';

                if (root_domain == 'theepochtimes.com' && playerInstance.getDuration() > 180 && !ymk_bool_noads && !midroll_played) {
                    try {
                        if (!continuous_play_ad_position && typeof thetest_getVideoDelayTime === "function") {
                            continuous_play_ad_position = thetest_getVideoDelayTime();
                        }
                    }catch (e) {
                        console.info(e);
                    }

                    if (!continuous_play_ad_position) {
                        continuous_play_ad_position = 90;
                    }

                    if(played >= continuous_play_ad_position && played <= continuous_play_ad_position + 1) {
                        //continuous play midroll
                        try {
                            if (typeof thetest_getPlacementID === "function") {
                                tmp_placement = thetest_getPlacementID();
                            }
                        } catch (e) {
                            console.info(e);
                        }

                        tmp_placement = 'EET_News_Midroll';
                        vast_tag = pre_vast_tag + tmp_placement;
                        vast_tag += '&pageurl=__page-url__';

                        playerInstance.playAd(vast_tag);
                        console.info('play midroll: ' + vast_tag);
                        midroll_played = true;
                    }
                }

				if (!ymk_bool_noads && !first_video && !midroll_played) {
					try {
						if (!continuous_play_ad_position && typeof thetest_getVideoDelayTime === "function") {
							continuous_play_ad_position = thetest_getVideoDelayTime();
						}
					}catch (e) {
						console.info(e);
					}

					if (!continuous_play_ad_position) {
						continuous_play_ad_position = 15;
					}

					if(played >= continuous_play_ad_position && played <= continuous_play_ad_position + 1) {
						//continuous play midroll
						try {
							if (typeof thetest_getPlacementID === "function") {
								tmp_placement = thetest_getPlacementID();
							}
						} catch (e) {
							console.info(e);
						}

						if ('' == tmp_placement) {
							if ('1988005538094546_2057189371176162' == ymk_placement) {
								tmp_placement = '1988005538094546_2120236781538087';
							} else if ('1913931122194584_1978977622356600' == ymk_placement) {
								tmp_placement = '1913931122194584_2040275782893450';
							} else {
								tmp_placement = ymk_placement;
							}
						}
						vast_tag = pre_vast_tag + tmp_placement;
						vast_tag += '&pageurl=__page-url__';

						playerInstance.playAd(vast_tag);
						console.info('play midroll: ' + vast_tag);
						midroll_played = true;
					}
				}

				if( playerInstance.getDuration() - played < 10 && typeof(jQuery) != 'undefined' && mid != undefined) {
					var jw_nextup_container = $('.jw-nextup-container.jw-reset', '#' + ymk_player_id);
					if(!jw_nextup_container.hasClass('jw-nextup-sticky')) {
						jw_nextup_container.addClass('jw-nextup-sticky jw-nextup-container-visible');
						$('.jw-nextup.jw-background-color.jw-reset', '#' + ymk_player_id).addClass('jw-nextup-thumbnail-visible');
						var jw_nextup_thumbnail = $('.jw-nextup-thumbnail.jw-reset', '#' + ymk_player_id);
						jw_nextup_thumbnail.css('background-image', 'url("'+ ymk_play_list[index].image +'")');
						$('.jw-nextup-header.jw-reset', '#' + ymk_player_id).html('Next Up');
						$('.jw-nextup-title.jw-reset', '#' + ymk_player_id).html(ymk_play_list[index].title);
						$('.jw-icon.jw-nextup-close.jw-reset', '#' + ymk_player_id).off('click').on('click', function () {
							//continuous_play = false;
							jw_nextup_container.removeClass('jw-nextup-sticky jw-nextup-container-visible');
						})
					}
				}
			});

			playerInstance.on('ready', function () {

				/*setTimeout(function(){
					loadList();
				}, 1000);*/

				//console.log('player ready!');
				trackPlayerLoaded();

				if (root_domain == 'theepochtimes.com') {
					b_fbTracking = true;
					trackingId = '340470589669960';
				} else if (root_domain == 'ntd.tv') {
					b_fbTracking = true;
					trackingId = '1473343782743269';
				} else if (root_domain == 'ntdtv.kr') {
					b_fbTracking = true;
					trackingId = '962066583944717';
				}
				if (b_fbTracking) {
					initFBTracking(trackingId);
					fbq('trackCustom', 'Video_PVs');
				}
			});

			playerInstance.on('adRequest', function () {
				//console.log('Ad requested.');
				trackAdRequest();

				if (b_fbTracking) {
					fbq('trackCustom', 'Clicked-To-Play-Video');
				}
			});

			playerInstance.on('adImpression', function () {
				//console.log('Ad is playing.');
				trackVideoAd('Ad Impression');
				//preCFCDN();
			});

			playerInstance.on('adClick', function () {
				//console.log('Ad was clicked.');
				trackVideoAd('Ad Click');
			});

			playerInstance.on('adSkipped', function () {
				//console.log('Ad was skipped.');
				trackVideoAd('Ad Skip');

				if (b_fbTracking) {
					if (!b_adPlayed10s) {
						fbq('track', 'Purchase', {
							value: 1,
							currency: 'KRW',
							content_ids: ymk_placement
							});
						b_adPlayed10s = true;
					}
				}
			});

			playerInstance.on('adComplete', function () {
				//console.log('Ad completed.');
				trackVideoAd('Ad Complete');

				if (b_fbTracking) {
					fbq('trackCustom', 'Ad-Complete');
					if (!b_adPlayed10s) {
						fbq('track', 'Purchase', {
							value: 1,
							currency: 'KRW',
							content_ids: ymk_placement
							});
						b_adPlayed10s = true;
					}
				}
			});

			playerInstance.on('adError', function (response) {
				var log = response.message;
				console.log(log);
				b_adShown = false;
				trackVideoAd(log);
			});

			playerInstance.on('adTime', function (v) {
				if (!b_fbTracking) {
					return;
				}
				curPos = v.position;

				if (b_fbTracking) {
					if (curPos >= 8 && !b_adPlayed10s) {
						fbq('track', 'Purchase', {
							value: 1,
							currency: 'KRW',
							content_ids: ymk_placement
							});
						b_adPlayed10s = true;
					}
				}
			});

			//jwplayer error
			playerInstance.on('error', function (err) {
				console.log('Error occured. ' + err.message);
			});

			playerInstance.on('time', function () {
				var played = playerInstance.getPosition();
				if (played >= dur_25 && played - dur_25 < 1 && !b_dur_25) {
					trackVideoWatchedCompletedRate('25');
					b_dur_25 = true;
				} else if (played >= dur_50 && played - dur_50 < 1 && !b_dur_50) {
					trackVideoWatchedCompletedRate('50');
					b_dur_50 = true;
				} else if (played >= dur_75 && played - dur_75 < 1 && !b_dur_75) {
					trackVideoWatchedCompletedRate('75');
					b_dur_75 = true;
				}

				if (played >= 10 && played < 11 && !b_dur_10s) {
					trackVideoWatchedCompletedTime(10);
					b_dur_10s = true;
				} else if (played >= 30 && played < 31 && !b_dur_30s) {
					trackVideoWatchedCompletedTime(30);
					b_dur_30s = true;
				} else if (played >= 60 && played < 61 && !b_dur_60s) {
					trackVideoWatchedCompletedTime(60);
					b_dur_60s = true;
				} else if (played >= 90 && played < 91 && !b_dur_90s) {
                    trackVideoWatchedCompletedTime(90);
                    b_dur_90s = true;
                } else if (played >= 180 && played < 181 && !b_dur_180s) {
					trackVideoWatchedCompletedTime(180);
					b_dur_180s = true;
				} else if (played >= 300 && played < 301 && !b_dur_300s) {
					trackVideoWatchedCompletedTime(300);
					b_dur_300s = true;
				} else if (played >= 3000 && played < 3001 && !b_dur_3000s) {
					trackVideoWatchedCompletedTime(3000);
					b_dur_3000s = true;
				}

			});

			playerInstance.on('play', function() {
				if(!ymk_b_started) {
					console.log('video start!');
					trackVideoPlay();
					if (b_fbTracking) {
					if (b_adShown) {
						fbq('trackCustom', 'Began-To-Watch-User-Video-withAds');
					} else {
						fbq('trackCustom', 'Began-To-Watch-User-Video-woAds');
					}
					}
					ymk_b_started=true;
				}
			});
	
			playerInit = true;
        };

        invokeVideoPlayer = function(url) {
            console.log("MESSAGE: invoking the video player");
            if (!ymk_bool_noads && prebid_domain.indexOf(root_domain) > -1 ) {
                advertising['client'] = 'vast';
                advertising['requestTimeout'] = 10000;
                advertising['schedule'] = {};

                init_player();

				playerInstance.once('beforePlay', function() {
					setTimeout(function(){ playerInstance.playAd(url); }, 0);
				})
            }
        };

        if (ymk_init == true) {
			if (tempTag) {
				invokeVideoPlayer(tempTag);
				tempTag = false;
			}
			if ( ymk_bool_noads || !(prebid_domain.indexOf(root_domain) > -1)) {
				init_player();
			}

			setTimeout(init_player, PREBID_TIMEOUT);
        } else {
            if (video_container) {
                video_container.addEventListener('click', function(e) {
                    handleActivePlayer(e);
                });
            }
            if (ymk_player_icon_id) {
                ymk_player_icon_id.addEventListener('click', function(e) {
                    handleActivePlayer(e);
                });
            }

            var handleActivePlayer = function(e) {
				if (playerInit) return;
				playerInit = true;

                if (typeof ymk_player !== "undefined" && ymk_player !== null) {
					var this_player = jwplayer(ymk_v_id);
					if (this_player !== null && this_player === ymk_player) {
						playerInit = false;
						return;
					}
					
                    ymk_player.remove();
                    ymk_player = null;
                }

				ymk_player = jwplayer(ymk_v_id);
				if (ymk_player !== null) {
					ymk_player.setup({
						sources: [{"label":"hls","file":ymk_m3u8}],
						title: ymk_video_title,
						description: ymk_video_description,
						displaytitle: false,
						displaydescription: false,
						image: ymk_tn_path,
						mediaid: ymk_v_id,

						stretching: "uniform",
						width: "100%",
						aspectratio: ymk_ratio,
						hlshtml: true,
						controlbar: "bottom",
						timeSliderAbove: true,
						autostart: ymk_var_autostart,
						mute: ymk_var_mute,
						skin: {
							name: "epoch"
						},
						advertising: advertising
					}).play();

					ymk_player.on('ready', function () {
						trackPlayerLoaded();
					});
			
					ymk_player.on('adRequest', function () {
						trackAdRequest();
					});
			
					ymk_player.on('adImpression', function () {
						trackVideoAd('Ad Impression');
					});
			
					ymk_player.on('adClick', function () {
						trackVideoAd('Ad Click');
					});
			
					ymk_player.on('adSkipped', function () {
						trackVideoAd('Ad Skip');
					});
			
					ymk_player.on('adComplete', function () {
						trackVideoAd('Ad Complete');
					});
			
					ymk_player.on('adError', function (response) {
						var log = response.message;
						console.log(log);
						trackVideoAd(log);
					});
			
					ymk_player.on('time', function () {
						var played = ymk_player.getPosition();
			
						if (played >= dur_25 && played - dur_25 < 1 && !b_dur_25) {
							trackVideoWatchedCompletedRate('25');
							b_dur_25 = true;
						} else if (played >= dur_50 && played - dur_50 < 1 && !b_dur_50) {
							trackVideoWatchedCompletedRate('50');
							b_dur_50 = true;
						} else if (played >= dur_75 && played - dur_75 < 1 && !b_dur_75) {
							trackVideoWatchedCompletedRate('75');
							b_dur_75 = true;
						}
			
						if (played >= 10 && played < 11 && !b_dur_10s) {
							trackVideoWatchedCompletedTime(10);
							b_dur_10s = true;
						} else if (played >= 30 && played < 31 && !b_dur_30s) {
							trackVideoWatchedCompletedTime(30);
							b_dur_30s = true;
						} else if (played >= 60 && played < 61 && !b_dur_60s) {
							trackVideoWatchedCompletedTime(60);
							b_dur_60s = true;
						} else if (played >= 180 && played < 181 && !b_dur_180s) {
							trackVideoWatchedCompletedTime(180);
							b_dur_180s = true;
						} else if (played >= 300 && played < 301 && !b_dur_300s) {
							trackVideoWatchedCompletedTime(300);
							b_dur_300s = true;
						} else if (played >= 3000 && played < 3001 && !b_dur_3000s) {
							trackVideoWatchedCompletedTime(3000);
							b_dur_3000s = true;
						}
					});
			
					ymk_player.on('play', function() {
						trackVideoPlay();
					});
				}

				playerInit = false;
			};
        }

	}

//facebook
		  function initFBTracking(trackId) {
			 !function(f,b,e,v,n,t,s)
			  {if(f.fbq)return;n=f.fbq=function(){n.callMethod?
			  n.callMethod.apply(n,arguments):n.queue.push(arguments)};
			  if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';
			  n.queue=[];t=b.createElement(e);t.async=!0;
			  t.src=v;s=b.getElementsByTagName(e)[0];
			  s.parentNode.insertBefore(t,s)}(window, document,'script',
			  'https://connect.facebook.net/en_US/fbevents.js');
			  fbq('init', trackId);
		  }

//tacking
    	    // Generate and preserver persistent UUID
    	    function epochuser () {
    	        this.getUUID = function getUUID () {
    	            if (localStorage && "_epochUUID" in localStorage) {
    	                euid = localStorage._epochUUID;
    	            } else {
    	                euid = this.euid();
    	                localStorage.setItem("_epochUUID",this.euid());
    	            }
    	            return euid;
    	        };
    	        this.euid = function () {
    	            return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) {
    	                var r = Math.random() * 16 | 0, v = c == 'x' ? r : (r & 0x3 | 0x8);
    	                return v.toString(16);
    	            });
    	        }
    	    }

    	    // Extract hostname (including subdomain)
    	    function extractHostname(url) {
    	        var hostname;
    	        if (url.indexOf("://") > -1) {
    	            hostname = url.split('/')[2];
    	        }
    	        else {
    	            hostname = url.split('/')[0];
    	        }
    	        hostname = hostname.split(':')[0];
    	        hostname = hostname.split('?')[0];
    	        return hostname;
    	    }

			var getLocation = function(href) {
    	            var l = document.createElement("a");
    	            l.href = href;
    	            return l;
    	        };

    	    // Extract URL parameter
    	    function getParameterByName(name, url) {
    	        if (!url) url = window.location.href;
    	        name = name.replace(/[\[\]]/g, "\\$&");
    	        var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"),
    	            results = regex.exec(url);
    	        if (!results) return null;
    	        if (!results[2]) return '';
    	        return decodeURIComponent(results[2].replace(/\+/g, " "));
    	    }

			function sendAdInfo(hit_class, event_name, hit_params) {
    		    if(hits_debug) {
    		        console.log('Sending hit ' + hit_class + ', event ' + event_name);
    		    }

				var adData = {
					"hit_class": hit_class,
					"event_name": event_name,
					"hit_params": hit_params
				};

				var ajax = new AJAX();

				ajax.request({
							type: "POST",
							contentType: "application/json;utf-8",
							url: "//" + ymk_domain + "/reportad",
							data: JSON.stringify(adData),
							dataType: 'json',
							beforeSend: function(x) { x.setRequestHeader("Content-Type", "application/json; charset=utf-8"); },
							success: function(data) {
								//alert('status: ' + data.status);
							}
				});
			}


			function trackPlayerLoaded() {
    		    sendAdInfo('ymhit', 'Player Loaded', hit_params);
    		}

    		// Video engagement tracking
    		function trackVideoPlay() {
    		    sendAdInfo('ymhit', 'Video Play', hit_params);
    		}

    		function trackVideoComplete() {
    		    sendAdInfo('ymhit', 'Video Complete', hit_params);
    		}

    		function trackVideoWatchedCompletedRate(percentage) {
    		    sendAdInfo('ymhit', 'Video completion rate ' + percentage + '%', hit_params);
    		}
    		function trackVideoWatchedCompletedTime(seconds) {
    		    sendAdInfo('ymhit', 'Video View '  + seconds + ' seconds', hit_params);
    		}

    		// available actions: 'Ad Impression', 'Ad Click', 'Ad Complete', 'Ad Error', 'Ad Skip'
    		function trackVideoAd(action) {
    		    sendAdInfo('ymhit', action, hit_params);
    		}
    		function trackAdRequest() {
    		    sendAdInfo('ymhit', 'Ad Request', hit_params);
    		}

			function callParentAfterVideoEnds() {
				document.domain = root_domain;
 				if (typeof parent.youmaker_videoEndsCallback === "function") {
  					parent.youmaker_videoEndsCallback();
 				}
			}

		if (ymk_show_img_only == false) {

    	    // GA tracking
    	    /*(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
    	    (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
    	    m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
    	    })(window,document,'script','https://www.google-analytics.com/analytics.js','ga');*/

    	    // Create Epoch User
    	    var epoch = {};
    	    var user = new epochuser();
    	    epoch.uuid = user.getUUID();
    	    console.log('User ID:' + epoch.uuid);

			var dur_25 = ymk_duration * 0.25;
			var dur_50 = ymk_duration * 0.5;
			var dur_75 = ymk_duration * 0.75;

			var b_dur_25 = false;
			var b_dur_50 = false;
			var b_dur_75 = false;
			var b_dur_10s = false;
			var b_dur_30s = false;
			var b_dur_60s = false;
            var b_dur_90s = false;
			var b_dur_180s = false;
			var b_dur_300s = false;
			var b_dur_3000s = false;

    	    // Send data to GA server
    	    /*ga('create', 'UA-106404874-3', {
    	        userId: epoch.uuid
    	    });*/

			// standardize url
			if (root_domain == 'ntd.tv') {
				if (embed_url.indexOf('inspiring.ntd.tv/', 0) >= 0) {
					embed_url = embed_url.replace("mb-inspiring.ntd.tv/", "www.ntd.tv/inspiring/").replace("inspiring.ntd.tv/", "www.ntd.tv/inspiring/");
				} else if (embed_url.indexOf('inspired.ntd.tv/', 0) >= 0) {
					embed_url = embed_url.replace("inspired.ntd.tv/", "www.ntd.tv/inspiring/");
				}  else if (embed_url.indexOf('mb.ntd.tv/', 0) >= 0) {
					embed_url = embed_url.replace("mb.ntd.tv/", "www.ntd.tv/");
				}
			} else if (root_domain == 'ntd.com') {
				if (embed_url.indexOf('inspiring.ntd.com/', 0) >= 0) {
					embed_url = embed_url.replace("mb-inspiring.ntd.com/", "www.ntd.com/inspiring/").replace("inspiring.ntd.com/", "www.ntd.com/inspiring/");
				} else if (embed_url.indexOf('inspired.ntd.com/', 0) >= 0) {
					embed_url = embed_url.replace("inspired.ntd.com/", "www.ntd.com/inspiring/");
				}  else if (embed_url.indexOf('mb.ntd.com/', 0) >= 0) {
					embed_url = embed_url.replace("mb.ntd.com/", "www.ntd.com/");
				}
			} else if (root_domain == 'ntdnews.com') {
				if (embed_url.indexOf('inspiring.ntdnews.com/', 0) >= 0) {
					embed_url = embed_url.replace("mb-inspiring.ntdnews.com/", "www.ntdnews.com/inspiring/").replace("inspiring.ntdnews.com/", "www.ntdnews.com/inspiring/");
				} else if (embed_url.indexOf('inspired.ntdnews.com/', 0) >= 0) {
					embed_url = embed_url.replace("inspired.ntdnews.com/", "www.ntdnews.com/inspiring/");
				}  else if (embed_url.indexOf('mb.ntdnews.com/', 0) >= 0) {
					embed_url = embed_url.replace("mb.ntdnews.com/", "www.ntdnews.com/");
				}
			} else if (root_domain == 'theepochtimes.com') {
				if (embed_url.indexOf('uplift.theepochtimes.com/', 0) >= 0) {
					embed_url = embed_url.replace("uplift.theepochtimes.com/", "www.theepochtimes.com/uplift/");
				} else if (embed_url.indexOf('up-lift.theepochtimes.com/', 0) >= 0) {
					embed_url = embed_url.replace("up-lift.theepochtimes.com/", "www.theepochtimes.com/uplift/");
				} else if (embed_url.indexOf('m.theepochtimes.com/', 0) >= 0) {
					embed_url = embed_url.replace("m.theepochtimes.com/", "www.theepochtimes.com/");
				} else if (embed_url.indexOf('news.theepochtimes.com/', 0) >= 0) {
					embed_url = embed_url.replace("news.theepochtimes.com/", "www.theepochtimes.com/");
				}
			} else if (root_domain == 'ntdtv.kr') {
				if (embed_url.indexOf('mb.ntdtv.kr/', 0) >= 0) {
					embed_url = embed_url.replace("mb.ntdtv.kr/", "www.ntdtv.kr/");
				}
			} else if (root_domain == 'epochtimes.fr') {
				if (embed_url.indexOf('m.epochtimes.fr/', 0) >= 0) {
					embed_url = embed_url.replace("m.epochtimes.fr/", "www.epochtimes.fr/");
				} else if (embed_url.indexOf('inspired.epochtimes.fr/', 0) >= 0) {
					embed_url = embed_url.replace("m-inspired.epochtimes.fr/", "www.epochtimes.fr/").replace("inspired.epochtimes.fr/", "www.epochtimes.fr/");
				}
			}

			embed_location = getLocation(embed_url);
			embed_domain = embed_location.hostname;
			embed_pathname = embed_location.pathname;
			embed_protocol = embed_location.protocol;

    		var hits_debug = true;
    		var hit_params = {
    		    uuid: epoch.uuid,
    		    video_id: ymk_video_id,
    		    embed_url: embed_url,
    		    embed_domain: embed_domain,
    		    provider_id: ymk_provider_id,
    		    provider_name: ymk_provider_name,
    		    video_title: ymk_video_title,
    		    duration: ymk_duration,
    		    category_id: ymk_category_id,
    		    resolution: ymk_resolution,
    		    instantArticle: ymk_b_instantArticle.toString(),
    		    ymk_user: ymk_user,
    		    noads: ymk_noads,
    		    mute: ymk_mute,
    		    autoplay: ymk_autoplay,
    		    embed_protocol: embed_protocol,
    		    embed_pathname: embed_pathname,
    		    placement: ymk_placement,
    		    root_domain: root_domain,
				afid: ymk_afid
    		}

    	    /*ga('set', 'dimension1', epoch.uuid);
    	    ga('set', 'dimension2', ymk_video_id);
    	    ga('set', 'dimension3', embed_url);
    	    ga('set', 'dimension4', embed_domain);
    	    ga('set', 'dimension5', ymk_provider_id);
    	    ga('set', 'dimension6', ymk_provider_name);
    	    ga('set', 'dimension7', ymk_video_title);
    	    ga('set', 'dimension8', ymk_duration);
    	    ga('set', 'dimension9', ymk_category_id);
    	    ga('set', 'dimension10', resolution);
    	    ga('set', 'dimension11', ymk_ymk_b_instantArticle);
			ga('set', 'dimension12', ymk_user);
			ga('set', 'dimension13', ymk_noads);
			ga('set', 'dimension14', ymk_mute);
			ga('set', 'dimension15', ymk_autoplay);
			ga('set', 'dimension16', embed_protocol);
			ga('set', 'dimension17', embed_pathname);
			ga('set', 'dimension18', ymk_placement);
			ga('set', 'dimension19', root_domain);
			ga('set', 'dimension20', ymk_afid);
    	    ga('send', 'pageview');*/
		}

})();

})();


function ymkSetPlayerList(play_list) {
  ymk_play_list = play_list;
  ymk_loaded = true;
}
