function login_show( params )
{
    close_banner();
    error_step_1_email_forgot_password = '<br /><a href="#" onclick="password_renewal_display(); return false;">%1</a>?';
    mbox_open(500, 500, true);
    pre_fullscreen();

    step_1_help = new Array("main_help");
    active_step = 1;
    help_displayed = 0;

    args = params ? 'payable=' + '1' : '';
    payable = params ? 1 : null;

    new Ajax('/net/auth2/login/' + args, {
	     method: 'get',
	     update: $('MBOX_window'),
         evalScripts: true,
	     onComplete: login_show_complete
	}).request();
}

function login_show_complete( return_status )
{
   if($('ajax_loader_big_div')) ajax_loader_big = $('ajax_loader_big_div').innerHTML;

    if( 1 == payable )
    {
	if(( 'undefined' !== typeof bb_login_profile ) && (( 'registered' == bb_login_profile )))
	{
	    bb_login_profile = null;
	}

	step_1p_help = new Array("main_help");
	step_1r_help = step_1p_help;
	step_2p_help = step_1p_help;
	step_3p_help = step_1p_help;
	step_4p_help = step_1p_help;
	step_5p_help = step_1p_help;
    }
}

function help_toggle( which )
{
	if(which)
	{
		if ($(which).style.display == 'block')
			$(which).style.display='none';
		else
			$(which).style.display='block';

		return true;
	}

	for (i=0;i<eval('step_'+active_step+'_help').length;i++)
	{
		which = eval('step_'+active_step+'_help['+i+']');
		if( !$('smsnews') && 'sms_help' == which ) break;

		if( help_displayed )
			$(which).style.display = 'none';
		else
		    $(which).style.display = 'block';
	}
	
	if (help_displayed)
		help_displayed = false;
	else
		help_displayed = true;

}

function login()
{
	remember = '&remember=0';
	if($('remember').value == 1) remember = '&remember=1';
	$('user_name').setProperty('disabled', '1');
	$('password').setProperty('disabled', '1');
	
    new Ajax('/net/auth2/login/1/', {
	    method: 'post',
		postBody: 'email=' + encodeURIComponent($('user_name').value) + '&password=' + encodeURIComponent($('password').value) + remember,
		onComplete: login_complete,
		evalScripts: true
	}).request();
}

function login_complete( return_status )
{
	$('login_feedback').innerHTML ='';
	$('login_feedback').style.display = 'none';
	$('user_name').setProperty('disabled', '');
	$('password').setProperty('disabled', '');
	
	if(( typeof show_settings != 'undefined' ) && ( true == show_settings ))
	{
	    $('MBOX_window').innerHTML = return_status;
	    settings_link = false;

	    $('button_close').className = 'close_button';
	    return false;
	}

	if( return_status )
	{
		level = return_status.split('_');
		$('login_feedback').className = 'feedback2_' + level[0];

		if( 'success' == level[0] )
		{
			window.location.reload();
		    $('login_feedback').innerHTML = success_logged_in;
			$('login_feedback').style.display = '';

			return true;
		}
		else {

			if ('1' == level[1]) $('login_feedback').innerHTML = error_step_1_user_baned;
			else $('login_feedback').innerHTML = error_step_1_email_forgot_password;
			$('login_feedback').style.display = '';
		}
	}
}

function mbox_open(MBOX_WIDTH,MBOX_HEIGHT,IS_DRAGGABLE,OFFSET)
{

  if ( typeof(IS_DRAGGABLE) == "undefined" ) IS_DRAGGABLE = true;
	if (!(OFFSET > 0)) OFFSET = 0;

	mbox_create_holders( IS_DRAGGABLE );

	left_s = ((window.getWidth() - MBOX_WIDTH)/2)+OFFSET;
	top_s = window.getScrollTop() +(window.getHeight() - MBOX_HEIGHT)/2;

	if (top_s < 230) top_s = 230;

	$("MBOX_window").setStyles('left:'+left_s+'px; top: '+top_s+'px; display:block;');
	$("MBOX_dragger").setStyles('left:'+left_s+'px; top: '+top_s+'px; display:block;');

	$("MBOX_overlay").setStyles('display:block;');
	$("MBOX_overlay").setStyles({"height": window.getScrollHeight()+'px', "width": window.getScrollWidth()+'px'});
	$("MBOX_window").setStyles({"width": MBOX_WIDTH+'px'});
	$("MBOX_dragger").setStyles({"width": MBOX_WIDTH+'px'});

	new Fx.Style('MBOX_overlay', 'opacity',{duration: 400, transition: Fx.Transitions.sineInOut}).start(0,0.8);
	new Fx.Style('MBOX_window',  'opacity',{duration: 250, transition: Fx.Transitions.sineInOut, onComplete:function(){  } }).start(0,1);
}

function mbox_close()
{
	new Fx.Style('MBOX_overlay', 'opacity',{duration: 400, transition: Fx.Transitions.sineInOut, onComplete:function(){ $("MBOX_overlay").setStyles('display:none;'); }}).start(0.6,0);
	new Fx.Style('MBOX_window',  'opacity',{duration: 250, transition: Fx.Transitions.sineInOut, onComplete:function()
		    {
			$("MBOX_window").setStyles('display:none;');
			$("MBOX_window").innerHTML = '';
		    } }).start(1,0);
	$("MBOX_dragger").setStyles({"display": 'none'});
	open_banner();
}


function include_css(file)  	 
{ 	 
  if (document.createElement && document.getElementsByTagName) { 	 
  var d_head = document.getElementsByTagName('head')[0]; 	 
  	 
  var d_script = document.createElement('link'); 	 
  d_script.setAttribute('type', 'text/css'); 	 
  d_script.setAttribute('rel', 'stylesheet'); 	 
  d_script.setAttribute('href', file); 	 
  	 
  d_head.appendChild(d_script); 	 
  } 	 
}

function mbox_create_holders( is_draggable )
{
	if ($('MBOX_overlay'))
	{
    	$("MBOX_overlay").remove();
        $("MBOX_dragger").remove();
        $("MBOX_window").remove();
	}

	include_css('/net/app/css/mbox.css');

	var mbox_overlay = new Element('div', {'id' : 'MBOX_overlay'}).injectInside(document.body);
	var mbox_dragger = new Element('div', {'id': 'MBOX_dragger'}).injectInside(document.body);
	var mbox_window  = new Element('div', {'id': 'MBOX_window'}).injectInside(document.body);
	var mbox_window_loading = new Element('div', {'id': 'MBOX_loading'}).injectInside(mbox_window);
	var mbox_window_loading_img = new Element('img', {'src': "/net/app/i/aj-loader.gif",'alt': 'Loading'}).injectInside(mbox_window_loading);

    if ( is_draggable ) {
		var main_content = $('left');

		mbox_dragger.addEvent('mousedown', function(e) {
			e = new Event(e).stop();
			mbox_window.setStyles({'opacity':0.7});
			drag = mbox_window.makeDraggable({container: main_content});
			drag.start(e);
		});

		mbox_window.addEvent('emptydrop', function(){
			mbox_dragger.setStyles({
				'left': this.getCoordinates().left,
				'top': this.getCoordinates().top
			});
			mbox_window.setStyles({'opacity':1});
			drag.detach();
		});
	}
}


function close_banner() { $$('.banner').each(function(el){el.setStyle('display', 'none')}); }
function open_banner() { $$('.banner').each(function(el){el.setStyle('display', 'block')}); }
function pre_fullscreen() {
	if (typeof(reload_tmout) != 'undefined'){
		if (reload_tmout != null){clearTimeout(reload_tmout);}
	}
}
function post_fullscreen() {}

function register_show()
{
    close_banner();
    mbox_open(500, 500);
    pre_fullscreen();

    step_1_help = new Array("username_help", "password_help", "email_help", "main_help");
    registration_script_url = '/net/auth2/';
    all_steps = 2;
    active_step = 1;
    help_displayed = false;
    password_renewal = false;

    url = '/net/auth2/register/';// + '?action=display' + '&what=1' + '&return=' + location.href;
    new Ajax(url, {
	     method: 'get',
	     update: $('MBOX_window'),
	     onComplete: register_show_complete,
	     evalScripts: true
	}).request();
}


function register_show_complete( result )
{
    ajax_loader     = $('ajax_loader_div').innerHTML;
    ajax_loader_big = $('ajax_loader_big_div').innerHTML;
}

/* ************************
 * Settings
 */

function enter( event, f_name )
{
    if( event.keyCode == 13 )
	eval( f_name );
}


/*
function step_1()
{
	url = registration_script_url+'?action=display&what=1';
	new Ajax(url, {
		method: 'get',
		onComplete: step_on_update
	}).request();
}*/



function step_1_error_check()
{
    if ( !step_1_user_name_check(true) )
    	return false;
    if ( !step_1_password_check(true) )
    	return false;
    if ( !step_1_email_check(true) )
    	return false;
	if ( !step_1_country_check(true) )
    	return false;
    return true;
}

function valid_err(type, e,  mgs){
	if (type == 'name') {
		if (e == 1) {		
			$('user_name_feedback_tx').innerHTML = mgs;
			$('user_name_feedback_tx').style.display = 'block';
		}else{
			$('user_name_feedback_tx').innerHTML = '';
			$('user_name_feedback_tx').style.display = 'none';
		}		
	}else if(type == 'pass'){
		if (e == 1) {		
			$('password_feedback_tx').innerHTML = mgs;
			$('password_feedback_tx').style.display = 'block';
		}else{
			$('password_feedback_tx').innerHTML = '';
			$('password_feedback_tx').style.display = 'none';
		}
	}else if(type == 'email'){
		if (e == 1) {		
			$('email_feedback_tx').innerHTML = mgs;
			$('email_feedback_tx').style.display = 'block';
		}else{
			$('email_feedback_tx').innerHTML = '';
			$('email_feedback_tx').style.display = 'none';
		}	
	}
}

function step_1_user_name_check(check_empty)
{
	if (check_empty && !$('user_name').value.length)
	{
	    //$('user_name_feedback').innerHTML = error_step_1_user_name_empty;
		valid_err('name', 1, error_step_1_user_name_empty);
	    $('user_name_feedback').className = 'auth_e';
		return false;
	}
	else if (!$('user_name').value)
	{
		//$('user_name_feedback').className = '';
		//$('user_name_feedback').innerHTML = '';
		valid_err('name');
		return false;
	}

	//$('step_feedback').innerHTML = ajax_loader;
	//$('user_name_feedback').className = '';

	url = registration_script_url+'action/check-username/';
	new Ajax(url, {
		method: 'post',
		postBody: 'ajax=1&what=' + encodeURIComponent($('user_name').value),
		onComplete: step_1_user_name_check_complete
	}).request();

	return true;
}


function step_1_user_name_check_complete(return_status)
{
	if( return_status )
	{
		level = return_status.split('_');
		if(level[0] == 'success'){
			$('user_name_feedback').className = 'auth_ok';
			valid_err('name');
		}else{
			$('user_name_feedback').className = 'auth_e';
			valid_err('name', 1, eval(return_status));
		}
		
		//$('user_name_feedback').className = 'feedback_' + level[0];
		//$('user_name_feedback').innerHTML = eval(return_status);
	}
	else
	{
		 //$('user_name_feedback').className = 'auth_ok';
		 //$('user_name_feedback').innerHTML = '';
		 valid_err('name');
	}
}


function step_1_email_check(check_empty)
{
    if (check_empty && !$('email_r').value.length)
    {
	$('email_feedback').className = 'auth_e';
	//$('email_feedback').innerHTML = error_step_1_email_empty;
	valid_err('email', 1, error_step_1_email_empty);
	return false;
    }
    else if (!$('email_r').value)
    {
	//$('email_feedback').innerHTML = '';
	//$('email_feedback').className='';
	valid_err('email');
	return false;
    }

    //$('email_feedback').innerHTML = ajax_loader;
    //$('email_feedback').className = '';
		 
    url = registration_script_url+'action/check-email/';
	
    new Ajax(url, {
	     method: 'post',
	     postBody: 'what='+encodeURIComponent($('email_r').value),
	     onComplete: step_1_email_check_complete
	    }).request();
    return true;
}


function step_1_email_check_complete( return_status )
{
	if( return_status )
	{
	    level = return_status.split('_');
		if(level[0] == 'success'){
			$('email_feedback').className = 'auth_ok';
			valid_err('email');
		}else{
			$('email_feedback').className = 'auth_e';
			valid_err('email', 1, eval(return_status));
		}
		
	    //$('email_feedback').className = 'feedback_' + level[0];
	    //$('email_feedback').innerHTML = eval(return_status);
	}

	else
	{
	    //$('email_feedback').className = '';
	    //$('email_feedback').innerHTML = '';
		valid_err('email');
	}
}


function step_1_password_check(check_empty)
{

	if (check_empty && (!$('password0').value.length || !$('password_repeat').value.length))
	{
		//$('password_feedback').className = 'feedback_error';
		$('password_feedback').className = 'auth_e';
		//$('password_feedback').innerHTML = error_step_1_password_empty
		valid_err('pass', 1, error_step_1_password_empty);
		return false;
	}

	else if (!$('password_repeat').value)
	{
		//$('password_feedback').className='';
		//$('password_feedback').innerHTML = '';
		valid_err('pass');
		return false;
	}
	else if ($('password0').value != $('password_repeat').value)
	{
		$('password_feedback').className = 'auth_e';
		valid_err('pass', 1, error_step_1_passwords_different);
		//$('password_feedback').innerHTML = error_step_1_passwords_different;
	}
	else if ($('password0').value.length < 3)
	{
		$('password_feedback').className = 'auth_e';
		valid_err('pass', 1, error_step_1_passwords_too_short);
		//$('password_feedback').innerHTML = error_step_1_passwords_too_short;
		return false;
	}
	else
	{
		$('password_feedback').className = 'auth_ok'; //feedback_success
		valid_err('pass');
		//$('password_feedback').innerHTML = success_step_1_passwords_ok;
	} 
	
	return true;
}


function step_1_country_check(check_empty)
{

	if (check_empty && !$('country_id').selectedIndex)
	{
		$('country_feedback').className = 'auth_e';
		//$('country_feedback').innerHTML = error_step_1_country_empty
		return false;
	}else{
		$('country_feedback').className = 'auth_ok';	
	}
	
	return true;
}


function navigate_to_step(step)
{
    previous_step = active_step;
    eval ('ret = step_' + active_step + '_error_check()');

	if ( !ret ) return false;

	if( step < active_step ){ step_display(step); return; }

	if($('step_feedback'))  $('step_feedback').innerHTML = ajax_loader_big;

	$('step_form').action = registration_script_url+'register/1/';
	$('step_form').send({
		onComplete: function( return_status ){
			level = return_status.split('_');
			if (level[0] != "success"){
			    if($('step_feedback')){
				$('step_feedback').innerHTML = eval( return_status );
				$('step_feedback').className = 'warning';
			    }
			    return false;
			}

			if($('step_feedback')){
			    $('step_feedback').className = '';
			    $('step_feedback').innerHTML = '';
			}
			step_display(step);
		}
	});
}

function step_display(current_step)
{
	$('step').innerHTML = ajax_loader_big;
	eval ( 'step_' + current_step + '();' );
	active_step = current_step;
	if( 1 == current_step && $('username') )  $('user_name').focus();
}

function step_2()
{
	url = registration_script_url+'action/display/2';
	new Ajax(url, {
		method: 'get', update: $('step'), onComplete: step_2_complete
	}).request();
}

function step_2_error_check(){ return true; }
function step_2_complete(){
	step_2_help = new Array("main_help");	
    $('email_sent').innerHTML = email_sent;
    $('button_email').innerHTML = '<a href="#" id="login_button" onclick="mbox_close(); return false;" style="font-weight:bold">Закрыть</a>';
}

