User:Mwilso24/public/ticker.js

if(navigator.userAgent.indexOf("MSIE") == -1){ //Disables for IE, AJAX etc is really bugged in IE, wont work without major rewrite and server-side extension. var ticker_tl=new Array; //Dont touch var ticker_speed=20; //Increase to slow down, too low makes it go incredibly slow, 15 is about right var ticker_index=0; ticker_text_pos=0; //Dont touch var ticker_str_length; //Dont touch var ticker_contents, ticker_row; //Dont touch var ticker_custompages = Array; var ticker_custommsg = Array; // Add lines like the following to add custom tickers: // ticker_custompages['Portal:PORTALNAME'] = 'Portal:PORTALNAME/Tickersource'; // Make sure that the /Tickersource page is formatted like User:TheFearow/Tickersource using DPLs ticker_custompages['Portal:Football'] = 'Portal:Football/Tickersource'; ticker_custompages['Wikinews:Newsroom'] = 'Wikinews:Newsroom/Tickersource'; //Add custommsgs for all custom pages ticker_custommsg['Portal:Football'] = 'Latest football stories'; ticker_custommsg['Wikinews:Newsroom'] = 'Stories in development'; function ticker_prepare{ ticker_str_length=ticker_tl[0].length var content = document.getElementById('showticker').innerHTML; if(content != ""){ content += " \n"; } var start = "Latest stories"; if(ticker_custommsg[wgBasePageName]){ start = ticker_custommsg[wgBasePageName]; } content += "" + start + " (full list) :  "; document.getElementById('showticker').innerHTML = content; } var month=new Array(12); month[0]="January"; month[1]="February"; month[2]="March"; month[3]="April"; month[4]="May"; month[5]="June"; month[6]="July"; month[7]="August"; month[8]="September"; month[9]="October"; month[10]="November"; month[11]="December"; wgBasePageName = wgPageName; if(wgPageName.indexOf("/") != -1){ wgBasePageName = wgPageName.substring(0,wgPageName.indexOf("/")); } var ticker_toload = ""; function ticker_load{ try{ var randomunusedtickervariable = document.getElementById('showticker').innerHTML; }catch(err){ return; } ticker_toload = "User:Mwilso24/Tickersource"; if(ticker_custompages[wgBasePageName]){ ticker_toload = ticker_custompages[wgBasePageName]; } xmlhttp = sajax_init_object; xmlhttp.overrideMimeType('text/xml'); xmlhttp.open( 'GET', mw.config.get('wgServer') + mw.config.get('wgScriptPath') + '/index.php?title=' + ticker_toload + '&action=render', true); xmlhttp.onload = function { //this.responseXML is the DOM var entries = this.responseText.split("\n"); //window.alert(this.responseText); for(var i = 0; i < entries.length; i++){ var val = entries[i]; if(val.indexOf("") == 0 && val.indexOf("")+2, val.indexOf(""));   ticker_tl[ticker_tl.length] = val;   }  }  ticker_prepare;  ticker_tick(false, true); } xmlhttp.send( null ); } function ticker_tick(reset, first) {  if(reset){    document.getElementById("ticker_content").innerHTML = "";  }  if(first){   ticker_index = Math.round(Math.random * ticker_tl.length-1);   ticker_text_pos=0;   ticker_str_length=ticker_tl[ticker_index].length;  }  ticker_contents='';  ticker_row=Math.max(0,ticker_index-7);  //window.alert("TL: "+ticker_tl[ticker_index]);  document.getElementById("ticker_content").innerHTML = ("" + ticker_tl[ticker_index].substring(0,ticker_text_pos) + "_").replace("\n", "");  if(ticker_text_pos++>=ticker_str_length)  {    ticker_index++; if(ticker_index!=ticker_tl.length) {     ticker_text_pos=0; ticker_str_length=ticker_tl[ticker_index].length; if(first){ setTimeout("ticker_tick(true, false)",3); }else{ setTimeout("ticker_tick(true, false)",7000); }   }else{ ticker_index = Math.round(Math.random * ticker_tl.length-1); ticker_text_pos=ticker_tl[ticker_index].indexOf("\">");     ticker_str_length=ticker_tl[ticker_index].length;      setTimeout("ticker_tick(true, false)",3000);    }  } else    setTimeout("ticker_tick(false, false)",ticker_speed); } addLoadEvent(ticker_load); function sajax_init_object {	var A;	try {		// Try the new style before ActiveX so we don't		// unnecessarily trigger warnings in IE 7 when		// set to prompt about ActiveX usage		A = new XMLHttpRequest;	} catch (e) {		try {			A=new ActiveXObject("Msxml2.XMLHTTP");		} catch (e) {			try {				A=new ActiveXObject("Microsoft.XMLHTTP");			} catch (oc) {				A=null;			}		}	}	return A; } }