function display_login() {
	$('#login_div').show();
}
function hide_login() {
	$('#login_div').hide();
}
function show_register() {
	$('#login_div').hide();
	$('#register_div').show();
}
function hide_register() {
	$('#register_div').hide();
}
function show_thank_you() {
	$('#thank_you_div').show();
}
function hide_thank_you() {
	$('#thank_you_div').hide();
}
function login(){
//	alert('login');
	$.post(
		base_url+'users/login/?ajax=true',
		{	'data[User][username]':[
				$('#login_name').val()
			],
			'data[User][password]':[
				$('#login_password').val()
			],
			'data[User][remember_me]':[
				$('#remember_me').val()
			]
		},
		function (loginResult) {
//			alert(loginResult);
			if(loginResult == 'true'){
				if(window.location.href.search('products/search') == -1){
					window.location.replace(window.location.href);
				} else {
					window.location.replace(base_url+'tiendas_online');
				}
			} else {
//				alert('login error');
				$('#login_text').show();
			}
		}
	);
}
function logout(){
	$.post(
		base_url+'users/logout',
		function (logoutResult) {
//			alert(logoutResult);
			window.location.replace(logoutResult);
		}
	);
}
function forgot_password_click(){
	if($('#forgot_password_field_email_input').val()) {
		if(check_mail($('#forgot_password_field_email_input').val())){
			$.post(
				base_url+'users/forgot_password',
				{	'data[User][email]':[
						$('#forgot_password_field_email_input').val()
					]
				},
				function (forgotResult) {
					alert(forgotResult);
				}
			);
		} else {
			alert('¡El E-Mail que ingresaste no es valido!');
		}
	} else {
		alert('Por favor, ingresa tu email.');
	}
}
var error	 		= 0x0;
var NO_ERROR		= 0x0;
var NAME_NULL		= 0x1;
var NAME_DUPE		= 0x2;
var F_NAME_NULL		= 0x4;
var L_NAME_NULL		= 0x8;
var EMAIL_NULL		= 0x10;		//	  16
var EMAIL_ERR		= 0x20;		//	  32
var PASSWORD_DIFF	= 0x40;		//	  64
var PASSWORD_NULL	= 0x80;		//	 128
var PASSWORD2_NULL	= 0x100;	//	 256
var DID_NOT_AGREE	= 0x200;	//	 512
var DO_NOTHING		= 0x400;	//	1024
function register() {
	//	reset error stack
	error = NO_ERROR;
	if(!$('#register_name').val().length){
		//	username is null error
		error |= NAME_NULL;
	}
	if(!$('#register_f_name').val().length){
		//	first name is null error
		error |= F_NAME_NULL;
	}
	if(!$('#register_l_name').val().length){
		//	last name is null error
		error |= L_NAME_NULL;
	}
	if(!$('#register_email').val().length){
		//	password 2 is null error
		error |= EMAIL_NULL;
	}
	if(!$('#register_password').val().length){
		//	password 1 is null error
		error |= PASSWORD_NULL;
	}
	if(!$('#register_password2').val().length){
		//	password 2 is null error
		error |= PASSWORD2_NULL;
	}
	/*
//	alert($('#register_i_agree').attr('checked'));
	if(!$('#register_i_agree').attr('checked')) {
		error |= DID_NOT_AGREE;
//		alert('not checked');
	}
	*/
	if(!(error&EMAIL_NULL)){
		if(!check_mail($('#register_email').val())){
			//	email not valid format error
			error |= EMAIL_ERR;
		}
	}
	if(error == NO_ERROR ){
		if($('#register_password').val()!=$('#register_password2').val()){
			//	passwords do not match error
			error |= PASSWORD_DIFF;
		}
	}
	//	if the form validates
	if(error == NO_ERROR){
		$.post(
			base_url+'users/ajax_is_dupe_username',
			{	'data[User][username]':[
					$('#register_name').val()
				]
			},
			function (dupe_result) {
				if(dupe_result=='true'){
					error |= NAME_DUPE;
				}
				after_check_dupe_user();
			}
		);
	} else {
		after_check_dupe_user();
	}
}
function after_check_dupe_user() {
	if(error&NAME_NULL) {
		$('#username_null_error').show();
		$('#username_dupe_error').hide();
		$('#register_name_field').css('background-color','yellow');
	} else {
		$('#username_null_error').hide();
		if(!(error&NAME_DUPE)){
			$('#register_name_field').css('background-color','');
		}
	}
	if(error&NAME_DUPE){
		$('#username_null_error').hide();
		$('#username_dupe_error').show();
		$('#register_name_field').css('background-color','yellow');
	} else {
		$('#username_dupe_error').hide();
		if(!(error&NAME_NULL)){
			$('#register_name_field').css('background-color','');
		}
	}
	if(error&F_NAME_NULL){
		$('#f_name_null_error').show();
		$('#register_f_name_field').css('background-color','yellow');
	} else {
		$('#f_name_null_error').hide();
		$('#register_f_name_field').css('background-color','');
	}
	if(error&L_NAME_NULL){
		$('#l_name_null_error').show();
		$('#register_l_name_field').css('background-color','yellow');
	} else {
		$('#l_name_null_error').hide();
		$('#register_l_name_field').css('background-color','');
	}
	if(error&EMAIL_NULL){
		$('#email_null_error').show();
		$('#email_format_error').hide();
		$('#register_email_field').css('background-color','yellow');
	} else {
		$('#email_null_error').hide();
		if(!(error&EMAIL_ERR)){
			$('#register_email_field').css('background-color','');
		}
	}
	if(error&EMAIL_ERR){
		$('#email_format_error').show();
		$('#email_null_error').hide();
		$('#register_email_field').css('background-color','yellow');
	} else {
		$('#email_format_error').hide();
		if(!(error&EMAIL_NULL)){
			$('#register_email_field').css('background-color','');
		}
	}
	if(error&PASSWORD_DIFF){
		$('#password_diff_error').show();
		$('#password_null_error').hide();
		$('#password2_null_error').hide();
		$('#register_password_field').css('background-color','yellow');
		$('#register_password2_field').css('background-color','yellow');
	} else {
		$('#password_diff_error').hide();
		if(!(error&PASSWORD_NULL)){
			$('#register_password_field').css('background-color','');
		}
		if(!(error&PASSWORD2_NULL)){
			$('#register_password_field').css('background-color','');
		}
	}
	if(error&PASSWORD_NULL){
		$('#password_null_error').show();
		$('#password_diff_error').hide();
		$('#register_password_field').css('background-color','yellow');
	} else {
		$('#password_null_error').hide();
		if(!(error&PASSWORD_DIFF)){
			$('#register_password_field').css('background-color','');
		}
	}
	if(error&PASSWORD2_NULL){
		$('#password2_null_error').show();
		$('#password_diff_error').hide();
		$('#register_password2_field').css('background-color','yellow');
	} else {
		$('#password2_null_error').hide();
		if(!(error&PASSWORD_DIFF)){
			$('#register_password2_field').css('background-color','');
		}
	}
	/*
	if(error&DID_NOT_AGREE){
		$('#i_agree_error').show();
		$('#register_i_agree_field').css('background-color','yellow');
	} else {
		$('#i_agree_error').hide();
		$('#register_i_agree_field').css('background-color','');
	}
	*/
	if(error == NO_ERROR) {
		//	no errors in the form, register the user
		$.post(
			base_url+'users/register',
			{	'data[User][username]':[
					$('#register_name').val()
				],
				'data[User][f_name]':[
					$('#register_f_name').val()
				],
				'data[User][l_name]':[
					$('#register_l_name').val()
				],
				'data[User][email]':[
					$('#register_email').val()
				],
				'data[User][password]':[
					$('#register_password').val()
				],
				'data[User][password2]':[
					$('#register_password2').val()
				],
				'data[User][remember_me]':[
					$('#register_remember_me').attr('checked')
				]
			},
			function (register_result) {
				if(register_result == 'true'){
					show_thank_you_form();
				} else {
					alert(register_result);
				}
			}
		);
	}
}
function register_continue() {
	hide_thank_you();
	window.location.replace(window.location.href);
}
function show_thank_you_form() {
	hide_register();
	show_thank_you();
}
function check_mail(mail) {
	var regEmail = /^[\w.-]+@([\w\-]+\.)+[a-z]{2,6}$/i;
	return (regEmail.test(mail));
}
