function SC_InPage(){if(SC_InPage.singleton==null){SC_InPage.singleton=new SC_InPageClass;}return SC_InPage.singleton;}function SC_InPageClass(){this.debugLayer=document.getElementById("SC_DEBUGLAYER");this.browser="UNKNOWN";this.version=0;this.mediaPlayerClassId="6BF52A52-394A-11D3-B153-00C04F79FAA6";this.flashClassId="D27CDB6E-AE6D-11CF-96B8-444553540000";this.cdnBase="http://cdn.smartclip.net";this.miniPlayerUrl=this.cdnBase+"/inpage/player.swf";this.backgroundColor="000000";this.audioVolume=100;this.videoAdUrl=null;this.videoAdXML=null;this.player=null;this.layer=null;this.adWidth=0;this.adHeight=0;this.autoStart=true;this.onEndCallback=null;this.controlHeight=50;this.setAutoStart=function(_autoStart){this.debug(2,"setAutoStart("+_autoStart+")");this.autoStart=_autoStart;return this;};this.setDimension=function(_width,_height){this.debug(2,"setDimension("+_width+", "+_height+")");this.adWidth=_width;this.adHeight=_height;return this;};this.isAutoStart=function(){return this.autoStart;};this.setOnEndCallback=function(_onEndCallback){this.debug(2,"setOnEndCallback("+_onEndCallback+")");this.onEndCallback=_onEndCallback;return this;};this.setBackgroundColor=function(_color){this.debug(2,"setBackgroundColor("+_color+")");this.backgroundColor=_color;if(this.backgroundColor==null||typeof this.backgroundColor.match=="undefined"||!this.backgroundColor.match(/^[A-Fa-f0-9]{6}$/)){this.backgroundColor="000000";this.debug(1,"Redefining invalid color "+_color+" with "+this.backgroundColor+".");}return this;};this.setAudioVolume=function(_volume){this.debug(2,"setAudioVolume("+_volume+")");this.audioVolume=_volume;if(isNaN(this.audioVolume)){this.audioVolume=100;this.debug(1,"Redefining invalid volume "+_volume+" with "+this.audioVolume);}return this;};this.setVideoAdUrl=function(_url){this.debug(2,"setVideoAdUrl("+_url+")");this.videoAdUrl=_url;return this;};this.setVideoAdXML=function(_xml){if(this.debug>1){alert("setVideoAdXML("+_xml+")");}this.videoAdXML=_xml;return this;};this.init=function(){this.debug(2,"init("+this.autoStart+")");var flashVer=this.getFlashVersion();if(flashVer>=9&&this.detectBrowser()){this.write();}else{this.endAd();}};this.run=function(){this.debug(2,"run("+this.videoAdUrl+")");this.player=document.getElementById("SC_InPagePlayer");this.layer=document.getElementById("SC_InPageLayer");if(this.player!=null&&this.layer!=null){if(this.videoAdUrl!=null){this.player.loadVideoAdFromUrl(this.videoAdUrl,this.audioVolume,this.adWidth,this.adHeight);}else{this.player.loadVideoAdFromXML(this.videoAdXML,this.audioVolume,this.adWidth,this.adHeight);}}};this.startingAd=function(_width,_height){this.adWidth=_width;this.adHeight=_height;this.debug(2,"startingAd("+_width+","+_height+")");this.layer.style.width=this.adWidth+"px";this.layer.style.height=this.adHeight+this.controlHeight+"px";this.player.style.width=this.adWidth+"px";this.player.style.height=this.adHeight+this.controlHeight+"px";if(this.browser=="IE"){this.layer.style.filter="alpha(opacity=100)";}else{this.layer.style.opacity=1;}};this.endAd=function(){this.debug(2,"endAd()");this.layer.style.display="none";if(this.onEndCallback!=null){try{this.onEndCallback();}catch(e){this.debug(2,"Couldn't call on end callback function");}}};this.stopAd=function(){this.debug(2,"stopAd()");this.player.stopVideoAd();};this.write=function(){document.write("<div id=\"SC_InPageLayer\" style=\""+this.getOpacityCSS(0.01)+"; background-color:#"+this.backgroundColor+"; width:1px; height:1px; padding:0px;\">"+this.getPlayer()+"</div>");};this.getOpacityCSS=function(_value){if(this.browser=="IE"){return"filter: alpha(opacity="+_value*100+")";}return"opacity:"+_value;};this.getPlayer=function(){var player="";if(this.browser=="IE"){player="<object id=\"SC_InPagePlayer\" classid=\"clsid:"+this.flashClassId+"\" codebase=\"http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,115,0\" width=\"1\" height=\"1\" type=\"application/x-shockwave-flash\">";}else{player="<object id=\"SC_InPagePlayer\" width=\"1\" height=\"1\" type=\"application/x-shockwave-flash\" data=\""+this.miniPlayerUrl+"\">";}player+=this.getParam("movie",this.miniPlayerUrl);player+=this.getParam("menu","false");player+=this.getParam("scale","noscale");player+=this.getParam("wmode","transparent");player+=this.getParam("bgcolor","#"+this.backgroundColor);player+=this.getParam("allowScriptAccess","always");player+="</object>";return player;};this.detectBrowser=function(){var agent=navigator.userAgent;if(agent.match(/Firefox.(\d.\d)/i)!=null){this.browser="FIREFOX";return true;}else if(agent.match(/MSIE.(\d.\d)/i)!=null){this.browser="IE";return true;}else if(agent.match(/Opera.(\d.\d)/i)!=null){this.browser="OPERA";return true;}else if(agent.match(/Safari.(\d)/i)!=null){this.browser="SAFARI";return true;}return false;};this.getParam=function(_name,_value){return"<param name=\""+_name+"\" value=\""+_value+"\"></param>";};this.getFlashVersion=function(){var isIE=navigator.appVersion.indexOf("MSIE")!=-1?true:false;var isWin=navigator.appVersion.toLowerCase().indexOf("win")!=-1?true:false;var isOpera=navigator.userAgent.indexOf("Opera")!=-1?true:false;var descr=null;var versions=null;if(navigator.plugins!=null&&navigator.plugins.length>0){if(navigator.plugins['Shockwave Flash 2.0']||navigator.plugins['Shockwave Flash']){descr=navigator.plugins["Shockwave Flash"+(navigator.plugins['Shockwave Flash 2.0']?" 2.0":"")].description.split(" ");versions=descr[2].split(".");return versions[0];}}else if(isIE&&isWin&&!isOpera){try{versions=(new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7")).GetVariable("$version").split(",");return versions[0].substr(4);}catch(exception){}}return 7;};this.debug=function(_level,_message){if(this.debugLayer!=null){if(this.debugLayer.innerHTML==""){this.debugLayer.innerHTML=_message;}else{this.debugLayer.innerHTML=this.debugLayer.innerHTML+"<br>"+_message;}}};}function SC_initDone(){if(SC_InPage().isAutoStart()){SC_InPage().run();}}function SC_startingVideoAd(_width,_height){SC_InPage().startingAd(_width,_height);}function SC_endVideoAd(){SC_InPage().endAd();}function SC_stopVideoAd(){SC_InPage().stopAd();}