﻿if (!window.Ladtech) window.Ladtech = {};
if (!Ladtech.Site) Ladtech.Site = {};

// NFO: Les tags iframe ne devraient jamais être defered à cause du risque
// de rechargement du contenu iframe par le navigateur puis erreur de contenu

Ladtech.Site.Ad = {
	_deferedData: [],
	_forceNotDefered: false,

	_hosts: [".in.ladtech.fr", "www.boursier.com", "localhost"],

	geHost: function () {
		var host = window.location.host,
			l = this._hosts;
		for (var i = 0; i < l.length; i++) {
			if (host.indexOf(l[i]) != -1)
				return "//" + host;
		}
		return "//www.boursier.com";
	},

	addTag: function (code, isDefered) {
		if (!isDefered || this._forceNotDefered === true) {
			document.write(code);
		} else {
			this._deferedData.push(code);
		}
	},

	dumpSingle: function (zone) {
		document.write(this._deferedData[zone - 1]);
	},

	apply: function () {
		if (!this._deferedData.length)
			return;

		var i, n, c, o;
		o = document.getElementById("ads-loader");
		while (o.hasChildNodes()) {
			c = o.firstChild;
			c.parentNode.removeChild(c);
			if ((i = c.id)) {
				if ((n = document.getElementById(i.replace("src", "dst")))) {
					c.removeAttribute("id");
					n.parentNode.insertBefore(c, n);
					n.parentNode.removeChild(n);
				}
			}
		}
		o.parentNode.removeChild(o);
	},

	/* Ad Decisive Builder */
	"a2d": {
		_a2dRandom: Math.random(),
		_a2dDisabler: false,
		_a2dForceID: 0,

		appendJS: function (tagID, isDefered, keywords) {
			this.createTag(true, tagID, 0, 0, isDefered, keywords);
		},

		appendIFrame: function (tagID, width, height, isDefered, keywords) {
			this.createTag(false, tagID, width, height, isDefered, keywords);
		},

		createTag: function (isJS, tagID, width, height, isDefered, keywords) {
			if (this._a2dDisabler === true)
				return;

			keywords = keywords || "";

			var s = ((self.location.search || "").match(/\?(.+&)?s=(\d+)/) || [])[2];
			if (s) { keywords += (keywords ? "," : "") + "SQ" + s; }

			if (keywords && keywords.length)
				keywords = "&kw=" + encodeURIComponent(keywords).replace("%2C", ",").replace(',', ':');

			tagID = this._a2dForceID || tagID;
			var code = (isJS) ?
				'<script type="text/javascript" src="http://fr.a2dfp.net/ad?s=' + tagID + '&m=js&ncb=' + this._a2dRandom + keywords + '"></script>' :
				'<iframe src="http://fr.a2dfp.net/ad?s=' + tagID + '&ncb=' + this._a2dRandom + keywords + '" scrolling="no" frameborder="0" marginheight="0" marginwidth="0" style="width:' + width + 'px; height:' + height + 'px;"></iframe>';
			Ladtech.Site.Ad.addTag(code, isDefered);
		}
	},

	/* BeWeb Builder */
	"beweb": {
		_bewRandom: Math.random() * 10000000000000000,
		_bewDisabler: false,
		_bewForceID: 0,

		appendJS: function (tagID, isDefered, keywords) {
			if (this._bewDisabler === true)
				return;

			if (keywords && keywords.length)
				keywords = ";kw=" + encodeURIComponent(keywords).replace("%2C", ",");
			keywords = keywords || "";

			tagID = this._bewForceID || tagID;
			var code = '<script type="text/javascript" src="http://ad.doubleclick.net/adj/' + tagID + ';lang=fr' + keywords + ';ord=' + this._bewRandom + '?" type="text/javascript"></script>';
			Ladtech.Site.Ad.addTag(code, isDefered);
		}
	},

	/* Net World Media Builder */
	"networld": {
		_nwmRandom: Math.round((Math.random() + "") * 10000000000000000) + 1,
		_nwmDisabler: false,
		_nwmForceID: 0,

		appendJS: function (tagID, isDefered) {
			if (this._nwmDisabler === true)
				return;

			tagID = (this._nwmForceID || tagID).split(",");
			var code = '<script type="text/javascript" src=http://ads.networldmedia.net/servlet/ajrotator/' + tagID[0] + '/0/vj?z=networld&dim=' + tagID[1] + '&pos=' + tagID[2] + '&pv=' + this._nwmRandom + '></script>';
			Ladtech.Site.Ad.addTag(code, isDefered);
		}
	},

	/* Google AdSense */
	"adsense": {
		_adsDisabler: false,

		appendJS: function (tagID, isDefered) {
			if (this._adsDisabler === true)
				return;

			var code = ''
				+ '<script src="' + Ladtech.Site.Ad.geHost() + '/ui/js/adsense.js" type="text/javascript"></script>'
				+ '<script type="text/javascript">'
				+ '    google_num_ads_custom = ' + tagID + ';'
				+ '    google_max_num_ads = ' + tagID + ';'
				+ '    document.write("<s" + \'cript src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"></s\' + "cript>");'
				+ '</script>';
			Ladtech.Site.Ad.addTag(code, isDefered);
		}
	},

	/* Ligatus */
	"ligatus": {
		_ligDisabler: false,

		appendJS: function (tagID, isDefered) {
			if (this._ligDisabler === true)
				return;

			var code = '<script type="text/javascript" src="http://a.ligatus.com/?ids=' + tagID + '&t=js"></script>';
			Ladtech.Site.Ad.addTag(code, isDefered);
		}
	}
}

var $LSA = Ladtech.Site.Ad;
//$LSA._forceNotDefered = true;
