 
var currentName = '';
function UiHelp(){
	this.getGameUsrHtml = function(uid, wrap){
		html = '\n<div class="small-user-box">\n  <a href="#" onclick="javascript:return UsrList.selectUser(<%uid%>)" class="user-bg">\n    <div class="useravatar"><img src="/img/usr/<%uid%>/avatar.jpg?rev=1"/><div class="avatarbg"></div></div>\n    <div class="user-info">\n      <h1><img src="/img/key.png" class="mann"/>Neue Schumacher</h1>\n      <div class="progress-bg"><div class="progress"></div></div>\n      <span id="info"><h3>FS-IQ:</h3>\n      <h4>150 / MOFA</h4></span>\n      <span id="result" ><h3>Result:</h3>\n      <h4>235</h4></span>\n      <br class="clear" />\n    </div>\n    <br class="clear" />\n    <div class="platz">8</div>\n  </a>\n</div>\n';
		if (wrap) html = '<span id="<%uid%>ulcont" name="" class="wrap">'+html+'</span>';
		html = html.varReplace('uid', uid);
		return html;
	}
	
	this.getExtGameUsrHtml = function(uid, wrap){
		html = '<div class="user-select">\n<div class="user-box">\n  <div class="user-bg">\n    <div class="useravatar"><a href="/profile/<%uid%>" target="_blank"><img src="/img/usr/<%uid%>/avtar.jpg" /><div class="avatarbg"></div></a></div>\n    <div class="user-info">\n      <h1><a href="/profile/<%uid%>" target="_blank"><img src="/img/key.png" class="mann"/>Neue Schumacher</a></h1>\n      <div class="progress"></div><br class="clear">\n      <span id="info"><h3>FS-IQ:</h3>\n      <h4>150 / MOFA</h4></span>\n      <span id="result" ><h3>Result:</h3>\n      <h4>235</h4></span>\n      <br class="clear" />\n      <div class="toolbox"><a href="#" onclick="javascript: return $.Profile.sendMes(<%uid%>);" class="message"></a><a href="#" onclick="javascript: return $.Profile.addFav(<%uid%>);" class="favorit"></a><a href="#" onclick="javascript: return $.Profile.addFriend(<%uid%>, $(\'#<%uid%>ulcont a\').text());" class="userplus"></a></div>\n   	  <div class="platz">28</div>\n    </div>\n    <br class="clear">\n  </div>\n</div>\n<br class="clear">\n</div>\n';
		if (wrap) html = '<span id="<%uid%>ulcont" class="wrap">'+html+'</span>';
		html = html.varReplace('uid', uid);
		return html;
	}
	
	this.getGameStartWin = function(tp){
		html = '<div class="message-h">\n	<h1><img src="/img/key.png">Deine Übungseinstellungen</h1>\n</div>\n<div class="message-c">\n	<input type="radio" name="lerntp" class="styled" checked="checked" value="0"/><span class="radiotext">20 Fragen</span>\n	<br class="clear">\n	<input type="radio" name="lerntp" class="styled" value="1"/><span class="radiotext">30 Fragen</span>\n	<br class="clear">\n	<br>\n	<input id="sofortPrufen" class="styled" type="checkbox"><span class="text">Antworten sofort prüfen</span>\n	<br class="clear">\n</div>\n<div class="message-f">\n<div class="left"><a href="#" onclick="javasctipt: return Lernsys.lsStart(<%tp%>)" class="mainbtn mainbtn-green">Übung starten</a></div>\n<div class="midl"></div>\n<div class="right"><a href="#" name="wclose" class="mainbtn mainbtn-yellow">Schließen</a></div>\n<br class="clear">\n</div>';
		html = html.varReplace('tp', tp);
		return html;
	}
	
	this.photoBox = function(tp){
		html = '<div class="photo-window">\n	<div class="photo-area"><div id="photoscroll" class="photoscroll"><div class="items" id="photoitems"></div></div></div>\n	\n\n<div class="tools">\n	<div class="bewertung">\n		<h1>Bildbewertung:</h1>\n		<span style="padding-left:60px">Note:<br><b class="green" id="brating">258.9</b></span><br/><br/><br/><br/>\n	</div>\n	<div class="text">Deine Bildbeschreibung:<br>\n		<textarea id="bdescr" cols="" rows="" class="bild-box" onkeyup="javascript: Album.onComChange()"></textarea></div>\n	<div class="toolbar"><a href="#" class="btndisabled" id="comSave" onclick="javascript:return Album.saveCPCom();">Speichern</a><a href="#" class="right" onclick="javascript:return Album.closeWWin();">Fenster schließen</a><br class="clear"></div>\n</div>';;
		return html;
	}
	this.gphotoBox = function(tp){
		html = '<div class="photo-window">\n	<div class="photo-area"><div id="photoscroll" class="photoscroll"><div class="items" id="photoitems"></div></div></div>\n	\n\n<div class="tools">\n	<div class="bewertung">\n		<h1>Bildbewertung:</h1>\n		 <a href="#" class="downhand" onclick="javascript: return Album.vote(0);"></a><span>Note:<br><b class="green" id="brating">258.9</b></span><a href="#" class="uphand" onclick="javascript: return Album.vote(1);"></a><br/><br/><br/><br/>\n	</div>\n	<div class="text">Dein Kompliment zu diesem Bild:<br>\n		<textarea id="bdescr" cols="" rows="" class="bild-box" onkeyup="javascript: Album.onComChange()"></textarea></div>\n	<div class="toolbar"><a href="#" class="btndisabled" id="comSave" onclick="javascript:return Album.addCompl();">Schreiben</a><a href="#" class="right" onclick="javascript:return Album.closeWWin();">Fenster schließen</a><br class="clear"></div>\n</div>';;
		return html;
	}
	
	this.ticketUnavailable = function(){
		html = '<div class="message-h">\n	<h1><img src="/img/key.png" class="stop"/>Achtung!</h1>\n</div>\n<div class="message-c">\n	<p>Diese Frage ist nur für Farschulisten mit Premium-Account sichtbar.<br>\n	Die Premium-Account erhältst Du <a href="/signup/">hier</a>\n</p>\n</div>\n<div class="message-f">\n<div class="left">&nbsp;</div>\n<div class="midl"><a href="#" onclick="javascript: return qwinClose();" class="mainbtn mainbtn-yellow">Schließen</a></div>\n<div class="right">&nbsp;</div>\n<br class="clear">\n</div>';
		return html;
	}
	
		
	this.onlyForRegistered = function(){
		html = '<div class="message-h">\n	<h1><img src="/img/key.png" class="stop">Achtung!</h1>\n</div>\n<div class="message-c">\n	<p>Um diese Funktion nutzen zu können, musst Du angemeldet sein!<br>\nBitte <a href="/fuehrerscheintest/">hier</a> anmelden.\n</p>\n</div>\n<div class="message-f">\n<div class="left">&nbsp;</div>\n<div class="midl"><a href="#" name="wclose" class="mainbtn mainbtn-yellow">Schließen</a></div>\n<div class="right">&nbsp;</div>\n<br class="clear">\n</div>';
		return html;
	}
	
	this.photoFirst = function(){
		html = UiHelp.mb('Achtung!', 'Bitte zuerst Dein Foto hochladen.');
		return html;
	}
	
	this.friendReq = function(uid, name){
		currentName = name;
		var str = 'Möchtest Du wirklich <b><%name%></b> als Freund aufnehmen?';
		str = str.varReplace('name', name);
		html = UiHelp.mb2('Freundschaft aufnehmen', str, '$.Profile.addFriendConfirm('+uid+', currentName)', 'Aufnehmen!');
		return html;
	}
	
	this.friendReqSent = function(name){
		html = '<div class="message-h">\n	<h1><img src="/img/key.png" class="stop">Achtung!</h1>\n</div>\n<div class="message-c">\n	<p>Wir haben Deine Freundschaftsanfrage geschickt, sobald <b><%name%></b> sie bestätigt, wird er in Deine Freundschaftsliste hinzugefügt.</p>\n</div>\n<div class="message-f">\n<div class="left">&nbsp;</div>\n<div class="midl"><a href="#" name="wclose" class="mainbtn mainbtn-yellow">Schließen</a></div>\n<div class="right">&nbsp;</div>\n<br class="clear">\n</div>';
		html = html.varReplace('name', name);
		return html;
	}
	
	this.addToFav = function(uid, name){
		var str = 'Möchtest Du wirklich <b><%name%></b> zu Favoriten hinzufügen?';
		str = str.varReplace('name', name);
		html = UiHelp.mb2('Zu Favoriten hinzufügen', str, '$.Profile.addFavConfirm('+uid+')', 'Hinzufügen!');
		return html;
	}
	
	this.dropFav = function(uid, name){
		var str = 'Soll <b><%name%></b> kein Favorit mehr sein?';
		str = str.varReplace('name', name);
		html = UiHelp.mb2('Kein Favorit mehr!', str, '$.Profile.dropFavConfirm('+uid+')', 'Kein Favorit!');
		return html;
	}
	
	this.addIgnore = function(uid, name){
		var str = 'Möchtest Du wirklich <b><%name%></b> in Deine Ignore-Liste eintragen?';
		str = str.varReplace('name', name);
		html = UiHelp.mb2('Ignorieren', str, '$.Profile.addIgnoreConfirm('+uid+')', 'Ignorieren!');
		return html;
	}
	
	this.dropIgnore = function(uid, name){
		var str = 'Möchtest Du wirklich das Ignore von <b><%name%></b> aufheben?';
		str = str.varReplace('name', name);
		html = UiHelp.mb2('Das Ignore wieder aufheben', str, '$.Profile.dropIgnoreConfirm('+uid+')', 'Aufheben!');
		return html;
	}
	//mesId, mesUid, mesStamp, message, jsusr
	this.textMessage = function(mid, uid, messtamp, text, jsusr ){
		html = '<div class="pumb">\n	<div class="leftblock"><div class="useravatar"><img src="/img/usr/<%uid%>/avatar.jpg?rev=<%arev%>" width="60"><div class="avatarbg"></div></div></div>\n	<div class="rightblock">\n		<h1>Du hast eine neue Nachricht!</h1>\n		<h3>von:</h3><h2><a href="/profile/<%uid%>"><img src="/img/key.png" class="<%sexcl%>"/><%nickname%></a></h2>\n		<br class="clear">\n		<h3><%onlineTtl%>:</h3><h4><%online%></h4><br class="clear">\n		<h3>Datum:</h3><h4><%messtamp%></h4>\n	</div></div>\n		<div class="pumb-message"><br class="clear"><div class="messagescrolltext"><span class="rte"><span class="mes"><%text%></span></span></div></div>\n		<div class="pumb-toolbar"><a href="#" onclick="javascript: return Messages.spam(<%mid%>)" class="left">Spam!</a><a href="#" onclick="javascript: return Messages.close(<%mid%>)" class="right">Schließen</a><a href="#" onclick="javascript: return $.Profile.replyTo(<%uid%>, <%mid%>)" class="right">Antworten</a></div>\n	<br class="clear"/><br/>';
		var sexcl = (jsusr.getSex()==1)?'mann':'frau';
		//vars - mid, uid, nickname, arev, sexcl, online, messtamp, text, 
		html = html.varReplace('uid', uid);
		html = html.varReplace('mid', mid);
		html = html.varReplace('nickname', jsusr.getNickname());
		html = html.varReplace('arev', jsusr.getArev());
		html = html.varReplace('sexcl', sexcl);
		html = html.varReplace('onlineTtl', jsusr.onlineTitle());
		html = html.varReplace('online', jsusr.onlineTxt());
		html = html.varReplace('messtamp', friendlyDateTime(messtamp));
		html = html.varReplace('text', text);
		return html;
		
	}
	
	this.actionMessage = function(mid, uid, messtamp, jsusr, title, text, action1, action1text, action2, action2text){
		html = '<div class="system-message">\n	<h1><%title%></h1>\n	<h3><%mesfulstamp%></h3>\n	<h5>Hallo <%cuserfname%>!</h5>\n	<p><%text%></p>\n	<div class="system-message-bottom"></div>\n	<div class="system-message-user">\n		<div class="leftblock"><div class="useravatar"><img src="/img/usr/<%uid%>/avatar.jpg?rev=<%arev%>" width="60"><div class="avatarbg"></div></div></div>\n		<div class="rightblock">\n		<h2><a href="/profile/<%uid%>"><img src="/img/key.png" class="<%sexcl%>"/><%nickname%></a></h2>\n		<h3>Alter:</h3><h4><%age%> / <%sexnm%></h4>\n		<h3>Route:</h3><h4>ca. <%distance%> km von Dir</h4>\n		<h3>FS-IQ:</h3><h4>+153</h4>\n		<h3><%onlineTtl%>:</h3><h4><%online%></span></h4></div>\n	</div>\n	</div>\n<div class="system-message-f"><a  href="#" onclick="javascript: return <%action1%>" class="left"><%action1text%></a><a href="#" onclick="javascript: return <%action2%>" class="right"><%action2text%></a></div>';
		var sexcl = (jsusr.getSex()==1)?'mann':'frau';
		var sexnm = (jsusr.getSex()==1)?'männlich':'weiblich';
		html = html.varReplace('uid', uid);
		html = html.varReplace('mid', mid);
		html = html.varReplace('nickname', jsusr.getNickname());
		html = html.varReplace('arev', jsusr.getArev());
		html = html.varReplace('sexcl', sexcl);
		html = html.varReplace('sexnm', sexnm);
		html = html.varReplace('onlineTtl', jsusr.onlineTitle());
		html = html.varReplace('online', jsusr.onlineTxt());
		html = html.varReplace('age', jsusr.getAge());
		html = html.varReplace('distance', jsusr.getDist());
		html = html.varReplace('mesfulstamp', friendlyFullDateTime(messtamp));
		html = html.varReplace('cuserfname', CurUser.fname);
		html = html.varReplace('text', text);
		html = html.varReplace('title', title);
		html = html.varReplace('action1', action1);
		html = html.varReplace('action2', action2);
		html = html.varReplace('action1text', action1text);
		html = html.varReplace('action2text', action2text);
		return html;
		
	}
	
	this.infoMessageUsr = function(mid, uid, messtamp, jsusr, title, text){
	
		html = '<div class="system-message">\n	<h1><%title%></h1>\n	<h3><%mesfulstamp%></h3>\n	<h5>Hallo <%cuserfname%>!</h5>\n	<p><%text%></p>\n	<div class="system-message-bottom"></div>\n	<div class="system-message-user">\n		<div class="leftblock"><div class="useravatar"><img src="/img/usr/<%uid%>/avatar.jpg?rev=<%arev%>" width="60"><div class="avatarbg"></div></div></div>\n		<div class="rightblock">\n		<h2><a href="/profile/<%uid%>"><img src="/img/key.png" class="<%sexcl%>"/><%nickname%></a></h2>\n		<h3>Alter:</h3><h4><%age%> / <%sexnm%></h4>\n		<h3>Route:</h3><h4>ca. <%distance%> km von Dir</h4>\n		<h3>FS-IQ:</h3><h4>+153</h4>\n		<h3><%onlineTtl%>:</h3><h4><%online%></span></h4></div>\n	</div>\n	</div>\n<div class="system-message-f"><a href="#" onclick="javascript: return Messages.closeCur()" class="right">Schließen</a></div>';
		var sexcl = (jsusr.getSex()==1)?'mann':'frau';
		var sexnm = (jsusr.getSex()==1)?'männlich':'weiblich';
		html = html.varReplace('uid', uid);
		html = html.varReplace('mid', mid);
		html = html.varReplace('nickname', jsusr.getNickname());
		html = html.varReplace('arev', jsusr.getArev());
		html = html.varReplace('sexcl', sexcl);
		html = html.varReplace('sexnm', sexnm);
		html = html.varReplace('onlineTtl', jsusr.onlineTitle());
		html = html.varReplace('online', jsusr.onlineTxt());
		html = html.varReplace('age', jsusr.getAge());
		html = html.varReplace('distance', jsusr.getDist());
		html = html.varReplace('mesfulstamp', friendlyFullDateTime(messtamp));
		html = html.varReplace('cuserfname', CurUser.fname);
		html = html.varReplace('text', text);
		html = html.varReplace('title', title);
		return html;	
	}
	
	this.infoMessage = function(title, text, mid, messtamp){
		html = '<div class="system-message">\n	<h1><%title%></h1>\n	<h3><%mesfulstamp%></h3>\n	<h5>Hallo <%cuserfname%>!</h5>\n	<p><%text%></p>\n	<div class="system-message-bottom"></div>\n	</div>\n<div class="system-message-f"><a href="#" onclick="javascript: return Messages.closeCur()" class="right">Schließen</a></div>';

		html = html.varReplace('mid', mid);
		html = html.varReplace('mesfulstamp', friendlyFullDateTime(messtamp));
		html = html.varReplace('cuserfname', CurUser.fname);
		html = html.varReplace('text', text);
		html = html.varReplace('title', title);
		return html;	
		
	}
	
	this.mb2 = function(title, text, action, btn){
		html = '<div class="message-h">\n	<h1><img src="/img/key.png" class="stop"><%title%></h1>\n</div>\n<div class="message-c">\n	<p><%text%>\n</p>\n</div>\n<div class="message-f">\n<div class="left"><a href="#" onclick="javascript: return <%action%>" id="mbact" class="mainbtn mainbtn-yellow"><%btntext%></a></div>\n<div class="midl">&nbsp;</div>\n<div class="right"><a href="#" name="wclose" class="mainbtn mainbtn-yellow" id="mbclose">Schließen</a></div>\n<br class="clear">\n</div>';
		
		html = html.varReplace('title', title);
		html = html.varReplace('text', text);
		html = html.varReplace('action', action);
		html = html.varReplace('btntext', btn);
		
		return html;
		
	}
	
	this.mb = function(title, text, btn){
		if (!btn) btn = 'Schließen';
		html = '<div class="message-h">\n	<h1><img src="/img/key.png" class="stop"><%title%></h1>\n</div>\n<div class="message-c">\n	<p><%text%>\n</p>\n</div>\n<div class="message-f">\n<div class="left">&nbsp;</div>\n<div class="midl"><a href="#" name="wclose" class="mainbtn mainbtn-yellow" id="mbclose"><%btntext%></a></div>\n<div class="right">&nbsp;</div>\n<br class="clear">\n</div>';
		
		html = html.varReplace('title', title);
		html = html.varReplace('text', text);
		html = html.varReplace('btntext', btn);
		
		return html;
		
	}
	
}
UiHelp = new UiHelp();

function JSUsr(jsstr){
	var parsed = jsstr.split1();
	var id = parseInt(parsed[0]);
	var online = parseInt(parsed[1]);
	var nickname = parsed[2];
	var sex = parseInt(parsed[3]);
	var arev = parseInt(parsed[4]);
	var iq = parseInt(parsed[5]);
	var age = parseInt(parsed[6]);
	var dist = parseInt(parsed[7]);
	var city = parsed[8];
	this.setId = function(val){
		id = val;
	}
	
	this.getId = function(val){
		return id;
	}
	this.setOnline = function(val){
		online = val;
	}
	
	this.getOnline = function(val){
		return online;
	}
	this.setNickname = function(val){
		nickname = val;
	}
	
	this.getNickname = function(val){
		return nickname;
	}
	this.setSex = function(val){
		sex = val;
	}
	
	this.getSex = function(val){
		return sex;
	}
	this.setArev = function(val){
		arev = val;
	}
	
	this.getArev = function(val){
		return arev;
	}
	this.setIq = function(val){
		iq = val;
	}
	
	this.getIq = function(val){
		return iq;
	}
	this.setAge = function(val){
		age = val;
	}
	
	this.getAge = function(val){
		return age;
	}
	this.setDist = function(val){
		dist = val;
	}
	
	this.getDist = function(val){
		return dist;
	}
	this.setCity = function(val){
		city = val;
	}
	
	this.getCity = function(val){
		return city;
	}
	this.toString = function(){
		html = '';
html += "id:"+this.getId()+'\n';
html += "online:"+this.getOnline()+'\n';
html += "nickname:"+this.getNickname()+'\n';
html += "sex:"+this.getSex()+'\n';
html += "arev:"+this.getArev()+'\n';
html += "iq:"+this.getIq()+'\n';
html += "age:"+this.getAge()+'\n';
html += "dist:"+this.getDist()+'\n';
html += "city:"+this.getCity()+'\n';
		return html;
	}
	
}
	JSUsr.prototype.onlineTitle = function(){
		if (this.getOnline()>0) return 'war da';
		return 'status';
	}
	
	JSUsr.prototype.getTxtNick = function(){
		return this.getNickname();
	}
	
	JSUsr.prototype.getSexCl = function(){
		if (this.getSex()==0) return 'frau';
		if (this.getSex()==1) return 'mann';
		if (this.getSex()==2) return 'gast';
		return 'gast';
	}
	
	JSUsr.prototype.onlineTxt = function(){
		if (this.getOnline()>0) return friendlyDateTime(this.getOnline());
		return '<span><img src="/img/online.gif" width="35" height="12" /></span>';
	}
	
function JSGameUsr(jsstr){
	var parsed = jsstr.split1();
	var uid = parseInt(parsed[0]);
	var stat = parsed[1];
	var marks = parsed[2];
	var pos = parseInt(parsed[3]);
	var curq = parseInt(parsed[4]);
	var curstart = parseInt(parsed[5]);
	var score = parseInt(parsed[6]);
	var curans = parsed[7];
	var seit = parseInt(parsed[8]);
	this.setUid = function(val){
		uid = val;
	}
	
	this.getUid = function(val){
		return uid;
	}
	this.setStat = function(val){
		stat = val;
	}
	
	this.getStat = function(val){
		return stat;
	}
	this.setMarks = function(val){
		marks = val;
	}
	
	this.getMarks = function(val){
		return marks;
	}
	this.setPos = function(val){
		pos = val;
	}
	
	this.getPos = function(val){
		return pos;
	}
	this.setCurq = function(val){
		curq = val;
	}
	
	this.getCurq = function(val){
		return curq;
	}
	this.setCurstart = function(val){
		curstart = val;
	}
	
	this.getCurstart = function(val){
		return curstart;
	}
	this.setScore = function(val){
		score = val;
	}
	
	this.getScore = function(val){
		return score;
	}
	this.setCurans = function(val){
		curans = val;
	}
	
	this.getCurans = function(val){
		return curans;
	}
	this.setSeit = function(val){
		seit = val;
	}
	
	this.getSeit = function(val){
		return seit;
	}
	this.toString = function(){
		html = '';
html += "uid:"+this.getUid()+'\n';
html += "stat:"+this.getStat()+'\n';
html += "marks:"+this.getMarks()+'\n';
html += "pos:"+this.getPos()+'\n';
html += "curq:"+this.getCurq()+'\n';
html += "curstart:"+this.getCurstart()+'\n';
html += "score:"+this.getScore()+'\n';
html += "curans:"+this.getCurans()+'\n';
html += "seit:"+this.getSeit()+'\n';
		return html;
	}
	
}
	JSGameUsr.prototype.getId = function(){
		return this.getUid();
	};

