// -----------------------------------------------------------------------------
// download.js --
// -----------------------------------------------------------------------------

var xmlDoc = null;

function ImportXML(filename) {
   new Ajax.Request(filename, {
       method: "get",
       asynchronous: false,
       onSuccess: function(resp, jsonObj) {
          xmlDoc = resp.responseXML;
        }
   });
}

function PresetTable() {
	ShowTable(document.selection.version.selectedIndex);
}

function ShowTable(id) {
	
	var d = xmlDoc.getElementsByTagName("Default")[0];
	var v = xmlDoc.getElementsByTagName("Version")[id];
	
	var version	  = v.getAttribute("version");
	var label1	  = v.getAttribute("label");
	var label2	  = document.selection.filesize.value;
	var label3	  = document.selection.download.value;
	var root_http = v.getAttribute("root_http");
	var str		  = null;
	
	// Tabelle mit den verfuegbaren Plattformen und Patches
	str  = '<table class="rt-joomla-table" width="100%" border="0" cellpadding="3" cellspacing="0">';
	str += '<tr>';
	str += '<th align="left"   width="50%" colspan="2"><div>' + label1 + '</div></th>';
	str += '<th align="right"  width="30%">            <div>' + label2 + '</div></th>';
	str += '<th align="center" width="20%">            <div>' + label3 + '</div></th>';
	str += '</tr>';
	
	for (var i1 = 0, i2 = 0; i1 < v.childNodes.length; i1++) {
		var patch = 0;
		var p     = v.childNodes[i1];
		
		if (p.nodeType == 3)		     continue;
		if (p.nodeName != "Package") continue;
		i2++;
		
		var length = 0;
		for (var k1 = 0; k1 < p.childNodes.length; k1++) {
			var node = p.childNodes[k1];
			if (node.nodeType == 3) continue;
			length++;
		}
		var size	     = p.getAttribute("size");
		var os		  = p.getAttribute("os");
		var suffix	  = p.getAttribute("suffix");
		var platform  = p.getAttribute("platform");
		var name_http = root_http + "/suite_" + version + "." + patch + "_" + os + "." + suffix;
		var name	     = "";
		
		for (var j1 = 0; j1 < d.childNodes.length; j1++) {
			var p1 = d.childNodes[j1];
			
			if (p1.nodeType == 3)		    continue;
			if (p1.nodeName != "Platform") continue;
			
			if (p1.getAttribute("os") == os) {
				name = p1.getAttribute("description");
				break;
			}
		}
		var n = i2 % 2 == 0 ? 2 : 1;
		var r = length == 0 ? "" : "b";
		var m = n == 1 ? "odd" : "even";
		
		str += '<tr class="'+m+r+'">';
		str += '<td colspan="2"   ><div><img align="absmiddle" src="images/M_images/download.png"/>	' + name + '</div</td>';
		str += '<td align="right" ><div>' + size + '</div</td>';
		str += '<td align="center"><div><a href="' + name_http + '">HTTP</a></div</td>';
		str += '</tr>';
		
		// Sind noch Patches vorhanden?
		for (var k1 = 0, k2 = 0; k1 < p.childNodes.length; k1++) {
			var node = p.childNodes[k1];
			if (node.nodeType == 3) continue;
			k2++;
			
			patch	 = node.getAttribute("patch");
			size	 = node.getAttribute("size");
			suffix = node.getAttribute("suffix");
			
			name_http = root_http + "/updates/patch_" + version + "." + patch + "_" + os + "." + suffix;
			name	    = "Supplement Update Level " + patch;
			
			r = k2 == length ? "" : "b";
			
			str += '<tr class="'+m+r+'">';
			str += '<td width="10px"  ><div></div></td>';
			str += '<td align="left"  ><div><img align="absmiddle" src="images/M_images/edit.png"/>	' + name + '</div</td>';
			str += '<td align="right" ><div>' + size + '</div</td>';
		   str += '<td align="center"><div><a href="' + name_http + '">HTTP</a></div</td>';
			str += '</tr>';
		}
	}
	str += '</table>';
	
	document.getElementById("download_div").innerHTML = str;
}


