// FG - Ajax
function obj(id) {
	return document.getElementById(id);
}
function bool(value) {
	return new Boolean(value);
}
function tagValue(obj,name) {
	return obj.getElementsByTagName(name)[0].firstChild.nodeValue;
}
function ajaxRequest(method,url,parseFunc,async) {
	var t = this;
	method = method.toUpperCase();
	t.parseFunc = parseFunc;
	if (!async) { async = true; }
	if (window.XMLHttpRequest) { t.ajax = new XMLHttpRequest(); }
	else if (window.ActiveXObject) { t.ajax = new ActiveXObject("Microsoft.XMLHTTP"); }
	t.processRequest = processRequest;
	t.parseXML = parseXML;
	t.ajax.onreadystatechange = function() { t.processRequest(t.ajax); }
	t.ajax.open(method,url,async);
	if (method == "POST") {
        t.ajax.setRequestHeader("Connection","close");
		t.ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
		t.ajax.setRequestHeader("Method","POST " + url + "HTTP/1.1");
	}
	t.ajax.send(null);
}
/*
readyState Status Codes:
0 = uninitialized
1 = loading
2 = loaded
3 = interactive
4 = complete
*/
function processRequest(o) {
	if (o.readyState == 4) {
		if (o.status != 200) {
//			alert (o.status + " " + o.statusText);
			this.parseFunc = "Error";
		}
		this.parseXML();
	}
}
function parseXML() {
	eval("parse"+this.parseFunc+"(this.ajax)");
}
function response(o) {
	var respXML = o.responseXML;
	var respText = o.responseText;
	var resp = respXML;
	if (window.XMLHttpRequest) { resp = (new DOMParser()).parseFromString(respText,"text/xml"); }
	return resp;
}

// -------------------------------------------

function initAjax() {
	getLoginStatus();
}

// Login status
// Data - [nick]
var loginProcessUrl = "https://"+window.location.host+"/srv/www/cs/user/loginProcess.do";
var loginStatusUrl = "/srv/www/cs/user/loginStatus.do?"+Math.random();
function getLoginStatus() {
	new ajaxRequest("get",loginStatusUrl,"Status");
}

var YWAUserName = "";

function parseStatus(o) {
	var str = o.responseText;
	if(str.length > 300) return;
	var usrName = str.substring(0, str.length-2);
	var usrActivated  = str.substr(str.indexOf(";")+1, 1);
	
	var htmlCode = '';
	if (str != "") {
		// Logged in
		// activated
		if (usrActivated == "a") {
			htmlCode += '<strong class="title" onclick="toggleTab(\'r-login\', event)"><span>Přihlášen: </span>' +usrName;
			htmlCode += ' <a href="/srv/www/cs/user/settings.do" class="ico loginIcoFirst noBlock"><img src="/img/u/ico-user-edit.gif" width="13" height="13" alt="Nastavení účtu" title="Nastavení účtu" border="0"></a><span> | </span>';
			htmlCode += ' <a href="/srv/www/cs/user/logout.do" class="ico noBlock"><img src="/img/u/ico-user-logout.gif" width="13" height="13" alt="Odhlásit" title="Odhlásit" border="0"></a>';
			htmlCode += '</strong>\n';
			htmlCode += '<div class="cont">\n';
			msgString = newMessages > -1 ? '('+newMessages+')' : '';
			friendsString = (friendsOnline > -1 && friendsTotal > -1) ? '('+friendsOnline+'/'+friendsTotal+')' : '';
			htmlCode += '<a href="/srv/www/cs/user/mail/messages.do" class="noBlock icoMail">Moje pošta</a> <span>' + msgString + '</span><span class="pipe"> | </span>';
			htmlCode += '<a href="/srv/www/cs/user/friends.do" class="noBlock icoFriends">Přátelé</a> <span>' + friendsString + '</span>';
			htmlCode += '</div>\n';
			activeId = "r-login";
			YWAUserName = usrName;
	} else {
		// not activated
			htmlCode += '<strong class="title" onclick="toggleTab(\'r-login\')"><span>Přihlášen: </span>' +usrName+ '</strong>\n';
			htmlCode += '<div class="cont">\n';
			htmlCode += '<a href="/srv/www/cs/user/settings.do" class="noBlock">Nastavení</a><span class="pipe"> | </span>';
			htmlCode += '<a href="/srv/www/cs/user/logout.do" class="noBlock">Odhlásit</a>';
			htmlCode += '</div>\n';
			YWAUserName = usrName;
		}
	} else {
		htmlCode += '<form name="LoginForm" method="post" action="'+loginProcessUrl+'">\n';
		htmlCode += '<strong class="title" onclick="toggleTab(\'r-login\')">Přihlášení</strong>\n';
		htmlCode += '<div class="cont" style="display: none;">\n';
		htmlCode += '	<input type="text" name="nick" value="Nick" class="text" onfocus="clearInput(this)">\n';
		htmlCode += '	<input type="password" name="password" value="Heslo" class="text" onfocus="clearInput(this)">\n';
		htmlCode += '	<input type="submit" value="OK" class="btn"><span class="hide"> | </span>\n';
		htmlCode += '	<a href="/srv/www/cs/user/registration.do">Registrace</a>\n';
		htmlCode += '	<div class="clr"></div>\n';
		htmlCode += '</div>\n';
		htmlCode += '</form>\n';
	}
	obj("userStatus").innerHTML = htmlCode;
	if (str == "" || (str != "" && usrActivated != "a")) {
		jQuery("#userStatus .cont").hide();
		hideTab("r-login");
	}
}