﻿var do_login_w=0;
var do_forgot_w=0;

var login_server_err_txt='<font color="red">Server error, please try again</font>';

function createReqObj()
{
 if (window.XMLHttpRequest)
 {
  try 
  {
   return new XMLHttpRequest;
  } catch (e) {}
 }
 else if (window.ActiveXObject)
 {
  try 
  {
   return new ActiveXObject('Msxml2.XMLHTTP');
  } catch (e) {}
  try 
  {
   return new ActiveXObject('Microsoft.XMLHTTP');
  } catch (e) {}
 }
 alert("This browser does not support XMLHttpRequest.");
 return null;
}

function disable_win()
	{
	var ptr=document.getElementById("div_disable");
	if (ptr!=null)
		{
		var len=document.body.offsetHeight;
		var ht="100%";
		if (len=='') len=0;
		if (len>0) {len=len-120;if (len>0) ht=len+"px";}
		ptr.innerHTML="<table width=\"100%\" height=\""+ht+"\"><tr><td>&nbsp;</td></tr></table>";
		ptr.style.display="";
		}
	}
function enable_win()
	{
	var ptr=document.getElementById("div_disable");
	if (ptr!=null)
		{
		ptr.style.display="none";
		ptr.innerHTML="";
		}	
	}
function reload_captcha(id)
	{
	var ptr=document.getElementById(id);
	if (ptr!=null) 
		{
		ptr.src='/images/spacer.gif';
		ptr.src='/captcha.jpg?id='+(Math.random() * 1000000000);
		}
	}	
function reload_page()
	{
	document.location.reload();
	}	

function login_do(sid,uname_id,passwd_id,tr_id,err_id)
	{
	if (do_login_w==1) return;
	do_login_w=1;
	var ptr;
	var cur_uname="";
	var cur_passwd="";
	ptr=document.getElementById(uname_id);
	if (ptr!=null) cur_uname=ptr.value;
	ptr=document.getElementById(passwd_id);
	if (ptr!=null) cur_passwd=ptr.value;
	disable_win();
	ptr=document.getElementById(tr_id);if (ptr!=null) ptr.style.display="";
	var req = createReqObj();
	var str = '/index.php?module=login&uname='+encodeURIComponent(cur_uname)+'&passwd='+encodeURIComponent(cur_passwd)+'&sid='+encodeURIComponent(sid)+'&id='+(Math.random() * 1000000000);
	req.open('GET', str, true);
	req.setRequestHeader("If-Modified-Since", "Sat, 1 Jan 1980 00:00:00 GMT");
	req.onreadystatechange = function()
		{
  		try
	  		{
	  		if (req.readyState == 4)
	  			{
	   			if (req.status == 200) 
	   				{
	    				var r = req.responseText.length;
	    				if (r>0)
	    					{
	    					var txt=req.responseText;
	    					var ddt=txt.split("|",9);
	    					txt=ddt[0];
						var erresp="";
						if ((txt!="0") && (txt!="1")) erresp+=login_server_err_txt;
						if (txt=="0") erresp+='<font color="red">שגיאה: אימייל או סיסמה שגויה</font><br>';
						var ptr=document.getElementById(tr_id);if (ptr!=null) ptr.style.display="none";
		   				enable_win();
	    					if (erresp!='')
	    						{
			   				ptr=document.getElementById(err_id);
			   				ptr.innerHTML=erresp;
	    						}
	    					do_login_w=0;
	    					if (txt=="1") reload_page();
	    					}
	    					else 
	    					{
		   				var ptr=document.getElementById(tr_id);if (ptr!=null) ptr.style.display="none";
		   				enable_win();
		   				ptr=document.getElementById(err_id);
		   				ptr.innerHTML=login_server_err_txt;
	    					do_login_w=0;
	    					}
	   				}
	   				else
	   				{
	   				var ptr=document.getElementById(tr_id);if (ptr!=null) ptr.style.display="none";
	   				enable_win();
	   				ptr=document.getElementById(err_id);
	   				ptr.innerHTML=login_server_err_txt;
	   				do_login_w=0;
	   				}
	   				
	   				
	   			}
	   		}
	   	catch (e)
	   		{
			var ptr=document.getElementById(tr_id);if (ptr!=null) ptr.style.display="none";
			enable_win();
			ptr=document.getElementById(err_id);
			ptr.innerHTML=login_server_err_txt;
			do_login_w=0;
	   		}
   		}
  	req.send(null); 
	}
	
function forgot_do(sid,uname_id,passwd_id,tr_id,err_id,captcha_id,boxok_id)
	{
	if (do_forgot_w==1) return;
	do_forgot_w=1;
	var ptr;
	var cur_uname="";
	var cur_passwd="";
	ptr=document.getElementById(uname_id);
	if (ptr!=null) cur_uname=ptr.value;
	ptr=document.getElementById(passwd_id);
	if (ptr!=null) cur_passwd=ptr.value;
	disable_win();
	ptr=document.getElementById(tr_id);if (ptr!=null) ptr.style.display="";
	var req = createReqObj();
	var str = '/index.php?module=forgot&uname='+encodeURIComponent(cur_uname)+'&code='+encodeURIComponent(cur_passwd)+'&sid='+encodeURIComponent(sid)+'&id='+(Math.random() * 1000000000);
	req.open('GET', str, true);
	req.setRequestHeader("If-Modified-Since", "Sat, 1 Jan 1980 00:00:00 GMT");
	req.onreadystatechange = function()
		{
  		try
	  		{
	  		if (req.readyState == 4)
	  			{
	   			if (req.status == 200) 
	   				{
	    				var r = req.responseText.length;
	    				if (r>0)
	    					{
	    					var txt=req.responseText;
	    					var ddt=txt.split("|",9);
	    					txt=ddt[0];
						var erresp="";
						if (((txt!="0") && (txt!="1")) && (txt!="2")) erresp+=login_server_err_txt;
						if (txt=="0") erresp+='<font color="red">Error: This Email is not registered</font><br>';
						if (txt=="2") erresp+='<font color="red">Error: Code is invalid</font><br>';
						var ptr=document.getElementById(tr_id);if (ptr!=null) ptr.style.display="none";
		   				enable_win();
	    					if (erresp!='')
	    						{
			   				ptr=document.getElementById(err_id);
			   				ptr.innerHTML=erresp;
	    						}
	    					do_forgot_w=0;
	    					reload_captcha(captcha_id);
	    					if (txt=="1") eval (boxok_id);
	    					}
	    					else 
	    					{
		   				var ptr=document.getElementById(tr_id);if (ptr!=null) ptr.style.display="none";
		   				enable_win();
		   				ptr=document.getElementById(err_id);
		   				ptr.innerHTML=login_server_err_txt;
	    					do_forgot_w=0;
	    					reload_captcha(captcha_id);
	    					}
	   				}
	   				else
	   				{
	   				var ptr=document.getElementById(tr_id);if (ptr!=null) ptr.style.display="none";
	   				enable_win();
	   				ptr=document.getElementById(err_id);
	   				ptr.innerHTML=login_server_err_txt;
	   				do_forgot_w=0;
	   				reload_captcha(captcha_id);
	   				}
	   				
	   				
	   			}
	   		}
	   	catch (e)
	   		{
			var ptr=document.getElementById(tr_id);if (ptr!=null) ptr.style.display="none";
			enable_win();
			ptr=document.getElementById(err_id);
			ptr.innerHTML=login_server_err_txt;
			do_forgot_w=0;
			reload_captcha(captcha_id);
	   		}
   		}
  	req.send(null); 
	}
