/**
 * @(#) common.js
 */

var HTTPS_PROTOCOL = "http://";

//브라우져 체크
var appname = navigator.appName;
var useragent = navigator.userAgent;
if(appname == "Microsoft Internet Explorer") appname = "IE";
var IE55 = (useragent.indexOf('MSIE 5.5')>0);  //5.5 버전
var IE6 = (useragent.indexOf('MSIE 6')>0);     //6.0 버전
var IE7 = (useragent.indexOf('MSIE 7')>0);     //7.0 버전
var IE8 = (useragent.indexOf('MSIE 8')>0);     //8.0 버전

//스트링 프로토타입 함수 정의
String.prototype.trim = function(str) {
	str = this != window ? this : str;
	return str.replace(/^\s+/g,'').replace(/\s+$/g,'');
};
String.prototype.hasFinalConsonant = function(str) {
	str = this != window ? this : str;
	var strTemp = str.substr(str.length-1);
	return ((strTemp.charCodeAt(0)-16)%28!=0);
};
String.prototype.bytes = function(str) {
	str = this != window ? this : str;
	var len = 0;
	for(var j=0; j<str.length; j++) {
		var chr = str.charAt(j);
		len += (chr.charCodeAt() > 128) ? 2 : 1;
	}
	return len;
};

//플래시 관련 (이올라스 특허 우회)
function swfprint2(objid,furl,fwidth,fheight,transoption,flashvars) {
	var ieTxt = '<object id="'+ objid +'" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,124,0" width="'+ fwidth +'" height="' + fheight +'" align="middle">';
	ieTxt += '<param name="allowScriptAccess" value="always"/>';
	ieTxt += '<param name="movie" value="'+ furl +'"/>';
	ieTxt += '<param name="quality" value="high"/>';
	ieTxt += '<param name="bgcolor" value="#ffffff"/> ';
	ieTxt += '<param name="menu" value="false"/> ';
	if (flashvars) ieTxt += '<param name="flashVars" value="'+ flashvars +'">';
	if (transoption == "t") {
		ieTxt += '<param name="wmode" value="transparent"/>';
	} else if	(transoption == "o") {
		ieTxt += '<param name="wmode" value="opaque"/>';
	}
	ieTxt += '</object>';

	var ffTxt = '<embed id="'+ objid +'" type="application/x-shockwave-flash" src="'+ furl +'" width="'+ fwidth +'" height="' + fheight +'" menu="false" ';
	if (flashvars) ffTxt += ' flashVars="'+ flashvars +'" ';
	if (transoption == "t")	{
		ffTxt += ' wmode="transparent"';
	} else if	(transoption == "o") {
		ffTxt += ' wmode="opaque"';
	}
	ffTxt +='allowScriptAccess="always"';
	ffTxt += '></embed>';

	if(appname=="IE") document.write(ieTxt);
	else  document.write(ffTxt);
}

//png 관련
function setpng24(obj) {
	obj.width=obj.height=1;
	obj.className=obj.className.replace(/\bpng24\b/i,'');
	obj.style.filter =	"progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+obj.src+"',sizingMethod='image');";
	obj.src='';
	return '';
}
function pngImgBackGround(obj,imgSrc){
	if(appname == "IE"){
		obj.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + imgSrc + "',sizingMethod='scale')";
	} else {
		obj.src = imgSrc;
		return '';
	}
}

//쿠키관련
function getCookie (name) {
	var arg = name + "=";
	var alen = arg.length;
	var clen = document.cookie.length;
	var i = 0;
	while (i < clen) {
		var j = i + alen;
		if (document.cookie.substring(i, j) == arg)
			return getCookieVal (j);
		i = document.cookie.indexOf(" ", i) + 1;
		if (i == 0) break;
	}
	return null;
}
function getCookieVal(offset) {
	var endstr = document.cookie.indexOf (";", offset);
	if (endstr == -1)
		endstr = document.cookie.length;
	return unescape(document.cookie.substring(offset, endstr));
}
function setCookie(name, value) {
	var argv = setCookie.arguments;
	var argc = setCookie.arguments.length;
	var expires = (2 < argc) ? argv[2] : null;
	var path = (3 < argc) ? argv[3] : null;
	var domain = (4 < argc) ? argv[4] : null;
	var secure = (5 < argc) ? argv[5] : false;
	document.cookie = name + "=" + escape (value) +
	((expires == null) ? "" : ("; expires=" + expires.toGMTString())) +
	((path == null) ? "" : ("; path=" + path)) +
	((domain == null) ? "" : ("; domain=" + domain)) +
	((secure == true) ? "; secure" : "");
}

//윈도우 가운데 띄우기
function openWinCenter(url, wname, wopt) {
	var newopt = "", wHeight = 0, wWidth = 0;
	if (wopt != undefined) {
		var woptlist = wopt.replace(/ /g, "").split(",");
		for (var i=0; i<woptlist.length; i++) {
			if (woptlist[i].match(/^height=/i)) {
				wHeight = parseInt(woptlist[i].substr(7),10);
				if (!isNaN(wHeight)) newopt += "top=" + Math.floor((screen.availHeight - wHeight) / 2) + ",";
			}
			if (woptlist[i].match(/^width=/i)) {
				wWidth = parseInt(woptlist[i].substr(6),10);
				if (!isNaN(wWidth)) newopt += "left=" + Math.floor((screen.availWidth - wWidth) / 2) + ",";
			}
		}
	}
	return window.open(url, wname, newopt + wopt);
}

//체크 관련
function checkNull(inputString) {
	if (inputString == null || inputString == "") {
		return true;
	}
	return false;
}
function checkCheckBox(objForm, checkBoxName) {
	for (var i=0; i<objForm.elements.length; i++) {
		if (objForm[i].name == checkBoxName && objForm[i].checked) {
			return true;
		}
	}
	return false;
}
function getCheckBoxCheckValue(objForm, checkBoxName) {
	for (var i=0; i<objForm.elements.length; i++) {
		if (objForm[i].name == checkBoxName && objForm[i].checked) {
			return objForm[i].value;
		}
	}
	return "";
}
function getRadioCheckValue(objForm, radioName) {
	for (var i=0; i<objForm.elements.length; i++) {
		if (objForm[i].name == radioName && objForm[i].checked) {
			return objForm[i].value;
		}
	}
	return "";
}
function checkRadio(objRadio) {
	if (objRadio.length) {
		for (var i=0; i<objRadio.length; i++) {
			if (objRadio[i].checked) {
				return true;
			}
		}
	} else {
		if (objRadio.checked) {
			return true;
		}
	}
	return false;
}
function checkRepeatCharacter(str, num) {
	var cnt = str.length;
	var repeat = "";
	var R=1;
	for(var i=0; i<cnt; i++) {
		tmp = str.substr(i, 1);
		key = tmp;
		if(key == repeat) { R++; }
		else { R=1; repeat = key; }
		if(R >= num) { return repeat; }
	}
	return "";
}
function checkSeqCharacter(str, num) {
	var cnt = str.length;
	var repeat = 0;
	var R=1;
	for(var i=0; i<cnt; i++) {
		asc = str.charCodeAt(i);
		key = asc;
		if(key == repeat + 1) { R++; repeat = key; }
		else { R=1; repeat = key; }
		if(R >= num) { return repeat; }
	}
	return 0;
}
function checkNumber(inputString){
	var numPattern = /([^0-9])/g;
	numPattern = inputString.match(numPattern);
	if(numPattern != null){
		return false;
	}
	return true;
}
function checkIncludeNumber(inputString){
	var numPattern = /\d{1}/g;
	numPattern = inputString.match(numPattern);
	if(numPattern != null){
		return true;
	}
	return false;
}
function checkSpace(inputString){
	if (inputString.indexOf(" ")>=0) {
		return true;
	}
	return false;
}
function containsCharsOnly(inputString,chars) {
	for (var inx = 0; inx < inputString.length; inx++) {
		if (chars.indexOf(inputString.charAt(inx)) == -1)
			return false;
	}
	return true;
}
function checkDomain(inputString) {
	var expUrl = /^(http\:\/\/)?((\w+)[.])+(asia|biz|cc|cn|com|de|eu|in|info|jobs|jp|kr|mobi|mx|name|net|nz|org|travel|tv|tw|uk|us)(\/(\w*))*$/i;
	return expUrl.test(inputString);
}
function checkIp(inputIp) {
    var expUrl = /^(1|2)?\d?\d([.](1|2)?\d?\d){3}$/;
    return expUrl.test(inputIp);
}
function checkEmailDomain(inputString) {
	var format = /^((\w|[\-\.])+)\.([A-Za-z]+)$/;
	return checkFormat(inputString, format);
}
function checkFormat(inputString,format) {
	if (inputString.search(format) != -1) {
		return true;
	}
	return false;
}
function checkFloatNum(inputString) {
	var chars = ".0123456789";
	return containsCharsOnly(inputString,chars);
}
function checkAlpha(inputString) {
	var chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
	return containsCharsOnly(inputString,chars);
}
function checkAlphaNum(inputString) {
	var chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
	return containsCharsOnly(inputString,chars);
}
function check16Num(inputString) {
	var chars = "ABCDEFabcdef0123456789";
	return containsCharsOnly(inputString,chars);
}
function checkEmail(inputString) {
	var format = /^((\w|[\-\.])+)@((\w|[\-\.])+)\.([A-Za-z]+)$/;
	if (inputString.indexOf(";")>0) {
		var arrayEmail = inputString.split(";");
		var checkResult = true;
		for (var i=0; i<arrayEmail.length; i++) {
			checkResult = checkFormat(arrayEmail[i].trim(),format);
		}
		return checkResult;
	} else if (inputString.indexOf(",")>0) {
		var arrayEmail = inputString.split(",");
		var checkResult = true;
		for (var i=0; i<arrayEmail.length; i++) {
			checkResult = checkFormat(arrayEmail[i].trim(),format);
		}
		return checkResult;
	} else {
		return checkFormat(inputString,format);
	}
}
function checkDateValue(obj, separator) {
	var input = obj.value.replace(/-/g,"");
	var input = input.replace(/\//g,"");
	var inputYear = input.substr(0,4);
	var inputMonth = input.substr(4,2) - 1;
	var inputDate = input.substr(6,2);
	var resultDate = new Date(inputYear, inputMonth, inputDate);
	if ( resultDate.getFullYear() != inputYear ||
		resultDate.getMonth() != inputMonth ||
		resultDate.getDate() != inputDate) {
		return false;
	} else {
		inputDate = (inputDate.length == 1)? "0" + inputDate : inputDate;
		obj.value = inputYear + separator + input.substr(4,2) + separator + inputDate;
		return true;
	}
}
function checkDateSeparateValue(objYear, objMonth, objDay) {
	var inputYear = objYear.value;
	var inputMonth = objMonth.value - 1;
	var inputDate = objDay.value;
	var resultDate = new Date(inputYear, inputMonth, inputDate);
	if ( resultDate.getFullYear() != inputYear ||
		resultDate.getMonth() != inputMonth ||
		resultDate.getDate() != inputDate) {
		return false;
	} else {
		objMonth.value	= (objMonth.value.length == 1)? "0" + objMonth.value : objMonth.value;
		objDay.value	= (objDay.value.length == 1)? "0" + objDay.value : objDay.value;
		return true;
	}
}
function checkDate(obj) {
	var input = obj.value.replace(/-/g,"");
	var inputYear = input.substr(0,4);
	var inputMonth = input.substr(4,2) - 1;
	var inputDate = input.substr(6,2);
	var resultDate = new Date(inputYear, inputMonth, inputDate);
	if ( resultDate.getFullYear() != inputYear ||
		resultDate.getMonth() != inputMonth ||
		resultDate.getDate() != inputDate) {
		obj.value = "";
	} else {
		inputDate = (inputDate.length == 1)? "0" + inputDate : inputDate;
		obj.value = inputYear + "-" + input.substr(4,2) + "-" + inputDate;
	}
}
function preventInputNotNumber(obj, e) {
	var evCode = (Prototype.Browser.IE) ? event.keyCode : e.which;
	if ((evCode!=46 && ((evCode<48) || (evCode>57)))) {
		if (evCode != 8) {
			if (Prototype.Browser.IE) {
				event.returnValue = false;
			} else {
				e.preventDefault();
			}
		}
	}
}
function preventInputNotAlphaNumber(obj, e) {
	var evCode = (Prototype.Browser.IE) ? event.keyCode : e.which;
	if (((evCode>=48 && evCode<=57) || (evCode>=65 && evCode<=90) || (evCode>=97 && evCode<=122))) {
	} else {
		if (evCode != 8) {
			if (Prototype.Browser.IE) {
				event.returnValue = false;
			} else {
				e.preventDefault();
			}
		}
	}
}
function getFileExtension(fullFileName) {
	if (fullFileName != null) {
		return fullFileName.substr(fullFileName.lastIndexOf(".")+1,fullFileName.length).toUpperCase();
	}
	return "";
}
function checkFile(objFile, allowFileExt) {
	var limitFileExt = "ASP,ASPX,ASA,COM,EXE,BAT,JS,PHP,JSP,HTML,HTM";
	allowFileExt = allowFileExt.toUpperCase();
	var fileName = objFile.value;
	var ext = getFileExtension(fileName);
	if (checkNull(fileName)) {
		alert("파일을 선택하세요.");
		return false;
	} else if (limitFileExt.indexOf(ext)>=0) {
		alert("업로드 할 수 없는 파일 형식입니다.");
		return false;
	} else if (!checkNull(allowFileExt) && allowFileExt.indexOf(ext)<0) {
		alert("파일 확장자가 " + allowFileExt.toLowerCase() + " 인 파일만 업로드하실 수 있습니다.");
		return false;
	}
	return true;
}
function getFileSize(fileSize) {
	var resultSizeValue = "0 KB";
	var tempSize = 0;
	if (fileSize > 0) {
		if (fileSize < 1024) {
			resultSizeValue = fileSize + " 바이트";
		} else if (fileSize >= 1024 * 1024 * 1024) {
			resultSizeValue = (Math.round((fileSize / 1024 / 1024 / 1024) * 100)/100) + " GB";
		} else if (fileSize >= 1024 * 1024) {
			if (fileSize % (1024 * 1024) == 0) {
				resultSizeValue = (Math.round(fileSize / 1024 / 1024)) + " MB";
			} else {
				resultSizeValue = (Math.round((fileSize / 1024 / 1024) * 100)/100) + " MB";
			}
		} else {
			tempSize = Math.round(fileSize / 1024);
			if (tempSize == 0) {
				resultSizeValue = "1 KB";
			} else {
				resultSizeValue = (Math.round((fileSize / 1024) * 100)/100) + " KB";
			}
		}
	}
	return resultSizeValue;
}
function checkUploadFile(objUploadField, allowFileExt) {
	var limitFileExt = "ASP,ASPX,ASA,COM,EXE,BAT,JS,HTC,PHP,PHP3,PHTML,JSP,HTML,HTM,SH";
	allowFileExt = (allowFileExt!=null)? allowFileExt.toUpperCase() : "";
	if ($(objUploadField)) {
		if ($(objUploadField).length) {
			for (var i=0; i<$(objUploadField).length; i++) {
				var fileName = $(objUploadField)[i].value;
				if (!checkNull(fileName)) {
					var ext = getFileExtension(fileName);
					if (limitFileExt.indexOf(ext)>=0) {
						alert("확장자가 " + ext.toLowerCase() + " 인 파일은 업로드 하실 수 없습니다.");
						return false;
					} else if (!checkNull(allowFileExt) && allowFileExt.indexOf(ext)<0) {
						alert("파일 확장자가 " + allowFileExt.toLowerCase() + " 인 파일만 업로드하실 수 있습니다.");
						return false;
					}
				}
			}
		} else {
			var fileName = $(objUploadField).value;
			if (!checkNull(fileName)) {
				var ext = getFileExtension(fileName);
				if (limitFileExt.indexOf(ext)>=0) {
					alert("확장자가 " + ext.toLowerCase() + " 인 파일은 업로드 하실 수 없습니다.");
					return false;
				} else if (!checkNull(allowFileExt) && allowFileExt.indexOf(ext)<0) {
					alert("파일 확장자가 " + allowFileExt.toLowerCase() + " 인 파일만 업로드하실 수 있습니다.");
					return false;
				}
			}
		}
	}
	return true;
}

//자릿수(콤마) 추가
function addComma(number) {
	number = '' + number;
	if (number.length > 3) {
	var mod = number.length % 3;
	var output = (mod > 0 ? (number.substring(0,mod)) : '');
		for (i=0 ; i < Math.floor(number.length / 3); i++) {
		if ((mod == 0) && (i == 0))
			output += number.substring(mod+ 3 * i, mod + 3 * i + 3);
		else
			output+= ',' + number.substring(mod + 3 * i, mod + 3 * i + 3);
		}
	return (output);
	}
	else return number;
}

//폼 전송 체크
var formSubmitFlag = false;
function checkFormSubmit(f) {
	if (formSubmitFlag) {
		alert("현재 폼이 전송중입니다.\n\n처리가 완료될 때까지 잠시만 기다려주세요.");
		return false;
	}
	f = $(f);

	var addBeforeCheckResult = true;
	try {
		addBeforeCheckResult = addBeforeCheckFunction(f);
	} catch(e) {
	}
	var elementName = f["__elementName__"].value;
	var actionName = f["__actionName__"].value;
	if (addBeforeCheckResult) {
		var fieldCount		= f.elements.length;
		var fieldName		= "";
		var errorMessage	= "";
		var checkFlag		= true;
		for (var i=0; i<fieldCount; i++) {
			var el = $(f[i]);
			if (!el.disabled) {
				if (!checkNull(el.readAttribute("fieldName"))) {
					fieldName = el.readAttribute("fieldName") + (el.readAttribute("fieldName").hasFinalConsonant()? "은" : "는");
				} else {
					fieldName = "";
				}
				//if (el.readAttribute("required") == "true" && el.className.indexOf("WebEditor")>=0) {
				//	var objWebEditor = FCKeditorAPI.GetInstance(el.id);
				//	if (objWebEditor.GetXHTML( true ) == "") {
				//		checkFlag = false;
				//		objWebEditor.Focus();
				//	}
				if (el.readAttribute("required") == "true" && checkNull(el.value)) {
					checkFlag = false;
				} else if (el.readAttribute("space") == "no" && checkSpace(el.value)) {
					checkFlag = false;
					errorMessage = fieldName + " 공백을 포함할 수 없습니다.";
				} else if (el.readAttribute("restrictLength") && (el.value.length < el.readAttribute("restrictLength").substring(0, el.readAttribute("restrictLength").indexOf(",")))) {
					checkFlag = false;
					var min = parseInt(el.readAttribute("restrictLength").substring(0, el.readAttribute("restrictLength").indexOf(",")));
					var max = parseInt(el.readAttribute("restrictLength").substring(el.readAttribute("restrictLength").indexOf(",")+1, el.readAttribute("restrictLength").length));
					errorMessage = fieldName + " " + min + "자" + ((max > min)? ' 이상' : '') + " 이어야 합니다.";
				} else if (el.readAttribute("restrictLength") && (el.value.length > el.readAttribute("restrictLength").substring(el.readAttribute("restrictLength").indexOf(",")+1, el.readAttribute("restrictLength").length))) {
					checkFlag = false;
					errorMessage = fieldName + " " + el.readAttribute("restrictLength").substring(el.readAttribute("restrictLength").indexOf(",")+1, el.readAttribute("restrictLength").length) + "자 이하 여야 합니다.";
				} else if (el.readAttribute("startNumber") == "no" && parseInt(el.value.substring(0,1))) {
					checkFlag = false;
					errorMessage = fieldName + " 숫자로 시작되는 문자는 허용되지 않습니다.";
				} else if (el.readAttribute("isNumber") == "no" && checkIncludeNumber(el.value)) {
					checkFlag = false;
					errorMessage = fieldName + " 숫자가 포함 될 수 없습니다.";
				} else if (el.readAttribute("isNumber") == "yes" && !checkIncludeNumber(el.value)) {
					checkFlag = false;
					errorMessage = fieldName + " 숫자만 입력 할 수 있습니다.";
				} else if (el.readAttribute("isFloat") == "yes" && !checkNull(el.value) && !checkFloatNum(el.value)) {
					checkFlag = false;
					errorMessage = fieldName + " 숫자만 입력 할 수 있습니다.";
				} else if (el.readAttribute("onlyAlpha") == "true" && !checkAlpha(el.value)) {
					checkFlag = false;
					errorMessage = fieldName + " 영문자만 입력 할 수 있습니다.";
				} else if (el.readAttribute("onlyAlphaNum") == "true" && !checkAlphaNum(el.value)) {
					checkFlag = false;
					errorMessage = fieldName + " 영문자 및 숫자만 입력 할 수 있습니다.";
				} else if (el.readAttribute("restrictRepeat") && checkRepeatCharacter(el.value, parseInt(el.readAttribute("restrictRepeat")))) {
					checkFlag = false;
					errorMessage = fieldName + " " + el.readAttribute("restrictRepeat") + "자 이상 반복되는 문자는 허용되지 않습니다.";
				} else if (el.readAttribute("restrictSequence") && checkSeqCharacter(el.value, parseInt(el.readAttribute("restrictSequence")))) {
					checkFlag = false;
					errorMessage = fieldName + " " + el.readAttribute("restrictSequence") + "자 이상 연속되는 문자는 허용되지 않습니다.";
				} else if (el.readAttribute("notEqualTo") && el.value == f[el.readAttribute("notEqualTo")].value) {
					var notEqualToEl = f[el.readAttribute("notEqualTo")];
					checkFlag = false;
					errorMessage = fieldName + " " + notEqualToEl.readAttribute("fieldName") + (notEqualToEl.readAttribute("fieldName").hasFinalConsonant()? "과" : "와") + " 일치할 수 없습니다.";
				} else if (el.readAttribute("equalTo") && el.value != f[el.readAttribute("equalTo")].value) {
					var equalToEl = f[el.readAttribute("equalTo")];
					checkFlag = false;
					errorMessage = fieldName + " " + equalToEl.readAttribute("fieldName") + (equalToEl.readAttribute("fieldName").hasFinalConsonant()? "과" : "와") + " 일치해야 합니다.";
				} else if (el.readAttribute("conditional_field") && el.readAttribute("conditional_value")) {
					var conditional_field = el.readAttribute("conditional_field");
					var conditional_field_select_value = "";
					if (f[conditional_field].length) {
						for (var j=0; j<f[conditional_field].length; j++) {
							if (f[conditional_field][j].checked || f[conditional_field][j].selected) {
								conditional_field_select_value = f[conditional_field][j].value;
								break;
							}
						}
					} else {
						conditional_field_select_value = f[conditional_field].value;
					}
					var conditional_value = el.readAttribute("conditional_value");
					if (conditional_field_select_value == conditional_value && !el.value) {
						checkFlag = false;
					}
				}
			}
			if (!checkFlag) {
				var fieldActionName = (el.readAttribute("actionName"))? el.readAttribute("actionName") : ((el.tagName=="INPUT" || el.tagName=="TEXTAREA")? "입력" : "선택");
				fieldActionName = (el.readAttribute("actionName"))? el.readAttribute("actionName") : ((el.type == "file")? "업로드" : fieldActionName);
				alert((errorMessage)? errorMessage : el.readAttribute("fieldName") + (el.readAttribute("fieldName").hasFinalConsonant()? "을" : "를") + " " + fieldActionName + "하세요.");
				if (el.disabled == false && el.style.display != "none" && el.readOnly == false && el.type != "hidden" && el.type != "file") {
					el.focus();
				}
				return false;
			}
			if (el.readAttribute("checkFunctionName") && !checkNull(el.value)) {
				eval("var checkFunctionResult = " + el.readAttribute("checkFunctionName") + "('" + el.value + "')");
				if (!checkFunctionResult) {
					alert("올바르지 않은 " + el.readAttribute("fieldName") + " 형식 입니다.");
					if (el.disabled == false && el.style.display != "none" && el.readOnly == false && el.type != "hidden") {
						el.focus();
					}
					return false;
				}
			}
			if (el.value && el.readAttribute("transform") == "LowerCase") {
				el.value = el.value.toLowerCase();
			} else if (el.value && el.readAttribute("transform") == "UpperCase") {
				el.value = el.value.toUpperCase();
			}
			if (el.type == "file" && !checkUploadFile(el, el.readAttribute("allowFileExt"))) {
				return false;
			}
		}
		var addCheckResult = true;
		try {
			addCheckResult = addCheckFunction(f);
		} catch(e) {
		}
		var confirmMessage = ((elementName)? elementName+(elementName.hasFinalConsonant()? "을" : "를")+" " : "")  + ((!checkNull(actionName))? actionName + " 하시겠습니까?" : "");
		if (addCheckResult) {
			if (checkNull(confirmMessage)) {
				formSubmitFlag = true;
				try {
					changePageStatus("block");
				} catch(e) {}
				return true;
			} else {
				if (confirm(confirmMessage)) {
					formSubmitFlag = true;
					try {
						changePageStatus("block");
					} catch(e) {}
					return true;
				}
			}
		}
	}
	return false;
}