/*

 * @use : lib/js/validation.js

 * 

 */



/**

 *

 * config - strat

 *

**/

var sending = false;



var USERNAME_LENGTH_MIN = 6;

var PASS_LENGTH_MIN = 6; 



var username_valid = false;

var email_valid    = false;

var password_valid = false;

var phone_valid    = false;

var captcha_valid  = false;

/**

 *

 * config - end

 *

**/





$( function()

{	

	$( "#rg_submit" ).click( check_submit );

	

	$('#rg_username').blur( check_username );

	$('#rg_email').blur( check_email );

	

	$('#rg_password_1,#rg_password_2').blur( check_password );

	

	$('#rg_phone').blur( check_phone );



});


function show_nomal( obj )

{

	$( obj ).attr( 'class' , 'form-input' );

}



function show_failure( obj )

{

	$( obj ).attr( 'class' , 'form-input failure' );

}



function show_success( obj )

{

	$( obj ).attr( 'class' , 'form-input success' );

}



function check_username()

{

	

	//check username length 

	if ( ! minimum( $( "#rg_username" ).val() , USERNAME_LENGTH_MIN ) ||  ! is_character( $( "#rg_username" ).val() ) )

	{	

		show_failure( "#rg_username" );

		username_valid = false;

		return;

	}

	

	// check username and email is have ?

	$.post( 'control.php' , { app : "member" , method : "have_username" , username : $("#rg_username").val() } , function( data )

	{	

		if( data == 'TRUE' )

		{	

			alert( 'ยูเซอร์เนมถูกใช้งานไปแล้วกรุณาลองกรอกยูเซอร์เนมใหม่อีกครั้ง' );

			show_failure( "#rg_username" );

			username_valid = false;

			return;

		}

		else

		{

			show_success( "#rg_username" );	

			username_valid = true;



		}

			

	} );

	

}





function check_email()

{

	

	//check email

	if(  ! is_email(  $("#rg_email").val()  ) )

	{

		show_failure( "#rg_email" );

		email_valid = false;

		return;

	}

	

	$.post( 'control.php' , { app : "member" , method : "have_email" , email : $("#rg_email").val() } , function( data )

	{

		if( data == 'TRUE' )

		{

			alert( 'อีเมล์ถูกใช้งานไปแล้วกรุณาลองกรอกอีเมล์ใหม่อีกครั้ง' );

			show_failure( '#rg_email' );

			email_valid = false;

			return;

		}

		else

		{

			show_success( '#rg_email' );

			email_valid = true;

		}

				

	} );

	

}





function check_password()

{



	password_valid = false;

	

	//check password_1 length

	if (  ! minimum( $("#rg_password_1").val() , PASS_LENGTH_MIN ) ||  ! is_character( $( "#rg_password_1" ).val() ) )

	{

		show_failure( "#rg_password_1" );

		show_failure( "#rg_password_2" );

		return;

	}



	//check password_2 length

	if (  ! minimum( $("#rg_password_2").val() , PASS_LENGTH_MIN ) ||  ! is_character( $( "#rg_password_2" ).val() ) )

	{

		show_failure( "#rg_password_1" );

		show_failure( "#rg_password_2" );

		return;

	}



	// check password_1 equal password_2

	if (  ! equal( $("#rg_password_1").val() , $("#rg_password_2").val()  ) )

	{

		

		show_failure( "#rg_password_1" );

		show_failure( "#rg_password_2" );

		$( "#rg_password_1" ).focus();

		return;

	}

	

	show_success( "#rg_password_1" );

	show_success( "#rg_password_2" );

	

	password_valid = true;

}





function check_phone()

{

	

	phone_valid = false;

	

	//check input phone 1

	if (  ! is_phone( $("#rg_phone").val() )  ) 

	{

		show_failure( "#rg_phone" );

		return;

	}



	show_success( "#rg_phone" );

	phone_valid = true;

		

}




// ckick button submit 

function check_submit()
{	



	if( sending )
	{

		return;

	}

	

	if( ! check_sex() )

	{

		alert( 'select sex ?' );

		return;

	}



	if( ! username_valid )

	{

		show_failure( "#rg_username" );

		return;	

	}

	if( ! password_valid )

	{

		show_failure( "#rg_password_1" );

		show_failure( "#rg_password_2" );

		$( "#rg_password_1" ).focus();

		return;	

	}

	if( ! email_valid )

	{

		show_failure( "#rg_email" );

		return;	

	}

    if( ! phone_valid )

	{

		show_failure( "#rg_phone" );

		$( "#rg_phone" ).focus();

		return;	

	}
	
	//check code

	if(  ! is_character(  $("#captcha_value").val()  ) || $("#captcha_value").val() == "" )

	{

		show_failure( "#captcha_value" );
		
		$( "#captcha_value" ).focus();

		return;

	}

	

	$.post( 'control.php' , { app : "captcha" , method : "check" , code : $("#captcha_value").val() } , function( data )

	{ 



		if( data == 'TRUE' )

		{

			show_success( "#captcha_value" );

			sending = true;
	
			$( "#register_form" ).submit();

		}
		else
		{

			show_failure( "#captcha_value" );
			$( "#captcha_value" ).focus();
			

		}

		

	});

		

}





function check_sex()

{
	sex_1 = $('#radio-1').is(':checked')? true : false;
	sex_2 = $('#radio-2').is(':checked')? true : false;

	if( !sex_1 && !sex_2 )
	{	
		return false;
	}

	return true;	

}
