// +------------------------------
// | トップページ用JS
// +------------------------------

$.ajaxSetup( { cache : false } );
var url = location.protocol + "//" + location.hostname;
$( document ).ready(function(){
	
	var frm_common = document.forms.common;

	if( frm_common.popup.value == 1 ){
		switch( frm_common.filename.value ){
			case 'entry_conf':
			case 'entry_timeout':
				//本登録
				entry( frm_common );
				break;
			case 'popup_login':
				trans_member_login();
				break;
		}
	}
	// TOPページログイン処理１
	$( '#login_btn' ).live( 'click', function(){ cookie_login( 'auto_id', 'login_id' ); login(); return false; });

	// ログアウト処理
	$( '#logout').submit( function(){ logout(); return false; } );

	// ID・パスワード忘れ
	$( '#reminder_1, #reminder_2, #reminder_3' ).live( 'click', function(){
		$( '#popup_base' ).load( '/ajax/reminder.php', function( data ){ popup_base_window_open(); } );
	});

	// ID・パスワード忘れ 送信ボタン
	$( '#reminder_send_btn' ).live( 'click', function(){
		var post_data = {
			mail : $( '#entry_mail_address' ).val() 
		}
		$( '#popup_base' ).load( '/ajax/reminder_end.php', post_data );
		return false;
	});

	// ID・パスワード忘れ リセットボタン
	$( '#reminder_reset_btn' ).live( 'click', function(){
		$( '#entry_mail_address' ).val( '' );
		return false;
	});

	// 会員登録情報の確認と変更クリック時
	$( '#user_info' ).live( 'click', function(){
		$( '#popup_base' ).load( '/ajax/user_info.php', function( data ){ popup_base_window_open(); } );
		return false;
	});

	// パスワードの変更はこちらクリック時
	$( '#user_info_edit_pass_btn, #edit_pass' ).live( 'click', function(){
		if( this.id == 'edit_pass' ){
			// 未ログインの場合はログイン画面を表示
			if( !document.forms.logout ){ login(); return false; }
			popup_base_window_open();
		}
		$( '#popup_base' ).load( '/ajax/edit_pass.php' );
		return false;
	});

	// パスワード変更ボタンクリック時
	$( '#edit_pass_edit_btn' ).live( 'click', function(){
		var post_data = {
			password : $( '#entry_pass' ).val()
		}
		$( '#popup_base' ).load( '/ajax/edit_pass_end.php', post_data );
		return false;
	});

	// パスワードクリアボタンクリック時
	$( '#edit_pass_reset_btn' ).live( 'click', function(){
		$( '#entry_pass' ).val( '' );
		return false;
	});

	// メールアドレスの変更はこちらクリック時
	$( '#user_info_edit_mail_btn, #edit_mail' ).live( 'click', function(){
		if( this.id == 'edit_mail' ){
			// 未ログインの場合はログイン画面を表示
			if( !document.forms.logout ){ login(); return false; }
			popup_base_window_open();
		}
		$( '#popup_base' ).load( '/ajax/edit_mail.php' );
		return false;
	});
	 
	// メールアドレス変更ボタンクリック時
	$( '#edit_mail_edit_btn' ).live( 'click', function(){
		var post_data = {
			mail_address		: $( '#entry_mail_address' ).val(),
			check_mail_host		: $( '#check_mail_host' ).val(),
			check_mail_domain	: $( '#check_mail_domain' ).val()
		}
		$( '#popup_base' ).load( '/ajax/edit_mail_end.php', post_data );
		return false;
	});
	 
	// メールアドレスクリアボタンクリック時
	$( '#edit_mail_reset_btn' ).live( 'click', function(){
		$( '#entry_mail_address, #check_mail_host, #check_mail_domain' ).val( '' );
		return false;
	});

	// ニックネームの変更はこちらクリック時
	$( '#user_info_edit_nickname_btn, #edit_nickname' ).live( 'click', function(){
		if( this.id == 'edit_nickname' ){
			// 未ログインの場合はログイン画面を表示
			if( !document.forms.logout ){ login(); return false; }
			popup_base_window_open();
		}
		$( '#popup_base' ).load( '/ajax/edit_nickname.php' );
		return false;
	});

	// ニックネーム変更ボタンクリック時
	$( '#edit_nickname_edit_btn' ).live( 'click', function(){
		var post_data = {
			nickname : $( '#entry_nickname' ).val()
		}
		$( '#popup_base' ).load( '/ajax/edit_nickname_end.php', post_data );
		return false;
	});
	 
	// ニックネームクリアボタンクリック時
	$( '#edit_nickname_reset_btn' ).live( 'click', function(){
		$( '#entry_nickname' ).val( '' );
		return false;
	});

	// 閉じるボタン
	$( ":button[ value = '閉じる' ]" ).live( 'click', function(){
		popup_base_window_close();
		return false;
	});
	
	// トップページへボタン
	$( "#edit_mail_end_totop_btn, #edit_pass_end_totop_btn, #edit_nickname_end_totop_btn" ).live( 'click', function(){
		location.href = Env.topPageUrl;
		return false;
	});

	//アンケートチェック
	if( $( "#enqu" ) && $( "#enqu_date" ) ){
		var post_date = { enqu_date : $( "#enqu_date" ).val()};	
		$.post( '/ajax/enqu_index.php', post_date, function( json, status ){
			if( status == "success" ){ if( json.flag ){ $( "#enqu_code" ).val( json.data.enqu_code ); $( "#enqu_index_btn" ).fadeIn();} }
		}, 'json' );
	}	
	//アンケートINPUTページへ遷移	
	$( "#enqu_index_btn" ).live( "click", function(){
		var post_data = { logic: 'input',  enqu_date : $( "#enqu_date ").val(), enqu_code : $( "#enqu_code" ).val() };
		$( "#main_contents" ).load( '/ajax/enqu_input.php', post_data, function(){ location.href='#'; } );
		return false;
	});	
	//アンケートINPUTページへ戻る
	$( "#enqu_conf_return_btn" ).live( "click", function(){
		var post_data = { logic: 'return' };
		$( "#main_contents" ).load( '/ajax/enqu_input.php', post_data, function(){ location.href='#'; } );
		return false;
	});
	//アンケートリクエストチェックと確認ページへ
	$( "#enqu_input_btn" ).live( "click", function(){
		var params = $("#enqu_input").serialize();
		$.post( '/ajax/enqu_input_confirm.php', { "params" : params }, function( json, status ){
			if( status == "success" ){
				if( json.error_code ){
					//エラー発生
					$( "#enqu_error_title" ).css( 'display', 'block');
					enqu_error( json );
					location.href='#';
				}else{
					$( "#main_contents" ).load( '/ajax/enqu_conf.php', { "params" : params }, function(){ location.href='#'; } );
				}	
			}
		}, 'json');	
		return false;
	});
	//アンケート送信処理
	$( "#enqu_conf_confirm_btn" ).live( "click", function(){
		var post_data = { logic : 'regist' };
		$( "#main_contents" ).load( '/ajax/enqu_end.php', post_data, function(){ location.href='#'; } );
		return false;
	});
	
});

//アンケートテキストボックス入力処理
function enqu_text( key, i ){
	var form = document.enqu_input;

	//テキストボックスない質問対策
	if( form['enqu_text_flag['+key+']'] ){
		var ii = form['enqu_text_flag['+key+']'].value;
	}else{
		return;
	}
	var type = form['enqu['+key+']['+i+']'].type;
	//チェックボックス対応
	if( type == "checkbox" ){	
		if( form['enqu['+key+']['+ii+']'].checked == true ){
			form['enqu_text['+key+']['+ii+']'].disabled = false;
		}else{
			form['enqu_text['+key+']['+ii+']'].disabled = true;
		}
	}else if( type == "radio" ){
		if( form['enqu['+key+']['+ii+']'].value == form['enqu['+key+']['+i+']'].value ){
			form['enqu_text['+key+']['+ii+']'].disabled = false;
		}else{
			form['enqu_text['+key+']['+ii+']'].disabled = true;
		}	
	}
}

//アンケートエラー発生処理
function enqu_error( json ){
	for( i=1; i<=json.item; i++ ){
		if( json.his[i] ){
			$( "#enqu_ques_" + i ).addClass( 'border_red' ).addClass( 'text_red' );
		}else{
			$( "#enqu_ques_" + i ).removeClass( 'border_red' ).removeClass( 'text_red' );
		}	

	}
}

//ログインIDをクッキへ登録
function cookie_login( flg, login_id){
	if( $( "#"+flg ).is( ":checked" ) ){
		$.cookie( "login_id", $( "#"+login_id ).val(), { expires : 365, path : "/" } );
	}else{
		if( $.cookie( "login_id" ) ){
			$.cookie("login_id", '', { expires: -1, path : "/" });
		}
	}
}

//ログイン処理
function login(){
	$( "#login_btn" ).attr( "disabled", true );
	var post_data = { logic : 'login', id : $('#login_id').val(), pass : $('#login_pass').val() };
	$.post( '/ajax/login.php', post_data, function( json, status ){ afterLogin( json ); $( "#login_btn" ).attr( "disabled", false );}, 'json' );
//	$.post( '/ajax/login.php', post_data, function( json, status ){  alert( json ); $( "#login_btn" ).attr( "disabled", false );} );
	return false;
}

//会員本登録
function entry( frm_common ){
	var post_data = { logic : 'entry', guid : frm_common.guid.value };
	$("#popup_base").load( '/ajax/' + frm_common.filename.value + '.php', post_data,
		function( json, static ){ popup_base_window_open(); add_popup_base_window_close_event( 'entry_close_btn'); if( frm_common.filename.value == 'entry_conf' ){ entry_regist( frm_common ); } }
	);

}

//会員本登録本人確認処理
function entry_regist( frm_common ){
	//会員本人確認用
	$( '#entry_conf' ).submit( function(){
		if( !this.entry_pass.value ){
			$("#entry_pass_error_msg").css("display","block").html('パスワードを入力してください。');
			return false;
		}
		var post_data = { guid : frm_common.guid.value, pass : $("#entry_pass").val() };
		$( "#entry_conf_btn" ).attr( "disabled", true );
		$("#popup_base").load( '/ajax/entry_regist.php', post_data, function(){ add_popup_base_window_close_event( 'entry_close_btn') } );
		return false;
	});	
}


//TOPページのログインボタンをクリック後の処理
function afterLogin( json ){
	var data = json.data;
	if( json.flag ){ location.href = url; } 
	//ログイン失敗
	else {
		//会員未登録－ポップアップウィンドウへ遷移
		if( data.kanri_no ){ trans_pre_entry(data); }
		//ID/PW間違い
		else if(data){ trans_member_login(); }
	}
}

//ログアウト処理
function logout(){
	$("#login_check" ).load( '/ajax/login_box.php', { session_status : false }, function(){ location.href= url; } );
}

//ポップアップログインウィンドウへ遷移
function trans_member_login(){
	$( "#popup_base" ).load( '/ajax/popup_login.php', { logic : 'popup_login' },
		function(){
			popup_base_window_open();
			//ポップアップウィンドウ閉じるイベント登録
			$( "#popup_login_close_btn" ).click(function(){
				var filename = location.pathname.match( /[a-zA-Z0-9]+\.php$/ );
				if( Env.stayOnClose.join( Env.arrayDelimiter ).indexOf( filename ) == -1 ){
					location.href= url;
				}
			});
			//ポップアップログイン処理
			popup_login();
		}
	);
}
//ポップアップログイン処理
function popup_login(){
	//ポップアップログイン処理
	$("#popup_login").submit( function(){
		cookie_login( "popup_auto_id", "popup_login_id" );
		$( "#popup_login_btn" ).attr( "disabled", true );
		var post_data = { logic	: 'login', id : this.popup_login_id.value, pass : this.popup_login_pass.value };
		$.post( '/ajax/login.php', post_data, function( json, status ){ afterLogin( json ); }, 'json' );
//		$.post( '/ajax/login.php', post_data, function( json, status ){ alert(json); afterLogin( json ); } );
		return false;
	});
}

//会員未登録－ポップアップウィンドウへ遷移
function trans_pre_entry(data){
	if( data.kanri_no ){
		//最初ログイン時に実行される
		var entry_id = data.kanri_no;
	} else {
		//確認画面から戻るときに実行
		var entry_id = data.entry_id.data;
	}
	//会員未登録のポップアップウィンドウのロード
	load_pre_entry( entry_id, pre_entry );
}

//会員未登録のポップアップウィンドウのロード
//@params	entry_id
//			func	コールバック関数
//			params	コールバック関数のパラメータ
function load_pre_entry( entry_id, func, data ){
	var post_data = { logic : 'pre_entry', entry_id : entry_id };
	$( "#popup_base" ).load( '/ajax/pre_entry.php', post_data,
		function(){
			popup_base_window_open();
			//ポップアップウィンドウ閉じるイベント登録
			add_popup_base_window_close_event( 'pre_entry_close_btn' );
			//会員登録フォーム操作準備
			func( data );
		}
	);
}
//入力フォームをリセットする
function pre_entry_reset(){
	$("#entry_pass").val('');
	$("#entry_mail_address").val('');
	$("#check_mail_host").val('');
	$("#check_mail_domain").val('');
	$("#entry_nickname").val('');
	return false;
}
//会員登録
//入力フォーム
function pre_entry(){
	//会員登録のバリデーション処理
	$('#pre_entry').submit(function(){
		$( "#pre_entry_btn" ).attr( "disabled", true );
		var post_data = {
			entry_id			: this.entry_id.value,
			entry_pass			: this.entry_pass.value,
			entry_mail_address	: this.entry_mail_address.value,
			check_mail_host		: this.check_mail_host.value,
			check_mail_domain	: this.check_mail_domain.value,
			entry_nickname		: this.entry_nickname.value
		};
		$.post( '/ajax/pre_entry_validation.php', post_data, function( json, status ){ if( status == 'success' ){ after_pre_entry(json);} $( "#pre_entry_btn" ).attr( "disabled", false );}, 'json' );
//		$.post( '/ajax/pre_entry_validation.php', post_data, function( json, status ){ if( status == 'success' ){ document.write(json);} $( "#pre_entry_btn" ).attr( "disabled", false );} );
		return false;
	});
}
//会員登録処理
function after_pre_entry(json){
	var data = json.data;
	//エラーメッセージデーバグ処理
//	after_pre_entry_bug(json);
	
	if(json.error_code){
		//確認画面へ遷移
		trans_pre_entry_confirm(data);
	}else{
		//入力フォームにエラーメッセージセット
		for(var i in data){
			var obj = $("#" + i + "_error_msg");
			if(obj) if( data[i].code ) obj.text('').hide(); else obj.text( data[i].error_msg ).show();
		}
	}
}
//エラーメッセージデーバグ
function after_pre_entry_bug(json){
	alert("error_code = " + json.error_code);
	for(var i in json.data){
		var str = "id = " + i + "\ncode = " + json.data[i].code + "\n";
		str = str + "error_msg = " + json.data[i].error_msg;
		alert(str);
	}
}
//会員登録確認画面遷移
//確認画面1
function trans_pre_entry_confirm( data ){
	$( "#popup_base" ).load( '/ajax/pre_entry_confirm.php', { logic : "confirm" },
		function(){
			popup_base_window_open();
			//ポップアップウィンドウ閉じる処理
			add_popup_base_window_close_event( 'pre_entry_confirm_close_btn' );
			//ポップアップウィンドウ戻るイベント登録
			pre_entry_return_event( 'pre_entry_return_btn' , data);
			//確認画面表示処理
			after_pre_entry_confirm(data);
			//会員登録フォーム操作準備
			pre_entry_regist();
		}
	);
}
//戻るボタン登録
function pre_entry_return_event( id , data){
	$( "#" + id ).click(function(){ 
		load_pre_entry( data.entry_id.data, set_pre_entry, data  );	//入力フォームをロード
		return false;
	});
}
//入力フォームに戻った後個人情報を埋め込む
function set_pre_entry( data ){
	for( var i in data ){ var obj = $( "#" + i ); if( obj ){ obj.val( data[ i ][ 'data' ] ); } }
	//会員登録入力フォームを
	pre_entry();
}
//確認画面表示処理
function after_pre_entry_confirm( data ){
	for( var i in data ){ var obj = $( "#" + i + "_confirm" ); if( obj ){ obj.text( data[ i ][ 'data' ] ); $( "#" + i ).val( data[ i ][ 'data' ] ); } }
}
//会員登録フォーム操作準備
function pre_entry_regist(){
	//会員登録
	$('#pre_entry_confirm').submit(function(){
//		$( "#pre_entry_confirm_btn" ).attr( "disabled", true );
		var post_data = {
			logic				: 'regist',
			entry_id			: this.entry_id.value,
			entry_pass			: this.entry_pass.value,
			entry_mail_address	: this.entry_mail_address.value,
			entry_nickname		: this.entry_nickname.value
		};
		$.post( '/ajax/pre_entry_regist.php', post_data, function( json, status ){ if( status == 'success' ){ after_pre_entry_regist(json);} $( "#pre_entry_confirm_btn" ).attr( "disabled", false );}, 'json' );
//		$.post( '/ajax/pre_entry_regist.php', post_data, function( json, status ){ if( status == 'success' ){ document.write(json);} $( "#pre_entry_btn" ).attr( "disabled", false );} );
		return false;
	});
}
//会員登録処理
function after_pre_entry_regist(json){
	$("#popup_base").load( '/ajax/pre_entry_end.php', { logic : 'end' },
		function(){
			$("#login_id").val('');
			$("#login_pass").val('');
			add_popup_base_window_close_event( 'pre_entry_end_close_btn');
		}
	);
}


//ポップアップウィンドウ開く
function popup_base_window_open(){
	//$("#popup_base").show();

	$( '#popup_base' ).css( 'top', $( window ).scrollTop() + 100 );
	$( "#cover_body" ).height( $(document).height() ).show();
	$( "#popup_base" ).fadeIn();
}
//ポップアップウィンドウ閉じる
function popup_base_window_close(){
	$("#popup_base").hide();
	$("#cover_body").hide();
}
//ポップアップウィンドウ閉じるイベント登録
function add_popup_base_window_close_event( id ){
	$("#"+id).click(function(){
		popup_base_window_close();
	});
}

