
if(window.attachEvent){window.attachEvent('onload',broadcastInit);}else if(window.addEventListener){window.addEventListener('load',broadcastInit,false);}
var BROADCAST_ID="broadcast";var BROADCAST_BG_ID="broadcastBg";var IE_SELECT_FLOATER="ieSelectFloater";var broadcastObj=null;var broadcastBgObj=null;var httpRequest=false;var httpResponseText="";var BROADCAST_COOKIE_PREFIX="broadcast_";var BROADCAST_WIDTH=400;var BROADCAST_HEIGHT=260;var BROADCAST_FLASH_MIME_TYPE="application/x-shockwave-flash";var BROADCAST_FLASH_CLASS_ID="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000";var MSG_TYPE_OFF=-1;var targetMsgId=-1;var BROADCAST_AUDIENCE_ALL="all";var BROADCAST_AUDIENCE_ROLE="role";var BROADCAST_AUDIENCE_COURSE="context";var BROADCAST_AUDIENCE_INDIVIDUAL="individual";var BROADCAST_AUDIENCE_ID_ROLE_PROFESSORS="professor";var BROADCAST_AUDIENCE_ID_ROLE_STUDENTS="student";var NODE_TYPE_ELEMENT=1;var NODE_TYPE_ATTRIBUTE=2;var NODE_TYPE_TEXT=3;var NODE_TYPE_CDATA=4;var NODE_TYPE_ENTITY_REF=5;var NODE_TYPE_ENTITY=6;var NODE_TYPE_PROCESS_INSTRUCTION=7;var NODE_TYPE_COMMNET=8;var NODE_TYPE_DOCUMENT=9;var NODE_TYPE_DOCUMENT_TYPE=10;var NODE_TYPE_DOCUMENT_FRAGMENT=11;var NODE_TYPE_NOTATION=12;var arrMessages=new Array();var arrBroadcastButtons=new Array()
arrBroadcastButtons["log out"]="/af/servlet/logoff";arrBroadcastButtons["help"]="/af/support/support_redirect.jsp";arrBroadcastButtons["close"]="javascript:closeMessage();";var arrBroadcastIcons=new Array();arrBroadcastIcons[0]="/images/icons/alerts/red.gif";arrBroadcastIcons[1]="/images/icons/alerts/red.gif";arrBroadcastIcons[2]="/images/icons/alerts/yellow.gif";arrBroadcastIcons[3]="/images/icons/alerts/orange.gif";arrBroadcastIcons[4]="/images/icons/alerts/blue.gif";arrBroadcastIcons[5]="/images/icons/alerts/purple.gif";arrBroadcastIcons[6]="/images/icons/alerts/green.gif";var messageType=MSG_TYPE_OFF;var messageTitle="";var messageBody="";var messageAudience="";var messageAudienceId="";var isTargetAudience=false;function broadcastInit(){if(!hasFlashObjectOnPage()){clearReplyText();fetchBroadcastXML();}}
var fetchBroadcastXMLCallback={success:function(o){setResponseText(o.responseXML);var xmlStatus=storeMessages();if(xmlStatus!=-1){displayMessages();}},failure:function(o){}};function fetchBroadcastXML(){var sUrl="/broadcast.xml";sUrl=uniqueUrl(sUrl);var transaction=YAHOO.util.Connect.asyncRequest("GET",sUrl,fetchBroadcastXMLCallback,null);}
function clearReplyText(){httpResponseText="";}
function setResponseText(msg){httpResponseText=msg;}
function getResponseText(){return httpResponseText;}
function assignObjects(){broadcastObj=document.getElementById(BROADCAST_ID);broadcastBgObj=document.getElementById(BROADCAST_BG_ID);}
function storeMessages(){var text=null;var broadcastRoot=null;var messagesRoot=null;var messages=null;text=getResponseText();if(text!=null){broadcastRoot=text.documentElement;}
if(broadcastRoot!=null){messagesRoot=broadcastRoot.getElementsByTagName('messages')[0];}
if(messagesRoot==null){return-1;}
else{messages=messagesRoot.childNodes;for(var i=0;i<messages.length;i++){messageType=MSG_TYPE_OFF;messageTitle="";messageBody="";messageAudience="";messageAudienceId="";isTargetAudience=false;var child=messages[i];if(child.nodeName=="message"&&child.nodeType==NODE_TYPE_ELEMENT&&child.hasChildNodes()){var messageAttributes=child.attributes;if(messageAttributes&&messageAttributes.getNamedItem("type")){messageType=parseInt(messageAttributes.getNamedItem("type").nodeValue);if(isNaN(messageType)){messageType=MSG_TYPE_OFF;}}
var audienceNode=child.getElementsByTagName('audience')[0];if(audienceNode&&audienceNode.firstChild){messageAudience=audienceNode.firstChild.nodeValue.toLowerCase().trim();}
var audienceIdNode=child.getElementsByTagName('audienceId')[0];if(audienceIdNode&&audienceIdNode.firstChild){messageAudienceId=audienceIdNode.firstChild.nodeValue.toLowerCase().trim();}
var titleNode=child.getElementsByTagName('title')[0];if(titleNode&&titleNode.firstChild){var messageTitleValue=titleNode.firstChild.nodeValue;messageTitle=messageTitleValue;}
var bodyNode=child.getElementsByTagName('body')[0];if(bodyNode&&bodyNode.firstChild){var messageBodyValue=bodyNode.firstChild.nodeValue;messageBody=messageBodyValue;}
else{return-1;}
var buttonsNode=child.getElementsByTagName('buttons')[0];var buttonsHtml=getButtonsHtml(buttonsNode);if(messageAudience==BROADCAST_AUDIENCE_ALL){isTargetAudience=true;}else if(messageAudience==BROADCAST_AUDIENCE_COURSE&&bmContext!=null&&bmContext==messageAudienceId){isTargetAudience=true;}else if(messageAudience==BROADCAST_AUDIENCE_ROLE&&bmRole!=null&&bmRole==messageAudienceId){isTargetAudience=true;}else if(messageAudience==BROADCAST_AUDIENCE_INDIVIDUAL&&bmUser!=null&&bmUser==messageAudienceId){isTargetAudience=true;}
if(isTargetAudience&&messageType!=MSG_TYPE_OFF&&getCookie(BROADCAST_COOKIE_PREFIX+messageType)==null&&messageBody!=null&&messageBody.trim()!=""&&getIconImg(messageType)!=null&&(top==self||self.window.name.toLowerCase()=="report")){var bm=new BroadcastMessage();bm.setMessageAudience(messageAudience);bm.setMessageAudienceId(messageAudienceId);bm.setMessageType(messageType);bm.setMessageTitle(messageTitle);bm.setMessageBody(messageBody);bm.setMessageButtons(buttonsHtml);arrMessages[arrMessages.length]=bm;}}}
return 0;}}
function displayMessages(){if(arrMessages.length>0){arrMessages[0].displayMessage();}}
function changeMessage(selObj){if(selObj){targetMsgId=selObj.options[selObj.selectedIndex].value;arrMessages[targetMsgId].displayMessage();}}
function getMessageCountHtml(){var retVal="";if(arrMessages.length>1){for(var i=0;i<arrMessages.length;i++){var selected=targetMsgId==i?" selected":"";retVal+="<option value='"+i+"'"+selected+"> "+(i+1)+" of "+arrMessages.length}
retVal="<span class='messageCount'>"+"Message <br /><select class='messageCount' onChange='changeMessage(this);'>"+retVal+"</select>"+"</span>";}
return retVal;}
function getIconImg(_messageType){var retVal=null;if(arrBroadcastIcons[_messageType]!=null){retVal=arrBroadcastIcons[_messageType];}
return retVal;}
function getButtonsHtml(_buttonsNode){var retVal="";var arrButtons=new Array();var bFoundCloseButton=false;if(_buttonsNode&&_buttonsNode.firstChild&&_buttonsNode.firstChild.nodeValue.trim()!=""){arrButtons=_buttonsNode.firstChild.nodeValue.trim().split(",");}
for(var i=0;i<arrButtons.length;i++){if("close"==arrButtons[i].trim().toLowerCase()){bFoundCloseButton=true;}
retVal+="<input type='button' class='broadcastButton' value='"+arrButtons[i].trim()+"' onClick='broadcastButtonUrl(this);'>";}
if(!bFoundCloseButton){retVal+="<input type='button' class='broadcastButton' value='Close' onClick='broadcastButtonUrl(this);'>";}
retVal="<p class='buttons'>"+retVal+"</p>";return retVal;}
function closeMessage(){if(broadcastObj){broadcastObj.style.display='none';}
if(broadcastBgObj){broadcastBgObj.style.display='none';}}
function suppressMessage(inputEle){var checked=inputEle.checked
var value=inputEle.value;if(checked){setCookie(BROADCAST_COOKIE_PREFIX+value,"off",null,null);}else{deleteCookie(BROADCAST_COOKIE_PREFIX+value);}}
function positionDisplay(){var screenW=screen.width;var screenH=screen.height;var browserW=(self.innerWidth?self.innerWidth:document.body.clientWidth);var browserH=(self.innerHeight?self.innerHeight:document.body.clientHeight);var baseX=(window.screenLeft?window.screenLeft:window.screenX);var baseY=(window.screenTop?window.screenTop:window.screenY);var dialogX=0;var dialogY=0;broadcastObj.style.height=BROADCAST_HEIGHT;broadcastObj.style.width=BROADCAST_WIDTH;dialogX=((browserW/2)-(BROADCAST_WIDTH/2));dialogY=((browserH/2)-(BROADCAST_HEIGHT/2));broadcastObj.style.left=dialogX;broadcastObj.style.top=dialogY;}
function broadcastButtonUrl(inputEle){if(inputEle){var inputVal=inputEle.value.toLowerCase();var targetLocation=arrBroadcastButtons[inputVal];if(targetLocation){if(targetLocation.indexOf("javascript:")==0){eval(targetLocation);}else{top.location.href=targetLocation;}}else{alert("Invalid '"+inputEle.value+"' button.");}}}
function createStatusDiv(){var newBroadcastDiv=document.createElement("div");newBroadcastDiv.setAttribute("id",BROADCAST_ID);var newBroadcastBgDiv=document.createElement("div");newBroadcastBgDiv.setAttribute("id",BROADCAST_BG_ID);var newSelectFloaterIFrame=document.createElement("iframe");newSelectFloaterIFrame.setAttribute("id",BROADCAST_BG_ID);newSelectFloaterIFrame.setAttribute("src","/blank.html");newSelectFloaterIFrame.setAttribute("frameBorder","0");newSelectFloaterIFrame.setAttribute("scrolling","no");var bodyRef=document.getElementsByTagName("body").item(0);bodyRef.appendChild(newBroadcastDiv);var isOpera=(navigator.userAgent.toLowerCase().indexOf("opera")!=-1);if(!isOpera){bodyRef.appendChild(newSelectFloaterIFrame);}else{bodyRef.appendChild(newBroadcastBgDiv);}
assignObjects();}
function BroadcastMessage(){this._messageType="";this._messageTitle="";this._messageBody="";this._messageButtons="";this._messageAudience="";this._messageAudienceId="";this.setMessageType=bmSetMessageType;this.setMessageTitle=bmSetMessageTitle;this.setMessageBody=bmSetMessageBody;this.setMessageButtons=bmSetMessageButtons;this.setMessageAudience=bmSetMessageAudience;this.setMessageAudienceId=bmSetMessageAudienceId;this.getMessageType=bmGetMessageType;this.getMessageTitle=bmGetMessageTitle;this.getMessageBody=bmGetMessageBody;this.getMessageButtons=bmGetMessageButtons;this.getMessageAudience=bmGetMessageAudience;this.getMessageAudienceId=bmGetMessageAudienceId;this.displayMessage=bmDisplayMessage;}
function bmGetMessageType(){return this._messageType;}
function bmSetMessageType(messageType){this._messageType=messageType;}
function bmGetMessageTitle(){return this._messageTitle;}
function bmSetMessageTitle(messageTitle){this._messageTitle=messageTitle;}
function bmGetMessageBody(){return this._messageBody;}
function bmSetMessageBody(messageBody){this._messageBody=messageBody;}
function bmGetMessageButtons(){return this._messageButtons;}
function bmSetMessageButtons(messageButtons){this._messageButtons=messageButtons;}
function bmGetMessageAudience(){return this._messageAudience;}
function bmSetMessageAudience(messageAudience){this._messageAudience=messageAudience;}
function bmGetMessageAudienceId(){return this._messageAudienceId;}
function bmSetMessageAudienceId(messageAudienceId){this._messageAudienceId=messageAudienceId;}
function bmDisplayMessage(){var iconSrc=getIconImg(this.getMessageType());var messageType=this.getMessageType();var messageTitle=this.getMessageTitle();var messageBody=this.getMessageBody();var messageButtons=this.getMessageButtons();var checked=isMarkedForSuppress(messageType)?" checked":"";var fullMessage=""+"<div id='broadcastHeader'>"+"    <img src='"+iconSrc+"'><div class='messageTitle'>"+messageTitle+"</div>"+
getMessageCountHtml()+"</div>"+"<div id='broadcastMessage' onClick='closeMessage();'>"+messageBody+"</div>"+"<div id='broadcastFooter'>"+"    <input type='checkbox' class='cb' value='"+messageType+"' onClick='suppressMessage(this);'"+checked+"><span width='200px'>"+"    Don't notify me again during this web session.</span>"+
messageButtons+"</div>";if(broadcastObj==null){createStatusDiv();positionDisplay();broadcastObj=document.getElementById(BROADCAST_ID);}
if(broadcastObj!=null){if(broadcastBgObj!=null){broadcastBgObj.style.display='block';}
window.focus();broadcastObj.style.display='block';broadcastObj.innerHTML=fullMessage;}}
function isMarkedForSuppress(messageType){var retVal=false;if(getCookie(BROADCAST_COOKIE_PREFIX+messageType)!=null){retVal=true;}
return retVal;}
function hasFlashObjectOnPage(){var bHasFlash=false;var objectTagRef=document.getElementsByTagName("object");var embedTagRef=document.getElementsByTagName("embed");var scriptTagRef=document.getElementsByTagName("script");if(objectTagRef){for(var i=0;i<objectTagRef.length;i++){var child=objectTagRef.item(i);if(child&&child.attributes){var tagAttributes=child.attributes;if(tagAttributes.getNamedItem("classid")){if(BROADCAST_FLASH_CLASS_ID.toLowerCase()==(tagAttributes.getNamedItem("classid").nodeValue).toLowerCase()){bHasFlash=true;}}}}}
if(embedTagRef){for(var i=0;i<embedTagRef.length;i++){var child=embedTagRef.item(i);if(child&&child.attributes){var tagAttributes=child.attributes;if(tagAttributes.getNamedItem("type")){if(BROADCAST_FLASH_MIME_TYPE==(tagAttributes.getNamedItem("type").nodeValue).toLowerCase()){bHasFlash=true;}}}}}
if(scriptTagRef){for(var i=0;i<scriptTagRef.length;i++){child=scriptTagRef.item(i);if(child){var str=''+child;if(str.indexOf("embedFlashDiv")!=-1||str.indexOf("writeFlash")!=-1||str.indexOf("writeFlashWithFlashVars")!=-1||str.indexOf("writeExperiment")!=-1||str.indexOf("writeTutorial")!=-1){bHasFlash=true;}}}}
return bHasFlash;}