
/**
*------------------------------- additional Versions Feature -------------------------------------
*  -- Changed to Prototype Version - 03/2010
*/

/**
*	Show additional Versions for one Track (uses Ajax-Request)
*/
function vers(myElem) {
	if(typeof(myElem)=="string") {
		var sCDKurz=myElem;
	} else {
		var sCDKurz=getCDKurz(myElem);
	}
	var oElem=$("vb_"+sCDKurz);
	if (! oElem) {
		customHandler("Missing Element: vb_"+sCDKurz,document.location.href,0,0);			
		return;
	}
	if(oElem.innerHTML=='') {
		/* Show block Element and Loading-Status */	
		oElem.style.display="block";
		var oElem1 	= $("vb_head");
		if (oElem1) {
			oElem.update(oElem1.innerHTML);
		}
//		if (oElem1) 	oElem.innerHTML=oElem1.innerHTML;
		var oElem1 	= $("vb_load").firstDescendant();
		if (oElem1)
			oElem.insert(oElem1.innerHTML, { position: "after" });
//		if (oElem1)		oElem.innerHTML+=oElem1.innerHTML;
		
		//send_ax_Request('sonoversion.php','cdkurz='+sCDKurz+'&'+SID, oElem);
		
		new Ajax.Request('sonoversion.php', {
				method: 'post',
				parameters: {'cdkurz':sCDKurz },
				onFailure: function(transport) {
					customHandler("Error in interpret_ax_Request: Request.status != 200 ("+transport.status+")",document.location.href,0,0);
				},
				onSuccess: function(transport) {
					var oElem2 = $("vb_head");
					if (oElem2) 
						oElem.update(oElem2.innerHTML);
					oElem.insert('<div class="versionlist">'+transport.responseText+'</div>');
				}
			});
	} else {
		closeVersionDiv(oElem);
	}
}

/**
*	Find div with Version-Information and 
*/
function getAndCloseVersionDiv(oElem) {
		/* CDkurz steht in ParentNode */	
		aktElem=oElem.parentNode;
		while(aktElem.tagName != "BODY") {
			if( aktElem.id.substr(0,3) == 'vb_') {
				closeVersionDiv(aktElem);
				break;
			}
			aktElem=aktElem.parentNode;
		}
}
	
/* Close div with Version-Information */
function closeVersionDiv(aktElem) {
		aktElem.style.display="none";
		aktElem.innerHTML='';
}

var AXrequest	= false;

// Request auswerten
function interpret_ax_Request(oElem) {
	switch (AXrequest.readyState) {
		case 4: if (AXrequest.status != 200) {
					//alert("Der Request wurde abgeschlossen, ist aber nicht OK\nFehler:"+AXrequest.status);
					customHandler("Error in interpret_ax_Request: Request.status != 200 ("+AXrequest.status+")",document.location.href,0,0);
				} else {
					oElem1 	= document.getElementById("vb_head");
					if (oElem1) {
						oElem.innerHTML=oElem1.innerHTML;
					}
					oElem.innerHTML+=AXrequest.responseText;
					//alert(request.responseText);
				}
				break;
		default: break;
	}
}
	
// Request senden
function send_ax_Request(url,paramstring,cbOptions) {
	// Request erzeugen
	//alert(url+":"+paramstring);
	if (window.XMLHttpRequest) {
		AXrequest = new XMLHttpRequest(); // Mozilla, Safari, Opera
	} else if (window.ActiveXObject) {
		try {
			AXrequest = new ActiveXObject("Msxml2.XMLHTTP"); // IE 5
		} catch (e) {
			try {
				AXrequest = new ActiveXObject("Microsoft.XMLHTTP"); // IE 6
			} catch (e) {}
		}
	}
	
	// überprüfen, ob Request erzeugt wurde
	if (!AXrequest) {
		alert("Kann keine XMLHTTP-Instanz erzeugen");
		return false;
	} else {
		AXrequest.open('post', url, true);
		AXrequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
		AXrequest.send(paramstring);
		// Request auswerten
		AXrequest.onreadystatechange = function() { 
			interpret_ax_Request(cbOptions);
		} ;
	}
}