var mwhttp = null;

/*
	param	MSid 			- ID der Montagestation
	param	Elem		- Element in dem die Ausgabe erscheinen soll
	param	timeoutzeit 	- Abbruchzeitraum fuer Script in Millisekunden
	param	timeOutAusgabe	- Alternativausgabe falls Request fehlschlaegt
*/

function MSdatenHolen(MSId,Elem,timeoutzeit, timeOutAusgabe){
// anlegen des HttpRequest Element anlegen 
	if (window.XMLHttpRequest) {
	// die neue Variante
   		mwhttp = new XMLHttpRequest();
	} 
	else if (window.ActiveXObject) {
	// fuer aeltere IE Versionen
   			mwhttp = new ActiveXObject("Microsoft.XMLHTTP");
		 }
// Abfrage durchfuehren
	if (mwhttp != null) {
	// Anfrage an Serverscript absetzen
		// param 	gibt die Ueertragungsart an ACHTUNG: POST erfordert das senden eines speziellen Headers
		// param	Serverscript
		// param	wenn FALSE synchrone Uebertragung (Script wartet bis Antwort empfangen wurde); TRUE Script laeuft weiter
   		mwhttp.open("GET", "getMSDetails.php?id="+MSId, true);
   		// timeout zum abbrechen der Abfrage falls der Server nicht antwortet
   		// callback function
   		//	callbackfunc = "MSRequestAbbrechen(\""+timeOutAusgabe+"\",\""+OutputElemId+"\")";
   		myTimeOut = window.setTimeout(function(){MSRequestAbbrechen(timeOutAusgabe,Elem);},timeoutzeit);
   		// Callback function aufrufen
   		mwhttp.onreadystatechange = function(){ MSDetailausgeben(mwhttp,Elem,myTimeOut);};
   		// zuruecksetzen des HttpRequest Elementes
   		mwhttp.send(null);

	}
}
/*

*/

function MSDetailausgeben(mwHttpRequest,Elem,timeOut) {
   if (mwHttpRequest.readyState == 4) {
      Elem.innerHTML =
         mwHttpRequest.responseText;
         // timeout canceln
         window.clearTimeout(timeOut);
   }
   
}


// Abbruch des HttpRequests nach timeoutzeit, um zu langes warten auf eventuell laggenden Server zu vermeiden
function MSRequestAbbrechen(Elem,timeOutAusgabe,OutputElemId){

	Elem.innerHTML = timeOutAusgabe;
}

/*
	Setzt das Div zur Ausgabe der Details auf Sichbtbar und startet das HttpRequest
	

*/
function showMontageDetail(MontageID, OutputElemId,timeout,Waittext,Failuretext){
	MontageDiv = document.getElementById(""+OutputElemId);
	ContentDiv = document.getElementById(""+OutputElemId+"Content")
	// div Inhalt setzen -- 
	ContentDiv.innerHTML = ""+Waittext;
	// div anzeigen
	MontageDiv.style.display = "block";
	// IE6 Workaround
	if(doWeNeedTheWorkaround()) hideSelect();
	// Abfrage durchfuehren
	MSdatenHolen(MontageID,ContentDiv,timeout,Failuretext);
}

function  closeDiv(ElemId){

	document.getElementById(""+ElemId).style.display = "none";
	//IE6 Workaround
	RestoreSelect();

}

/*
	Workaround fuer IE6 Bug
*/

function doWeNeedTheWorkaround(){
	if((navigator.appName == "Microsoft Internet Explorer") && (navigator.appVersion.substring(0, 1) == "6")) {return true;}
	else {return false;}

}

function getSelect(){
all_selects = document.getElementsByTagName("select");

for(i=0; i < all_selects.length; i++){
	if(all_selects[i].className.indexOf("mwMontageSelect")) return all_selects[i];
}

}

function hideSelect(){
// select finden lassen
selectTag = getSelect();

// select ausblenden
selectTag.style.display = "none";

}

function RestoreSelect(){
// select finden
selectTag = getSelect();

// select wieder einblenden
selectTag.style.display = "block";

}