function adriver(ph, prm, defer){ if(this instanceof adriver){ var p = null; if (typeof(ph) == "string"){ p = document.getElementById(ph); }else{ p = ph; ph = p.id; } if (!p) { if (!adriver.isDomReady) adriver.onDomReady(function(){new adriver(ph, prm, defer)}); return null } if (adriver.items[ph]){return adriver.items[ph]} adriver.items[ph] = this; this.p = p; this.defer = defer; this.prm = adriver.extend(prm, {ph: ph}); this.loadCompleteQueue = new adriver.queue(); this.domReadyQueue = new adriver.queue(adriver.isDomReady); var my = this; adriver.initQueue.push(function(){my.init()}); return this; }else{ return arguments.length ? adriver.items[ph] : adriver.items; } } adriver.prototype = { isLoading: 0, init: function(){}, loadComplete: function(){}, domReady: function(){}, onLoadComplete: function(f){ var my = this; this.loadCompleteQueue.push(function(){f.call(my)}); return this; }, onDomReady: function(f){ this.domReadyQueue.push(f); return this; }, reset: function(){ this.loadCompleteQueue.flush(); this.domReadyQueue.flush(adriver.isDomReady); return this; } } adriver.loadScript = function(req){ try { req = req.replace(/!\[rnd\]/,Math.round(Math.random()*9999999)); var head = document.getElementsByTagName("head")[0]; var s = document.createElement("script"); s.setAttribute("type", "text/javascript"); s.setAttribute("charset", "windows-1251"); s.setAttribute("src", req); s.onreadystatechange = function(){if(/loaded|complete/.test(this.readyState))head.removeChild(s)}; s.onload = function(e){head.removeChild(s)}; head.insertBefore(s, head.firstChild); }catch(e){} } adriver.extend = function(){ var l = arguments[0]; for (var i = 1, len = arguments.length; i<\/script>"); document.getElementById("__onDOMContentLoaded").onreadystatechange = function(){if(this.readyState == "complete" ){f()}} } window.onload = function(){if(oldOnload) oldOnload(); f()} } catch (e){} } adriver.onLoadComplete = function(f){ adriver.loadCompleteQueue.push(f); return adriver; } adriver.loadComplete = function(){ adriver.loadCompleteQueue.execute(); return adriver; } adriver.setDefaults = function(defaults){adriver.extend(adriver.defaults, defaults)} adriver.setOptions = function(options){adriver.extend(adriver.options, options)} adriver.setPluginPath = function(path){adriver.extend(adriver.pluginPath, path)} adriver.start = function(){ adriver.version = "2.3.1"; adriver.items = {}; adriver.defaults = {tail256: escape(document.referrer || 'unknown')}; adriver.options = {}; adriver.plugins = {}; adriver.pluginPath = {}; adriver.redirectHost = "http://ad.adriver.ru"; adriver.defaultMirror = "http://content.adriver.ru"; adriver.isDomReady = false; adriver.domReadyQueue = new adriver.queue(); adriver.loadCompleteQueue = new adriver.queue(); adriver.initQueue = new adriver.queue(); adriver.checkDomReady(adriver.domReady); new adriver.Plugin.require("autoUpdate.adriver").onLoadComplete(function(){ adriver.initQueue.execute(); }); } adriver.start();