function Adverts(){}Adverts.map=new Map().set("top","Top").set("mpu","Middle1").set("skyscraper","x07").set("video","x69").set("sponsor","Top1").set("topright","TopRight");Adverts.load=function(){var content=Meta.getContent("nonexpandable-advert");if(content.isNotEmpty()){var iframe=Elements.create('<iframe id="advertiframescript" name="advertiframescript" src="/components/adverts/iframescript.html?decorator=none"  allowtransparency="true"></iframe>');Elements.addToHead(iframe);iframe.addEventListener("load",Adverts.scriptLoaded,false);}};Adverts.getUrl=function(){var url=new StringBuilder();url.append("/four-kit/advert/script.c4?decorator=none&path=");url.append(encodeURIComponent(Adverts.getRealMediaPath()));return url.toString();};Adverts.getRealMediaPath=function(){var realmediaPath=new StringBuilder();realmediaPath.append(Adverts.getHostName());realmediaPath.append(Adverts.getPath());realmediaPath.append(Adverts.getRandom());realmediaPath.append("@").append(Adverts.getTypes());var optional=Adverts.getOptionalParameters();if(optional.isNotEmpty()){realmediaPath.append("?").append(optional);}return realmediaPath.toString();};Adverts.scriptLoaded=function(){Adverts.create("top");Adverts.create("mpu");Adverts.create("skyscraper");Adverts.create("video");Adverts.create("sponsor");Adverts.create("topright");};Adverts.create=function(type){var iframe=document.getElementById("advertiframe"+type);if(iframe){iframe.contentWindow.location.reload();}else{document.getElementsBySelector("div.advert-"+type).each(function(element){new Advert(element,type);});}};Adverts.getOptionalParameters=function(){var result=new Parameters();["from-name","challenge-identity"].each(function(name){var content=Meta.getContent(name);if(content.isNotEmpty()){result.add(name,content);}});return result.toString();};Adverts.getHostName=function(){if(location.hostname=="localhost"||location.hostname=="int.4music.com"||location.hostname=="channel4.com"||location.hostname=="uat.channel4.com"){return"test.4music.com";}else{if(location.hostname=="stage.channel4.com"){return"www.4music.com";}}return"www.4music.com";};Adverts.getPath=function(){var pathname=location.pathname;if(pathname.endsWith("/")){pathname+="index.html/";}else{pathname+="/";}return pathname;};Adverts.getRandom=function(){return"1"+Math.random()*100000000000000000;};Adverts.getTypes=function(){var list=new StringBuilder();Adverts.required.each(function(name){list.append(Adverts.convertToRealMediaType(name)).append(",");});return list;};Adverts.required=new Array();Adverts.write=function(type){if(!Adverts.required.contains(type)){Adverts.required.add(type);}};Adverts.isRequiredType=function(type){return Adverts.required.contains(type);};Adverts.convertToRealMediaType=function(type){return Adverts.map.get(type);};Adverts.reload=function(){var iframe=Elements.getElementById("advertiframescript");if(iframe!=null){iframe.contentWindow.location.href=Adverts.getUrl();}};Adverts.listeners=new Map();Adverts.setLoadListener=function(type,handler){Adverts.listeners.set(type,handler);};Adverts.getLoadListener=function(type){if(Adverts.listeners.contains(type)){return Adverts.listeners.get(type);}return function(){};};function Advert(element,type){this.element=element;this.type=type;this.id="advertiframe"+this.type;this.createIframe();}Advert.prototype.createIframe=function(){this.iframe=Elements.create('<iframe id="'+this.id+'" name="'+this.id+'" class="advert" src="/components/adverts/advert.html?decorator=none" scrolling="no" frameborder="0" allowtransparency="true"></iframe>');this.iframe.realMediaType=Adverts.convertToRealMediaType(this.type);var me=this;this.iframe.addEventListener("load",function(){Adverts.getLoadListener(me.type)(me.iframe);},false);this.element.appendChild(this.iframe);};