PageSourceSearch

https://image.pia.jp/common2//js/AddRemind.js

js pia.jp collected 2026-09-24 08:33:13 UTC 7,272 bytes, 221 lines download raw bytes

1var setAddRemindEvent;
2
3$(document).ready(function(){
4
5setAddRemindEvent = function() {
6
7	//イベントハンドラ
8	$(".add_remind").click(function(){
9		addRemind(this);
10	});
11
12	//イベントハンドラ
13	$(".add_remind_l").click(function(){
14		addRemind(this);
15	});
16
17}
18
19var isMSIE = /*@cc_on!@*/false;
20
21
22//リマインドを追加する
23function addRemind(clickModule) {
24
25	var authed; //ログイン済か否か
26	var eventCd;
27	var rlsCd;
28	var lotRlsCd;
29	var fukidasi;
30	var url; // 非同期通信するURL
31	var urlLogin; // 非同期通信するURL(ログイン)
32	var urlRegister; // 非同期通信するURL(新規登録)
33	var contextPath; // コンテキストパス
34	var remoteToken; // CSRF対策
35
36	authed = $("input[name='authed']").val();
37	eventCd = ($(clickModule).next()).val();
38	rlsCd = ($(clickModule).next().next()).val();
39	lotRlsCd = ($(clickModule).next().next().next()).val();
40	url = $("input[name='url_remind']").val();
41	urlLogin = $("input[name='url_login_id']").val();
42	urlRegister = $("input[name='url_register_id']").val();
43	contextPath = $("input[name='path_context']").val();
44	remoteToken = $("input[name='remote_token']").val();
45
46	if (isMSIE) {
47		$(clickModule).parents().css("z-index",9999);//IE6のバグの為、親要素にも、z-indexを指定する必要がある。
48	}
49
50	// 未ログイン
51	if("true" != authed) {
52
53	  // 既に吹き出しがあるかチェックする
54		if(!$(clickModule).is(":has(.fukidasi_login)")) {
55			//既にある吹き出しを消す
56			$(".fukidasi_login").remove();
57
58			$(clickModule).append("<div class=\"fukidasi_login\"><div class=\"login_border\"><a href=\"" + urlLogin + "\">" + $("#JS00020").html() + "</a><br/><a href=\"" + urlRegister + "\">" + $("#JS00021").html() + "</a><br/><div class=\"login_close\" ><a style=\"cursor:pointer\"><img width=\"61\" height=\"17\" alt=\"" + $("#JS00022").html() + "\" src=\"" + imagePath + "close.gif\"/></a></div><span style=\"font-size:10px;width:100%\">" + $("#JS00019").html() + "</span><br/></div><div class=\"fukidasi_sankaku\"></div></div>");
59
60			fukidasi =  $(clickModule).children(".fukidasi_login");
61			setOffset(fukidasi, clickModule);
62
63		}
64
65	}
66	// ログイン済
67	else {
68
69		// 既に吹き出しがあるかチェックする
70		if(!$(clickModule).is(":has(.fukidasi)")) {
71			$(clickModule).append("<div class=\"fukidasi\"><p>" + $("#JS00012").html() + "</p><div class=\"fukidasi_sankaku\"></div></div>");
72			fukidasi =  $(clickModule).children(".fukidasi");
73			setOffset(fukidasi, clickModule);
74
75			// クリックされたら閉じる
76			fukidasi.click(function(){
77				closeFukidasi(fukidasi);
78				return false;
79			});
80
81			$.ajax({
82		  	type: "POST",
83				cache: true,
84		   	url: url,
85  			dataType: "text",
86		   	data: {event_cd:eventCd,rls_cd:rlsCd,lot_rls_cd:lotRlsCd, remote_token:remoteToken},
87		   	error: function(XMLHttpRequest, textStatus, errorThrown){
88
89					// 一旦非表示にする
90					fukidasi.css("visibility","hidden");
91				 	//fukidasi.children("p").text($("#JS00017").html()); 
92				 	fukidasi.children("p").text($("#JS00002").html());
93					fukidasi.children("p").append("<div class=\"login_close\" ><a style=\"cursor:pointer\"><img width=\"61\" height=\"17\" alt=\"" + $("#JS00022").html() + "\" src=\"" + imagePath + "close.gif\"/></a></div>");
94					setOffset(fukidasi, clickModule);
95				},
96				success: function(msg){
97					var data;
98					var statusCode;
99					var errMessage;
100
101					try {
102						data = JSON.parse(remove_newline(msg)); //改行を消した後、JSONにパースする。
103					} catch(e) {
104						fukidasi.css("width","140px");
105						fukidasi.children("p").text("");
106						fukidasi.children("p").append($("#JS00014").html() + "<br/>");
107						fukidasi.children("p").append("<div class=\"login_close\" ><a style=\"cursor:pointer\"><img width=\"61\" height=\"17\" alt=\"" + $("#JS00022").html() + "\" src=\"" + imagePath + "close.gif\"/></a></div>");
108					};
109
110					if (data != null && data.status_code != null ) { statusCode = data.status_code };
111					if (data != null && data.err_message != null ) { errMessage = data.err_message };
112
113
114					// 一旦非表示にする
115					fukidasi.css("visibility","hidden");
116
117					// 1:正常登録完了
118					if (statusCode == 1) {
119						fukidasi.css("width","150px");
120						fukidasi.children("p").html($("#JS00015").html());
121
122						if ($(clickModule).hasClass("ok_change_img")) {
123							if ($(clickModule).hasClass("add_remind")) {
124								$(clickModule).children("img").attr("src", imagePath + "button/remind_sales_off.gif");
125							} else {
126								$(clickModule).children("img").attr("src", imagePath + "remind_sales_off.gif");
127							}
128						}
129
130						// 1秒後に閉じる
131						$(document).oneTime("1s",function(){
132							closeFukidasi(fukidasi);
133						});
134					}
135
136					// 2:既に登録されています
137					else if (statusCode == 2) {
138						fukidasi.css("width","140px");
139						fukidasi.children("p").text($("#JS00016").html());
140
141						if ($(clickModule).hasClass("ok_change_img")) {
142							if ($(clickModule).hasClass("add_remind")) {
143								$(clickModule).children("img").attr("src", imagePath + "button/remind_sales_off.gif");
144							} else {
145								$(clickModule).children("img").attr("src", imagePath + "remind_sales_off.gif");
146							}
147						}
148
149						// 1秒後に閉じる
150						$(document).oneTime("1s",function(){
151							closeFukidasi(fukidasi);
152						});
153					}
154
155					// 4:エラー
156					else if (statusCode == 4){
157						fukidasi.css("width","140px");
158						fukidasi.children("p").text("");
159						fukidasi.children("p").append($("#JS00018").html() + errMessage + "<br/>");
160						fukidasi.children("p").append("<div class=\"login_close\" >
160<a style=\"cursor:pointer\"><img width=\"61\" height=\"17\" alt=\"" + $("#JS00022").html() + "\" src=\"" + imagePath + "close.gif\"/></a></div>");
161					}
162					setOffset(fukidasi, clickModule);
163		   	}
164			});
165
166			//ログイン用の吹き出し以外は全体で閉じるようにする。
167			if (fukidasi != null && fukidasi.size() > 0) {
168				// クリックされたら閉じる
169				fukidasi.click(function(){
170					closeFukidasi(fukidasi);
171					return false;
172				});
173			}
174		}
175	}
176
177	if(fukidasi != null && fukidasi.size() > 0) {
178		// 閉じるがクリックされたら閉じる
179		fukidasi.find(".login_close").click(function(){
180			closeFukidasi(fukidasi);
181			fukidasi = null;
182			return false;
183		});
184	}
185
186
187
188	if(fukidasi != null) {
189		fukidasi.css("z-index",10000);
190	}
191}
192
193function closeFukidasi(target) {
194	if (isMSIE) {
195		$(target).parents().css("z-index",0);//IE6のバグの為、親要素にも、z-indexを指定する必要がある。
196	}
197	$(target).remove();
198	return false;
199}
200
201//オフセット値を再設定する
202function setOffset(fukidasi, clickModule) {
203	// 文字により高さが変るのでオフセット位置を再設定する
204	fukidasi.css("top",(-1 * fukidasi.height()) + "px");
205
206	if ($(clickModule).hasClass("add_remind")) {
207		// 幅が変るのでleftを再設定する
208		fukidasi.css("left", (-1 * (fukidasi.width() + 5 - $(clickModule).width())) + "px"
209				);
210	} else {
211		// 幅が変るのでleftを再設定する
212		fukidasi.css("left",(-1 * (fukidasi.width() -30 - $(clickModule).width())) + "px");
213	}
214
215	// 表示する
216	fukidasi.css("visibility","visible");
217}
218
219setAddRemindEvent();
220
221});

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.