var
	oRangBox,
	sXMLDir = './xml/',
	iFrom = 0,
	iTo = 30;

$ = function(){};
$.getText = function(o) {
	if(typeof o.text != 'undefined')
		return o.text;
	else if(typeof o.textContent != 'undefined')
		return o.textContent;
	else
		return 'undefined';
};

function rd(iMode) {
	if(xmlHttp) {
		oRangBox.innerHTML = '<div id="loading">Rangliste wird geladen...</div>';
		xmlHttp.open('GET', (sXMLDir + 'list_' + (iMode == 0?'player':'clans') + '_' + iFrom + '_' + iTo + '.xml'), true);
		xmlHttp.onreadystatechange = function () {
			var
				aFactionIds = {
					0:'kus',
					1:'republic',
					2:'blacksun',
					10:'reb',
					11:'imp',
					12:'zann'
				},
				iEpochModifier = 10,
				oResponse = xmlHttp.responseXML;

			if(xmlHttp.readyState == 4) {
				var
					sRankBoxContent = '<li class="bold"><span class="place">Platz</span>' + (iMode == 0?'Spielername':'Allianz/Imperium') + '<span class="points txt_c">Gesamtpunkte</span></li>',
					aRank = oResponse.documentElement.getElementsByTagName('position'),
					iRankCount = aRank.length,
					oRank, iPlace, iFaction, sFaction, iUserId, sName, sClanName, sClanTag, iPoints;

				for(var iNum=0; iNum < iRankCount; iNum++) {
					oRank = aRank[iNum];

					iPlace = $.getText(oRank.getElementsByTagName('place')[0]);
					sName = $.getText(oRank.getElementsByTagName('name')[0]);
					sClanTag = $.getText(oRank.getElementsByTagName('ctag')[0]);
					iPoints = $.getText(oRank.getElementsByTagName('points')[0]);

					sRankBoxContent += '<li id="' + oRank.attributes[0].value + '">' +
						'<span class="bold place">' + iPlace + '</span>';

					iFactionEpoch = $.getText(oRank.getElementsByTagName('faction_epoch')[0]);
					sFaction = aFactionIds[iFactionEpoch];
					sRankBoxContent += '<img class="p_right" title="' + sFaction + '" alt="' + sFaction + '" src="./gfx/game/he/icons_faction_'+ sFaction + '.gif" />';

					if(iMode == 0) {
						sClanName = $.getText(oRank.getElementsByTagName('cname')[0]);
						iUserId = oRank.getElementsByTagName('uid')[0].textContent;

						sRankBoxContent +=
							(sClanTag != ''?'<span class="bold" title="' + sClanName + '">' + sClanTag + '</span>':'') + 
							' <span id="uid_' + iUserId + '">' + sName + '</span>';
					}
					else {
						sRankBoxContent +=
							'<span class="bold">' + sClanTag + '</span> <span title="' + sClanTag + '">' + sName + '</span>';
					}
					sRankBoxContent += '<span class="txt_c points">' + iPoints + '</span>' + '</li>';
				}
				oRangBox.innerHTML = '<ul>' + sRankBoxContent +'</ul>';
			}
		}
		xmlHttp.send("");
	}
	else
		oRangBox.innerHTML = '<span class="c_red">Die Rangliste kann derzeit nicht aufgerufen werden.</span>';
}
