var AColdState = 0; var ACtimer; var ACspeed = 5; var ACdz=document; var ACadW = 0; var ACadH = 0; var ACoLeft = -730; var ACoTop = -400; var ACframesToHide = []; /*TARGETSPOT VARS*/ var tsIsReady = false; var tsBreak = false; var tsUserMute = false; var ACsyncExists = false; var ACspotID = 0; var ACtargetDiv = "pa"; var TSbannerInit = false; var TStimer; var TScurrentTarget = 0; var TScurrentDir = true; var TSisHidden = true; var TSpos = (ACmoveHorizontal) ? ACoLeft : ACoTop; var TargetSpotID = '1CLUB050'; ////////////////// /*public*/ var ACadLeft = '50%'; var ACadTop = '50%'; var ACmoveHorizontal = true; var ACmessageDiv = null; /*//////*/ var ACcurrentTarget = 0; var ACcurrentDir = true; var ACisHidden = true; var ACpos = (ACmoveHorizontal) ? ACoLeft : ACoTop; var ACplayer = null; var AConDemand = false; var AC_BaseURL = "http://www.cuedelivery.com/audio/TrackClick.aspx"; ACdz.write('
Audio Advertisement
<' + 'scr' + 'ipt type="text/javascript">ts_embed("av", 300, 250, "' + TargetSpotID + '", 0, 0, 0, 0, "ignore");<' + '/scr' + 'ipt>
'); // ts_embed('av', 300, 250, 'STREFM', 0, 0, 0, 0, 'ignore'); // ts_embed("banner",300,250,"#003399","#993333", "#990033","#ff0000"); function testAdcorAd() { //ACchangeAd('http://psa.americanheart.org/web/Ad%20Council_ASA%20SWF%20banner%20ads/Golf/adc_stroke_golf_300x250.swf', 300, 250, 'http://www.streamable.com', 0); //ACchangeAd('http://www.streamable.com/uploads/Esurance_300x250_FreshLook.gif', 300, 250, 'http://www.streamable.com', 0); ACchangeAd('http://www.streamable.com/uploads/replaceads_webex_300x250_gotradio.gif', 300, 250, 'http://www.streamable.com', 0); showAdcorAd(); ACBroadcastMessage('testing adcor banner'); } function testTargetSpot() { ACBroadcastMessage('testing targetspot 60 second break'); ACcallTargetspot(60); } var messageCount = 0; function ACBroadcastMessage(msg) { messageCount++; msg = '[' + messageCount + '-' + new Date().getHours() + ':' + new Date().getMinutes() + '] ' + msg + '
'; if(ACmessageDiv) { if (document.layers) { document.layers[ACmessageDiv].innerHTML = msg + document.layers[ACmessageDiv].innerHTML; } else if (document.all) { document.all[ACmessageDiv].innerHTML = msg + document.all[ACmessageDiv].innerHTML; } else if (document.getElementById) { document.getElementById(ACmessageDiv).innerHTML = msg + document.getElementById(ACmessageDiv).innerHTML; } } } function AdcorListen(_acPlayerID) { if (document.layers) { ACplayer = document.layers[_acPlayerID]; } else if (document.all) { ACplayer = document.all[_acPlayerID]; } else if (document.getElementById) { ACplayer = document.getElementById(_acPlayerID); } if(ACplayer != null) { adcor_addEvent(ACplayer, 'PlayStateChange', ACplayStateHandle, false); adcor_addEvent(ACplayer, 'ScriptCommand', ACscriptHandle, false); adcor_addEvent(ACplayer, 'MouseMove', ACvolumeListener, false); adcor_addEvent(ACplayer, 'MouseDown', ACvolumeListener, false); } } function ACplayStateHandle(newState) { //Targetspot legacy functions, inoperable /*if(ts_playerEvent && tsBreak) { if(AColdState == 1 || AColdState == 2 || AColdState == 3) { switch (newState) { case 1: ts_playerEvent("Stop"); ACBroadcastMessage('ts_playerEvent("Stop")'); break; case 2: ts_playerEvent("pause"); ACBroadcastMessage('ts_playerEvent("pause")'); break; case 3: ts_playerEvent("Play"); ACBroadcastMessage('ts_playerEvent("Play")'); break; } } }*/ if(newState == 3) { ACsyncExists = false; if ((ACplayer.currentMedia) && (ACplayer.currentPlaylist)) { var author = ACplayer.currentMedia.getItemInfo("AUTHOR"); if(author.toLowerCase().indexOf('') > -1) { var bannerPath = ACplayer.currentMedia.getItemInfo("AdcorBannerPath"); var bannerClick = ACplayer.currentMedia.getItemInfo("AdcorBannerClick"); var bannerWidth = ACplayer.currentMedia.getItemInfo("AdcorBannerWidth"); var bannerHeight = ACplayer.currentMedia.getItemInfo("AdcorBannerHeight"); var bannerSpotID = ACplayer.currentMedia.getItemInfo("AdcorBannerSpotID"); var replaceable = ACplayer.currentMedia.getItemInfo("AdcorReplaceable"); var duration = ACplayer.currentMedia.getItemInfo("AdcorDuration"); /*bannerPath = "http://banners.cuedelivery.com/";*/ //record spot for db entry later //ACBroadcastMessage("adcor spot"); ACspotID = bannerSpotID; ACBroadcastMessage('replaceable = ' + replaceable); if(bannerPath != '') { ACchangeAd(bannerPath, bannerWidth, bannerHeight, bannerClick, bannerSpotID); ACsyncExists = true; } if(replaceable.toLowerCase() == "true") { hideAdcorAd(); ACcallTargetspot(duration); //SEND TO TARGETSPOT... MAKE SURE TO GET CALL BACK AND EXECUTE AGAIN } else { if(bannerPath != '') { showAdcorAd(); } else { hideAdcorAd(); } } } else { hideAdcorAd(); } } else { hideAdcorAd(); } } else { hideAdcorAd(); } AColdState = newState; } function ACscriptHandle(strType, strParam) { var artist=''; var title=''; var albumInfo=''; if(strType=='data') { var Data = strParam.split('&'); for(var i=0; i < Data.length; i++) { var dataStr = Data[i]; if(dataStr.indexOf('=') > -1) { var param = dataStr.split('='); var key = param[0].toLowerCase(); var value = param[1]; switch (key) { case 'title': title = value; break; case 'artist': artist = value; break; case 'album': albumInfo = value; break; } } } ACBroadcastMessage('new broadcast song, artist: ' + artist); if(artist.toLowerCase().indexOf('adcor') > -1) { ACsyncExists = false; ACBroadcastMessage('adcor spot (broadcast)'); ACBroadcastMessage('albumInfo= ' + albumInfo); if(albumInfo.indexOf('%5E%5E') > -1) { var synchInfo = albumInfo.split('%5E%5E'); ACBroadcastMessage('yes, contain splitters.. len: ' + synchInfo.length); if(synchInfo.length > 7) { var bannerFile = synchInfo[1]; var bannerPath = synchInfo[5]; var bannerClick = synchInfo[2]; var bannerWidth = synchInfo[3]; var bannerHeight = synchInfo[4]; var bannerSpotID = synchInfo[6]; var fileDurationStr = synchInfo[0]; var replaceable = synchInfo[7]; var filePath = ACformatFilePath(acURLDecode(bannerPath), acURLDecode(bannerFile)); filePath = "http://banners.cuedelivery.com/" + acURLDecode(bannerFile); ACBroadcastMessage('it DOES have a banner sync... replaceable = ' + replaceable); ACchangeAd(filePath, bannerWidth, bannerHeight, bannerClick, bannerSpotID); //record spot for db entry later ACspotID = bannerSpotID; ACsyncExists = true; if(replaceable.toLowerCase() == "true") { hideAdcorAd(); //SEND TO TARGETSPOT... MAKE SURE TO GET CALL BACK AND EXECUTE AGAIN ACcallTargetspot(ACgetDuration(fileDurationStr)); } else { showAdcorAd(); } } else if(synchInfo.length == 3) { var fileDurationStr = synchInfo[0]; var spotID = synchInfo[1]; var replaceable = synchInfo[2]; ACsyncExists = false; ACBroadcastMessage('it does NOT have a banner sync... replaceable = ' + replaceable); //record spot for db entry later ACspotID = spotID; if(replaceable.toLowerCase() == "true") { hideAdcorAd(); //SEND TO TARGETSPOT... MAKE SURE TO GET CALL BACK AND EXECUTE AGAIN ACcallTargetspot(ACgetDuration(fileDurationStr)); } else { hideAdcorAd(); } } else { hideAdcorAd();} /*(-)^^^^^^^^^^^^*/ /*(-)^^^^^^^^^^^^^^*/ /*(-)^^^^*/ } else { hideAdcorAd(); } } else { hideAdcorAd(); } } } function ACformatFilePath(path, file) { var len = path.length; var targChar = path.charAt(len-1); if((targChar == '/') || (targChar == '\\')) { return path + file; } else { return path + '/' + file; } } function adcor_addEvent(elm, evType, fn, useCapture) { if (elm.addEventListener) { var r = elm.addEventListener("on"+evType, fn, useCapture); var e = elm.addEventListener(evType, fn, useCapture); return r + ' / ' + e; } else if (elm.attachEvent) { var r = elm.attachEvent("on"+evType, fn); var e = elm.attachEvent(evType, fn); return e; } } function showTargetSpotAd() { ACtargetDiv = "paTS"; ACBroadcastMessage('showTargetSpotAd() called'); for(var i=0; iAudio Advertisement
'; ACadW = newACw; ACadH = newACh; var goURL = AC_BaseURL + "?spotID=" + _acSpotID + "&href=" + newAChref; if(newACsrc.toLowerCase().indexOf('.swf') > -1) { newImg += ''; } else if(newACsrc.toLowerCase().indexOf('replaceads') > -1) { var raBuster = Math.floor(Math.random()*1000000000); var raAdName = ''; var raAdSize = ''; //demo = replaceads_webex_300x250_gotradio.gif if(newACsrc.toLowerCase().indexOf('_') > -1) { raAdName = newACsrc.toLowerCase().split('_')[1]; raAdSize = newACsrc.toLowerCase().split('_')[2]; } var raLoc = 'http://ad.doubleclick.net/ad/corrstar.streaming/;ad=' + raAdName + ';sz=' + raAdSize + ';ord=' + raBuster + '?'; var raLink = 'http://ad.doubleclick.net/jump/corrstar.streaming/;ad=' + raAdName + ';sz=' + raAdSize + ';ord=' + raBuster + '?'; newImg += ''; //this is for tracking newImg += ''; } else { newImg += ''; } newImg += '
'; if (document.layers) { document.layers.pa.innerHTML = newImg; } else if (document.all) { document.all.pa.innerHTML = newImg; } else if (document.getElementById) { document.getElementById("pa").innerHTML = newImg; } } function hideAdcorAd() { for(var i=0; i ACcurrentTarget) { ACmovement = true; ACpos -= ACspeed; } } var _targetDiv = "pa"; if(ACmoveHorizontal == false) { if (document.layers) { document.layers[_targetDiv].top = ACpos+"px"; } else if (document.all) { document.all[_targetDiv].style.top = ACpos+"px"; } else if (document.getElementById) { document.getElementById(_targetDiv).style.top = ACpos+"px"; } } else { if (document.layers) { document.layers[_targetDiv].left = ACpos+"px"; } else if (document.all) { document.all[_targetDiv].style.left = ACpos+"px"; } else if (document.getElementById) { document.getElementById(_targetDiv).style.left = ACpos+"px"; } } if(!ACmovement) { clearInterval ( ACtimer ); if(ACcurrentDir == false) { ACisHidden = true; } else { ACisHidden = true; } } } function TSmoveAd() { var TSmovement = false if(TScurrentDir) { if(TSpos < TScurrentTarget) { TSmovement = true; TSpos += ACspeed; } } else { if(TSpos > TScurrentTarget) { TSmovement = true; TSpos -= ACspeed; } } var _targetDiv = "paTS"; if(ACmoveHorizontal == false) { if (document.layers) { document.layers[_targetDiv].top = TSpos+"px"; } else if (document.all) { document.all[_targetDiv].style.top = TSpos+"px"; } else if (document.getElementById) { document.getElementById(_targetDiv).style.top = TSpos+"px"; } } else { if (document.layers) { document.layers[_targetDiv].left = TSpos+"px"; } else if (document.all) { document.all[_targetDiv].style.left = TSpos+"px"; } else if (document.getElementById) { document.getElementById(_targetDiv).style.left = TSpos+"px"; } } if(!TSmovement) { clearInterval ( TStimer ); if(TScurrentDir == false) { TSisHidden = true; } else { TSisHidden = true; } } } function ACsetLeft(targ, divName) { var tempState = typeof ACposLeft; if((typeof targ).toLowerCase() == "string") { if(targ.indexOf('%') > -1) { var i = targ.replace('%', ''); var ACpercW = 100/i; var winW = ACGetWindowWidth(); var newTarg = (winW / ACpercW) - (ACadW/2); if (document.layers) document.layers[divName].left = newTarg+"px"; else if (document.all) document.all[divName].style.left = newTarg+"px"; else if (document.getElementById) document.getElementById(divName).style.left = newTarg+"px"; } else { if (document.layers) document.layers[divName].left = targ+"px"; else if (document.all) document.all[divName].style.left = targ+"px"; else if (document.getElementById) document.getElementById(divName).style.left = targ+"px"; } } else if ((typeof targ).toLowerCase() == "number") { if (document.layers) document.layers[divName].left = targ+"px"; else if (document.all) document.all[divName].style.left = targ+"px"; else if (document.getElementById) document.getElementById(divName).style.left = targ+"px"; } else { targ = 100; if (document.layers) document.layers[divName].left = targ+"px"; else if (document.all) document.all[divName].style.left = targ+"px"; else if (document.getElementById) document.getElementById(divName).style.left = targ+"px"; } } function ACsetTop(targ, divName) { var tempState = typeof ACposTop; if((typeof targ).toLowerCase() == "string") { if(targ.indexOf('%') > -1) { var i = targ.replace('%', ''); var ACpercH = 100/i; var winH = ACGetWindowHeight(); var newTarg = (winH / ACpercH) - (ACadH/2); if (document.layers) { document.layers[divName].top = newTarg+"px"; } else if (document.all) { document.all[divName].style.top = newTarg+"px"; } else if (document.getElementById) { document.getElementById(divName).style.top = newTarg+"px"; } } else { if (document.layers) document.layers[divName].top = targ+"px"; else if (document.all) document.all[divName].style.top = targ+"px"; else if (document.getElementById) document.getElementById(divName).style.top = targ+"px"; } } else if ((typeof targ).toLowerCase() == "number"){ if (document.layers) document.layers[divName].top = targ+"px"; else if (document.all) document.all[divName].style.top = targ+"px"; else if (document.getElementById) document.getElementById(divName).style.top = targ+"px"; } else { targ = 100; if (document.layers) document.layers[divName].top = targ+"px"; else if (document.all) document.all[divName].style.top = targ+"px"; else if (document.getElementById) document.getElementById(divName).style.top = targ+"px"; } } function ACgetTargetTop(targ) { var target = targ; if(typeof ACadW == 'undefined') { ACadH == 250; } if((typeof targ).toLowerCase() == "string") { if(targ.indexOf('%') > -1) { var i = targ.replace('%', ''); var ACpercH = 100/i; var winH = ACGetWindowHeight(); target = (winH / ACpercH) - (ACadH/2); } } else if ((typeof targ).toLowerCase() == "undefined") { target = 100; } return target; } function ACgetTargetLeft(targ) { var target = targ; if(typeof ACadW == 'undefined') { ACadW == 300; } if((typeof targ).toLowerCase() == "string") { if(targ.indexOf('%') > -1) { var i = targ.replace('%', ''); var ACpercW = 100/i; var winW = ACGetWindowWidth(); target = (winW / ACpercW) - (ACadW/2); } } else if ((typeof targ).toLowerCase() == "undefined") { target = 100; } return target; } function ACGetWindowWidth() { if( typeof( window.innerWidth ) == 'number' ) { /*Non-IE*/ myWidth = window.innerWidth; myHeight = window.innerHeight; } else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) { /*IE 6+ in 'standards compliant mode'*/ myWidth = document.documentElement.clientWidth; myHeight = document.documentElement.clientHeight; } else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) { /*IE 4 compatible*/ myWidth = document.body.clientWidth; myHeight = document.body.clientHeight; } return myWidth; } function ACGetWindowHeight() { if( typeof( window.innerWidth ) == 'number' ) { /*Non-IE*/ myWidth = window.innerWidth; myHeight = window.innerHeight; } else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) { /*IE 6+ in 'standards compliant mode'*/ myWidth = document.documentElement.clientWidth; myHeight = document.documentElement.clientHeight; } else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) { /*IE 4 compatible*/ myWidth = document.body.clientWidth; myHeight = document.body.clientHeight; } return myHeight; } function ACgetDuration(durationString) { var fstr = acURLDecode(durationString).replace('(', '').replace(')', ''); var fileDurationArr = fstr.split('-'); //ACBroadcastMessage('filedurarr.len: ' + fileDurationArr.length + ' + filestr: ' + fstr + '.. orig fstr: ' + fileDurationStr); if(fileDurationArr.length > 0) { var adcorDur = Number(fileDurationArr[0]); if(adcorDur) { if(adcorDur != 0) { return adcorDur; } } var fileDurArr = fileDurationArr[1].split(':'); if(fileDurArr.length > 2) { var hours = Number(fileDurArr[0]); var minutes = Number(fileDurArr[1]); var seconds = Number(fileDurArr[2]); var totalSeconds = Number(Number(hours*3600) + Number(minutes*60) + seconds); return totalSeconds; } } ACBroadcastMessage('could not parse spot duration, returning 0'); return 0; } function acURLDecode (encodedString) { var output = encodedString; var binVal, thisString; var myregexp = /(%[^%]{2})/; while ((match = myregexp.exec(output)) != null && match.length > 1 && match[1] != '') { binVal = parseInt(match[1].substr(1),16); thisString = String.fromCharCode(binVal); output = output.replace(match[1], thisString); } return output; } /************************************************** FUNCTIONS CALLED BY TARGETSPOT **************************************************/ function ts_ready() { tsIsReady = true; //ts is now ready for calls } function ts_mutePlayer(dur) { ACBroadcastMessage('ts_mutePlayer() called... hideAdcorAd()'); showTargetSpotAd(); tsBreak = true; if(ACplayer) { tsUserMute = (ACplayer.Settings.mute); if(tsUserMute) { ts_setVolume(0); } else { ts_setVolume(ACplayer.Settings.volume); } ACplayer.Settings.mute = true; } ACBroadcastMessage('record replaced ad, spotID: ' + ACspotID); //record ad played ACrecordReplacedAd(ACspotID) } function ts_unmutePlayer() { ACBroadcastMessage('ts_unmutePlayer() called... is this coming out of a targetspot break? hideAdcorAd()'); if(tsBreak) { ACBroadcastMessage('yes, hideAdcorAd()'); hideTargetSpotAd(); } tsBreak = false; ACplayer.Settings.mute = tsUserMute; } function ts_noAds() { ACBroadcastMessage('ts_noAds() called... is there a current sync? showAdcorAd()'); if(ACsyncExists) { ACBroadcastMessage('yes, showAdcorAd()'); showAdcorAd(); } tsUserMute = (ACplayer.Settings.mute); } function ts_noPreRoll() { } /************************************************** PLAYER SUPPORT **************************************************/ //internal function for listening to volume control //MouseMove( iButton, iShiftState, fX, fY ) function ACvolumeListener(iButton, iShiftState, fX, fY) { //ACBroadcastMessage('move'); if(ACplayer) { //ACBroadcastMessage('vol: ' + ACplayer.Settings.volume + ', muted: ' + ACplayer.Settings.mute); if (tsBreak) { if (tsUserMute) { ts_setVolume(0); //IF THE USER HAD THE PLAYER MUTED, MUTE TARGETSPOT'S ADBREAK } else { ts_setVolume(ACplayer.Settings.volume); //IF NOT, ADJUST VOLUME } if(!ACplayer.Settings.mute) { ACplayer.Settings.mute = true; //MAKE SURE STREAM STAYS MUTED EVEN WHEN VOLUME CHANGES } } else { ts_setVolume(ACplayer.Settings.volume); } } } /************************************************** INTERNAL TARGETSPOT CALLS **************************************************/ function ACcallTargetspot(dur) { if(!tsBreak) { ACBroadcastMessage('ACcallTargetspot called... is it ready? ' + tsIsReady); if(tsIsReady && (navigator.userAgent.toLowerCase().indexOf("msie") != -1)) { if(ts_streamEvent) { ACBroadcastMessage('***TARGETSPOT*** playAd(' + dur + ')'); ts_streamEvent('playAd', dur.toString()); } } else { if(ACsyncExists) { ACBroadcastMessage('yes, showAdcorAd()'); showAdcorAd(); } } } } function ACrecordReplacedAd(spotID) { var trackURL = 'http://www.cuedelivery.com/audio/TrackReplacedAd.aspx?spotID=' + spotID; ACBroadcastMessage('tracking: ' + trackURL); if (document.layers) document.layers["ACimageTracker"].src = trackURL; else if (document.all) document.all["ACimageTracker"].src = trackURL; else if (document.getElementById) document.getElementById("ACimageTracker").src = trackURL; }