function pt_LoginInit(p_sNameEl,p_sPassEl,p_sBtnEl,p_sOutEl)
{
	var xNameEl=$(p_sNameEl);
	var xPassEl=$(p_sPassEl);
	var xBtnEl=$(p_sBtnEl);
	var xOutEl=$(p_sOutEl);
	if(!xNameEl){return;};
	if(!xPassEl){return;};
	if(!xBtnEl){return;};
	if(!xOutEl){return;};
	
	xNameEl.focus();
	xNameEl.value='';
	xPassEl.value='';
	xNameEl.onkeyup=function(e) {
		if(!e){e=window.event;};
		var iKeyCode=0;
		if(typeof(e.keyCode)=='number'){iKeyCode=e.keyCode;}else if (typeof(e.which)=='number'){iKeyCode=e.which;};
		if(iKeyCode==13){
			xPassEl.focus();
		};
	};
	xPassEl.onkeyup=function(e) {
		if(!e){e=window.event;};
		var iKeyCode=0;
		if(typeof(e.keyCode)=='number'){iKeyCode=e.keyCode;}else if (typeof(e.which)=='number'){iKeyCode=e.which;};
		if(iKeyCode==13){
			xBtnEl.onclick();
		};
	};
	xOutEl.innerHTML='';
	xBtnEl.onclick=function() {
		var xRPC=new VXHR();
		xRPC.SetURL("userauth.xrq");
		xRPC.SetFunction("getticket");
		xRPC.OnSucceed=function() {
			var sAuthTicket;
			var sT;eval(xRPC.m_sResultText);sAuthTicket=sT;

			var sChResp=MD5(sAuthTicket+"*"+xPassEl.value);
		
			var xRPC2=new VXHR();
			xRPC2.SetURL("userauth.xrq");
			xRPC2.SetFunction("login");
			xRPC2.SetParam("name",xNameEl.value);
			xRPC2.SetParam("chres",sChResp);
			xRPC2.SetParam("ticket",sAuthTicket);
			xRPC2.OnSucceed=function()
			{
				if(xRPC2.m_sResultText=="ok") {
					window.location=g_sLoginForward1;
					return;};
				if(xRPC2.m_sResultText=="no_timeout") {xRPC2.SendDelayed(1000);return;};
				var aR=xRPC2.m_sResultText.split("\\");
				if(aR.length>0&&aR[0]=="invalid_ticket") {xOutEl.innerHTML="Das Login Ticket ist ungültig.\nBitte versuchen Sie es erneut.\n"+aR[1];return;};
				if(xRPC2.m_sResultText=="invalid_userpass") {xOutEl.innerHTML="Invalid login";return;};
				xOutEl.innerHTML="Error: "+xRPC2.m_sResultText;
			};
			xRPC2.OnFail=function()
			{
				xOutEl.innerHTML+="Internal Error";
			};
			xRPC2.Send();
		};
		xRPC.Send();
	};
};

function pt_DoLogout()
{
	var xRPC=new VXHR();
	xRPC.SetURL("userauth.xrq");
	xRPC.SetFunction("logout");
	xRPC.OnSucceed=function() {window.location="/";};
	xRPC.Send();
};

function pt_RegisterP(p_sNameID,p_sPersonID,p_sEMailID,p_pcsrID,p_pngoID,p_pgameID,p_sForm,p_sSucc)
{
	var xNameEl=$(p_sNameID);
	var xPersonEl=$(p_sPersonID);
	var xEMailEl=$(p_sEMailID);
	
	if(xNameEl.value.length<1)
	{
		alert("Error: Missing Name");
		return;
	};
	if(xPersonEl.value.length<1)
	{
		alert("Error: Missing Person");
		return;
	};
	if(xEMailEl.value.length<7)
	{
		alert("Error: Invalid EMail");
		return;
	};

	var xECsrEl=$(p_pcsrID);
	var xENgoEl=$(p_pngoID);
	var xEGamEl=$(p_pgameID);
	
	if(!p_sForm) {p_sForm='preg_form';};
	if(!p_sSucc) {p_sSucc='preg_succ';};
	
	//alert(xECsrEl.checked);
	
	var xRPC2=new VXHR();
	xRPC2.SetURL("userauth.xrq");
	xRPC2.SetFunction("getticket");
	xRPC2.OnSucceed=function()
	{
		var sAuthTicket;
		var sT;eval(xRPC2.m_sResultText);sAuthTicket=sT;
		var xRPC=new VXHR();
		xRPC.SetURL("userauth.xrq");
		xRPC.SetFunction("register_partner");
		xRPC.SetParam("ticket", sAuthTicket)
		xRPC.SetParam("name", xNameEl.value);
		xRPC.SetParam("person",xPersonEl.value);
		xRPC.SetParam("email",xEMailEl.value);
		xRPC.SetParam("csr",xECsrEl.checked?1:0);
		xRPC.SetParam("ngo",xENgoEl.checked?1:0);
		xRPC.SetParam("gam",xEGamEl.checked?1:0);
		xRPC.OnSucceed=function()
		{
			if(xRPC.m_sResultText=="ok"||xRPC.m_sResultText=="ok2")
			{
				$(p_sForm).style.display="none";
				$(p_sSucc).style.display="";
				return;
			}
			else if(xRPC.m_sResultText=="no_timeout")
			{
				//xOutEl.innerHTML="retrying...";
				xRPC.SendDelayed(100);
				return;
			}
			else if(xRPC.m_sResultText=="invalid_request")
			{
				alert("invalid request!");window.location.href="/";
				return;
			}
			else
			{
				alert("Error: "+xRPC.m_sResultText);
				//xOutEl.innerHTML="<p class='regerror'>Error: "+xRPC.m_sResultText+"</p>";
			};
		};
		xRPC.OnFail=function()
		{
			//xOutEl.innerHTML="rpc fail";
		};
		xRPC.Send();
		//xOutEl.innerHTML="Sending...<img src='/images/hourglass2.gif'>";
	};
	xRPC2.Send();
};

function pt_Register(p_sNameID, p_sPwID, p_sPwcID, p_sNickID, p_sEmailID, p_sAgeID)
{
	var xNameEl=$(p_sNameID);
	var xPassEl=$(p_sPwID);
	var xPasscEl=$(p_sPwcID);
	var xNickEl=$(p_sNickID);
	var xEmailEl=$(p_sEmailID);
	var xAgeEl=$(p_sAgeID);
	
	if(!xNameEl){xNameEl=xNickEl;};
	if(!xNickEl){xNickEl=xNameEl;};
	if(!xEmailEl){return;};
	
	if(!xPassEl){return;};
	if(!xPasscEl){return;};
	
	if(!xAgeEl){return;};
	
	if(xNickEl.value.length<4)
	{
		alert("Error: Nick min 4 chars");
		return;
	}
	else if(xNickEl.value.length>18)
	{
		alert("Error: Nick max 18 chars");
		return;
	}
	if(xPassEl.value!=xPasscEl.value)
	{	
		alert("Error: password missmatch");
		return;
	}
	
	var xRPC2=new VXHR();
	xRPC2.SetURL("userauth.xrq");
	xRPC2.SetFunction("getticket");
	xRPC2.OnSucceed=function()
	{
		var sAuthTicket;
		var sT;eval(xRPC2.m_sResultText);sAuthTicket=sT;
		var sChResp=MD5(sAuthTicket+"*"+xPassEl.value);
		var xRPC=new VXHR();
		xRPC.SetURL("userauth.xrq");
		xRPC.SetFunction("register");
		xRPC.SetParam("ticket", sAuthTicket)
		xRPC.SetParam("name", xNameEl.value);
		xRPC.SetParam("pw",xPassEl.value);
		xRPC.SetParam("nick",xNickEl.value);
		xRPC.SetParam("email",xEmailEl.value);
		xRPC.SetParam("login",1);
		xRPC.SetParam("lang",g_L.lang);
		xRPC.SetParam("nl",xAgeEl.checked?1:0);
		xRPC.OnSucceed=function()
		{
			if(xRPC.m_sResultText=="ok"||xRPC.m_sResultText=="ok2")
			{
				//xOutEl.innerHTML="Registration successfull";
				//alert("Registrierung erfolgreich. Bestätigungsmail wird verschickt...");
				//setTimeout(function(){window.location="/";},10);
				$("ureg_form").style.display="none";
				$("ureg_succ").style.display="";
				return;
			}
			else if(xRPC.m_sResultText=="no_timeout")
			{
				//xOutEl.innerHTML="retrying...";
				xRPC.SendDelayed(100);
				return;
			}
			else if(xRPC.m_sResultText=="invalid_request")
			{
				alert("invalid request!");window.location.href="/";
				return;
			}
			else
			{
				alert("Error: "+xRPC.m_sResultText);
				//xOutEl.innerHTML="<p class='regerror'>Error: "+xRPC.m_sResultText+"</p>";
			};
		};
		xRPC.OnFail=function()
		{
			//xOutEl.innerHTML="rpc fail";
		};
		xRPC.Send();
		//xOutEl.innerHTML="Sending...<img src='/images/hourglass2.gif'>";
	};
	xRPC2.Send();
};

function v_Register(p_sKey)
{
	var xRPC=new VXHR();
	xRPC.SetURL("userauth.xrq");
	xRPC.SetFunction("verify");
	xRPC.SetParam("key",p_sKey);
	xRPC.OnSucceed=function()
	{
		if(xRPC.m_sResultText=="ok") {window.location.href="/";return;};
		if(xRPC.m_sResultText=="invalid_request") {alert("Die Registrierungsanfrage ist ungültig!");window.location.href="/";return;};
		alert("Fehler "+xRPC.m_sResultText);
	};
	xRPC.Send();
};

function v_Register(p_sKey)
{
	var xRPC=new VXHR();
	xRPC.SetURL("userauth.xrq");
	xRPC.SetFunction("verify");
	xRPC.SetParam("key",p_sKey);
	xRPC.OnSucceed=function()
	{
		if(xRPC.m_sResultText=="ok") {window.location.href="/";return;};
		if(xRPC.m_sResultText=="invalid_request") {alert("Die Registrierungsanfrage ist ungültig!");window.location.href="/";return;};
		alert("Fehler "+xRPC.m_sResultText);
	};
	xRPC.Send();
};

function v_PWReset(p_sKey,p_sPW)
{
	var xRPC=new VXHR();
	xRPC.SetURL("userauth.xrq");
	xRPC.SetFunction("pwreset");
	xRPC.SetParam("key",p_sKey);
	xRPC.SetParam("pw",p_sPW);
	xRPC.OnSucceed=function()
	{
		if(xRPC.m_sResultText=="ok") {window.location.href="/";return;};
		if(xRPC.m_sResultText=="invalid_request") {alert("Die Anfrage ist ungültig!");return;};
		alert("Fehler "+xRPC.m_sResultText);
	};
	xRPC.Send();
};

function SubmitPWForgot()
{
	$('email_submit').style.display="none";
	var xRes=$('email_result');
	xRes.innerHTML="";
	var sEMail=$('email_enter').value;
	sEMail=String(sEMail);
	if(sEMail.length<6||sEMail.indexOf('@')==-1) {xRes.innerHTML="invalid email adress";return;};

	var xRPC=new VXHR();
	xRPC.SetURL("userauth.xrq");
	xRPC.SetFunction("pwforgot");
	xRPC.SetParam("email",sEMail);
	xRPC.OnSucceed=function()
	{
		if(xRPC.m_sResultText=="ok") {xRes.innerHTML="ok";return;};
		$('email_submit').style.display="";
		xRes.innerHTML="Error: "+xRPC.m_sResultText;
	};
	xRPC.Send();
};

function ShowPWForgot()
{
	var sPIC="";
	sPIC+="<div style='margin-left:10px;margin-top:20px;overflow:auto;color:white;' id='impd'>";
	sPIC+="<span>"+g_L.register_field_email+":</span>";
	sPIC+="<input id='email_enter'/>";
	sPIC+="<button id='email_submit' onclick='SubmitPWForgot();'>"+g_L.register_partner_submit+"</button>";
	sPIC+="<br><span style='color:orange;' id='email_result'>...</span>";
	sPIC+="</div>";
	
	var xPop=new InfoPopup2(400,180);
	xPop.Show(sPIC,encodeURIComponent(g_L.generic_pwforgot));
};

