$(document).ready(function(){

	var red = '#c00';
	var blue = '#00d';
	var pageNums = 1;
	var path = '/';

	if (location.pathname.match(/~sample/)) {
		pageNums = 3;
		path = '/~sample/goodappeal/';
	} else if (location.pathname.match(/~goodappeal/)) {
		pageNums = 2;
		path = '/~goodappeal/';
	} else if (location.pathname.match(/goodappeal/)) {
		pageNums = 2;
		path = '/goodappeal/';
	}

	$('#form').submit(function(evt){

		evt.preventDefault();
		if($('#act').val() == 'confirm') {

			$('.error_message_sub').empty();
			var flag = false;
			var page = $(this).attr('action').split('/')[pageNums];

			if (page == 'member_free') {

				if ($('#agree').attr('checked')) {
					if(!$("input:radiobutton[name=type]").is(':checked')){
						$('#error_for_type').text('個人／法人が選択されていません。');
						flag = true;
					}
					flag = nullCheck(flag,'name1','氏名(姓)');
					flag = nullCheck(flag,'name2','氏名(名)');
					flag = nullCheck(flag,'furi1','ふりがな(姓)');
					flag = nullCheck(flag,'furi2','ふりがな(名)');

					if ($('#type_1').attr('checked')) {
						flag = nullCheck(flag,'company','貴社名');
					}
					flag = nullCheck(flag,'email','ログインID用メールアドレス');
					flag = inputMailCheck(flag,'email');
					flag = nullCheck(flag,'email2','メールアドレス（確認用）');
					if ($('#email').val() && $('#email2').val() && $('#email').val() != $('#email2').val()) {
						$('#error_for_email2').text('メールアドレスが確認用と違います。');
						flag = true;
					}
					flag = nullCheck(flag,'password','パスワード');
					if ($('#password').val() && $('#password').val().length < 8) {
						$('#error_for_password').text('パスワードは8ケタ以上で入力して下さい。');
						flag = true;
					}
					flag = nullCheck(flag,'password2','パスワード（確認用）');
					if ($('#password').val() && $('#password2').val() && $('#password').val() != $('#password2').val()) {
						$('#error_for_password2').text('パスワードが確認用と違います。');
						flag = true;
					}
					flag = nullCheck(flag,'phone_no','電話番号');
					if ($('#pref_id').val()-0 == 0) {
						$('#error_for_pref_id').text('都道府県が選択されていません。');
						flag = true;
					}
					flag = nullCheck(flag,'address','市区群名 町名番地');
					flag = nullCheck(flag,'address2','建物名');


					if(!$("input:radiobutton[name=job]").is(':checked')){
						$('#error_for_job').text('ご職業が選択されていません。');
						flag = true;
					}

					if ($('#age_cd').val()-0 == 0) {
						$('#error_for_age_cd').text('年齢が選択されていません。');
						flag = true;
					}
					if(!$("input:radiobutton[name=sex]").is(':checked')){
						$('#error_for_sex').text('性別が選択されていません。');
						flag = true;
					}


				} else {
					alert('規約に同意されていません');
					return false;
				}
			}


			if (page == 'agent') {

				if ($('#agree').attr('checked')) {

					flag = nullCheck(flag,'name','会社名');
					flag = nullCheck(flag,'name_furigana','ふりがな');
					flag = nullCheck(flag,'person','担当者');
					flag = nullCheck(flag,'person_furigana','担当者ふりがな');
					flag = nullCheck(flag,'address','住所');
					flag = nullCheck(flag,'phone_no','電話番号');
					flag = nullCheck(flag,'fax_no','FAX番号');


					flag = nullCheck(flag,'email','ログインID用メールアドレス');
					flag = inputMailCheck(flag,'email');
					flag = nullCheck(flag,'email2','メールアドレス（確認用）');
					if ($('#email').val() && $('#email2').val() && $('#email').val() != $('#email2').val()) {
						$('#error_for_email2').text('メールアドレスが確認用と違います。');
						flag = true;
					}
					flag = nullCheck(flag,'password','パスワード');
					if ($('#password').val() && $('#password').val().length < 8) {
						$('#error_for_password').text('パスワードは8ケタ以上で入力して下さい。');
						flag = true;
					}
					flag = nullCheck(flag,'password2','パスワード（確認用）');
					if ($('#password').val() && $('#password2').val() && $('#password').val() != $('#password2').val()) {
						$('#error_for_password2').text('パスワードが確認用と違います。');
						flag = true;
					}
				} else {
					alert('規約に同意されていません');
					return false;
				}
			}

			if (page == 'contact') {


				//if ($('#agree').attr('checked')) {

					flag = nullCheck(flag,'name','お名前');
					flag = nullCheck(flag,'email','メールアドレス');
					flag = inputMailCheck(flag,'email');
					flag = nullCheck(flag,'content','内容');

				//} else {
				//	alert('注意事項に同意されていません');
				//	return false;
				//}
			}

			if (page.split('?')[0] == 'inquiry') {

				flag = nullCheck(flag,'name','お名前');
				flag = nullCheck(flag,'mokuteki','お問い合わせの目的');
				flag = nullCheck(flag,'shousai','お問い合わせ詳細');
			}

			if (page == 'member_edit') {

				if(!$("input:radiobutton[name=type]").is(':checked')){
					$('#error_for_type').text('個人／法人が選択されていません。');
					flag = true;
				}
				flag = nullCheck(flag,'name1','氏名(姓)');
				flag = nullCheck(flag,'name2','氏名(名)');
				flag = nullCheck(flag,'furi1','ふりがな(姓)');
				flag = nullCheck(flag,'furi2','ふりがな(名)');

				if ($('#type_1').attr('checked')) {
					flag = nullCheck(flag,'company','貴社名');
				}
				flag = nullCheck(flag,'email','ログインID用メールアドレス');
				flag = inputMailCheck(flag,'email');
				flag = nullCheck(flag,'email2','メールアドレス（確認用）');
				if ($('#email').val() && $('#email2').val() && $('#email').val() != $('#email2').val()) {
					$('#error_for_email2').text('メールアドレスが確認用と違います。');
					flag = true;
				}
				flag = nullCheck(flag,'password','パスワード');
				if ($('#password').val() && $('#password').val().length < 8) {
					$('#error_for_password').text('パスワードは8ケタ以上で入力して下さい。');
					flag = true;
				}
				flag = nullCheck(flag,'password2','パスワード（確認用）');
				if ($('#password').val() && $('#password2').val() && $('#password').val() != $('#password2').val()) {
					$('#error_for_password2').text('パスワードが確認用と違います。');
					flag = true;
				}
				flag = nullCheck(flag,'phone_no','電話番号');
				if ($('#pref_id').val()-0 == 0) {
					$('#error_for_pref_id').text('都道府県が選択されていません。');
					flag = true;
				}
				flag = nullCheck(flag,'address','市区群名 町名番地');
				flag = nullCheck(flag,'address2','建物名');


				if(!$("input:radiobutton[name=job]").is(':checked')){
					$('#error_for_job').text('ご職業が選択されていません。');
					flag = true;
				}

				if ($('#age_cd').val()-0 == 0) {
					$('#error_for_age_cd').text('年齢が選択されていません。');
					flag = true;
				}
				if(!$("input:radiobutton[name=sex]").is(':checked')){
					$('#error_for_sex').text('性別が選択されていません。');
					flag = true;
				}

			}

		}

		if (flag) {
			errorMessageDisplay();
			return false;
		}
		$(this)[0].submit();

	});

	$('.login_form').submit(function(evt){
		evt.preventDefault();
		var id = $(this).attr('id');
		if (id == 'freeLoginForm') {
			var target = 'free';
			var memtype = 1;
		} else {
			var target = 'pay';
			var memtype = 2;
		}
		var url = $(this).attr('action');
		if ($('#'+target+'_set').attr('checked') == true){
			var sets = 1;
		} else {
			var sets = 0;
		}
		$('.error_message_sub').hide();
		$.getJSON(
			path+'login.php',
			{
				'login_id': $('#'+target+'_login_id').val(),
				'password': $('#'+target+'_password').val(),
				'memtype' : memtype,
				'isSaveCookie': sets,
				'target'  : target
			},
			function(data) {
				if (data.message) {
					$('#'+target+'ErrorMessage').text(data.message);
					$('#'+target+'ErrorMessage').fadeIn('normal');
				} else {
					window.location.href = 'http://www.keibainet.com/relog/?session_id='+data.session_id+'&set='+data.set;
				}
			}
		)
	});

	$('#area_all').click(function(){
		if ($(this).attr('checked')) {
			$('.area_all').attr('checked',true);
		} else {
			$('.area_all').attr('checked',false);
		}
	});

	$('.areas_check').click(function(){
		var target = $(this).attr('id');
		if ($(this).attr('checked')) {
			$('.area_' + target).attr('checked',true);
		} else {
			$('.area_' + target).attr('checked',false);
		}
	});

	$('#railway_pref_button').click(function(){
		window.location.href = path+'search_railway/?act=railway&p='+$('#p').val();
	});

	$('#railway_all_check').click(function(){
		$('.railway_check').attr('checked',true);
	});

	$('#railway_all_calcel').click(function(){
		$('.railway_check').attr('checked',false);
	});

	$('#railroad_all_check').click(function(){
		$('.railroad_check').attr('checked',true);
	});

	$('#railroad_all_calcel').click(function(){
		$('.railroad_check').attr('checked',false);
	});

	$('#railway_pref').change(function(){
		id = $(this).val();
		$.getJSON(
			'../executeGetRailway.php',
			{
				'id': id
			},
			function(data) {
				$('#railway_one').empty();
				$('#railway_one').attr('width','0');
				for (var i=0; i<data.length; i++) {
					var optionTag = $('<option/>')
					.val(data[i]['id'])
					.text(data[i]['name']);
					$('#railway_one').append(optionTag);
				}
			}
		)
	});

	//トップページ用
	$('#railway_pref_top').change(function(){
		id = $(this).val();
		$.getJSON(
			'./executeGetRailway.php',
			{
				'id': id
			},
			function(data) {
				$('#railway_one').empty();
				$('#railway_one').attr('width','0');
				for (var i=0; i<data.length; i++) {
					var optionTag = $('<option/>')
					.val(data[i]['id'])
					.text(data[i]['name']);
					$('#railway_one').append(optionTag);
				}
			}
		)
	});

	$('#area').change(function(){
		id = $(this).val();
		$.getJSON(
			'../executeGetPref.php',
			{
				'id': id
			},
			function(data) {
				$('#pref').empty();
				$('#pref').attr('width','0');
				for (var i=0; i<data.length; i++) {
					var optionTag = $('<option/>')
					.val(data[i]['id'])
					.text(data[i]['name']);
					$('#pref').append(optionTag);
				}
			}
		)
	});

	//トップページ用
	$('#area_top').change(function(){
		id = $(this).val();
		$.getJSON(
			'./executeGetPref.php',
			{
				'id': id
			},
			function(data) {
				$('#prefs').empty();
				$('#prefs').attr('width','0');
				for (var i=0; i<data.length; i++) {
					var optionTag = $('<option/>')
					.val(data[i]['id'])
					.text(data[i]['name']);
					$('#prefs').append(optionTag);
				}
			}
		)
	});

});

var inputMailCheck = function(flag,id) {
	var str = "[A-Za-z0-9][A-Za-z0-9-_.]*[A-Za-z0-9-_.]@([A-Za-z0-9][A-Za-z0-9-_]*[A-Za-z0-9]\\.)+[A-Za-z]{2,}$";
	if ($('#'+id).val() && !$('#'+id).val().match(str)) {
		$('#error_for_'+id).text('正しくないメールアドレス形式です。');
		return true;
	} else {
		return flag;
	}
}

var inputNumericCheck = function(chkstr){
  var str = "[^0-9]";
  if(chkstr.match(str)){
    return false;
  }else{
    return true;
  }
}


var errorMessageDisplay = function(id) {
	$('html,body').animate({scrollTop:220}, 'fast');
	$('.errorMessage').hide();
	if (id) {
		$('#'+id).text('入力項目にエラーがあります。');
		$('#'+id).fadeIn();
	} else {
		$('.errorMessage').text('入力項目にエラーがあります。');
		$('.errorMessage').fadeIn();
	}
}
