// JavaScript Document
var overlay;
window.addEvent('domready', function(){

	div_fb_signup = $('fb_signup');
	div_forgot_password = $('_forgot_password');
	
	overlay = new Overlay($('aaamask'));
	
	$('a_fb_signup').addEvent('click', function(e){
		overlay.open();
		div_fb_signup.reveal();
		clean_form();
	})
	
	$('a_fb_close').addEvent('click', function(e){
		overlay.close();
		div_fb_signup.dissolve();
	})

	$('a_forgot_password').addEvent('click', function(e){
		overlay.open();
		display_message('div_forgot_pass_msg', '', 'rred');
		$('f_fp_email').value = "";
		div_forgot_password.reveal();
	})
	$('a_forgot_password_close').addEvent('click', function(e){
		overlay.close();
		div_forgot_password.dissolve();
	})
	$('btn_fp_submit').addEvent('click', function(e){
		f_email = $('f_fp_email');
		
		if (f_email.value != '' && isEmail(f_email.value))
		{
			new Request.JSON({
				url: 'pages/async.php',
				onRequest: function(){
					display_message('div_forgot_pass_msg', 'Sending ...', 'bblue');
				},
				onSuccess: function(feedback){
					if (feedback != null)
					{
						cls = 'rred';
						if (feedback.status == 1)
							cls = 'ggreen';
						display_message('div_forgot_pass_msg', feedback.msg, cls);
					}
					else
						display_message('div_forgot_pass_msg', 'Error!', 'rred');
				}
			}).send("mode=forgot_password&useremail=" + f_email.value);
		}
		else
			display_message('div_forgot_pass_msg', 'Email is required!', 'rred');
	})
	$('f_displayname').addEvent('blur', function(e){
		e.stop();
		if ($('f_displayname').value == '')
		{
			display_message('div_d', 'Required!', 'rred');
			$("_f_d").value = 0;
		}
		else
		{
			// send request to check whether displayname is registered or not
			new Request({
				url: 'pages/async.php',
				data: 'mode=check_displayname&f_displayname=' + $('f_displayname').value,
				onRequest: function(){
					display_message('div_d', 'Checking display name ...', 'bblue');
				},
				onSuccess: function(feedback){
					if (feedback == null)
						display_message('div_d', 'Error', 'rred');
					else
					{
						if (feedback == 1)
						{
							display_message('div_d', '"' + $('f_displayname').value + '" is available.', 'ggreen');
							$("_f_d").value = 1;
						}
						else
							display_message('div_d', '"' + $('f_displayname').value + '" is not availble. Please try different name!', 'rred');
					}
				}
			}).send();
		}
	})
	/*$('f_u_e').addEvent('blur', function(e){
		e.stop();
		if (this.value == '')
		{
			$('div_login_frm_msg').erase('class');
			$('div_login_frm_msg').addClass('error-red');
			$('div_login_frm_msg').set('html', 'User email is required!');
		}
		else
		{
			new Request({
				url: 'pages/async.php',
				onRequest: function(){},
				onSuccess: function(feedback){
					if (feedback.status == 1)
					{
						$('f_u_p').value = feedback.decpass;
					}
				}
			}).send("mode=checklogincookie&via=async&uemail=" + this.value)
		}
	})*/	
	$('f_useremail').addEvent('blur', function(e){
		e.stop();
		if (this.value == '')
		{
			display_message('div_u', 'Required!', 'rred');
			$('_f_u').value = 0;
		}
		else
		{
			// check whether it is email or not
			if (!isEmail($('f_useremail').value))
			{
				display_message('div_u', 'Email is wrong', 'rred');
			}
			else
			{
				// send request to check whether email is registered or not
					new Request({
						url: 'pages/async.php',
						data: 'mode=check_email&f_useremail=' + $('f_useremail').value,
						onRequest: function(){
							display_message('div_u', 'Checking email ...', 'bblue');
						},
						onSuccess: function(feedback){
							if (feedback == null)
								display_message('div_u', 'Error', 'rred');
							else
							{
								if (feedback == 1)
								{
									display_message('div_u', '"' + $('f_useremail').value + '" is available.', 'ggreen');
									$('_f_u').value = 1;
								}
								else
									display_message('div_u', '"' + $('f_useremail').value + '" is already exist.', 'rred');
							}
						}
					}).send();				
			}
		}
	})
	
	$('f_userpass').addEvent('blur', function(e){
		e.stop();
		if ($('f_userpass').value == '')
		{
			display_message('div_p', 'Required!', 'rred');
			$('_f_p').value = 0;
		}
		else
		{
			clean_div('div_p');
			$('_f_p').value = 1;
		}
	})
	
	var insert_user_req = new Request.JSON({
				url: 'pages/async.php',
				onRequest: function(){
					display_message('div_register_user_msg', '<img src="images/wait30trans.gif" /> Saving ...', "ggreen");
					},
				onSuccess: function(feedback){
					if (feedback == null)
					{
						display_message('div_register_user_msg', 'Error', "rred");
					}
					else
					{
						if (feedback.status == 1)
						{
							$('div_register_user_msg').addClass("success-green");
							$('div_register_user_msg').set('html', 'We just need to ask you to complete one more step! We\'ve sent an email to the address you provided for verification. All you need to do is click the link in the email and you\'ll be all set!<br /> Your comment will be displayed after verification!');
							$('btn_register').dissolve();
						}
						else
						{
							display_message('div_register_user_msg', feedback.html, "rred");							
						}
					}
				}				
			});
	
	
	$('btn_register').addEvent('click', function(e){
		e.stop();									 
		res = check_user_registration();
		if (res)
			insert_user_req.send('mode=register_user&f_useremail=' + $('f_useremail').value + '&f_userpass=' + $('f_userpass').value + '&f_displayname=' + $('f_displayname').value);		
	})
	
	var check_user_registration = function ()
	{
		if ($('_f_d').value == 1 && $('_f_u').value == 1 && $('_f_p').value == 1)
		{
			return true;
		}
		else
		{
			if ($('_f_d').value != 1)
			{
				display_message('div_d','Display name is required and it has to be unique!', 'rred' );
			}
			else if ($('_f_u').value != 1)
			{
				display_message('div_u', 'User email is required and it has to be unique!', 'rred');
			}
			else if ($('_f_p').value != 1)
			{
				display_message('div_p', 'Password is required!', 'rred');
			}

			return false;
		}	
	}	
	var display_message = function(cc, msg, cls)
	{
		$(cc).erase('class');
		$(cc).addClass(cls);
		$(cc).set('html', msg);
	}	
	var clean_form = function()
	{
		$('f_displayname').value = "";
		$('f_useremail').value = "";
		$('f_userpass').value = "";
		
		clean_div('div_d');
		clean_div('div_u');
		clean_div('div_p');
	}
	var isEmail = function(string) { return (string.search(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/) != -1); }	
	var clean_div = function(cc)
	{
		$(cc).erase('class');
		$(cc).set("html", "");
	}	
})

function check_login_window()
{
	if (document.getElementById('f_u_e').value != '' && document.getElementById('f_u_p').value != '')
	{
		return true;
	}
	else
	{
		document.getElementById("div_login_frm_msg").innerHTML = 'Email and password are required!';
		document.getElementById("div_login_frm_msg").setAttribute("class", "rred");
		return false;
	}
}

