var ajaxConfigFileSave = {
	createFileSaveRequest: false,
	showState: 0,
	inWork: false,
	data: new Array(13),
	
	checkAllInputs: function(serverID,user,password,serverPort) {
		var status = true;
		var noInput = "<font color='red'>Fehlerhafte Eingabe!</font>";
		if(document.getElementById("rconpasswort_input").value == "") {
			document.getElementById("rconpasswort_input_return").innerHTML = noInput;
			status = false;
		}
		else
			document.getElementById("rconpasswort_input_return").innerHTML = "";
			
		if(document.getElementById("servername_input").value == "") {
			document.getElementById("servername_input_return").innerHTML = noInput;
			status = false;
		}
		else
			document.getElementById("servername_input_return").innerHTML = "";
			
		if(document.getElementById("gamemode0_input").value == "") {
			document.getElementById("gamemode0_input_return").innerHTML = noInput;
			status = false;
		}
		else
			document.getElementById("gamemode0_input_return").innerHTML = "";
			
		if(document.getElementById("maxbots_input").value == "")  {
			document.getElementById("maxbots_input_return").innerHTML = noInput;
			status = false;
		}
		else
			document.getElementById("maxbots_input_return").innerHTML = "";
		ajaxConfigFileSave.data[0] = document.getElementById("rconpasswort_input").value;
		ajaxConfigFileSave.data[1] = document.getElementById("password_input").value;
		ajaxConfigFileSave.data[2] = document.getElementById("maxplayers_input").value;
		ajaxConfigFileSave.data[3] = serverPort;
		ajaxConfigFileSave.data[4] = document.getElementById("servername_input").value;
		ajaxConfigFileSave.data[5] = document.getElementById("gamemode0_input").value;
		ajaxConfigFileSave.data[6] = document.getElementById("filterscripts_input").value;
		ajaxConfigFileSave.data[7] = document.getElementById("weburl_input").value;
		ajaxConfigFileSave.data[8] = document.getElementById("maxbots_input").value;
		ajaxConfigFileSave.data[9] = document.getElementById("plugins_input").value;
		ajaxConfigFileSave.data[10] = serverID;
		ajaxConfigFileSave.data[11] = user;
		ajaxConfigFileSave.data[12] = password;
		if(status!=false)
			ajaxConfigFileSave.createRequest();
	},
	
	createRequest: function() {
		if(ajaxConfigFileSave.inWork==true) return false;
		if (window.XMLHttpRequest) {
			ajaxConfigFileSave.createFileSaveRequest = new XMLHttpRequest();
		} 
		else if (window.ActiveXObject) {
			try {
				ajaxConfigFileSave.createFileSaveRequest = new ActiveXObject('Msxml2.XMLHTTP');
			} 
			catch (e) {
				try {
					ajaxConfigFileSave.createFileSaveRequest = new ActiveXObject('Microsoft.XMLHTTP');
				} 
				catch (e) {
				}
			}
		}
		if (!ajaxConfigFileSave.createFileSaveRequest) {
			alert("Kann keine HTTP-Instanz erzeugen");
			return false;
		} 
		else {
			var url = "lib/php/requestChangeServerSettings.php";
			ajaxConfigFileSave.createFileSaveRequest.open('post', url, true);
			ajaxConfigFileSave.createFileSaveRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
			ajaxConfigFileSave.createFileSaveRequest.send('rconPassword='+ajaxConfigFileSave.data[0]+
				"&serverPassword="+ajaxConfigFileSave.data[1]+
				"&maxPlayers="+ajaxConfigFileSave.data[2]+
				"&serverPort="+ajaxConfigFileSave.data[3]+
				"&hostName="+ajaxConfigFileSave.data[4]+
				"&gamemode0="+ajaxConfigFileSave.data[5]+
				"&filterscripts="+ajaxConfigFileSave.data[6]+
				"&webUrl="+ajaxConfigFileSave.data[7]+
				"&maxNPC="+ajaxConfigFileSave.data[8]+
				"&plugins="+ajaxConfigFileSave.data[9]+
				"&serverID="+ajaxConfigFileSave.data[10]+
				"&ownerName="+ajaxConfigFileSave.data[11]+
				"&ownerPassword="+ajaxConfigFileSave.data[12]);
			ajaxConfigFileSave.createFileSaveRequest.onreadystatechange = ajaxConfigFileSave.interpretRequest;
			ajaxConfigFileSave.inWork = true;
			ajaxConfigFileSave.showLoading();
		}
	},
	
	interpretRequest: function() {
		switch (ajaxConfigFileSave.createFileSaveRequest.readyState) {
			case 4:
				if (ajaxConfigFileSave.createFileSaveRequest.status == 200) {
					ajaxConfigFileSave.inWork = false;
					document.getElementById("configSaveStatus").innerHTML = '';
					switch (ajaxConfigFileSave.createFileSaveRequest.responseText) {
						case "true" :
							document.getElementById("configSaveStatus").innerHTML =
								'<br /><p class="message_green" id="serverStatusInput">'+
									'Die server.cfg Datei wurde erfolgreich gespeichert!'+
								'</p>';
							setTimeout(ajaxConfigFileSave.deleteConfigSaveMessage,5000);
							break;
						default :
							document.getElementById("configSaveStatus").innerHTML =
								'<br /><p class="message_red" id="serverStatusInput">'+
									'Die server.cfg Datei wurde nicht gespeichert!'+
								'</p>';
							setTimeout(ajaxConfigFileSave.deleteConfigSaveMessage,5000);
							break;
					}
				}
				ajaxConfigFileSave.inWork = false;
				break;
			default:
				break;
		}
	},
	
	deleteConfigSaveMessage: function() {
		document.getElementById("configSaveStatus").innerHTML = '';
		document.getElementById("configSaveStatus").style.width = "100%";
	},
	
	showLoading: function() {
		if(ajaxConfigFileSave.inWork==false) return false;
		switch(ajaxConfigFileSave.showState) {
			case 0:
				document.getElementById("configSaveStatus").innerHTML = '<strong>Datei wird gespeichert</strong>';
				ajaxConfigFileSave.showState = 1;
				setTimeout(ajaxConfigFileSave.showLoading,500);
				break;
			case 1:
				document.getElementById("configSaveStatus").innerHTML = '<strong>Datei wird gespeichert.</strong>';
				ajaxConfigFileSave.showState = 2;
				setTimeout(ajaxConfigFileSave.showLoading,500);
				break;
			case 2:
				document.getElementById("configSaveStatus").innerHTML = '<strong>Datei wird gespeichert..</strong>';
				ajaxConfigFileSave.showState = 3;
				setTimeout(ajaxConfigFileSave.showLoading,500);
				break;
			case 3:
				document.getElementById("configSaveStatus").innerHTML = '<strong>Datei wird gespeichert...</strong>';
				ajaxConfigFileSave.showState = 0;
				setTimeout(ajaxConfigFileSave.showLoading,500);
				break;
		}
	}
};
