HEX
Server: Apache/2.4.59 (Debian)
System: Linux skycube.cz 4.19.0-25-amd64 #1 SMP Debian 4.19.289-2 (2023-08-08) x86_64
User: ilya (534)
PHP: 7.3.31-1~deb10u7
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,
Upload Files
File: /var/www/ilya/data/www/kamforum.ru/jscripts/ipb_register.js
//------------------------------------------
// Invision Power Board v2.1
// Register JS File
// (c) 2005 Invision Power Services, Inc.
//
// http://www.invisionboard.com
//------------------------------------------

var reg_got_dname = 0;
var reg_oktogo    = 0;
var reg_field_ids = new Array();
var reg_img_ids   = new Array();
var reg_box_ids   = new Array();
var reg_msg_ids   = new Array();

var ucp_dname_illegal_chars = new Array( '[', ']', '|', ',', ';' );
var ucp_dname_illegal_regex = '';

for ( var i in ucp_dname_illegal_chars )
{
	ucp_dname_illegal_regex += '\\' + ucp_dname_illegal_chars[i];
}

var error_email  = 0;

var in_member_id = 0;

/*-------------------------------------------------------------------------*/
// INIT Reg form
/*-------------------------------------------------------------------------*/

function init_reg_form( got_dname, register_method )
{
	//------------------------------------------
	// INIT objects
	//------------------------------------------
	
	reg_got_dname = got_dname;
	
	//------------------------------------------
	// Fields...
	//------------------------------------------
	
	if( register_method == 'username' )
	{
		reg_field_ids['name']             = document.getElementById( 'reg-name' );
	}

	reg_field_ids['password']         = document.getElementById( 'reg-password' );
	reg_field_ids['password-check']   = document.getElementById( 'reg-password-check' );
	reg_field_ids['emailaddress']     = document.getElementById( 'reg-emailaddress' );
	reg_field_ids['emailaddress-two'] = document.getElementById( 'reg-emailaddress-two' );
	
	//------------------------------------------
	// Images
	//------------------------------------------
	
	if( register_method == 'username' )
	{
		reg_img_ids['name']         = document.getElementById( 'img-name' );
	}

	reg_img_ids['password']     = document.getElementById( 'img-password' );
	reg_img_ids['emailaddress'] = document.getElementById( 'img-emailaddress' );
	
	//------------------------------------------
	// Boxes
	//------------------------------------------
	
	if( register_method == 'username' )
	{
		reg_box_ids['name']         = document.getElementById( 'box-name' );
	}

	reg_box_ids['password']     = document.getElementById( 'box-password' );
	reg_box_ids['emailaddress'] = document.getElementById( 'box-emailaddress' );
	
	//------------------------------------------
	// Messages
	//------------------------------------------
	
	if( register_method == 'username' )
	{
		reg_msg_ids['name']         = document.getElementById( 'msg-name' );
	}

	reg_msg_ids['password']     = document.getElementById( 'msg-password' );
	reg_msg_ids['emailaddress'] = document.getElementById( 'msg-emailaddress' );
	
	//------------------------------------------
	// Set up onblur
	//------------------------------------------
	
	if( register_method == 'username' )
	{
		reg_field_ids['name'].onblur             = check_user_name;
	}

	reg_field_ids['password-check'].onblur   = check_passwords;
	reg_field_ids['emailaddress'].onblur     = check_email_addresses_one;
	reg_field_ids['emailaddress-two'].onblur = check_email_addresses;
	
	//------------------------------------------
	// Already got error messages?
	//------------------------------------------
	
	if( register_method == 'username' )
	{
		if ( ! reg_msg_ids['name'].innerHTML )
		{
			reg_box_ids['name'].style.display = 'none';
		}
	}
	
	if ( ! reg_msg_ids['password'].innerHTML )
	{
		reg_box_ids['password'].style.display = 'none';
	}
	
	if ( ! reg_msg_ids['emailaddress'].innerHTML )
	{
		reg_box_ids['emailaddress'].style.display = 'none';
	}
	
	//------------------------------------------
	// Display name...
	//------------------------------------------
	
	if ( reg_got_dname )
	{
		reg_field_ids['dname'] = document.getElementById( 'reg-members-display-name' );
		reg_box_ids['dname']   = document.getElementById( 'box-dname' );
		reg_msg_ids['dname']   = document.getElementById( 'msg-dname' );
		reg_img_ids['dname']   = document.getElementById( 'img-members-display-name' );
		
		if ( ! reg_msg_ids['dname'].innerHTML )
		{
			reg_box_ids['dname'].style.display = 'none';
		}
	
		reg_field_ids['dname'].onblur = check_display_name;
	}
}

/*-------------------------------------------------------------------------*/
// INIT Reg form
/*-------------------------------------------------------------------------*/

function init_complete_login_form()
{
	//------------------------------------------
	// INIT objects
	//------------------------------------------
	
	reg_got_dname = got_dname;
	
	//------------------------------------------
	// Fields...
	//------------------------------------------

	reg_field_ids['emailaddress']     = document.getElementById( 'reg-emailaddress' );
	reg_field_ids['emailaddress-two'] = document.getElementById( 'reg-emailaddress-two' );
	
	//------------------------------------------
	// Images
	//------------------------------------------
	
	reg_img_ids['emailaddress'] = document.getElementById( 'img-emailaddress' );
	
	//------------------------------------------
	// Boxes
	//------------------------------------------
	
	reg_box_ids['emailaddress'] = document.getElementById( 'box-emailaddress' );
	
	//------------------------------------------
	// Messages
	//------------------------------------------
	
	reg_msg_ids['emailaddress'] = document.getElementById( 'msg-emailaddress' );
	
	//------------------------------------------
	// Set up onblur
	//------------------------------------------
	
	reg_field_ids['emailaddress'].onblur     = check_email_addresses_one;
	reg_field_ids['emailaddress-two'].onblur = check_email_addresses;

	//------------------------------------------
	// Already got error messages?
	//------------------------------------------
	
	if ( ! reg_msg_ids['emailaddress'].innerHTML )
	{
		reg_box_ids['emailaddress'].style.display = 'none';
	}
	
	//------------------------------------------
	// Display name...
	//------------------------------------------
	
	if ( reg_got_dname )
	{
		reg_field_ids['dname'] = document.getElementById( 'reg-members-display-name' );
		reg_box_ids['dname']   = document.getElementById( 'box-dname' );
		reg_msg_ids['dname']   = document.getElementById( 'msg-dname' );
		reg_img_ids['dname']   = document.getElementById( 'img-members-display-name' );
		
		if ( ! reg_msg_ids['dname'].innerHTML )
		{
			reg_box_ids['dname'].style.display = 'none';
		}
	
		reg_field_ids['dname'].onblur = check_display_name;
	}
	
	in_member_id = member_id;
}

/*-------------------------------------------------------------------------*/
// Check email address validity
/*-------------------------------------------------------------------------*/

function check_email_addresses_one( event )
{
	//----------------------------------
	// INIT
	//----------------------------------
	
	var error_found = '';
	
	//----------------------------------
	// Ajax: check for existing email address
	//----------------------------------
	
	if ( use_enhanced_js && reg_field_ids['emailaddress'].value )
	{
		var url = ipb_var_base_url+'act=xmlout&do=check-email-address&email='+escape( reg_field_ids['emailaddress'].value );
	
		/*--------------------------------------------*/
		// Main function to do on request
		// Must be defined first!!
		/*--------------------------------------------*/
		
		do_request_function = function()
		{
			//----------------------------------
			// Ignore unless we're ready to go
			//----------------------------------
			
			if ( ! xmlobj.readystate_ready_and_ok() )
			{
				// Could do a little loading graphic here?
				return;
			}
			
			//----------------------------------
			// INIT
			//----------------------------------
			
			var html = xmlobj.xmlhandler.responseText;
		
			if ( html == 'found' )
			{
				error_found += reg_error_email_taken + "<br />";
			}
			if ( html == 'banned' )
			{
				error_found += reg_error_email_ban + "<br />";
			}
			
			//----------------------------------
			// Show errors
			//----------------------------------
			
			if ( error_found )
			{
				reg_field_ids['emailaddress'].className   = input_red;
				reg_img_ids['emailaddress'].src           = ipb_var_image_url + '/' + img_cross;
				reg_msg_ids['emailaddress'].innerHTML     = error_found;
				reg_box_ids['emailaddress'].style.display = 'block';
				error_email = 1;
			}
			else
			{
				error_email = 0;
			}
			
			error_found = '';
		}
		
		//----------------------------------
		// LOAD XML
		//----------------------------------
		
		xmlobj = new ajax_request();
		xmlobj.onreadystatechange( do_request_function );
		xmlobj.process( url );
	}
}

/*-------------------------------------------------------------------------*/
// Check email addresses
/*-------------------------------------------------------------------------*/

function check_email_addresses( event )
{
	//----------------------------------
	// INIT
	//----------------------------------
	
	var error_found = '';
	
	//----------------------------------
	// Check
	//----------------------------------
	
	if ( ! reg_field_ids['emailaddress'].value.match( /[@\.]/ ) )
	{
		error_found += reg_error_email_missing + "<br />";
	}
	
	if ( ! reg_field_ids['emailaddress'].value || ! reg_field_ids['emailaddress-two'].value )
	{
		error_found += reg_error_email_missing + "<br />";
	}
	
	if ( reg_field_ids['emailaddress'].value != reg_field_ids['emailaddress-two'].value )
	{
		error_found += reg_error_email_nm + "<br />";
	}
	
	if ( error_found )
	{
		reg_field_ids['emailaddress'].className       = input_red;
		reg_field_ids['emailaddress-two'].className   = input_red;
		reg_img_ids['emailaddress'].src               = ipb_var_image_url + '/' + img_cross;
		reg_msg_ids['emailaddress'].innerHTML         = error_found;
		reg_box_ids['emailaddress'].style.display     = 'block';
		error_email = 1;
	}
	else
	{
		error_email = 0;
	}
	
	//----------------------------------
	// No error....
	//----------------------------------
	
	if ( error_email == 0 )
	{
		check_email_addresses_one();
	}
	
	//----------------------------------
	// Still no errors...
	//----------------------------------
	
	if ( error_email == 0 )
	{
		reg_field_ids['emailaddress'].className       = input_green;
		reg_field_ids['emailaddress-two'].className   = input_green;
		reg_img_ids['emailaddress'].src               = ipb_var_image_url + '/' + img_tick;
		reg_box_ids['emailaddress'].style.display     = 'none';
		reg_msg_ids['emailaddress'].innerHTML         = '';
	}

	if( reg_field_ids['emailaddress'].className   == input_red )
	{
		reg_field_ids['emailaddress-two'].className   = input_red;
	}		
}


/*-------------------------------------------------------------------------*/
// Check passwords match
/*-------------------------------------------------------------------------*/

function check_passwords( event )
{
	//----------------------------------
	// INIT
	//----------------------------------
	
	var error_found = '';
	
	//----------------------------------
	// Check
	//----------------------------------
	
	if ( ! reg_field_ids['password'].value || ! reg_field_ids['password-check'].value )
	{
		error_found += reg_error_no_pass + "<br />";
	}
	
	if ( reg_field_ids['password'].value != reg_field_ids['password-check'].value )
	{
		error_found += reg_error_pass_nm + "<br />";
	}
	
	if ( error_found )
	{
		reg_field_ids['password'].className       = input_red;
		reg_field_ids['password-check'].className = input_red;
		reg_img_ids['password'].src               = ipb_var_image_url + '/' + img_cross;
		reg_msg_ids['password'].innerHTML         = error_found;
		reg_box_ids['password'].style.display     = 'block';
	}
	else
	{
		reg_field_ids['password'].className       = input_green;
		reg_field_ids['password-check'].className = input_green;
		reg_img_ids['password'].src               = ipb_var_image_url + '/' + img_tick;
		reg_box_ids['password'].style.display     = 'none';
		reg_msg_ids['password'].innerHTML         = '';
	}
}

/*-------------------------------------------------------------------------*/
// Check display name
/*-------------------------------------------------------------------------*/

function check_display_name( event )
{
	//----------------------------------
	// INIT
	//----------------------------------
	
	var error_found = '';
	
	//----------------------------------
	// Make sure we have sommat
	//----------------------------------
	
	if ( ! reg_field_ids['dname'].value || reg_field_ids['dname'].value.length < 3 || reg_field_ids['dname'].value.length > 32 )
	{
		error_found += reg_error_no_name + "<br />";
	}
	
	//----------------------------------
	// Check for illegal chars
	//----------------------------------
	
	if ( reg_field_ids['dname'].value.match( new RegExp( "[" + ucp_dname_illegal_regex + "]" ) ) )
	{
		error_found += reg_error_chars + "<br />";
	}
	
	//----------------------------------
	// Ajax: check for existing member name
	//----------------------------------
	
	if ( use_enhanced_js && reg_field_ids['dname'].value )
	{
		var url = ipb_var_base_url+'act=xmlout&do=check-display-name&name='+escape( reg_field_ids['dname'].value );
		
		// Complete reg form?
		
		if ( in_member_id )
		{
			url += '&id=' + in_member_id;
		}
		
		/*--------------------------------------------*/
		// Main function to do on request
		// Must be defined first!!
		/*--------------------------------------------*/
		
		do_request_function = function()
		{
			//----------------------------------
			// Ignore unless we're ready to go
			//----------------------------------
			
			if ( ! xmlobj.readystate_ready_and_ok() )
			{
				// Could do a little loading graphic here?
				return;
			}
			
			//----------------------------------
			// INIT
			//----------------------------------
			
			var html = xmlobj.xmlhandler.responseText;
			
			if ( html == 'found' )
			{
				error_found += reg_error_taken + "<br />";
			}
			
			//----------------------------------
			// Show errors
			//----------------------------------
			
			if ( error_found )
			{
				reg_field_ids['dname'].className   = input_red;
				reg_img_ids['dname'].src           = ipb_var_image_url + '/' + img_cross;
				reg_msg_ids['dname'].innerHTML     = error_found;
				reg_box_ids['dname'].style.display = 'block';
			}
			else
			{
				reg_field_ids['dname'].className   = input_green;
				reg_img_ids['dname'].src           = ipb_var_image_url + '/' + img_tick;
				reg_box_ids['dname'].style.display = 'none';
				reg_msg_ids['dname'].innerHTML     = '';
			}
			
			error_found = '';
		}
		
		//----------------------------------
		// LOAD XML
		//----------------------------------
		
		xmlobj = new ajax_request();
		xmlobj.onreadystatechange( do_request_function );
		xmlobj.process( url );
	}
	else
	{
		//----------------------------------
		// Show errors
		//----------------------------------
		
		if ( error_found )
		{
			reg_field_ids['dname'].className   = input_red;
			reg_img_ids['dname'].src           = ipb_var_image_url + '/' + img_cross;
			reg_msg_ids['dname'].innerHTML     = error_found;
			reg_box_ids['dname'].style.display = 'block';
		}
		else
		{
			reg_field_ids['dname'].className   = input_green;
			reg_img_ids['dname'].src           = ipb_var_image_url + '/' + img_tick;
			reg_box_ids['dname'].style.display = 'none';
			reg_msg_ids['dname'].innerHTML     = '';
		}
		
		error_found = '';
	}
}



/*-------------------------------------------------------------------------*/
// Check username
/*-------------------------------------------------------------------------*/

function check_user_name( event )
{
	//----------------------------------
	// INIT
	//----------------------------------
	
	var error_found = '';
	
	//----------------------------------
	// Make sure we have sommat
	//----------------------------------
	
	if ( ! reg_field_ids['name'].value || reg_field_ids['name'].value.length < 3 || reg_field_ids['name'].value.length > 32 )
	{
		error_found += reg_error_username_none + "<br />";
	}
	
	//----------------------------------
	// Ajax: check for existing member name
	//----------------------------------
	
	if ( use_enhanced_js && reg_field_ids['name'].value )
	{
		//----------------------------------
		// Get new xhttp obj
		//----------------------------------
		
		var url = ipb_var_base_url+'act=xmlout&do=check-user-name&name='+escape( reg_field_ids['name'].value );
	
		/*--------------------------------------------*/
		// Main function to do on request
		// Must be defined first!!
		/*--------------------------------------------*/
		
		do_request_function = function()
		{
			//----------------------------------
			// Ignore unless we're ready to go
			//----------------------------------
			
			if ( ! xmlobj.readystate_ready_and_ok() )
			{
				// Could do a little loading graphic here?
				return;
			}
			
			//----------------------------------
			// INIT
			//----------------------------------
			
			var html = xmlobj.xmlhandler.responseText;
		
			if ( html == 'found' )
			{
				error_found += reg_error_username_taken + "<br />";
			}
			
			//----------------------------------
			// Show errors
			//----------------------------------
			
			if ( error_found )
			{
				reg_field_ids['name'].className   = input_red;
				reg_img_ids['name'].src           = ipb_var_image_url + '/' + img_cross;
				reg_msg_ids['name'].innerHTML     = error_found;
				reg_box_ids['name'].style.display = 'block';
			}
			else
			{
				reg_field_ids['name'].className   = input_green;
				reg_img_ids['name'].src           = ipb_var_image_url + '/' + img_tick;
				reg_box_ids['name'].style.display = 'none';
				reg_msg_ids['name'].innerHTML     = '';
			}
			
			error_found = '';
		}
		
		//----------------------------------
		// LOAD XML
		//----------------------------------
		
		xmlobj = new ajax_request();
		xmlobj.onreadystatechange( do_request_function );
		xmlobj.process( url );
	}
	else
	{
		//----------------------------------
		// Show errors
		//----------------------------------
		
		if ( error_found )
		{
			reg_field_ids['name'].className   = input_red;
			reg_img_ids['name'].src           = ipb_var_image_url + '/' + img_cross;
			reg_msg_ids['name'].innerHTML     = error_found;
			reg_box_ids['name'].style.display = 'block';
		}
		else
		{
			reg_field_ids['name'].className   = input_green;
			reg_img_ids['name'].src           = ipb_var_image_url + '/' + img_tick;
			reg_box_ids['name'].style.display = 'none';
			reg_msg_ids['name'].innerHTML     = '';
		}
		
		error_found = '';
	}
}

/*-------------------------------------------------------------------------*/
// Validate the complete log in form
/*-------------------------------------------------------------------------*/

function validate_complete_login_form( event )
{
	//------------------------------------------
	// Simply run the functions
	//------------------------------------------
	
	reg_oktogo = 1;
	
	check_email_addresses( event );
	
	//------------------------------------------
	// Got error messages
	//------------------------------------------
	
	if ( reg_msg_ids['emailaddress'].innerHTML )
	{
		reg_oktogo = 0;
	}
	
	//------------------------------------------
	// Display name...
	//------------------------------------------
	
	if ( reg_got_dname )
	{
		check_display_name( event );
		
		if ( reg_msg_ids['dname'].innerHTML )
		{
			reg_oktogo = 0;
		}
	}
	
	//------------------------------------------
	// Return
	//------------------------------------------
	
	return reg_oktogo ? true : false;
}

/*-------------------------------------------------------------------------*/
// Validate the registration form
/*-------------------------------------------------------------------------*/

function validate_reg_form( event )
{
	//------------------------------------------
	// Simply run the functions
	//------------------------------------------
	
	reg_oktogo = 1;
	
	check_email_addresses( event );
	check_passwords( event );
	check_user_name( event );

	//------------------------------------------
	// Got error messages
	//------------------------------------------
	
	if ( reg_msg_ids['name'].innerHTML )
	{
		reg_oktogo = 0;
	}
	
	if ( reg_msg_ids['password'].innerHTML )
	{
		reg_oktogo = 0;
	}
	
	if ( reg_msg_ids['emailaddress'].innerHTML )
	{
		reg_oktogo = 0;
	}
	
	//------------------------------------------
	// Display name...
	//------------------------------------------
	
	if ( reg_got_dname )
	{
		check_display_name( event );
		
		if ( reg_msg_ids['dname'].innerHTML )
		{
			reg_oktogo = 0;
		}
	}
	
	//------------------------------------------
	// Return
	//------------------------------------------
	
	return reg_oktogo ? true : false;
}

/*-------------------------------------------------------------------------*/
// They are a COPPA :D
/*-------------------------------------------------------------------------*/

function coppa_save()
{
	//------------------------------------------
	// Set cookie
	//------------------------------------------
	
	my_setcookie( 'coppa', 'yes', 1 );
}

/*-------------------------------------------------------------------------*/
// Run from the COPPA
/*-------------------------------------------------------------------------*/

function coppa_cancel()
{
	//------------------------------------------
	// Set cookie
	//------------------------------------------
	
	my_setcookie( 'coppa', '0', 1 );
	locationjump( '' );
}

/*-------------------------------------------------------------------------*/
// Run from the COPPA
/*-------------------------------------------------------------------------*/

function coppa_check()
{
	//------------------------------------------
	// Set cookie
	//------------------------------------------
	
	var coppa_check = my_getcookie( 'coppa' );
	
	if ( coppa_check == 'yes' )
	{
		alert( coppa_bounce );
		
		locationjump( 'act=reg&CODE=coppa_two' );
	}
}

/*-------------------------------------------------------------------------*/
// Show a more info button?
/*-------------------------------------------------------------------------*/


function reg_get_more_check()
{
	var dropdown = document.getElementById( 'subspackage' );
	var chosenid = dropdown.options[dropdown.selectedIndex].value;
	
	if ( ! chosenid )
	{
		chosenid = 0;
	}
	
	if ( subdesc[chosenid] )
	{
		document.getElementById( 'reg-get-more-info' ).style.display = '';
	}
	else
	{
		document.getElementById( 'reg-get-more-info' ).style.display = 'none';
	}
}


/*-------------------------------------------------------------------------*/
// Show subs more info form
/*-------------------------------------------------------------------------*/

function get_more_info()
{
	var dropdown = document.getElementById( 'subspackage' );
	var chosenid = dropdown.options[dropdown.selectedIndex].value;
	
	if ( ! chosenid )
	{
		chosenid = 0;
	}
	
	//------------------------------------------
	// Toggle view...
	//------------------------------------------
	
	if ( subdesc[chosenid] )
	{
		document.getElementById('pkdesc').innerHTML = subdesc[chosenid];
	
		toggleview('subspkdiv');
	}
}