var g_isSigninWorking   = false;
var g_onSuccessLogin    = null;
var g_loginCallbackData = null;

function onShow()
{
	var email = document.getElementById("txtEmail");
    email.focus();
	
	var pass        = document.getElementById("txtPassword"); 
	
    pass.onkeypress  = onEnterClicked;
}

function showLoginWindow(onSuccessLogin, loginCallbackData, registerCallback)
{
	g_onSuccessLogin    = onSuccessLogin;
	g_loginCallbackData = loginCallbackData;
	g_registerCallback  = registerCallback;
	
    showWindow("/UserSignInAction.ns?action=signin_box", onShow, "Sign in to eSnips", 440, 250);
}

function onEnterClicked(evt)
{
    var e = evt? evt : window.event; 

	if (e.keyCode == 13)
	{
	  e.returnValue = false;
	  signIn();
	}		  
}

function signIn()
{
    if (g_isSigninWorking == true)
	  return;

	g_isSigninWorking = true;

	var email       = document.getElementById("txtEmail").value;
	var pass        = document.getElementById("txtPassword").value; 
	var rememberMe	= document.getElementById("chkRememberMe").checked;
	
	var signinStatus = document.getElementById("signinStatus");
	signinStatus.innerHTML = "<img hspace='10' align='absmiddle' src='/images/indicator.gif'/> Signing in...";

   var url = "/UserSignInAction.ns?action=inline_signin&email="+email+"&password="+ pass + "&rememberMe=" + rememberMe + "&ts="+new Date().getTime();
   
   sendEvent(url, handleSigninHttpResponse);
}

 function handleSigninHttpResponse() {
  
   if (http.readyState != 4)  
     return;
	
   g_isSigninWorking = false;
	
   var response = http.responseText;
   
   // alert(response);
	var signinStatus = document.getElementById("signinStatus");
   
   if (response == 'ok')
   {
	   // g_window.style.display = "none";
	   g_window.hide();	
	   
	   if (g_onSuccessLogin == null)
	     window.location.reload(false); 
	   else
	     g_onSuccessLogin(g_loginCallbackData);
   }
   else
   {
	   signinStatus.innerHTML = response;
   }
   
   showEmbeddedObjects();
 }
 
 /* Register Window */
var g_isRegisterWorking   = false;
var g_onSuccessRegister    = null;
var g_registerCallbackData = null;
var g_registerCallback	  = null;

function performRegistration()
{
	if (g_registerCallback == null)
	  showRegisterWindow(null, null);
	else  
	  g_registerCallback();
}

function showRegisterWindow(onSuccessRegister, registerCallbackData)
{
	g_onSuccessRegister    = onSuccessRegister;
	g_registerCallbackData = registerCallbackData;
	
	showWindow("/NewAccountAction.ns?action=register_box", onShowRegister, "eSnips Signup", 440, 340);
}
 
function onShowRegister()
{
	var email = document.getElementById("txtEmail");
    email.focus();
}
 
function registerUser()
{
     if (g_isRegisterWorking == true)
	  return;

	if (! ns_ValidateNewUser() )
      return;

	g_isRegisterWorking = true;

	var registerStatus = document.getElementById("registerStatus");
	registerStatus.innerHTML = "<img hspace='10' align='absmiddle' src='/images/indicator.gif'/> Signing up...";

	var email       = document.getElementById("txtEmail").value;
	var pass        = document.getElementById("txtPassword").value; 
	var captcha	    = document.getElementById("jcaptcha_response").value;

	var url = "/NewAccountAction.ns?action=inline_join&email="+email+"&password="+ pass + "&jcaptcha_response=" + captcha + "&ts="+new Date().getTime();
   
    sendEvent(url, handleRegisterHttpResponse);
}
 
 function handleRegisterHttpResponse() {
  
   if (http.readyState != 4)  
     return;
	
   g_isRegisterWorking = false;
	
   var response = http.responseText;
   
   var registerStatus = document.getElementById("registerStatus");
   
   if (response == 'ok')
   {
	   //g_window.style.display = "none";
	   g_window.hide();	

	   if (g_onSuccessRegister == null)
	     window.location.reload(false); 
	   else
	     g_onSuccessRegister(g_registerCallbackData);
	   
   }
   else
   {
	   registerStatus.innerHTML = response;
	   var captchaImage = document.getElementById("jcaptcha");

	   if (captchaImage != null)
	   {
		   // refresh jcaptcha 
		   captchaImage.src = "/jcaptcha?ts=" + new Date().getTime();
	   }
   }
   
   showEmbeddedObjects();
}
