// malton-results.js v3.86 [2009]
//
// compiled: 08-Sep-2011
//

/*
##  How it works;
##
##  Within the ACTUAL-RESULTS DIV code, the results must be marked-up in the
##  format "<LI>text: <U>name</U></LI>".
##
##  Heading levels H1, H3, and H4 are critical for setting the LISTITEM in
##  context.
##
##  On Loading, this script then searches the ACTUAL-RESULTS for <LI> tag and adds
##  a link and then for the <U> tag where it drops a marker
##
##  The link then initiates the individual results, stripping the name from the
##  marker, and the graphs are contructed by counting the number of times each
##  individual name appears
##
##  Simple.
##
*/

var rBM=''
var rGRAPHS=''
var rPRIZES=0
var rDIV=ById('results')
var rRES=ById('ACTUAL-RESULTS')
var rORG=rDIV.innerHTML
var rNEW=rRES.innerHTML
//var rMOD=ById('CONTENTS').innerHTML //'<div id="content">'+ById('CONTENTS').innerHTML+'</div>'
var rMOD='<div id="CONTENTS">'+ById('CONTENTS').innerHTML+'</div>'

rNEW=rNEW.replace(/<LI>(.*?)<\/LI>/gmi,"<LI class='done'><a href=\"javascript:rPop('$1')\">$1</a></LI>")
rNEW=rNEW.replace(/<U>(.*?)<\/U>/gmi,"<U><!--rN-->$1<!--rX--></U>")
rNEW=rNEW.replace(/\(no winner\)/gi,"<font color=red>(n/a)</font>")

rNEW='<div class="restbl restbl2009" id="ACTUAL-RESULTS">'+rNEW+'</div>'
rRES.innerHTML=rNEW
rMOD+='\n<hr style="border:0">\n'+rNEW

var rHTML='' +
	'<div class="popped">' +
	'\n<h1>Results for: <b>%N</b></h1>' +
	'\n<a href="javascript:rAll()">Back to ALL RESULTS</a>%G' +
	'\n<div class="restbl">%V</div>' +
	'\n<a class="back" href="javascript:rAll()">Back to ALL RESULTS</a>' +
	'\n</div>'

var rWAIT='<table class="gwait"><tr><td nowrap>Generating Results, Please Wait..</td></tr></table>'
var rLINK='<a class="nobr" href="javascript:rPop(\'%N\')">%N</a>'
var rGTABLE='<br /><table cellpadding="0" cellspacing="0">%V</table><br />'
var rGLINK=' | <a href="javascript:rPrizes()">PRIZE WINNERS FOR ALL ENTRANTS</a>'
var rGLINKa=' | <font color="red">PRIZE WINNERS FOR ALL EVENTS</font>'

var rGROW='' +
	'<tr>' +
	'   <td class="gnam">%L</td>' +
	'   <td class="gnum">%V</td>' +
	'   <td><div class="graph%C" style="width:%Xpx">&nbsp;</div></td>' +
	'</tr>'

var rSINGLE='' +
	'<tr><td colspan="3"><br><i>Persons winning a single prize:</i> %T</td></tr>'

///////////////////////////////////////////////////////////////////////////////////////

function rAll() {rDIV.innerHTML=rMOD;if (rBM) self.location.href='#'+rBM}
function rWorking() {rDIV.style.cursor='wait';rDIV.innerHTML=rWAIT}
function rPrizes() {rWorking();setTimeout("rPrizesDo()",450)}
function rShow(n,v) {var s=v.replace(/%N/g,n);rBM=get_param();rDIV.innerHTML=s;rDIV.style.cursor='default';self.location.href='#cstart'}

function rPrizesDo() {
	var x,y,n,v='',t='',ns='',ls=new Array(),R=new Array()
	if (rGRAPHS=='') {
		ls=rMOD.split(/\r\n|\n|\r/)
		for(x=0;x<ls.length;x++) {
			if (ls[x].indexOf('<!--rN-->')>-1) {
				n=ls[x];
				n=n.substr(n.indexOf('rN-->')+5)
				n=n.substr(0,n.indexOf('<!--rX'))
				if (ns.indexOf(n)<0) {ns+=(ns?',':'')+n;R[n]=0}
				R[n]++
			}
		}
		ls=ns.split(',');
		for(x=0;x<ls.length;x++) {
		    n=ls[x];ns=R[n];y=ns*10
		    if (ns>1) {
				v+=rGROW.replace(/%L/,rLINK)
				v=v.replace(/%N/g,n)
				v=v.replace(/%V/g,ns)
				v=v.replace(/%X/g,y)
				v=v.replace(/%C/g,ns>=6?' gred':'')
			} else {
				t+=(t?', ':'')+rLINK
				t=t.replace(/%N/g,n)
			}
		}
		v=rGTABLE.replace(/%V/,v)+rSINGLE.replace(/%T/,t)
		v=rHTML.replace(/%V/,v)
		v=v.replace(/%G/,rGLINKa)
		rGRAPHS=v
		rPRIZES=ls.length
	}
	rShow('All Entrants ('+rPRIZES+' prizes)',rGRAPHS)
}

function rPop(n) {
	var x=n.indexOf('<!--rN-->')
	if (x>-1) {
		n=n.substr(x+9)
		n=n.substr(0,n.indexOf('<'))
	}
	n=n.replace(/ & /g,' &amp; ');
	var v='',h2='',lh2='',h3='',lh3='',h4='',lh4='',L
	var r=new RegExp(': <u>'+n+'</u>','gi')
	rORG=rORG.replace(/ & /g,' &amp; ')
	rORG=rORG.replace(/<\/ul>/gi,'\n\n</ul>\n\n')
	var ls=rORG.split('\n')
	for(x=0;x<ls.length;x++) {
	    L=lcase(ls[x]);
		if (L.indexOf('<h1 ')>-1) {h2='\n\n'+ls[x];lh3=lh4=h3=h4=''}
		else if (L.indexOf('<h3')>-1) {h3='\n  '+ls[x];lh4=h4=''}
		else if (L.indexOf('<h4')>-1) {h4='\n\t'+ls[x]}
		else if (L.indexOf(lcase(n))>-1) {
		    v+=(h2==lh2?'':h2)
			v+=(h3==lh3?'':h3)
			v+=(h4==lh4?'':h4)
			v+=ls[x]
			lh2=h2;lh3=h3;lh4=h4
		}
	}
	v=v.replace(/h1/gim,'h2')
	v=v.replace(/<li>/gi,'\n\t\t<span>')
	v=v.replace(/<\/li>/gi,'</span>');
	v=v.replace(r,'');
	v=rHTML.replace(/%V/,v)
	rShow(n,v.replace(/%G/,rGLINK))
}
