/**
 * 프론트 페이지의 ajax 콜에 관계하는 요청 및 응답 필터.
 * ajax 요청시에는 요청 url을 윈도우 스테이터스 바에 표시하고,
 * ajax 응답시에는 오류 메세지 및 강조 메세지는 alert로 노티스 메세지는 윈도우 스테이터스 바에  스크롤
 * 하도록 디자인 되어 있습니다.
 * @author 곽병의 (patracyu@hanmail.net)
 */

_ajaxRequestFilter	= function(url, form, reqObj) {
	var waitScreen;
	
	waitScreen	= document.all["_ajaxWaitScreen"];
	if (waitScreen != null) {
		var	height;
		
		if (document.body.scrollHeight != null) {
			waitScreen.style.height	= document.body.scrollHeight;
		}
		waitScreen.style.visibility	= "visible";
	}
	StatusMessageClear();
	window.status	= url + "에 요청중입니다. 잠시만 기다려 주십시오.";
	return true;
}

_ajaxResponseFilter	= function(resObj) {
	var	altMsgText;
	var	nocMsgText;

	waitScreen	= document.all["_ajaxWaitScreen"];
	if (waitScreen != null) {
		waitScreen.style.visibility	= "hidden";
	}
	StatusMessageClear();
	window.status	= "";
	if (resObj.errMsg != null) {
		var	errMsgText;
		
		errMsgText	= resObj.errMsg;
		if (resObj.errMsgDtls != null) {
			for (var i=0; i<resObj.errMsgDtls.length; i++) {
				if (i == 0) {
					errMsgText	+= "\n";
				}
				errMsgText	+= "\n " + (i+1) + ". " + resObj.errMsgDtls[i];
			}
		}
		alert(errMsgText);
		return false;
	}
	
	altMsgText	= null;
	if (resObj.altMsgs != null && resObj.altMsgs.length > 0) {
		altMsgText	= resObj.altMsgs[0];
		for (var i=1; i<resObj.altMsgs.length; i++) {
			altMsgText	+= "\n";
			altMsgText	+= resObj.altMsgs[i];
		}
	}
	
	nocMsgText	= null;
	if (resObj.nocMsgs != null && resObj.nocMsgs.length > 0) {
		nocMsgText	= resObj.nocMsgs[0];
		for (var i=1; i<resObj.nocMsgs.length; i++) {
			nocMsgText	+= " | ";
			nocMsgText	+= resObj.nocMsgs[i];
		}
	}
	
	if (altMsgText != null && altMsgText != "") {
		alert(altMsgText);
	}
	
	if (nocMsgText != null && nocMsgText != "") {
		StatusMessageShower(nocMsgText);
	}
	return true;
}
