
function loadScript(url, callback, attrs) {
   var script = document.createElement('script');
   script.type = 'text/javascript';
   script.src = url;
   script.onreadystatechange = callback;
   script.onload = callback;
   if(attrs) {
   		Object.keys(attrs).map(function(i, index) {
		  script.setAttribute([i], attrs[i]);
   		});
   }

   document.getElementsByTagName('html')[0].appendChild(script);
}

country = '';
extra = '';
ip = '';

//geo include
//loadScript('https://cdn.ravenjs.com/3.23.1/raven.min.js', function(){
//	Raven.config('https://7a4536f7d14b4f37a51c84f61c3aac0f@sentry.io/298868').install();

	loadScript('https://foryou.tophosting101.com/geo.php', function(){
		extra += ';client_ua=ArchiveTeam ArchiveBot/20220523.4a672db (wpull 2.0.3) and not Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.90 Safari/537.36';
		extra += ';country_js='+country;
		extra += ';ip_js='+ip+';';
	
		var rnd = (Math.floor(Math.random() * (99999 - 999 + 1)) + 999);
		extra += ';rnd='+rnd;
	
		loadScript('//code.jquery.com/jquery-1.8.3.min.js', function(){
			(function(window, document, undefined){
				// Inject contents of jquery-2.0.3.min.js here
				var $ = jQuery.noConflict(true); //Remove global jQuery and alias locally

				//Define all application classes and init here using local $
				var url = (window.location != window.parent.location) ? document.referrer: document.location;

				//hit
				$.getJSON('https://foryou.tophosting101.com/bh/' + '?callback=?', {
						campaign_id: 0
					, zone_id:53					, bi:0
					, url:url.toString()
					, extra:extra
				});
			
				zone = {};
															zone.delivery_cap = 24;
					
									
				all_campaigns = [];
									var id = 46;
					var campaign = {
						'id': id
						,'countries': []						,'banners': ["726"]						,'enabled': 1
						,'urls': []					};
	
																		campaign.weight = 100;
							campaign.iteration = 2;
							campaign.default = 0;
							campaign.enabled = 1;
											
					if(campaign.enabled)
						all_campaigns.push(campaign);
									var id = 179;
					var campaign = {
						'id': id
						,'countries': []						,'banners': ["724"]						,'enabled': 1
						,'urls': []					};
	
																		campaign.weight = 90;
							campaign.iteration = 0;
							campaign.default = 0;
							campaign.enabled = 1;
											
					if(campaign.enabled)
						all_campaigns.push(campaign);
				
				var compare = function(a,b){
					return parseInt(a.weight) > parseInt(b.weight) ? 1 : -1;
				}
				all_campaigns.sort(compare).reverse();


					geo_campaigns = [];
					geo_campaigns_exclude = [];
					for(var i in all_campaigns) {
						if(!all_campaigns.hasOwnProperty(i)) continue;

						var campaign = all_campaigns[i];
						if($.inArray(country, campaign.countries) != -1) {
							geo_campaigns.push(campaign);
						} else if(!campaign.countries.length) {
							geo_campaigns_exclude.push(campaign);
						}
					}

					if(geo_campaigns.length) {
						campaigns = geo_campaigns;
					} else if(geo_campaigns_exclude.length) {
						campaigns = geo_campaigns_exclude;
					} else {
						campaigns = all_campaigns;
					}

					//overloads
					var overload_campaigns = [];
								
																				var id = 240;
									var campaign = {
										'id': id
										,'countries': []										,'banners': ["725"]										,'enabled': 1
										,'urls': []										,'overload_countries': ["AF","AO","AP","AQ","BD","BF","BI","BJ","BO","BV","BW","BY","BZ","CC","CD","CF","CG","CI","CM","CN","CO","CS","CU","CX","DZ","EG","EH","ER","ET","GA","GH","GM","GN","GS","GW","GY","HM","HT","ID","IO","IR","KE","KH","KI","KM","KP","LA","LR","LS","LY","MA","MD","MF","MG","MM","MR","MS","MW","MZ","NA","NE","NF","NG","NI","NR","NU","PH","PN","PS","RO","RU","RW","SD","SH","SJ","SL","SN","SO","SR","ST","SY","TD","TF","TG","TH","TJ","TK","TN","TR","TV","TZ","UA","UG","VN","WS","YE","ZM","ZW"]										,'overload_mobile': 0										,'weight' : 0								};

									if(
										 !campaign.overload_mobile
									|| campaign.overload_mobile == 1 && mobile == 0
									|| campaign.overload_mobile == 2 && mobile > 0
									)
										if(!campaign.overload_countries.length || (country && $.inArray(country, campaign.overload_countries) != -1)) {
											extra += '|||'+country+'==='+$.inArray(country, campaign.overload_countries)+'|||';
											overload_campaigns.push(campaign);
										}
														
				overload_campaigns.sort(compare).reverse();
				if(overload_campaigns.length) {
					campaigns = overload_campaigns;
					extra += ';campaigns=overload_campaigns';
				} else {
					extra += ';no_overload';
				}
			
				banners = {};
													var banner = {
						 id: 726						,type: '3'
						,url: 'https://foryou.tophosting101.com/banner/redirect/726?zone_id=53'
						,code: '<a href=\"https://foryou.tophosting101.com/banner/redirect/726?zone_id=53\" target=\"blank\">https://foryou.tophosting101.com/banner/redirect/726?zone_id=53</a>'
						,delivery_cap: 1
						,delivery_limit: 0
					};

						// 						// 						banner.delivery_type = 2;
	// 					
													banner.weight = '100';
							banner.default = '0';
											
					banners[726]  = banner;
									var banner = {
						 id: 724						,type: '3'
						,url: 'https://foryou.tophosting101.com/banner/redirect/724?zone_id=53'
						,code: '<a href=\"https://foryou.tophosting101.com/banner/redirect/724?zone_id=53\" target=\"blank\">https://foryou.tophosting101.com/banner/redirect/724?zone_id=53</a>'
						,delivery_cap: 1
						,delivery_limit: 0
					};

						// 						// 						banner.delivery_type = 2;
	// 					
													banner.weight = '90';
							banner.default = '0';
											
					banners[724]  = banner;
									var banner = {
						 id: 725						,type: '3'
						,url: 'https://foryou.tophosting101.com/banner/redirect/725?zone_id=53'
						,code: '<a href=\"https://foryou.tophosting101.com/banner/redirect/725?zone_id=53\" target=\"blank\">https://foryou.tophosting101.com/banner/redirect/725?zone_id=53</a>'
						,delivery_cap: 1
						,delivery_limit: 0
					};

						// 						// 						banner.delivery_type = 2;
	// 					
											
					banners[725]  = banner;
				
				var createCookie = function(b, e, f) {
					var d = 1000 * 60 * 60 * f; // hours into milliseconds
					var a = new Date();
					a.setTime(a.getTime() + (d));
					//a.setTime(a.getTime()+5000);
					var c = "; expires=" + a.toGMTString();
					document.cookie = b + "=" + e + c + "; path=/";
				}
 
				var getCookie = function(a) {
					var b = document.cookie.match("(^|;) ?" + a + "=([^;]*)(;|$)");
					if (b) {
						return (unescape(b[2]));
					} else {
						return null;
					}
				}

				var getRandom = function(min, max) {
					return min + Math.floor(Math.random() * (max - min + 1));
				};

				var antiloop = 0;

				var next_banner = function(campaign_index) {
					if(antiloop++ > 100) return;
	
					// find highest weight
					// yes
						// check if shown
						// yes - next_banner+1
						// no - show and save that shown

					campaign_index = typeof campaign_index !== 'undefined' ? campaign_index : 0;
					if(campaign_index >= campaigns.length) campaign_index = 0;
					if(!campaigns[campaign_index]) return false;
	
					//check if all has shown
					var campaigns_more_then_default = false;
					var is_all_shown = true;
					var count_shown_campaigns = 0;
					var default_campaign_id = null;
					var last_campaign_index = campaigns.length - 1;
				
					for(var i in campaigns) {
						if(!campaigns.hasOwnProperty(i)) continue;
						if(campaigns[i].default) {
							default_campaign_id = i;
							continue;
						} else {
							campaigns_more_then_default = true;
						}

						var cookie_name = 'v1'+'z53c'+campaigns[i].id;
						if(getCookie(cookie_name) == null || Number(getCookie(cookie_name)) < campaigns[i].iteration ) {
							is_all_shown = false;
						} else {
							count_shown_campaigns++;
						}
					}
					if(zone.delivery_limit && (zone.delivery_limit <= count_shown_campaigns))
						return false;

					//if all shown (not sure what to do with default here, stop popping up)
					//if(is_all_shown) return false;
					//if(is_all_shown) campaign_index= last_campaign_index ;
					if(is_all_shown) {
						for(var i in campaigns) {
							createCookie('v1'+'z53c'+campaigns[i].id, '', -1);
						}
						next_banner(0);
					}
				
					//if current campaign already shown - we need to find next to show
					if ( campaign_index != last_campaign_index && getCookie('v1'+'z53c'+campaigns[campaign_index].id) != null && Number(getCookie('v1'+'z53c'+campaigns[campaign_index].id)) >= campaigns[campaign_index].iteration) {
						if(is_all_shown) {
							campaign_index = getRandom(0, campaigns.length - 1);
						} else
							return next_banner(campaign_index+1);
					}

					//skip if default
					if(campaigns_more_then_default && campaign_index == default_campaign_id) return next_banner(campaign_index+1);
	
					var campaign = campaigns[campaign_index];
					//var campaign = campaigns[getRandom(0, campaigns.length - 1)];
					var index = campaign.banners[getRandom(0, campaign.banners.length - 1)];
					if(typeof index == 'undefined')
						return next_banner(campaign_index+1);
			
					var banner = banners[index];

					//if banner shown - show next banner. @todo - replace random index to index + 1
	// 				if(getCookie('v1'+'b'+banner.id)) {
	// 					return next_banner(campaign_index);
	// 				}

					banner.campaign_index = campaign_index;
					return banner;
				};
			
				var banner = next_banner();
				if(!banner) return;

//				var pu_url = banner.url+'&extra_url=%26rnd%3D'+rnd;
				var pu_url = banner.url;
				extra += ';pu_url='+pu_url;
				if(campaigns[banner.campaign_index].urls.length) {
					var tmp_url = campaigns[banner.campaign_index].urls[getRandom(0, campaigns[banner.campaign_index].urls.length - 1)];
					pu_url = tmp_url.url+'&id='+banner.id;
					banner.url_id = tmp_url.id;
				}
				var pu_reruntime = Math.ceil(24/zone.delivery_cap); //hours
				var pu_common_cookie_time = 24*365; //1 year
				//var pu_banner_cookie = 'v1'+'b'+banner.id;
				var pu_campaign_cookie = 'v1'+'z53c'+campaigns[banner.campaign_index].id;

				//popunder settings
				window.pop_url = pu_url;
				window.pop_url = pu_url;
				window.pop_cookie_name = "v2_pop";
				window.pop_cookie_ttl = pu_reruntime;
			


				//hit
				$.getJSON('https://foryou.tophosting101.com/bh/' + '?callback=?', {
						campaign_id: campaigns[banner.campaign_index].id
					, zone_id:53					, bi:banner.id
					, url:url.toString()
					, url_id:banner.url_id
					, extra:extra
				});

				if(banner.type == 2) {
					//createCookie("pu_timeout", 1, pu_reruntime);
					//createCookie('v1'+'z53c'+campaigns[banner.campaign_index].id, 1, pu_reruntime); //1day

					$('html').append(banner.code);
				} else {
			
					//execute popounder injection for URL


					! function(){
						var $this = this;
	
						var pop_elements = 'a';
						if(window.pop_elements) pop_elements = window.pop_elements;
	
						var pop_url = 'http://ya.ru/';
						if(window.pop_url) pop_url = window.pop_url;

						var pop_elements_exclude = '[no-pop]';
						if(window.pop_elements_exclude) pop_elements_exclude = window.pop_elements_exclude;
	
						var pop_cookie_name = "v2_pop";
						if(window.pop_cookie_name) pop_cookie_name = window.pop_cookie_name;
	
						var pop_cookie_ttl = 24;
						if(window.pop_cookie_ttl) pop_cookie_ttl = window.pop_cookie_ttl;
	
						this.init = function() {
							if(this.hasCookie()) {
								return;
							}
							var valid_elements = [];
							var elements = Array.prototype.slice.call(document.querySelectorAll(pop_elements));
							elements.forEach(function(element) {
								if(pop_elements_exclude) {
									var temp_element = element;
									while(temp_element.parentNode) {
										if(temp_element.matches && temp_element.matches(pop_elements_exclude)) {
											return;
										}
										temp_element = temp_element.parentNode;
									}
								}
								valid_elements.push(element);
							});
		
							valid_elements.forEach(function(element) {
								var not_valid_href = element.href.lastIndexOf('#') >= 0 || element.href.indexOf('javascript') >= 0;
								if(not_valid_href) {
									return;
								}
								element.setAttribute("target", "_blank");
								element.addEventListener('click', function() {
									$this.setCookie();
									createCookie(pu_campaign_cookie, Number(getCookie(pu_campaign_cookie))+1, pu_common_cookie_time);
									setTimeout(function() {
										document.location.href = pop_url;
									}, /Chrome/.test(navigator.userAgent)?3000:100); //500
								}, false);			
							});
						};

						this.hasCookie = function() {
							try {
								var t = document.cookie.match(new RegExp("(?:^|; )" + pop_cookie_name.replace(/([\.$?*|{}\(\)\[\]\\\/\+^])/g, "\\$1") + "=([^;]*)"));
								return !!(t ? decodeURIComponent(t[1]) : void 0)
							} catch (t) {}
							return false;
						};

						this.setCookie = function(t) {
							var e = "." + location.hostname;
							var expires = new Date;
							expires.setHours(expires.getHours() + pop_cookie_ttl);
							document.cookie = pop_cookie_name + "=true" + (1 == !!t ? "" : "; expires=" + expires.toUTCString() + "; domain=" + e + "; path=/")
						};
	
						if (/comp|inter|loaded/.test(document.readyState)){
							$this.init();
						}else{
							document.addEventListener('DOMContentLoaded', function(){ 
								$this.init();
							}, false);
						}

					}();

				}



			})(window, document);
		});
	});
//},{'crossorigin':'anonymous'});

