var const_jsp_path = eaidem_domain + "/jsp/member";
var const_img_path = "/aps/img";

/** いいね！判定区分（ログイン必要） */
var ENE_CHK_KBN_LOGIN = "1";
/** いいね！判定区分（いいね！処理実行済み） */
var ENE_CHK_KBN_EXECUTE = "2";
/** いいね！判定区分（エラー発生） */
var ENE_CHK_KBN_ERORR = "3";

var ENE_RIYO_FLG_SHINAI = "0"; // 利用しない
var ENE_RIYO_FLG_SURU_DM_NASHI = "1"; // 利用する（ダイレクトメッセージを受け取らない） 
var ENE_RIYO_FLG_SURU_DM_ARI = "2"; // 利用する（ダイレクトメッセージを受け取る）

/** いいね！表示区分（非表示） */
var ENE_DISP_KBN_NON = "1";
/** いいね！表示区分（未押下状態表示） */
var ENE_DISP_KBN_INIT = "2";
/** いいね！表示区分（押下状態表示） */
var ENE_DISP_KBN_PUSH = "3";

var GuideSentence = '採用担当者宛メッセージを入力してください';

$(function(){
	$(window).load(function() {
		reLoadLoginHeader();

		var vcomId = $("#eneKokyakuInfo").find("#comId").val();
		var vjobId = $("#eneKokyakuInfo").find("#jobId").val();

		// いいねボタンの初期表示処理
		var param = {task:'getStatus', comId:vcomId, jobId:vjobId};

		$.ajax({
			url : const_jsp_path + "/iine.jsp",
			dataType : "jsonp", 
			data : param, 
			success: function(res) {
				if(res.eneDispKbn == ENE_DISP_KBN_NON) {
					$(".iine_frame").remove();
					$(".iine_q").remove();
				}else if(res.eneDispKbn == ENE_DISP_KBN_PUSH) {
					$(".iine_frame").show();
					$(".iine_q").show();
					stateEneChoice(res.eneUseKbn);
				}else {
					$(".iine_frame").show();
					$(".iine_q").show();
					stateEneNonChoice();
				}
			},
			error : function(XHR, status, errorThrown) {
			}
		});
	});

	/** 送信ボタン押下処理 */
//	$(".btn_iineMsg").live("click",function(){
//		var parentObj = $(this).parent();
//		var text = $(".send_iine_mail", parentObj).val();
//		executeEneMail(text)
//	});

	$(".btn_iineMsg").live("click",function(){
		var vcomId = $("#eneKokyakuInfo").find("#comId").val();
		var vjobId = $("#eneKokyakuInfo").find("#jobId").val();

		var parentObj = $(this).parent();
		var text = $(".send_iine_mail", parentObj).val();

		if(text.length == 0 || text == GuideSentence) {
			alert("ダイレクトメッセージを入力してください")	
			return false;
		} else if(text.length > 300) {
			alert("ダイレクトメッセージは300文字以内で入力してください")
			return false;	
		} else {
			if(text.indexOf("\"") != -1) {
				alert("メッセージに\"は入力できません");
				return false;
			}
			if(text.indexOf("\'") != -1) {
				alert("メッセージに\'は入力できません");
				return false;
			}
			if(confirm("この内容で送信しますか？")) {
			} else {
				return false;
			}
		}
		// 文字化けするのでEncodeをしてPOST
		$(".send_iine_mail", parentObj).val(encodeURI(text));

		var wind = window.open("about:blank","win","width=480,height=200,menubar=no,toolbar=no");

		$(".send_iine_form", parentObj.parent().parent()).attr("action", const_jsp_path + "/iine.jsp?task=eneMail&comId=" + vcomId + "&jobId=" + vjobId)
		.attr("method", "post")
		.attr("target", "win")
		.submit();

		$(".send_iine_mail", parentObj).val(text);
	});

	// メッセージ入力欄の制御
	$("#txtarea_iine_mail").live("change",function() {
		var iframeId = $(this).parent().parent().attr("id");
		var text = $(this).val();
		if(iframeId == "iineFrame1"){
			$("#iine_frame_bottom").contents().find("textarea").val(text);
		} else {
			$("#iine_frame_top").contents().find("textarea").val(text);	
		}
	});

	$("#txtarea_iine_mail").live("blur",function() {
		if($(this).val().length == 0) {
			$(this).val(GuideSentence).attr('style', 'color:#aaa; font-style: italic; font-size: 14px;');
		}

		var iframeId = $(this).parent().parent().parent().attr("id");
		var text = $(this).val();
		if(iframeId=="iine_frame_top"){
			$("#iine_frame_bottom").contents().find("textarea").val(text);
			if (text == GuideSentence) {
				$("#iine_frame_bottom").contents().find("textarea").attr('style', 'color:#aaa; font-style: italic; font-size: 14px;');
			} else {
				$("#iine_frame_bottom").contents().find("textarea").removeAttr('style');
			}
		} else {
			$("#iine_frame_top").contents().find("textarea").val(text);	
				if (text == GuideSentence) {
					$("#iine_frame_top").contents().find("textarea").attr('style', 'color:#aaa; font-style: italic; font-size: 14px;');
				} else {
				$("#iine_frame_top").contents().find("textarea").removeAttr('style');
			}
		}
	});
});

// いいねボタン実行処理
function executeEneBtn() {
	var vcomId = $("#eneKokyakuInfo").find("#comId").val();
	var vjobId = $("#eneKokyakuInfo").find("#jobId").val();
	var param = {task:'eneBtn', comId:vcomId, jobId:vjobId};
	$.ajax({
		url : const_jsp_path + "/iine.jsp",
		dataType : "jsonp", 
		data : param, 
		success: function(res) { 
			if(res.eneChkKbn == ENE_CHK_KBN_EXECUTE) {
				stateEneChoice(res.eneUseKbn);
				reLoadLoginHeader();
			} else if(res.eneChkKbn == ENE_CHK_KBN_LOGIN) {
				var ret = showModalDialog(const_jsp_path + "/eneLogin.jsp?action=ene","","status:false;dialogWidth:520px;dialogHeight:630px");

				var param = {task:'getLoginStatus'};
				$.ajax({
					url : const_jsp_path + "/iine.jsp",
					dataType : "jsonp", 
					data : param, 
					success: function(res) {
						if(res.loginStatus == "1") {
							executeEneBtn();
							stateEneChoice();
						}
					},
					error : function(XHR, status, errorThrown) {
					}
				});
			} else if(res.eneChkKbn == ENE_CHK_KBN_ERORR){
				alert("いいね送信処理でエラーが発生しました");
			}
		},
		error: function(res,status) {
		}
	});
}		

function executeEneMail(text) {
	if(text.length == 0 || text == GuideSentence) {
		alert("ダイレクトメッセージを入力してください")	
		return false;
	} else if(text.length > 300) {
		alert("ダイレクトメッセージは300文字以内で入力してください")
		return false;	
	} else {
		if(text.indexOf("\"") != -1) {
			alert("メッセージに\"は入力できません");
			return false;
		}
		if(text.indexOf("\'") != -1) {
			alert("メッセージに\'は入力できません");
			return false;
		}
		if(confirm("この内容で送信しますか？")) {
		} else {
			return false;
		}	
	}
	sendEneMail(text);
}

function removeEne(){
	$(".iine_frame").remove();
}

function reTryEneMail(){
	return $("#iine_frame_top").contents().find(".send_iine_mail").val();
}

function sendEneMail(text) {
	var vcomId = $("#eneKokyakuInfo").find("#comId").val();
	var vjobId = $("#eneKokyakuInfo").find("#jobId").val();
	try {
		var param = {task:'eneMail', comId:vcomId, jobId:vjobId, msg:encodeURI(text)};
		$.ajax({
			url : const_jsp_path + "/iine.jsp",
			dataType : "jsonp", 
			data : param, 
			success: function(res) {
				if(res.eneChkKbn == ENE_CHK_KBN_EXECUTE) {
					$(".iine_float").hide();
					//$(".iine_frame").each(function(){
						//frameReload();
						//stateEneChoice(res.split(":")[1]);
					//});
					alert("採用担当者にメッセージを送信しました");
					$("#iine_frame_bottom").contents().find("textarea").val();
					$("#iine_frame_top").contents().find("textarea").val();
				} else if(res.eneChkKbn == ENE_CHK_KBN_LOGIN){

					var ret = showModalDialog(const_jsp_path + "/eneLogin.jsp?action=mail","","status:false;dialogWidth:520px;dialogHeight:480px");

					var param = {task:'getLoginStatus'};
					$.ajax({
						url : const_jsp_path + "/iine.jsp",
						dataType : "jsonp", 
						data : param, 
						success: function(res) {
							if(res.loginStatus == "1") {
								var iineMsg = reTryEneMail();
								if(iineMsg != undefined && iineMsg != null) {
									sendEneMail(iineMsg);
								}
							}
						},
						error : function(XHR, status, errorThrown) {
						}
					});
				} else if(res.eneChkKbn == ENE_CHK_KBN_ERORR){
					if("time" == res.registResult) {
						alert("5分程度時間を置いて送信してください");
					}else {
						alert("採用担当者へのメッセージ送信に失敗しました");
					}
				}
			},
			error: function() {
			}
		});
	} catch ( ex ) {
		//例外処理
		alert( "post()メソッドに失敗しました。\nエラー内容:" + ex );
	}
}

function reTryEneRelease() {
	var vcomId = $("#eneKokyakuInfo").find("#comId").val();
	var vjobId = $("#eneKokyakuInfo").find("#jobId").val();
	var param = {task:'eneRelease', comId:vcomId, jobId:vjobId};
	$.ajax({
		url : const_jsp_path + "/iine.jsp",
		dataType : "jsonp", 
		data : param, 
		success: function(res) {
			if(res.eneChkKbn == ENE_CHK_KBN_EXECUTE) {
				stateEneNonChoice();
			} else if (res.eneChkKbn == ENE_CHK_KBN_LOGIN){
				var ret = showModalDialog(const_jsp_path + "/eneLogin.jsp?action=release","","status:false;dialogWidth:520px;dialogHeight:480px");

				var param = {task:'getLoginStatus'};
				$.ajax({
					url : const_jsp_path + "/iine.jsp",
					dataType : "jsonp", 
					data : param, 
					success: function(res) {
						if(res.loginStatus == "1") {
							reTryEneRelease();
							stateEneNonChoice();
							reLoadLoginHeader();
						}
					},
					error : function(XHR, status, errorThrown) {
					}
				});
			} else if(res.eneChkKbn == ENE_CHK_KBN_ERORR){
				alert("いいね解除処理でエラーが発生しました");

			}
		},
		error : function(XHR, status, errorThrown) {
			//alert("error" + status);
		}
	});
}

function eneRelease() {
	if(confirm("いいね！登録解除してよろしいですか？")) {
		var vcomId = $("#eneKokyakuInfo").find("#comId").val();
		var vjobId = $("#eneKokyakuInfo").find("#jobId").val();
		var param = {task:'eneRelease', comId:vcomId, jobId:vjobId};
		$.ajax({
			url : const_jsp_path + "/iine.jsp",
			dataType : "jsonp", 
			data : param, 
			success: function(res) {
				if(res.eneChkKbn == ENE_CHK_KBN_EXECUTE) {
					stateEneNonChoice();
				} else if (res.eneChkKbn == ENE_CHK_KBN_LOGIN){

					var ret = showModalDialog(const_jsp_path + "/eneLogin.jsp?action=release","","status:false;dialogWidth:520px;dialogHeight:480px");

					var param = {task:'getLoginStatus'};
					$.ajax({
						url : const_jsp_path + "/iine.jsp",
						dataType : "jsonp", 
						data : param, 
						success: function(res) {
							if(res.loginStatus == "1") {
								reTryEneRelease();
								stateEneNonChoice();
								reLoadLoginHeader();
							}
						},
						error : function(XHR, status, errorThrown) {
						}
					});
				} else if(res.eneChkKbn == ENE_CHK_KBN_ERORR){
					alert("いいね解除処理でエラーが発生しました");

				}
			},
			error : function(XHR, status, errorThrown) {
				//alert("error" + status);
			}
		});
	} else {
		return false;
	}
}



//いいね！ボタン表示処理
function stateEneNonChoice(){
	$(".iine_frame").each(function(){
		$("iframe",this).contents().find(".iine_bt").attr("src",const_img_path + "/btn/btn_ene_select.png")
		.unbind("mouseover")
		.unbind("mouseout")
		.unbind("click")
		.bind("click", function(){
			executeEneBtn();
		})
		.attr("src",const_img_path + "/btn/btn_ene.png")
		.mouseover(function(){
		$(this).attr("src",const_img_path + "/btn/btn_ene_on.png");
		})
		.mouseout(function(){
		$(this).attr("src",const_img_path + "/btn/btn_ene.png");
		});
	});
	$(".send_iine_form").remove();
};


//いいね！ボタン押下状態処理
function stateEneChoice(eneUseKbn){
	var kokyaku= $("#keisaishamei").text();
	var htmlText = "";
	if(ENE_RIYO_FLG_SURU_DM_NASHI == eneUseKbn) {
		htmlText = '<form class="send_iine_form"><div class="iine_float noDM png_bg"><p><a href="javascript:void(0);" onclick="javascript:eneRelease(); return false;">いいね！を解除する</a></p></div></form>';
	} else if(ENE_RIYO_FLG_SURU_DM_ARI == eneUseKbn) {
		htmlText = '<form class="send_iine_form"><div class="iine_float png_bg"><p class="iine_title"><span>' + kokyaku + 'にメッセージを送る(300文字まで)</span></p><textarea class="send_iine_mail" id="txtarea_iine_mail" onFocus="javascript:onFocusTextArea(this)" style="color:#aaa; font-style: italic; font-size: 14px;" name="msg">採用担当者宛メッセージを入力してください</textarea><br/><img class="btn_iineMsg" value="送信" src="' + const_img_path + '/btn/btn_sendMsg.png" /><p><a href="javascript:void(0);" onclick="javascript:eneRelease(); return false;">いいね！を解除する</a></p></div></form>';			
	}

	$(".iine_frame").each(function(){
		$("form",this).remove();
		$("iframe",this).contents().find(".iine_bt").attr("src",const_img_path + "/btn/btn_ene_select.png")
		.unbind("mouseover")
		.unbind("mouseout")
		.unbind("click");
		$(this).append(htmlText);
		$(this).hover(
			function(){
				$(".iine_float").show();
			},
			function(){
				$(".iine_float").hide();
			}
		);
	});
};

/*
 * textareaのonFocusイベント時の処理
 */
function onFocusTextArea(obj) {
	if ($(obj).val() == GuideSentence) {
		$(obj).removeAttr('style').val('');
	}
}


function checkTextArea(obj){
	var iframeId = $(obj).parent().parent().parent().attr("id");
	var text = $(obj).val();
	if(iframeId=="iine_frame_top"){
		$("#iine_frame_bottom").contents().find("textarea").val(text);
	} else {
		$("#iine_frame_top").contents().find("textarea").val(text);	
	}
}

// ヘッダーボタンの制御
function reLoadLoginHeader(){
	var param = {task:'getLoginStatus'};
	$.ajax({
		url : const_jsp_path + "/iine.jsp",
		dataType : "jsonp", 
		data : param, 
		success: function(res) {
			if(res.loginStatus == "1") {
				//$("#loginFrame").contents().find("body").attr("id","mpLogOut");
				//$("#loginFrame").contents().find("body").show();
				//$("#loginFrame").contents().find("#mpLogIn").hide();
				//$("#loginFrame").contents().find("#mpLogOut").show();
				var src = "<p><a class='linkMP' href='javascript:void(0)'>マイページ</a><a class='linkLO' href='javascript:void(0)' id='btnLogin'>ログアウト</a></p>";
				$("#loginFrame").contents().find(".mpBtnHeader").html(src);
				$("#loginFrame").contents().find(".mpBtnHeader").attr("id","mpLogOut");

				$("#loginFrame").contents().find(".linkMP").bind("click",function() {
					parent.location.href = const_jsp_path + "/manage/messageList.jsp"; 
				});
				$("#loginFrame").contents().find(".linkLO").bind("click",function() {
					var param = {task:'logout'};
					$.ajax({
						url : const_jsp_path + "/pcLogin.jsp",
						dataType : "jsonp", 
						data : param, 
						success: function(res) {
							stateEneNonChoice();
							reLoadLoginHeader();
						},
						error : function(XHR, status, errorThrown) {
						}
					});
				});
			}else {
				//$("#loginFrame").contents().find("#mpLogOut").hide();
				//$("#loginFrame").contents().find("#mpLogIn").show();
				//$("#loginFrame").contents().find("body").attr("id","mpLogIn");
				//$("#loginFrame").contents().find("body").show();

				var src = "<p><a class='linkME' href='javascript:void(0)'>会員登録</a><a class='linkLI' href='javascript:void(0)' id='btnLogin'>ログイン</a></p>";
				$("#loginFrame").contents().find(".mpBtnHeader").html(src);
				$("#loginFrame").contents().find(".mpBtnHeader").attr("id","mpLogIn");

				$("#loginFrame").contents().find(".linkME").bind("click",function() {
					parent.location.href = const_jsp_path + "/entry/memberEntry.jsp?iccd=kaiintouroku"; 
				});
				$("#loginFrame").contents().find(".linkLI").bind("click",function() {
					parent.location.href = const_jsp_path + "/mpLogin.jsp"; 
				});
			}
		}
	});
}


//===================

