/**
 * @author Jan
 */

var globalUserID = "";
var globalSession = "";
var globalText = "";

var reg = new RegExp('[0-9]');

/**
 * setHTMLElement() sets a HTML-Element identified by ID with
 * given value and classname
 * @param {Object} idname id of HTML-Elemnt
 * @param {Object} val Value to set
 * @param {Object} classname Class to set
 */
function setHTMLElement(idname, val, classname) {
	document.getElementById(idname).innerHTML = val;
	document.getElementById(idname).className = classname;
}


/*######-- Formular-Meldungen --######*/
/**
 * setSuccess() sets an Success-Msg into a specified HTML-Element
 * @param {Object} idname id of HTML-Element
 */
function setSuccess(idname) {
	var imgsrc = "<img src='./images/ico_success.gif'>&nbsp;";
	var msg = "Alles in Ordnung";
	var success = imgsrc + msg;
	setHTMLElement(idname, success, "success");
}

/**
 * setError() sets an Error-Msg into a specified HTML-Element
 * @param {Object} idname id of HTML-Element
 * @param {Object} msg Error Message
 */
function setError(idname, msg) {

	var imgsrc = "<img src='./images/ico_error.gif'>&nbsp;";
	var error = imgsrc + msg;
	setHTMLElement(idname, error, "error");
}

/**
 * trim() strip whitespace from the beginning and end of a string
 * @param {Object} str String
 */
function trim(str) {
	return (str.replace(/\s+$/,"").replace(/^\s+/,""));
}

function showRegister() {
	document.getElementById("wsRegisterForm").className = '';
	document.getElementById("wsLoginForm").className = 'noDisplay';
	document.getElementById("wsManual").className = 'noDisplay';
}

function closeRegister() {
	document.getElementById("wsRegisterForm").className = 'noDisplay';
}

function showManual() {
	document.getElementById("wsManual").className = '';
	document.getElementById("wsRegisterForm").className = 'noDisplay';
	document.getElementById("wsLoginForm").className = 'noDisplay';
}

function closeManual() {
	document.getElementById("wsManual").className = 'noDisplay';
}

function showLogin() {
	document.getElementById("wsLoginForm").className = '';
	document.getElementById("wsRegisterForm").className = 'noDisplay';
	document.getElementById("wsManual").className = 'noDisplay';
}

function insertChat(_sessionID, _tickerID) {
	var _text = document.getElementById("wsChatText").value;
	globalText = _text;
	var _data = "text="+encodeURIComponent(_text);
	_data += "&sid="+encodeURIComponent(_sessionID);
	_data += "&tid="+encodeURIComponent(_tickerID);
	httpRequest("POST","./warsteiner/insertChat.php",true,handleInsertChat,_data);
}

function handleInsertChat() {

	if(request.readyState == 4) {
    	if(request.status == 200) {
			var response = request.responseXML;
			var stat = response.getElementsByTagName("status")[0].firstChild.data;
			var _text = response.getElementsByTagName("text")[0].firstChild.data;
			var username = response.getElementsByTagName("username")[0].firstChild.data;
			//alert(stat);
			if(stat == 1) {
				document.getElementById("wsChatText").value = "";
				var n = document.createElement("div");
				n.className = "wsChatEntry";
				n.innerHTML = "<div class='wsChatUsername'>Ich</div>" +
   					"<div class='wsChatText'>"+globalText+"</div>";
				//document.getElementById("wsChat").insertBefore(n,document.getElementById("wsChat").firstChild);
				//document.getElementById("wsMyChat").insertBefore(n,null);
			}
			if(stat == 2) {
				document.getElementById("wsChatText").value = "";
				var n = document.createTextNode("Der Chat ist momentan deaktiviert!");
				document.getElementById("wsChat").insertBefore(n,document.getElementById("wsChat").firstChild);
			}
		}
	}
}

function closeLogin(_sessionID) {
	document.getElementById("wsLoginForm").className = 'noDisplay';
	globalSession = _sessionID;
	var _data = "sid="+encodeURIComponent(_sessionID);
	httpRequest("POST","./warsteiner/loginFinish.php",true,handleLoginFinish,_data);
}

function handleLoginFinish() {
	if(request.readyState == 4) {
    	if(request.status == 200) {
			var trenn = "'";
			var response = request.responseXML;
			var stat = response.getElementsByTagName("status")[0].firstChild.data;
			if(stat == 1) {
				var userID = response.getElementsByTagName("userid")[0].firstChild.data;
				globalUserID = userID;
				var user = response.getElementsByTagName("username")[0].firstChild.data;
				var hb = response.getElementsByTagName("hasBet")[0].firstChild.data;
				document.getElementById("ws_userwelcome").innerHTML = 'Hallo <b>'+user+'</b> | <a href="javascript:showManual()">Anleitung</a> | <a href="javascript:logOut('+trenn+globalSession+trenn+')">Logout</a>';
				document.getElementById("ws_userwelcome").className = "";
				document.getElementById("ws_logreg").className = "noDisplay";
				document.getElementById("wsChatEntry").className = "";
				document.getElementById("wsChatText").value = "";
				//alert(hb);
				if(hb=="1")
					document.getElementById("wsBetMenu").className = "noDisplay";
				else
					document.getElementById("wsBetMenu").className = "";
			}
		}
	}
}

function calculateWin(_tickerID,minute) {
	var bOne = document.getElementById("betOne").value;
	var bTwo = document.getElementById("betTwo").value;
	[1-6]
	var _data = "bOne="+encodeURIComponent(bOne);
	_data += "&bTwo="+encodeURIComponent(bTwo);
	_data += "&tid="+encodeURIComponent(_tickerID);
	_data += "&min="+encodeURIComponent(minute);
	if(bOne != "" && bTwo!="" && reg.test(bOne) && reg.test(bTwo) )
		httpRequest("POST","./warsteiner/calculateWin.php",true,handleCalculateWin,_data);
	else
		document.getElementById("wsBetWinValue").innerHTML = "";
}

function handleCalculateWin() {
	if(request.readyState == 4) {
    	if(request.status == 200) {

			var response = request.responseXML;
			var stat = response.getElementsByTagName("status")[0].firstChild.data;
			if(stat == 1) {
				var _value = response.getElementsByTagName("value")[0].firstChild.data;
				document.getElementById("wsBetWinValue").innerHTML = _value;
			}
		}
	}
}

function insertBet(_tickerID,minute,session) {
	var bOne = document.getElementById("betOne").value;
	var bTwo = document.getElementById("betTwo").value;
	var _data = "bOne="+encodeURIComponent(bOne);
	_data += "&bTwo="+encodeURIComponent(bTwo);
	_data += "&tid="+encodeURIComponent(_tickerID);
	_data += "&min="+encodeURIComponent(minute);
	_data += "&sid="+encodeURIComponent(session);
	if(bOne != "" && bTwo!="" && reg.test(bOne) && reg.test(bTwo) )
		httpRequest("POST","./warsteiner/insertBet.php",true,handleInsertBet,_data);
	else
		document.getElementById("wsBetWinValue").innerHTML = "";
}

function handleInsertBet() {
	if(request.readyState == 4) {
    	if(request.status == 200) {

			var response = request.responseXML;
			var stat = response.getElementsByTagName("status")[0].firstChild.data;
			if(stat == 1) {
				document.getElementById("wsBetMenu").className = "noDisplay";
				document.getElementById("wsBetWin").innerHTML = "Tipp gespeichert!";
			}
		}
	}
}

function logOut(_sessionID) {
	var _data = "sid="+encodeURIComponent(_sessionID);
	httpRequest("POST","./warsteiner/logOut.php",true,handleLogout,_data);
}

function handleLogout() {
	if(request.readyState == 4) {
    	if(request.status == 200) {

			var response = request.responseXML;
			var stat = response.getElementsByTagName("status")[0].firstChild.data;
			if(stat == 1) {
				document.getElementById("ws_userwelcome").className = "noDisplay";
				document.getElementById("ws_logreg").className = "";
				document.getElementById("wsChatEntry").className = "noDisplay";
				document.getElementById("wsChatText").value = "";
				document.getElementById("wsBetMenu").className = "noDisplay";
				document.getElementById("ws_logreg").className = "";
				document.getElementById("wsBetWin").innerHTML = '&nbsp;Gewinn: <span id="wsBetWinValue">&nbsp;</span> Liter';
			}
		}
	}
}
