var form_id = '';

$(function () {

	$('#main-visual').codaSlider({ });

// regist form
	$("#site_const").charCount({ allowed: 60, counterElement: 'div' });

	$('.inp_must, .sel_must').focus(function () {
		$(this).css('background-color', '#ffffcc').removeClass('inp_err');
	});
	$('.inp_must, .sel_must').blur(function () {
		if ($(this).val() == '') {
			$(this).css('background-color', '#f7d3d3').addClass('inp_err');
			return false;
		}
		if ($(this).hasClass('inp_email')) {
			if (!fncCheckEmail(this)) {
				return false;
			}
		}
		if ($(this).hasClass('inp_url')) {
			if (!fncCheckURL(this)) {
				return false;
			}
		}
		if ($(this).hasClass('inp_pass')) {
			if (!fncCheckPassword(this)) {
				return false;
			}
		}
		if ($(this).hasClass('inp_confirm')) {
			var conf_id = $(this).attr('conf_id');
			if (conf_id != '') {
				if ($('#'+conf_id).val() != '' && $(this).val() != $('#'+conf_id).val()) {
					fncDirpError(this, '2つの入力が異なっています。');
					return false;
				}
			}
		}
		if ($(this).attr('id') == 'site_const') {
			if (!fncCheckLength(this, 60)) {
				return false;
			}
		}
		return true;
	});
	function fncDirpError(el, msg) {
		fncDispDialog('入力エラー', msg);
		$(el).css('background-color', '#f7d3d3').addClass('inp_err');
	}
	function fncCheckEmail(el) {
		var inp = $(el).val();
		if (!inp.match(/^[A-Za-z0-9]+[0-9a-zA-Z_\.\-\+]+@[\w\.-]+\.\w{2,}$/)) {
			fncDirpError(el, 'メールアドレスが正しくないようです。');
			return false;
		}
		return true;

	}
	function fncCheckPassword(el) {
		var inp = $(el).val();
		if (inp.length < 4) {
			fncDirpError(el, 'パスワードは4文字以上を入力してください。');
			return false;
		}
		if (inp.length > 10) {
			fncDirpError(el, 'パスワードは10文字以内で入力してください。');
			return false;
		}
		if (inp.match(/[^0-9a-zA-Z!"#$%&'*+<>?|~=\(\)]/)) {
			fncDirpError(el, 'パスワードは英数字と記号!"#$%&\'*+<>?|()~=です。');
			return false;
		}
		return true;
	}
	function fncCheckURL(el) {
		var inp = $(el).val();
		if (!inp.match(/^https?:\/\/[-_.!~*\'()a-zA-Z0-9;\/?:\@&=+\$,%#]+\/$/)) {
			fncDirpError(el, 'URLが誤っているようです。');
			return false;
		}
		return true;
	}
	function fncCheckLength(el, l) {
		var inp = $(el).val();
		if (inp.length > l) {
			fncDirpError(el, '文字が長すぎます。');
			return false;
		}
		return true;

	}

	$('#regist_submit').click(function () {
		if ($('.inp_err').length != 0) {
			fncDispDialog('入力エラー', '入力にエラーがあります。');
			return false;
		}
		var c = 0;
		$('.inp_must, .sel_must').each(function () {
			if ($(this).val() == '')	c++;
		});
		if (c != 0) {
			fncDispDialog('入力エラー', '入力にエラーがあります。');
			return false;
		}
		fncDispConfirm('登録確認', 'この内容で登録してもいいですか？',
			function () {
				$('#regist_form').submit();
				return true;
			}
		);
	});
	$('.thumb_a').mouseover(function() {
		var id = $(this).attr('site_id');
		var url = $(this).attr('site_url');
		$('#thumb_img'+id).attr('src', 'http://capture.heartrails.com/free?'+url);
		$('#thumb'+id).show();
	}).mouseout(function () {
		var id = $(this).attr('site_id');
		$('#thumb'+id).hide();
	});

	$('.a_complete, .a_deny, .a_cancel').click(function () {
		document.location = $(this).attr('url');
	});
	$('.a_request').click(function () {
		var url = $(this).attr('url');
		fncDispConfirm('相互リンク申請確認', 'この内容で相互リンクの申請をしてもいいですか？',
			function () {
				document.location = url;
			}
		);
	});

	$('#info_submit').click(function () {
		if ($('#info_form .inp_err').length != 0) {
			fncDispDialog('入力エラー', '入力にエラーがあります。');
			return false;
		}
		var c = 0;
		$('#info_form .inp_must, #info_form .sel_must').each(function () {
			if ($(this).val() == '')	c++;
		});
		if (c != 0) {
			fncDispDialog('入力エラー', '入力にエラーがあります。');
			return false;
		}
		fncDispConfirm('変更確認', 'この内容で変更してもいいですか？', 
			function () {
				$('#info_form').submit();
				return true;
			}
		);
	});

	$('#email_submit').click(function () {
		if ($('#email_form .inp_err').length != 0) {
			fncDispDialog('入力エラー', '入力にエラーがあります。');
			return false;
		}
		var c = 0;
		$('#email_form .inp_must, #email_form .sel_must').each(function () {
			if ($(this).val() == '')	c++;
		});
		if (c != 0) {
			fncDispDialog('入力エラー', '入力にエラーがあります。');
			return false;
		}
		fncDispConfirm('変更確認', 'この内容で変更してもいいですか？', 
			function () {
				$('#email_form').submit();
				return true;
			}
		);
	});

	$('#die_submit').click(function () {
		if ($('#accept').val() != 'accept') {
			fncDispDialog('アカウント停止 - 承認エラー', 'アカウントの停止を承認してください。');
			return false;
		}
		if ($('#die_form .inp_err').length != 0) {
			fncDispDialog('入力エラー', '入力にエラーがあります。');
			return false;
		}
		var c = 0;
		$('#die_form .inp_must, #die_form .sel_must').each(function () {
			if ($(this).val() == '')	c++;
		});
		if (c != 0) {
			fncDispDialog('入力エラー', '入力にエラーがあります。');
			return false;
		}
		fncDispConfirm('アカウント停止', 'アカウントを停止してもよろしいですか？', 
			function () {
				$('#die_form').submit();
				return true;
			}
		);
	});

	$('#btn_check_prg_url').click(function () {
		var el = $('#site_prg_url');
		if (el.val() == '') {
			fncDispDialog('入力エラー', 'プログラム設置URLを入力してください。');
			return false;
		}
		if (!fncCheckURL(el)) {
			return false;
		}
		window.open(el.val(), 'Check URL');
	});

	$('#btn_forgot').click(function () {
		if ($('#forgot_form .inp_err').length != 0) {
			fncDispDialog('入力エラー', '入力にエラーがあります。');
			return false;
		}
		var c = 0;
		$('#forgot_form .inp_must').each(function () {
			if ($(this).val() == '')	c++;
		});
		if (c != 0) {
			fncDispDialog('入力エラー', '入力にエラーがあります。');
			return false;
		}
		fncDispConfirm('パスワード再送信', 'パスワードを再送信いたします。<br />よろしいですか？', 
			function () {
				$('#forgot_form').submit();
				return true;
			}
		);
	});

	$('#btn_contact').click(function () {
		if ($('#contact_form .inp_err').length != 0) {
			fncDispDialog('入力エラー', '入力にエラーがあります。');
			return false;
		}
		var c = 0;
		$('#contact_form .inp_must, #contact_form .sel_must').each(function () {
			if ($(this).val() == '')	c++;
		});
		if (c != 0) {
			fncDispDialog('入力エラー', '入力にエラーがあります。');
			return false;
		}
		fncDispConfirm('お問い合わせ', 'お問合わせを送信いたします。<br />よろしいですか？', 
			function () {
				$('#contact_form').submit();
				return true;
			}
		);
	}).css({ cursor: 'pointer' });
});

function fncDispDialog(title, content) {
	$('#dialog_content').html(content);
	$("#dialog").dialog({
		autoOpen: true, width: 500,
		title: title, modal: true
	});
}
function fncDispConfirm(title, content, fncOK) {
	$('#confirm_content').html(content);
	$("#confirm").dialog({
		autoOpen: true, width: 500,
		title: title, modal: true,
		buttons: {
			'OK': function () {
				$(this).dialog("close");
				fncOK();
			},
			'CANCEL': function () {
				$(this).dialog("close");
				return false;
			}
		}
		
	});
}


