Comments:"This is the code Comcast is injecting into its users web traffic."
URL:https://gist.github.com/ryankearney/4146814
<script language="JavaScript"type="text/javascript">
// Comcast Cable Communications, LLC Proprietary. Copyright 2012.
// Intended use is to display browser notifications for critical and time sensitive alerts.
varSYS_URL='/e8f6b078-0f35-11de-85c5-efc5ef23aa1f/aupm/notify.do';
// var image_url='http://servicealerts.comcast.net:8080/images/mt';
varimage_url='http://xfinity.comcast.net/constantguard/BotAssistance/notice/images';
varheadertext1='<strong>Comcast Courtesy Notice</strong>';
vartextline1='You have reached 90% of your <b>monthly data usage allowance</b>.';
vartextline2='Please sign in for more information and to remove this alert.';
varacknowledgebutton='<a href=\"#\" onClick="document.location.href=\''+SYS_URL+'?dispatch=redirect&redirectName=login¶mName=bmUid\'" title="Sign in to acknowledge" style="color: #FFFFFF;"><img alt="Sign in to acknowledge" src="'+image_url+'/mt_signin.png"/></a>';
varverifybulletin='<a href="http://customer.comcast.com/help-and-support/internet/data-usage-plans-nash/" target="_new">How do I know this message is from Comcast?</a>';
if(self.location==top.location){
document.write('<style type="text/css">');
document.write('#comcast_content {width: 600px; height:240px; box-shadow: 10px 10px 5px #888; background: #fff; border: 1px solid #454545; position:absolute; top:50px; left:100px; zoom:1; z-index: 9999999; opacity:0.90; filter:alpha(opacity=90);}');
document.write('#comcast_content .header {height: 35px; background:url('+image_url+'/headerbg.gif) repeat-x;}');
document.write('#comcast_content .a {color: #00a3e0;}');
document.write('#comcast_content .logo {float:left;}');
document.write('#comcast_content .content-wrapper {padding-left: 18px; padding-right: 15px; padding-bottom: 12px;}');
document.write('#comcast_content .headerimage { margin-top: 15px;}');
document.write('#comcast_content .header1 {margin: 18px 0 0 0; color: #C00000; padding: 3px; font: 23px/24px bold Arial, Helvetica, sans-serif;}');
document.write('#comcast_content .textcontent {margin: 12px 0 0 0; text-align: center; color: #303030; word-spacing: 0px; font: 14px/15px Arial, Helvetica, sans-serif; line-height: 1.20;}');
document.write('#comcast_content .acknowledge {padding-top:6px; text-align: center;}');
document.write('#comcast_content .how-do-i {float:left; position:absolute; bottom:20px; left:18px; margin: 12px 0 0 0; font: 13px/14px bold Arial, Helvetica, sans-serif; text-align: bottom;}');
document.write('#comcast_content .comcast-wrapper {float:right; position:absolute; bottom:15px; right:18px; padding-top:0px; text-align: right;}');
document.write('</style>');
document.write('<div class="main-wrapper" id="comcast_content">');
document.write('<div class="header" onmousedown="javascript:dragStart(event,\'comcast_content\')">');
document.write('<img src="'+image_url+'/xfinity-logo.gif" alt="Xfinity" class="logo"/>');
document.write('</div>');
document.write('<div class="content-wrapper">');
document.write('<p class="header1">');
document.write(headertext1);
document.write('</p>');
document.write('<p class="textcontent">');
document.write(textline1);
document.write('</p>');
document.write('<p class="textcontent">');
document.write(textline2);
document.write('</p>');
document.write('<p class="how-do-i">');
document.write(verifybulletin);
document.write('</p>');
document.write('<div class="acknowledge">');
document.write(acknowledgebutton);
document.write('</div>');
document.write('<div class="comcast-wrapper">');
document.write('<img src="'+image_url+'/message-by-comcast.gif" alt="Message by Comcast"/>');
document.write('</div>');
document.write('</div>');
document.write('</div>');
}
// Function to Determine browser and version. Copyright 2001 by Mike Hall.
// See http://www.brainjar.com for terms of use.
functionBrowser(){
varua,s,i;
this.isIE=false;
this.isNS=false;
this.version=null;
ua=navigator.userAgent;
s="MSIE";
if((i=ua.indexOf(s))>=1){
this.isIE=true;this.version=parseFloat(ua.substr(i+s.length));return;
}
s="Netscape6/";
if((i=ua.indexOf(s))>=0){
this.isNS=true;this.version=parseFloat(ua.substr(i+s.length));return;
}
s="Gecko";
if((i=ua.indexOf(s))>=0){
this.isNS=true;this.version=6.1;return;
}
}
varbrowser1=newBrowser();
vardragObj=newObject();
dragObj.zIndex=99999;
functiondragStart(event,id){
varel;
varx,y;
if(id)dragObj.elNode=document.getElementById(id);
else{
if(browser1.isIE)dragObj.elNode=window.event.srcElement;
if(browser1.isNS)dragObj.elNode=event.target;
if(dragObj.elNode.nodeType==3)dragObj.elNode=dragObj.elNode.parentNode;
}
if(browser1.isIE){
x=window.event.clientX+document.documentElement.scrollLeft+document.body.scrollLeft;
y=window.event.clientY+document.documentElement.scrollTop+document.body.scrollTop;
}
if(browser1.isNS){
x=event.clientX+window.scrollX;
y=event.clientY+window.scrollY;
}
dragObj.cursorStartX=x;
dragObj.cursorStartY=y;
dragObj.elStartLeft=parseInt(dragObj.elNode.style.left,10);
dragObj.elStartTop=parseInt(dragObj.elNode.style.top,10);
if(isNaN(dragObj.elStartLeft))dragObj.elStartLeft=100;
if(isNaN(dragObj.elStartTop))dragObj.elStartTop=50;
if(browser1.isIE){
document.attachEvent("onmousemove",dragGo);
document.attachEvent("onmouseup",dragStop);
window.event.cancelBubble=true;
window.event.returnValue=false;}
if(browser1.isNS){
document.addEventListener("mousemove",dragGo,true);
document.addEventListener("mouseup",dragStop,true);
event.preventDefault();
}
}
// End Function
functiondragGo(event){
varx,y;
if(browser1.isIE){
x=window.event.clientX+document.documentElement.scrollLeft+document.body.scrollLeft;
y=window.event.clientY+document.documentElement.scrollTop+document.body.scrollTop;
}
if(browser1.isNS){
x=event.clientX+window.scrollX;y=event.clientY+window.scrollY;
}
dragObj.elNode.style.left=(dragObj.elStartLeft+x-dragObj.cursorStartX)+"px";
dragObj.elNode.style.top=(dragObj.elStartTop+y-dragObj.cursorStartY)+"px";
if(browser1.isIE){window.event.cancelBubble=true;window.event.returnValue=false;}
if(browser1.isNS)event.preventDefault();}
functiondragStop(event){
if(browser1.isIE){
document.detachEvent("onmousemove",dragGo);
document.detachEvent("onmouseup",dragStop);
}
if(browser1.isNS){
document.removeEventListener("mousemove",dragGo,true);
document.removeEventListener("mouseup",dragStop,true);
}
}
varxmlhttp=false;/*@cc_on @*//*@if (@_jscript_version >= 5) try { xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); } catch (E) { xmlhttp = false; } } @end @*/if(!xmlhttp&&typeofXMLHttpRequest!='undefined'){try{xmlhttp=newXMLHttpRequest();}catch(e){xmlhttp=false;}}if(!xmlhttp&&window.createRequest){try{xmlhttp=window.createRequest();}catch(e){xmlhttp=false;}}
functionacknowledge(){sendAck();document.getElementById('comcast_content').style.display="none";}
functionsendAck(){xmlhttp.open("GET",SYS_URL+'?dispatch=ackBulletin',true);xmlhttp.send(null)}
varcomcastCheck=1;
varcomcastTimer;
functioncheckBulletin(){
if(comcastCheck==0){return;}
xmlhttp.open("GET",SYS_URL+'?dispatch=checkBulletin',true);
xmlhttp.onreadystatechange=function(){
if(xmlhttp.readyState==4){
if(xmlhttp.responseText.indexOf('43a1028c-7d11-11de-b687-1f15c5ad6a13')==-1){
document.getElementById('comcast_content').style.display="none";
comcastCheck=1;
}
comcastTimer=setTimeout("checkBulletin()",5000);
};
};
xmlhttp.send(null);
}
checkBulletin();
</script>