var g_isSigninWorking   = false;
var g_onSuccessLogin    = null;
var g_loginCallbackData = null;
var g_isForgotWorking = false;
var g_isForgotWorkingPage = false;

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;
	popIt('signIpop');
    //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()
{
	clearAllErrMessages();
    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 forgotPasswordAjax()
{
	clearAllErrMessages();
	 if (g_isForgotWorking == true)
		  return;

	    g_isForgotWorking = true;
	    
	eventTarget = 'inline_forgot';
	var theform;
	if (window.navigator.appName.toLowerCase().indexOf("netscape") > -1) {
		theform = document.forms["FormForgotPassword"];
	}
	else {
		theform = document.FormForgotPassword;
	}

	theform.ns_EventTarget.value   = eventTarget.split("$").join(":");
	theform.ns_EventArgument.value = '';

	var email       = $('#email').val();
	var signinStatus = document.getElementById("forgotStatus");
	signinStatus.innerHTML = "<img hspace='10' align='absmiddle' src='/images/indicator.gif'/> Sending password...";
   var url = "/ForgotPasswordAction.ns?action=inline_forgot&email="+email+ "&ts="+new Date().getTime();

   sendEvent(url, handleForgotHttpResponse);
}

function forgotPasswordAjaxPage()
{

	 if (g_isForgotWorkingPage == true)
		  return;

	    g_isForgotWorkingPage = true;
	    
	eventTarget = 'inline_forgot';
	var theform;
	if (window.navigator.appName.toLowerCase().indexOf("netscape") > -1) {
		theform = document.forms["FormForgotPassword"];
	}
	else {
		theform = document.FormForgotPassword;
	}

	theform.ns_EventTarget.value   = eventTarget.split("$").join(":");
	theform.ns_EventArgument.value = '';

	var email       = $('#email').val();
	var signinStatus = document.getElementById("forgotStatus");
	signinStatus.innerHTML = "<img hspace='10' align='absmiddle' src='/images/indicator.gif'/> Sending password...";
   var url = "/ForgotPasswordAction.ns?action=inline_forgot&email="+email+ "&ts="+new Date().getTime();
   sendEvent(url, handleForgotHttpResponsePage);
}

function handleForgotHttpResponse() {
	   if (http.readyState != 4)  
	     return;
		
	   g_isForgotWorking = false;
	   g_isForgotWorkingPage = false;
		
	   var response = http.responseText;
	   
		var   forgotStatus = document.getElementById("forgotStatus");
		var forgotStatusOK = document.getElementById("forgotSent");
		
		clearAllErrMessages();
		if (response == 'ok')
	   {
			forgotStatusOK.style.display = 'block';
			forgotStatusOK.innerHTML = "Please check your e-mail now and continue from there.";
			forgotPass('Sign in to eSnips');
	   }
	   else
	   {
		   forgotStatus.innerHTML = "* "+response;
	   }
	 }

function handleForgotHttpResponsePage() {
	   if (http.readyState != 4)  
	     return;
		
	   g_isForgotWorking = false;
	   g_isForgotWorkingPage = false;
		
	   var response = http.responseText;
	   
		var   forgotStatus = document.getElementById("forgotStatus");
		var forgotStatusOK = document.getElementById("forgotSent");
		if (response == 'ok')
	   {
			forgotStatusOK.style.display = 'block';
			forgotStatusOK.innerHTML = "Please check your e-mail now and continue from there.";
			forgotPass('Sign in to eSnips');
			forgotStatus.innerHTML = "";
	   }
	   else
	   {
		   forgotStatus.innerHTML = "* "+response;
	   }
	 }


 function handleSigninHttpResponse() {
   if (http.readyState != 4)  
     return;
   g_isSigninWorking = false;
	
   var response = http.responseText;
	var signinStatus = document.getElementById("signinStatus");
   if (response == 'ok')
   {
	   clseIt('signIpop');
	   if (g_onSuccessLogin == null)
	     window.location.reload(false); 
	   else
	     g_onSuccessLogin(g_loginCallbackData);
   }
   else if(response == '')
   {
	   signinStatus.innerHTML = "* "+"Account not yet activated.  Please check  your inbox for the confirmation e-mail.";
   }
   else
   {
	   if(response == "Invalid e-mail address or password. Please try again.")
		   signinStatus.innerHTML = "* "+"Email and password combination don't match";
	   else
		   signinStatus.innerHTML = "* "+response;
   }
 }
 
 /* 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;
	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("txtEmailReg").value;
	var pass        = document.getElementById("txtPasswordReg").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 registerUserNew(){
     if (g_isRegisterWorking == true)
	  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("txtEmailReg").value;
	var pass        = document.getElementById("txtPasswordReg").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 registerStatusOK = document.getElementById("forgotSent");
   var registerStatus = document.getElementById("registerStatus");
   
   if (response == 'ok')
   {
	   //g_window.style.display = "none";
	   //g_window.hide();	
	   clseIt('signUpop');
	   popIt('signIpop');
	   registerStatusOK.style.display = 'block';
	   document.getElementById("txtEmail").value = document.getElementById("txtEmailReg").value;
	   registerStatusOK.innerHTML = "To activate your account, please retrieve your <br> confirmation  e-mail.";
	   
	   
   }
   else
   {
	   registerStatus.innerHTML = "* "+response;
	   var captchaImage = document.getElementById("jcaptchaPop");
	   if (captchaImage != null)
	   {
		   // refresh jcaptcha 
		   captchaImage.src = "/jcaptcha?ts=" + new Date().getTime();
	   }
   }
   
}
 
 function clearAllErrMessages(){
	 document.getElementById("forgotSent").style.display = 'none';
	document.getElementById("forgotSent").innerHTML ="";
	document.getElementById("signinStatus").innerHTML ="";
	document.getElementById("forgotStatus").innerHTML ="";
	document.getElementById("registerStatus").innerHTML ="";
	
	
	
 }
