PageSourceSearch

https://gra.ysu.ac.kr/resources/_Js/core/common_base_util.js

js ysu.ac.kr collected 2026-09-30 14:40:30 UTC 14,233 bytes, 368 lines download raw bytes

1//------------------------------------------------------------------------------------------------------------------------------------  기본 util :: 시작
2function isNullOrBlank(obj){
3	if(obj == null || obj == "")return true;
4	else return false;
5}
6
7function isNull(obj){
8	if(obj == null)return true;
9	else return false;
10}
11
12function isBlank(obj){
13	if(obj == "")return true;
14	else return false;
15}
16
17//속성 만들기
18function _createElement_formAdd(form, type, name, value){
19	var buyIdObject = document.createElement("input");
20	buyIdObject.setAttribute("type", type);
21	buyIdObject.setAttribute("name", name);
22	buyIdObject.setAttribute("value",value);
23	form.appendChild(buyIdObject);
24}
25
26/*스크립트 날짜 포맷 자동 완성 함수*/
27Date.prototype.format = function(f) {
28    if(!this.valueOf()) return " ";
29 
30    var weekName = ["일요일", "월요일", "화요일", "수요일", "목요일", "금요일", "토요일"];
31    var d = this;
32     
33    return f.replace(/(yyyy|yy|MM|dd|E|hh|mm|ss|a\/p)/gi, function($1) {
34        switch ($1) {
35            case "yyyy": return d.getFullYear();
36            case "yy": return (d.getFullYear() % 1000).zf(2);
37            case "MM": return (d.getMonth() + 1).zf(2);
38            case "dd": return d.getDate().zf(2);
39            case "E": return weekName[d.getDay()];
40            case "HH": return d.getHours().zf(2);
41            case "hh": return ((h = d.getHours() % 12) ? h : 12).zf(2);
42            case "mm": return d.getMinutes().zf(2);
43            case "ss": return d.getSeconds().zf(2);
44            case "a/p": return d.getHours() < 12 ? "오전" : "오후";
45            default: return $1;
46        }
47    });
48};
49 
50String.prototype.string = function(len){var s = '', i = 0; while (i++ < len) { s += this; } return s;};
51String.prototype.zf = function(len){return "0".string(len - this.length) + this;};
52Number.prototype.zf = function(len){return this.toString().zf(len);};
53//------------------------------------------------------------------------------------------------------------------------------------  기본 util :: 종료
54
55//------------------------------------------------------------------------------------------------------------------------------------  팝업 띄우기
56function _resolvePopupPosition(option){
57	var popupLeft = option.left;
58	var popupTop = option.top;
59
60	// 듀얼 모니터 환경에서 현재 브라우저 창 기준으로 좌표를 계산한다.
61	// left/top 값이 숫자일 때만 보정한다.
62	var leftNum = parseInt(popupLeft, 10);
63	var topNum = parseInt(popupTop, 10);
64	var hasLeftNum = !isNaN(leftNum);
65	var hasTopNum = !isNaN(topNum);
66	var baseLeft = (typeof window.screenLeft !== "undefined") ? window.screenLeft : window.screenX;
67	var baseTop = (typeof window.screenTop !== "undefined") ? window.screenTop : window.screenY;
68
69	if(option.absolutePosition !== true){
70		if(hasLeftNum) popupLeft = baseLeft + leftNum;
71		if(hasTopNum) popupTop = baseTop + topNum;
72	}
73
74	return {
75		left : popupLeft,
76		top : popupTop
77	};
78}
79
80//팝업 띄우기 :: 공통
81function popupOpen(option, form){
82	var name = option.name;
83	var url = "";
84	if(option.url != null && option.url != "")url = option.url;
85	var option_str = "";
86	var popupPos = _resolvePopupPosition(option);
87	
88	//default 셋팅
89	if(isNullOrBlank(option.width)) 					option.width = "400";
90	if(isNullOrBlank(option.height)) 					option.height = "400";
91	if(isNullOrBlank(option.toolbar)) 					option.toolbar = "no";
92	if(isNullOrBlank(option.menubar)) 					option.menubar = "no";
93	if(isNullOrBlank(option.location)) 					option.location = "no";
94	if(isNullOrBlank(option.scrollbars))				option.scrollbars = "no";
95	if(isNullOrBlank(option.status)) 					option.status = "no";
96	if(isNullOrBlank(option.resizable)) 				option.resizable = "no";
97	
98	// 옵션 적용
99	if(!isNullOrBlank(option.width)) 					option_str += "width=" + option.width
100	if(!isNullOrBlank(option.height)) 					option_str += ", height=" + option.height 
101	if(!isNullOrBlank(option.toolbar)) 					option_str += ", toolbar=" + option.toolbar
102	if(!isNullOrBlank(option.menubar)) 					option_str += ", menubar=" + option.menubar
103	if(!isNullOrBlank(option.location))					option_str += ", location=" + option.location
104	if(!isNullOrBlank(option.scrollbars)) 				option_str += ", scrollbars=" + option.scrollbars
105	if(!isNullOrBlank(option.status)) 					option_str += ", status=" + option.status
106	if(!isNullOrBlank(option.resizable)) 				option_str += ", resizable=" + option.resizable
107	if(!isNullOrBlank(option.fullscreen)) 				option_str += ", fullscreen=" + option.fullscreen
108	if(!isNullOrBlank(option.channelmode))				option_str += ", channelmode=" + option.channelmode
109	if(!isNullOrBlank(popupPos.left)) 					option_str += ", left=" + popupPos.left
110	if(!isNullOrBlank(popupPos.top)) 					option_str += ", top=" + popupPos.top
111	
112	console.log(option_str);
113
114	var win_pop = window.open(url, name, option_str);
115	
116	if(form != null && form !=""){
117		form.target = name;
118		form.submit();
119	}
120	
121	return win_pop;
122}
123
124//팝업 띄우기 :: 공통
125function popupOpenDecoration(option, form){
126	var name = option.name;
127	var url = "";
128	if(option.url != null && option.url != "")url = option.url;
129	var option_str = "";
130	var popupPos = _resolvePopupPosition(option);
131	
132	//default 셋팅
133	if(isNullOrBlank(option.width)) 					option.width = "400";
134	if(isNullOrBlank(option.height)) 					option.height = "400";
135	if(isNullOrBlank(option.toolbar)) 					option.toolbar = "no";
136	if(isNullOrBlank(option.menubar)) 					option.menubar = "no";
137	if(isNullOrBlank(option.location)) 					option.location = "no";
138	if(isNullOrBlank(option.scrollbars))				option.scrollbars = "no";
139	if(isNullOrBlank(option.status)) 					option.status = "no";
140	if(isNullOrBlank(option.resizable)) 				option.resizable = "no";
141	
142	// 옵션 적용
143	if(!isNullOrBlank(option.width)) 					option_str += "width=" + option.width
144	if(!isNullOrBlank(option.height)) 					option_str += ", height=" + option.height 
145	if(!isNullOrBlank(option.toolbar)) 					option_str += ", toolbar=" + option.toolbar
146	if(!isNullOrBlank(option.menubar)) 					option_str += ", menubar=" + option.menubar
147	if(!isNullOrBlank(option.location))					option_str += ", location=" + option.location
148	if(!isNullOrBlank(option.scrollbars)) 				option_str += ", scrollbars=" + option.scrollbars
149	if(!isNullOrBlank(option.status)) 					option_str += ", status=" + option.status
150	if(!isNullOrBlank(option.resizable)) 				option_str += ", resizable=" + option.resizable
151	if(!isNullOrBlank(option.fullscreen)) 				option_str += ", fullscreen=" + option.fullscreen
152	if(!isNullOrBlank(option.channelmode))				option_str += ", channelmode=" + option.channelmode
153	if(!isNullOrBlank(popupPos.left)) 					option_str += ", left=" + popupPos.left
154	if(!isNullOrBlank(popupPos.top)) 					option_str += ", top=" + popupPos.top
155	
156	var win_pop = window.open(url, name, option_str);
157	
158	if(form != null && form !=""){
159		form.target = name;
160		form.submit();
161	}
162	
163	return win_pop;
164}
165
166/*메뉴관리, 링크 탑입의 팝업 오픈*/
167function menuPopup(url, width, height){
168	var name = new Date();
169	var option ={
170			name : name,
171			url : url,
172			width : width,
173			height : height,
174			scrollbars : "yes",
175			resizable : "yes"
176		};
177	popupOpen(option, null);
178}
179
180/*팝업존, 윈도우 팝업 기능*/
181function open_popTop(sitecode, w, h, l, t, pop_seq){
182	var hh = parseInt(h,10) +50;
183	var option ={
184			name : "open_menu_search",
185			width : w,
186			height : hh,
187			left : l,
188			top : t,
189			scrollbars : "no",
190			resizable : "no"
191		};
192	
193	var obj_frm = document.createElement("form");
194	obj_frm.setAttribute("method","post");
195	obj_frm.action = "/" + sitecode + "/CMS/PopupMgr/popup.do";
196	document.body.appendChild(obj_frm);
197	
198	_createElement_formAdd(obj_frm, "hidden", "pop_seq", pop_seq);
199	
200	popupOpen(option, obj_frm);
201	
202}
203
204/*팝업존, 윈도우 팝업 기능*/
205function open_popMain(sitecode, w, h, l, t, pop_seq){
206	var hh = parseInt(h,10) +50;
207	var option ={
208			name : "open_menu_search",
209			width : w,
210			height : hh,
211			left : l,
212			top : t,
213			scrollbars : "no",
214			resizable : "no"
215		};
216	
217	var obj_frm = document.createElement("form");
218	obj_frm.setAttribute("method","post");
219	obj_frm.action = "/" + sitecode + "/CMS/PopupMgr/popup.do";
220	document.body.appendChild(obj_frm);
221	
222	_createElement_formAdd(obj_frm, "hidden", "pop_seq", pop_seq);
223	
224	popupOpen(option, obj_frm);
225	
226}
227//------------------------------------------------------------------------------------------------------------------------------------  팝업 띄우기
228
229//------------------------------------------------------------------------------------------------------------------------------------ 데이터 합하기
230function setDataSum(data1, data2, data3, data4, result, hip){
231	var v_data1 = $("#" + data1).val();
232	var v_data2 = $("#" + data2).val();
233	var v_data3 = $("#" + data3).val();
234	var v_data4 = $("#" + data4).val();
235	
236	var result_value = "";
237	
238	if(hip == "-" && (v_data1 != null && v_data1 != "")&& (v_data2 != null && v_data2 != "")&& (v_data3 != null && v_data3 != "")){
239		result_value = v_data1+ hip + v_data2 + hip + v_data3 ;
240		$("#"+result).val(result_value);
241	}else if(hip == "@" && (v_data1 != null && v_data1 != "")&& (v_data2 != null && v_data2 != "")){
242		result_value = v_data1+ hip + v_data2;
243		$("#"+result).val(result_value);
244	}else if(hip == " " && (v_data1 != null && v_data1 != "")&& (v_data2 != null && v_data2 != "")){
245		result_value = v_data1+ hip + v_data2;
246		$("#"+result).val(result_value);
247	}else if(hip == ":" && (v_data1 != null && v_data1 != "")&& (v_data2 != null && v_data2 != "")){
248		result_value = v_data1+ hip + v_data2;
249		$("#"+result).val(result_value);
250	}
251	else	$("#"+result).val("");
252}
253//------------------------------------------------------------------------------------------------------------------------------------ 데이터 합하기
254
255//------------------------------------------------------------------------------------------------------------------------------------ 방문자 통계
256function onVisit(site_code){
257	var gScreenWidth        = screen.width;
258    var gScreenHeight       = screen.height;
259    var gScreenAvailWidth   = screen.availWidth;
260    var gScreenAvailHeight  = screen.availHeight;
261    var gScreenColor        = screen.colorDepth
262    var gScreenDepth        = screen.pixelDepth
263    var gNavigate           = $("#_Navigate").val();
264    var gBrowser            = BrowserDetect.browser
265    var gBrowserVersion     = BrowserDetect.version
266    var gBrowserOS          = BrowserDetect.OS
267
268    try {
269      var gAppCodeName        = navigator.appCodeName
270      var gAppMinorVersion    = navigator.appMinorVersion
271      var gAppName            = navigator.appName
272      var gAppVersion         = navigator.appVersion
273      var gCookieEnabled      = navigator.cookieEnabled
274      var gCpuClass           = navigator.cpuClass
275      var gPlatform           = navigator.platform
276      var gSystemLanguage     = navigator.systemLanguage
277      var gUserAgent          = navigator.userAgent
278      var gUserAgentOS        = navigator.userAgentOS
279      var gUserLanguage       = navigator.userLanguage
280    } catch (e) {   }
281    if(!gLanguageID) var gLanguageID = ""
282    if(location.href.toUpperCase().indexOf("/_") > 0) return false;
283    if(location.href.toUpperCase().indexOf("/%5F") > 0) return false;
284
285    $.ajax({
286        type:"post",
287        url:"/"+site_code+"/ajx_json/Visit/inputVisit.json",
288        cache: false,
289        data: {
290        	navigate:gNavigate,
291      	    screen_width:gScreenWidth,
292      	    screen_height:gScreenHeight,
293      	    screen_color:gScreenColor,
294      	    browser:gBrowser,
295      	    browser_version:gBrowserVersion,
296      	    browser_os:gBrowserOS,
297      	    system_language:gSystemLanguage,
298      	    user_language:gUserLanguage,
299    		agent:gUserAgent,
300    		cpu:gCpuClass,
301    		platform:gPlatform,
302    		app_version:gAppVersion,
303      	    url:location.href.replace("http://", "").replace(window.location.hostname, "").split("?")[0].toUpperCase(),
304      	    postdata:location.href.replace("http://", "").replace(window.location.hostname, "").split("?")[1],
305      	    pre_url:document.referrer
306        },
307        dataType:"json", // TEXT 형의 JSON으로 받음 
308        success : function(data) {
309            if(data.result.result == "OK"){
310                // 처리 완료되면 이쪽으로 옴
311            }else{
312                // 실패하면 이쪽으로 옴
313            }
314        },
315        complete : function(data) {},        // 통신이 실패했어도 완료가 되었을 때 이 함수를 타게 된다.
316        error : function(xhr, status, error) {
317            alert("에러발생:" + error + status + xhr);
318        }
319    });
320}
321//------------------------------------------------------------------------------------------------------------------------------------ 방문자 통계
322
323
324function twitter(url,msg) {
325	var href = "http://twitter.com/home?status=" + encodeURIComponent(msg) + " " + encodeURIComponent(url);
326	var a = window.open(href, 'twitter', 'top=100px,left=100px,height=400px,width=500px');
327	if(a){
328		a.focus();
329	}
330	return false;
331}
332
333function facebook(url,msg) {
334	var href = "http://www.facebook.com/sharer.php?u=" + encodeURIComponent(url)+ "&t=" + encodeURIComponent(msg);
335	var a = window.open(href,'facebook','top=100px,left=100px,height=400px,width=500px');
336	if(a){
337		a.focus();
338	}
339	return false;
340}
341
342$(function(){     
343	$('.board-view-contents').each(function(){
344	    var $this = $(this);
345	    var t = $this.html();
346	})
347	
348	$('.faq-contents').each(function(){
349	    var $this = $(this);
350	    var t = $this.html();
351	
352	})
353	
354	$('.contents_view_wrap').each(function(){
355	    var $this = $(this);
356	    var t = $this.html();
357	})
358
359
360	$('.privacy-cont').each(function(){
361	    var $this = $(this);
362	    var t = $this.html();
363	 	$this.html(t.replace(/&lt;/gi, "<").replace(/&gt;/gi, ">"));
364	
365	})
366
367
368});

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.