// JavaScript Document
//登入帳號、密碼、驗證碼檢查
/*
輸入:
	obj_admin_username:帳號輸入物件
	obj_admin_password:密碼輸入物件
	obj_verifying_code:驗證碼輸入物件
輸出:
	XML文件
	成功:
		<result>1<result>
		重新整理頁面
	失敗:
		<result>0</result>
		<message>資料錯誤</message>
		顯示message內容	
*/
function Login( str_member_username_id , str_member_password_id , str_verifying_code_id )
{
	var username = document.getElementById( str_member_username_id ).value;
	var password = document.getElementById( str_member_password_id ).value;
	var verifying_code = document.getElementById( str_verifying_code_id ).value;

	request = createRequest();
	var url = str_path + "js/ajax/login.php";
	
	request.open( "POST" , url , true );
	request.onreadystatechange = function()
	{
		if( Response() )
		{
			var obj_xmldoc = request.responseXML;
			
			var str_result = obj_xmldoc.getElementsByTagName( "result" ).item(0).childNodes[0].nodeValue;
			
			if( str_result == "1" )
			{
				//導向頁面
				//location.href = str_path;
				location.reload();
			}
			else
			{
				//顯示錯誤訊息
				var str_message = obj_xmldoc.getElementsByTagName( "message" ).item(0).childNodes[0].nodeValue;
				
				alert( str_message );
				
				if( str_result == "2" )
				{
					RebuildVerifyingCode( document.getElementById( "img_verifying_code" ) );					
					
					document.getElementById( "verifying_code" ).value = "";
					document.getElementById( "verifying_code" ).focus();
				}
			}
		}
	};
	request.setRequestHeader( "Content-Type","application/x-www-form-urlencoded" );
	request.send(	"username=" + username + 
					"&password=" + password + 
					"&verifying_code=" + verifying_code );
}

//登出
function Logout()
{
	//document.getElementById( 'layer' ).style.display = '';
	
	request = createRequest();
	var url = str_path + "js/ajax/logout.php";
	request.open( "POST" , url , true );
	request.onreadystatechange = function()
	{
		if( Response() )
		{
			//導向頁面
			/*
			alert( request.responseText );
			*/			
			location.reload();
			
			//ShowLogout( '1' );
		}
	};
	request.setRequestHeader( "Content-Type","application/x-www-form-urlencoded" );
	request.send( null );
}

//重新產生驗證碼
function RebuildVerifyingCode( obj_verifying_code_img )
{
	var verifying_code_url = obj_verifying_code_img.src.split( "?" );
	verifying_code_url = verifying_code_url[0];
	
	obj_verifying_code_img.src = verifying_code_url + "?" + Math.random();
}


//顯示登入表單
function ShowLogin( bool_show )
{
	if( bool_show == "0" )
	{
		document.getElementById( 'layer' ).style.display = 'none';
		document.getElementById( 'login_layer' ).style.display = 'none';
		
		//document.body.scroll = "yes";
	}
	else if( bool_show == "1" )
	{
		document.getElementById( 'layer' ).style.display = '';		
		document.getElementById( 'login_layer' ).style.display = '';
		
		document.getElementById( 'layer' ).style.width = document.body.scrollWidth + "px";
		if( screen.availHeight > document.body.clientHeight )
		{
			document.getElementById( 'layer' ).style.height = screen.availHeight + "px";
			document.getElementById( 'login_layer' ).style.height = screen.availHeight + "px";
		}
		else
		{
			if( document.body.scrollHeight > document.body.clientHeight )
			{
				document.getElementById( 'layer' ).style.height = document.body.scrollHeight + "px";
				document.getElementById( 'login_layer' ).style.height = document.body.scrollHeight + "px";
			}
			else
			{
				document.getElementById( 'layer' ).style.height = document.body.clientHeight + "px";
				document.getElementById( 'login_layer' ).style.height = document.body.clientHeight + "px";
			}
		}

		//document.getElementById( 'member_username' ).focus();
	}
}
//顯示加入會員表單第二頁
function ShowLogin_2( bool_show )
{
	var obj_chk_accept = document.getElementById( "accept" );


	if( bool_show == "0" )
	{
		document.getElementById( 'login_form' ).style.display = 'none';
		document.getElementById( 'login_right' ).style.display = '';
		
		//document.body.scroll = "yes";
	}
	else if( bool_show == "1" )
	{
		if( obj_chk_accept.checked )
		{
			document.getElementById( 'login_form' ).style.display = '';	
			document.getElementById( 'login_right' ).style.display = 'none';
			
			ShowLoginStep( '1' );
		}
		else
		{
			alert( '請勾選"接受"，方能加入會員' );	
		}
	}
}

function CheckLoginStep( step )
{
	switch( step )
	{
		case '1':
				var is_valid = true;
				//alert(step);
				/*
				資料檢查
				*/
				//------------------------------------------------------------				
				if( !(CheckEmpty( 'id' ) && CheckMinLength( 'id' , 4 ) && CheckLength( 'id' , 12 ) && CheckEnCharAndInt( 'id' ) ) )
				{
					//document.getElementById( "id_alert" ).innerHTML = "<br>" + document.getElementById( "id_alert" ).innerHTML;
					is_valid = false;
				}
				else
				{
					var username = document.getElementById( 'id' ).value;
					
					request = createRequest();
					var url = str_path + "js/ajax/ajax_member_exists.php";
					request.open( "POST" , url , false );
					request.onreadystatechange = function()
					{
						if( Response() )
						{
							var obj_xmldoc = request.responseXML;
			
							//alert( request.responseText );
							
							var str_result = obj_xmldoc.getElementsByTagName( "result" ).item(0).childNodes[0].nodeValue;
							/*
							var str_message = obj_xmldoc.getElementsByTagName( "message" ).item(0).childNodes[0].nodeValue;
							document.getElementById( "id_alert" ).style.visibility = 'visible';
							document.getElementById( "id_alert" ).innerHTML = str_message;
							*/
							
							if( str_result == "0" )
							{

								//導向頁面
								//location.href = str_path;
								var str_message = obj_xmldoc.getElementsByTagName( "message" ).item(0).childNodes[0].nodeValue;
								//alert( str_message );
								document.getElementById( "id_alert" ).style.visibility = 'visible';
								document.getElementById( "id_alert" ).innerHTML = str_message;
								is_valid = false;
							}
							
						}
					};
					request.setRequestHeader( "Content-Type","application/x-www-form-urlencoded" );
					request.send( 	"username=" + username );	
				}
				
				if( !CheckEmpty( 'email' ) )
				{
					//document.getElementById( "email_alert" ).innerHTML = "<br>" + document.getElementById( "email_alert" ).innerHTML;
					is_valid = false;
				}
				
				if( !( CheckEmpty( 'password' ) && CheckMinLength( 'password' , 6 ) ) )
				{
					//document.getElementById( "password_alert" ).innerHTML = "<br>" + document.getElementById( "password_alert" ).innerHTML;
					is_valid = false;
				}
				
				if( !CheckEmpty( 'verifying_code' ) )
				{
					is_valid = false;
				}
				else
				{
					var verifying_code = document.getElementById( "verifying_code" ).value;
					
					request = createRequest();
					var url = str_path + "js/ajax/ajax_verifying_code.php";
					request.open( "POST" , url , false );
					request.onreadystatechange = function()
					{
						if( Response() )
						{
							var obj_xmldoc = request.responseXML;
			
							var str_result = obj_xmldoc.getElementsByTagName( "result" ).item(0).childNodes[0].nodeValue;
							
							if( str_result == "2" )
							{
								//導向頁面
								//location.href = str_path;
								RebuildVerifyingCode( document.getElementById( "img_verifying_code" ) );					
					
								document.getElementById( "verifying_code" ).value = "";
								
								var str_message = obj_xmldoc.getElementsByTagName( "message" ).item(0).childNodes[0].nodeValue;
								document.getElementById( "verifying_code_alert" ).innerHTML = str_message;
								is_valid = false;
							}
						}
					};
					request.setRequestHeader( "Content-Type","application/x-www-form-urlencoded" );
					request.send( 	"verifying_code=" + verifying_code );
				}
				//------------------------------------------------------------
				
				if( is_valid )
				{
					ShowLoginStep( "2" );
				}
				
				break;
				
		case '2':
				var is_valid = true;				
				/*
				資料檢查
				*/
				//------------------------------------------------------------
				
				//------------------------------------------------------------
				
				if( is_valid )
				{
					//顯示出3a的版
					ShowLoginStep( '3a' );
					
					//執行註冊動作
					Registration();
				}
				
				break;
				
		default:
		
				break;
	}
}

function Registration()
{
	var id = document.getElementById( 'id' ).value;
	var email = document.getElementById( 'email' ).value;
	var password = document.getElementById( 'password' ).value;
	var verifying_code = document.getElementById( 'verifying_code' ).value;
	var name = document.getElementById( 'name' ).value;
	var sex = document.getElementById( 'sex' ).value;
	var tel = document.getElementById( 'tel' ).value;
	var address = document.getElementById( 'address' ).value;
	var edu = document.getElementById( 'edu' ).value;
	var playing_age = document.getElementById( 'playing_age' ).value;

	request = createRequest();
	var url = str_path + "js/ajax/ajax_registration.php";
	request.open( "POST" , url , false );
	request.onreadystatechange = function()
	{
		if( Response() )
		{
			var obj_xmldoc = request.responseXML;

			//alert( request.responseText );

			var str_result = obj_xmldoc.getElementsByTagName( "result" ).item(0).childNodes[0].nodeValue;
		
			if( str_result == "1" )
			{
				//模擬寄信成功
				setTimeout( "ShowLoginStep( '4' )" , 2000 );
			}
			else
			{
				//模擬寄信失敗
				setTimeout( "ShowLoginStep( '3b' )" , 2000 );
			}
		}
	};
	request.setRequestHeader( "Content-Type","application/x-www-form-urlencoded" );
	request.send( 	"id=" + id + 
				 	"&email=" + email + 
					"&password=" + password + 
					"&name=" + name + 
					"&sex=" + sex + 
					"&tel=" + tel + 
					"&address=" + address + 
					"&edu=" + edu + 
					"&playing_age=" + playing_age );
}

function ShowLoginStep( step )
{
	switch( step )
	{
		case '1':
				document.getElementById( "login_form_step_1" ).style.display = "block";
				document.getElementById( "login_form_step_2" ).style.display = "none";
				document.getElementById( "login_form_step_3a" ).style.display = "none";
				document.getElementById( "login_form_step_3b" ).style.display = "none";
				document.getElementById( "login_form_step_4" ).style.display = "none";
		
				break;
				
		case '2':
				document.getElementById( "login_form_step_1" ).style.display = "none";
				document.getElementById( "login_form_step_2" ).style.display = "block";
				document.getElementById( "login_form_step_3a" ).style.display = "none";
				document.getElementById( "login_form_step_3b" ).style.display = "none";
				document.getElementById( "login_form_step_4" ).style.display = "none";
		
				break;

		case '3a':
				document.getElementById( "login_form_step_1" ).style.display = "none";
				document.getElementById( "login_form_step_2" ).style.display = "none";
				document.getElementById( "login_form_step_3a" ).style.display = "block";
				document.getElementById( "login_form_step_3b" ).style.display = "none";
				document.getElementById( "login_form_step_4" ).style.display = "none";
		
				break;	
				
		case '3b':
				document.getElementById( "login_form_step_1" ).style.display = "none";
				document.getElementById( "login_form_step_2" ).style.display = "none";
				document.getElementById( "login_form_step_3a" ).style.display = "none";
				document.getElementById( "login_form_step_3b" ).style.display = "block";
				document.getElementById( "login_form_step_4" ).style.display = "none";
		
				break;	

		case '4':
				document.getElementById( "login_form_step_1" ).style.display = "none";
				document.getElementById( "login_form_step_2" ).style.display = "none";
				document.getElementById( "login_form_step_3a" ).style.display = "none";
				document.getElementById( "login_form_step_3b" ).style.display = "none";
				document.getElementById( "login_form_step_4" ).style.display = "block";
		
				break;	
	}
}

//顯示登出表單
function ShowLogout( bool_show )
{
	if( bool_show == "0" )
	{
		document.getElementById( 'layer' ).style.display = 'none';
		document.getElementById( 'logout_layer' ).style.display = 'none';
		
		location.reload();
	}
	else if( bool_show == "1" )
	{
		document.getElementById( 'layer' ).style.display = '';		
		document.getElementById( 'logout_layer' ).style.display = '';
		
		document.getElementById( 'layer' ).style.width = document.body.clientWidth;
		if( document.body.scrollHeight > document.body.clientHeight )
		{
			document.getElementById( 'layer' ).style.height = document.body.scrollHeight;
			document.getElementById( 'logout_layer' ).style.height = document.body.scrollHeight;
		}
		else
		{
			document.getElementById( 'layer' ).style.height = document.body.clientHeight;
			document.getElementById( 'logout_layer' ).style.height = document.body.clientHeight;
		}
	}
}
