﻿/*
 * @(#)html_util.js
 *
 * Copyright (C) 2004-2008 D.TRIBE, Inc. All rights reserved.
 *
 * THIS SOFTWARE IS THE PROPRIETARY INFORMATION OF D.TRIBE, INC.
 * USE IS SUBJECT TO LICENSE TERMS.
 *
 * @author	Barney Kim
 * @version	1.0, 2004/03/07 파일 작성
 *			1.1, 2004/06/06 기능 추가
 *			1.2, 2008/04/11 기능 추가
 */
function notSupport() {
	jsMessage("아직 지원하지 않는 기능입니다.");
}

//
// 일반 정보 메시지를 출력한다.
//
// @param msg 출력할 메시지
//
function jsMessage(msg) {
	js_msg("INFO", msg);
}

//
// 오류 메시지를 출력한다.
//
// @param msg 출력할 메시지
//
function jsError(msg) {
	js_msg("ERROR", msg);
}

//
// 사용자 오류 메시지를 출력한다.
//
// @param msg 출력할 메시지
//
function jsUserError(msg) {
	js_msg("USER ERROR", msg);
}

//
// 시스템 오류 메시지를 출력한다.
//
// @param msg 출력할 메시지
//
function jsSystemError(msg) {
	js_msg("SYSTEM ERROR", msg);
}

//
// 자바스크립트 메시지를 출력 함수
//
// @param errType 오류 종류
// @param msg 출력할 메시지
//
function js_msg(errType, msg) {
	alert(errType + ":\n\n" + msg);
}

//
// 삭제확인
//
function checkDelete() {
    var val1 = confirm("확인:\n\n정말 삭제하겠습니까?");
    return val1;
}

//
// 변경 확인
//
function checkModify() {
	var val1 = confirm("확인:\n\n변경 하시겠습니까?");
	return val1;
}

//
// 초기화 확인
//
function checkReset() {
	var val1 = confirm("확인:\n\n초기화 하시겠습니까?");
	return val1;
}

//
// 한글 여부 확인
//
function isHangul(str) {
	var len = str.length;
	for (var i = 0; i < len; i++) {
		if (str.charCodeAt(i) != 32 &&
			(str.charCodeAt(i) < 44032 || str.charCodeAt(i) > 55191)) {
				return true;
		}
	}
	return false;
}

//
// 숫자 여부 확인
//
function isNumber(str) {
	if(isSpace(str)) return false;
	var rgNum = /\D/;
	if(rgNum.test(str)) {
		return false;
	}
	return true;
}

function isSpace(str) {
	if(str.indexOf(" ") != -1) {
		return true;
	}
	return false;
}

//
// 이메일 확인
//
function isEmail(str) {
	var rgEmail = /^[\w_-]+(\.[\w_-]+)*@[\w_-]+(\.[\w_-]+)*\.\w{2,3}$/i
	if(rgEmail.test(str)) return true;
	return false;
}

//
// 빈공백 삭제
//
function removeSpace(str) {
	var s = str;
	if(s.indexOf(" ") != -1) {
		s = s.replace(/\s/gi, "" );
	}
	return s;
}

function isNull(str) {
	if(str == null || str.length == 0 || removeSpace(str) == "" || removeSpace(str) == " ") {
		return true;
	}
	return false;
}

function isFormNotNull(obj, msg) {
	if(isNull(obj.value)) {
		jsMessage(msg);
		obj.focus();
		return false;
	}
	return true;
}

function isFormText(obj, msg) {
	return isFormNotNull(obj, msg);
}

function isFormHidden(obj, msg) {
	if(isNull(obj.value)) {
		jsMessage(msg);
		return false;
	}
	return true;
}

function isFormNumber(obj, msg) {
	if(!isFormNotNull(obj, msg)) return false;
	else if(!isNumber(obj.value)) {
			jsMessage(msg);
			obj.focus();
			return false;
	}
	return true;
}

//
// 지정한 문자열이 날짜인지를 확인한다. 여기에서는 날짜 형식을
// yyyy-MM-dd 로 가정한다.
//
// @param str 확인할 문자열
//
function isDate(str) {
	var rgDateFormat = /^\d{4}-\d{2}-\d{2}$/g;
	if(!rgDateFormat.test(str)) return false;
	else {
		var yearStr = str.substring(0,4);
		var monthStr = str.substring(5,7);
		var dayStr = str.substring(8,10);
		if(yearStr < 1900 || yearStr > 2069) return false;
		if(monthStr < 1 || monthStr > 12) return false;
		if(dayStr < 1 || dayStr > 31) return false;
		return true;
	}
}

//
// 지정한 문자열이 날짜인지를 확인한다. 여기에서는 날짜 형식을
// yyyy/MM 로 가정한다.
//
// @param str 확인할 문자열
//
function isYearMonth(str) {
/*
	var rgYearMonthFormat = /^\d{4}\/\d{2}$/g;
	var rgChk = rgYearMonthFormat.test(str);
	if(!rgChk) return false;
	else {
*/
		var yearStr = str.substring(0,4);
		var gubunStr = str.substring(4,5);
		var monthStr = str.substring(5,7);

		if(!isNumber(yearStr)) return false;
		if(!isNumber(monthStr)) return false;
		if(yearStr < 1900 || yearStr > 2069) return false;
		if(gubunStr != "/") return false;
		if(monthStr < 1 || monthStr > 12) return false;
		return true;
//	}
}

//
// 폼에서 지정한 객체가 날짜인지를 확인한다.
//
// @param obj 확인할 객체
// @param msg 오류시 출력할 객체 이름
//
function isFormDate(obj, msg) {
	if(!isFormNotNull(obj, msg)) return false;
	else if(!isDate(obj.value)) {
			jsMessage(msg);
			obj.focus();
			return false;
	}
	return true;
}

//
// 폼 값을 리턴한다.
//
// @param obj 확인할 객체
// @param selectText select 이름을 리턴할지 여부
//
function getFormValue(obj, selectText) {
	var t = obj.type || obj[0].type;
	selectText = selectText || false;
	switch(t) {
		case "hidden":
			return obj.value;
		case "textarea":
		case "text":
			return obj.value;
			break;
		case "select-one":
			if(selectText) {
				return getFormSelectName(obj);
			} else {
				return getFormSelectValue(obj);
			}
			break;
		case "radio":
			return getFormRadioValue(obj);
			break;
		case "checkbox":
			return getCheckBoxValue(obj);
			break;
		case "file":
			return obj.value;
			break;
	}
	return null;
}

//
// 폼에서 라디오 버튼을 선택했는지를 확인한다.
//
// @param obj 확인할 객체
// @param msg 오류시 출력할 객체 이름
//
function isFormRadio(obj, msg) {
	var flag = false;
	if (!obj.length)
		flag = obj.checked;
	else {
    	for (var i = 0; i < obj.length; i++)
			if ((flag = obj[i].checked))
				break;
	}
  	if (!flag) {
		jsMessage(msg);
		obj[0].focus();
		return false;
	}
	return true;
}

function getFormRadioValue(obj) {
	if (!obj.length)
		return (obj.checked) ? obj.value : null;
	else {
    	for (var i = 0; i < obj.length; i++) {
			if ((flag = obj[i].checked)) {
				return obj[i].value;
			}
		}
	}
	return null;
}

//
// 폼에서 체크박스를 선택했는지를 확인한다.
//
// @param obj 확인할 객체
// @param msg 오류시 출력할 객체 이름
//
function isFormCheckBox(obj, msg) {
	var flag = false;
	if (obj.length === undefined) {
		flag = obj.checked;
	}
	else {
    	for (var i = 0; i < obj.length; i++)
			if ((flag = obj[i].checked))
				break;
	}
  	if (!flag) {
		jsMessage(msg);
		if (obj.length === undefined) {
			obj.focus();
		}
		else {
			obj[0].focus();
		}
		return false;
	}
	return true;
}

function getCheckBoxValue(obj) {
	var result = null;
	if (obj.length === undefined) {
		result = (obj.checked) ? obj.value : null;
	}
	else {
    	for (var i = 0; i < obj.length; i++) {
			if ((flag = obj[i].checked)) {
				if(result != null) {
					result += "|" + obj[i].value;
				} else {
					result = obj[i].value;
				}
			}
		}
	}
	return result;
}

//
// 폼에서 SELECT를 선택했는지를 확인한다.
//
// @param obj 확인할 객체
// @param msg 오류시 출력할 객체 이름
//
function isFormSelect(obj, msg) {
	if (obj.selectedIndex == -1 ||
		isNull(obj.options[obj.selectedIndex].value)) {
		jsMessage(msg);
		obj.focus();
		return false;
	}
	return true;
}

function getFormSelectValue(obj) {
	return obj.options[obj.selectedIndex].value;
}
function getFormSelectText(obj) {
	return obj.options[obj.selectedIndex].text;
}

//
// 문자열 길이 확인
//
function isFormStringLen(obj, len, msg) {
	if(!isFormNotNull(obj, msg)) return false;
	if(obj.value.length != len) {
		jsMessage(msg);
		obj.focus();
		return false;
	}
	return true;
}

//
// 문자열 길이 확인
//
function isFormMinStringLen(obj, minlen, msg) {
	if(!isFormNotNull(obj, msg)) return false;
	if(obj.value.length < minlen) {
		jsMessage(msg);
		obj.focus();
		return false;
	}
	//else alert(obj.value.length);
	return true;
}


//
// 정수 길이 확인
//
function isFormNumericLen(obj, len, msg) {
	if(!isFormNotNull(obj, msg)) return false;
	if(!isFormNumber(obj, msg)) return false;
	if(obj.value.length != len) {
		jsMessage(msg);
		obj.focus();
		return false;
	}
	return true;
}

//
// 정수 길이 확인
//
function isFormMaxNumericLen(obj, minlen, maxlen, msg) {
	if(!isFormNotNull(obj, msg)) return false;
	if(!isFormNumber(obj, msg)) return false;
	if(obj.value.length < minlen || obj.value.length > maxlen) {
		jsMessage(msg);
		obj.focus();
		return false;
	}
	return true;
}

//
// 값이 동일한지 확인
//
function isFormEqual(obj1, obj2, msg) {
	if(obj1.value != obj2.value) {
		jsMessage(msg);
		obj1.focus();
		return false;
	}
	return true;
}

//
// 지정된 년 월 식이 맞는지 확인
//
function isFormYearMonth(obj, len, msg) {
	if(!isFormNotNull(obj, msg)) return false;
	if(obj.value.length != len) {
		jsMessage(msg);
		obj.focus();
		return false;
	}

	if(!isYearMonth(obj.value)) {
		jsMessage(msg);
		obj.focus();
		return false;
	}
	return true;
}


//
// 비밀번호 확인
//
function isFormPassword(obj1, obj2, msg, req, min) {
	if(req == undefined) {
		req = true;
	}
	if(min == undefined) {
		min = 4;
	}
	if(req) {
		if(!isFormMinStringLen(obj1, min, msg)) { return false; }
		if(!isFormMinStringLen(obj2, min, msg)) { return false; }
		if(!isFormEqual(obj1, obj2, msg)) { return false; }
	} else {
		if(!isNull(obj1.value)) {
			if(!isFormMinStringLen(obj1, min, msg)) { return false; }
		}
		if(!isNull(obj2.value)) {
			if(!isFormMinStringLen(obj1, min, msg)) { return false; }
		}
		if(!isNull(obj1.value) && !isNull(obj2.value)) {
			if(!isFormEqual(obj1, obj2, msg)) { return false; }
		}
	}
	return true;
}

//
// 전화번호 확인
//
function isFormPhone(obj1, obj2, obj3, msg) {
	if(!isFormMaxNumericLen(obj1, 2, 4, msg)) return false;
	if(!isFormMaxNumericLen(obj2, 3, 4, msg)) return false;
	if(!isFormMaxNumericLen(obj3, 4, 4, msg)) return false;
	return true;
}

//
// 휴대전화번호 확인
//
function isFormMobile(obj1, obj2, obj3, msg) {
	if(!isFormMaxNumericLen(obj1, 3, 3, msg)) return false;
	if(!isFormMaxNumericLen(obj2, 3, 4, msg)) return false;
	if(!isFormMaxNumericLen(obj3, 4, 4, msg)) return false;
	return true;
}

function isFormEmail(obj, msg) {
	if(!isEmail(obj.value)) {
		jsMessage(msg);
		obj.focus();
		return false;
	}
	return true;
}

function isFormSepEmail(obj1, obj2, msg) {
	if(!isFormMinStringLen(obj1, 2, msg)) return false;
	if(!isFormMinStringLen(obj2, 6, msg)) return false;
	if(!isEmail(obj1.value + "@" + obj2.value)) {
		jsMessage(msg);
		obj1.focus();
		return false;
	}
	return true;
}

//
// 주민등록번호 확인
//
function isFormResidentNo(obj1, obj2, msg) {
	if(!isFormNumericLen(obj1, 6, msg)) return false;
	if(!isFormNumericLen(obj2, 7, msg)) return false;

	var jumin1 = obj1.value;
	var jumin2 = obj2.value;

	if(!(jumin2.charAt(0) == '1' || jumin2.charAt(0)  == '2' || jumin2.charAt(0) == '3' || jumin2.charAt(0) == '4')) {
		jsMessage(msg);
		obj1.focus();
		return false;
	}

	var sum = 0;
	sum += jumin1.charAt(0)*2;
	sum += jumin1.charAt(1)*3;
	sum += jumin1.charAt(2)*4;
	sum += jumin1.charAt(3)*5;
	sum += jumin1.charAt(4)*6;
	sum += jumin1.charAt(5)*7;

	sum += jumin2.charAt(0)*8;
	sum += jumin2.charAt(1)*9;
	sum += jumin2.charAt(2)*2;
	sum += jumin2.charAt(3)*3;
	sum += jumin2.charAt(4)*4;
	sum += jumin2.charAt(5)*5;

	var check = (11 - sum%11)%10;

	if(jumin2.charAt(6) != check) {
		jsMessage(msg);
		obj1.focus();
		return false;
	}
	return true;
}

function isFormResidentNoValue(obj, msg) {
	var objValue = obj.value;
	var jumin1 = objValue.split('-')[0];
	var jumin2 = objValue.split('-')[1];

	if(!(jumin2.charAt(0) == '1' || jumin2.charAt(0)  == '2' || jumin2.charAt(0) == '3' || jumin2.charAt(0) == '4')) {
		jsMessage(msg);
		obj.focus();
		return false;
	}

	var sum = 0;
	sum += jumin1.charAt(0)*2;
	sum += jumin1.charAt(1)*3;
	sum += jumin1.charAt(2)*4;
	sum += jumin1.charAt(3)*5;
	sum += jumin1.charAt(4)*6;
	sum += jumin1.charAt(5)*7;

	sum += jumin2.charAt(0)*8;
	sum += jumin2.charAt(1)*9;
	sum += jumin2.charAt(2)*2;
	sum += jumin2.charAt(3)*3;
	sum += jumin2.charAt(4)*4;
	sum += jumin2.charAt(5)*5;

	var check = (11 - sum%11)%10;

	if(jumin2.charAt(6) != check) {
		jsMessage(msg);
		obj.focus();
		return false;
	}
	return true;
}

// 외국인 등록번호
function isFormForeignerNo(obj1, obj2, msg)
{
	if(!isFormNumericLen(obj1, 6, msg)) return false;
	if(!isFormNumericLen(obj2, 7, msg)) return false;

	var socno = obj1.value+obj2.value;
	var total =0;
	var parity = 0;

	var fgnNo = new Array(13);

	for(i=0;i < 13;i++) fgnNo[i] = parseInt(socno.charAt(i));

	if(fgnNo[11] < 6) {
		jsMessage(msg);
		obj1.focus();
		return false;
	}

	if((parity = fgnNo[7]*10 + fgnNo[8])&1) {
		jsMessage(msg);
		obj1.focus();
		return false;
	}

	var weight = 2;

	for(i=0,total=0;i < 12;i++)
	{
		var sum = fgnNo[i] * weight;
		total += sum;

		if(++weight > 9) weight=2;
	}

	if((total = 11 - (total%11)) >= 10) total -= 10;
	if((total += 2) >= 10) total -= 10;
	if(total != fgnNo[12]){
		jsMessage(msg);
		obj1.focus();
		return false;
	}
	return true;
}


function isFormValidFile(obj, file_ext, msg) {
	if(!isFormNotNull(obj, msg)) return false;
	if(obj.value.lastIndexOf(file_ext) < 0) {
		jsMessage(msg);
		return false;
	}
	return true
}

/**
 * 이미지 파일 인지 여부를 리턴
 *
 * @param f 파일이름
 */
function isImgFile(f) {
	f = f.replace(/\\/g, "\\\\");
	var ext = f.substring(f.lastIndexOf(".")+1).toUpperCase();
	return (ext == "JPG" || ext=="JPEG" || ext=="GIF" || ext=="PNG")?true:false;
}

function isFormImgFile(obj, msg) {
	if(!isFormNotNull(obj, msg)) return false;
	if(!isImgFile(obj.value)) {
		jsMessage(msg);
		return false;
	}
	return true;
}

// 지정된 파일 사이즈 체크
/*
function isImgSize(obj, maxSize, msg) {
	var img = new Image();
	img.dynsrc = obj.value;
	var filesize = img.fileSize;

	alert(filesize);

	if(filesize > maxSize) {
		jsMessage(msg);
		return false;
	} 
	return true;
}
*/

// 일정한 글자수를 채우면 다음으로
function shiftToNext(event, input, length, next) {
	if((event.keyCode >= 48 && event.keyCode <= 57) ||
		(event.keyCode >= 96 && event.keyCode <= 105))
	{
		if (input.value.length == length) {
			next.focus();
			next.select();
		}
	}
}
 //숫자만 입력받기.
function numberOnly(evt) {
	var event = window.event ? window.event : evt;
	var keyCode = "";

	if(event)
		keyCode = event.charCode ? event.charCode : event.keyCode;

	if ( ((keyCode < 48) || (keyCode > 57)) && ((keyCode != 8 ) && (keyCode != 9 ) && (keyCode != 13) && (keyCode != 35) && (keyCode != 46))){
		if (window.event)
			evt.returnValue=false;
		else
			evt.preventDefault();	
	}
    return;
}

// 숫자값만 리턴
function getNumberOnly(val) {
    var str = ""+val;
    var temp = "";
    var num = "";

    for(var i=0; i<str.length; i++) {
        temp = str.charAt(i);
        if (temp >= "0" && temp <= "9") {
            num += temp;
        }
    }
    if ( (num != null) && (num != "") && (num != "0") ) {
        return parseInt(num,10); //십진수로 변환하여 리턴
    } else {
        return "";
    }
} 

//컴마추가
function addComma(val) {
    var num = val;

    if(num.length <= 3) return num;
    var loop = Math.ceil(num.length / 3);
    var offset = num.length % 3;

    if(offset==0) offset = 3;

    var str = num.substring(0, offset);

    for(i=1;i<loop;i++) {
        str += "," + num.substring(offset, offset+3);
        offset += 3;
    }
    return str;
}

//컴마 자동 삽입
function autoComma(evt,obj) {
	var event = window.event ? window.event : evt;
	var keyCode = "";

	if(event)
		keyCode = event.charCode ? event.charCode : event.keyCode;

    if ( ((keyCode>=48) && (keyCode <= 105)) || (keyCode==8) || (keyCode==13) || (keyCode==35) || (keyCode==46) ) {
		 //0(48)~숫자키패드9(105), enter(13), bakspace(8), delete(46), end(35) key 일 때만 처리한다.
		var str = "" + getNumberOnly(obj.value); //숫자만 가져온다
		if ( (str != null) && (str != "") && (str != "0") ) {
			obj.value = addComma(str); //콤마삽입
		} else {
			obj.value = "";
		}
	}
    return;
}

//슬래쉬추가
function addSlash(val, chknum) {
    var str = "";

    for(i=0;i<val.length;i++) {
		if (i == chknum)
		{
			str += "/";
		}
        str += val.charAt(i);
    }
    return str;
}


//슬래쉬 자동 삽입
function autoSlash(evt,obj) {
	var event = window.event ? window.event : evt;
	var keyCode = "";

	if(event)
		keyCode = event.charCode ? event.charCode : event.keyCode;

    if ( ((keyCode>=48) && (keyCode <= 105)) || (keyCode==8) || (keyCode==13) || (keyCode==35) || (keyCode==46) ) {
		 //0(48)~숫자키패드9(105), enter(13), bakspace(8), delete(46), end(35) key 일 때만 처리한다.
		var str = "" + getNumberOnly(obj.value); //숫자만 가져온다

		if ( (str != null) && (str != "") && (str != "0") ) {
			obj.value = addSlash(str, 4); //슬래쉬 삽입
		} else {
			obj.value = "";
		}
	}
    return;
}

//글자수 세기
function txtCount(obj, maxlimit)	
{
	if (obj.value.length > maxlimit)
	{		
		alert(maxlimit+'자 이내로 작성해 주십시오');
		obj.value = obj.value.substring(0, maxlimit);
	} 
	else
	{
		document.getElementById(obj.name).innerHTML = obj.value.length;
	}
}

// 주민번호로 나이계산
function getAge(obj1, obj2) {
	var tDate  = new Date();
	var tYear = parseInt(tDate.getFullYear()); 
	var tMonth = parseInt(tDate.getMonth()+1);

	var jumin1 = obj1.value;
	var jumin2 = obj2.value;

	var age = 0;

	if(jumin2.charAt(0) == '1' || jumin2.charAt(0)  == '2') {
		bYear = parseInt('19'+jumin1.substr(0,2));
	} else if (jumin2.charAt(0) == '3' || jumin2.charAt(0) == '4') {
		bYear = parseInt('20'+jumin1.substr(0,2));
	} 

	bMonth = parseInt(jumin1.substr(2,2));
	
	if(bMonth < tMonth)
		age = tYear-bYear;
	else
		age = tYear-bYear-1;

	return age;
}

// 내용 변경
function replaceAll(text, find, replace) {
	return text.replace(new RegExp(find, "g"), replace);
}

// 팝업 창 중앙으로 띄우기
// 보정값은 현재 20
//
// @param url URL
// @param wname 창 이름
// @param w 창 너비
// @param h 창 높이
//
// @param 창 인스턴스
//
function html_popupCenterWindow(url, wname, w, h, f) {
	var gab = 20;
	var wx = (window.screen.width-w)/2;
	var wy = (window.screen.height-h)/2;
	if(wy > gab) {
	wy -= gab;
	}
	var features = "width="+w+",height="+h+",left="+wx+",top="+wy;
	if (f != null)
		features += "," + f;
	var p=window.open(url, wname, features);
	p.focus();
	return p;
}

// 플래시 로드
//
// @param id Object 아이디
// @param url 플래시 URL
// @param width 넓이
// @param height 높이
//
function write_flash(id, url, width, height, ver) {
	ver = ver || "8";
	
	var strObj = '\
	<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" \
		codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version='+ver+',0,0,0" \
		id="' + id + ' width="' + width + ' height="' + height + '"> \
		<param name="allowScriptAccess" value="sameDomain" /> \
		<param name="movie" value="' + url + '" /> \
		<param name="quality" value="high" /> \
		<param name="allowFullScreen" value="false" /> \
		<param name="wmode" value="transparent"  /> \
		<embed src="' + url + '" quality="high" name="' + id + '" \
		    width="' + width + '" \
		    height="' + height + '" \
			allowScriptAccess="sameDomain" \
			type="application/x-shockwave-flash" \
			wmode="transparent" \
			pluginspage="http://www.macromedia.com/go/getflashplayer" /> \
	</object>';
	document.write(strObj);
}
var objectTag = "";
function flashWrite(swf_name,swf_file,swf_width,swf_height) {
	var objectTag = "<object classid='clsid:d27cdb6e-ae6d-11cf-96b8-444553540000' codebase='http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0' width='"+swf_width+"' height='"+swf_height+"' id='"+ swf_name +"' align='middle'><param name='allowScriptAccess' value='always'><param name='movie' value='" + swf_file +"'><param name='quality' value='high'><param name='wmode' value='transparent'><embed src='" + swf_file +"' wmode='transparent' width='"+swf_width+"' height='"+swf_height+"' name='"+ swf_name +"' align='middle' allowScriptAccess='always' type='application/x-shockwave-flash' pluginspage='http://www.macromedia.com/go/getflashplayer'></object>";
	document.write(objectTag);		
	objectTag = "";
}

// 동영상 플래이어 로드
//
// @param id Object 아이디
// @param url 플래시 URL
// @param w 넓이
// @param h 높이
//
function create_player(id, url, w, h) {
	var strObj = '\
	<object id="' + id + '" \
			classid="clsid:22D6F312-B0F6-11D0-94AB-0080C74C7E95" \
			codebase="http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701" \
			standby="Loading Microsoft Windows Media Player components..." \
			type="application/x-oleobject" \
			bgcolor="DarkBlue" width="' + w + '" Height="' + h + '" VIEWASTEXT> \
			<param name="FileName" value="' + url + '"> \
			<param name="AutoStart" value="1"> \
			<param name="AutoSize" value="1"> \
			<param name="AnimationAtStart" value="0"> \
			<param name="DisplayMode" value="4"> \
			<param name="Enabled" value="1"> \
			<param name="ShowControls" value="1"> \
			<param name="ShowAudioControls" value="1"> \
			<param name="ShowDisplay" value="0"> \
			<param name="ShowGotoBar" value="0"> \
			<param name="ShowPositionControls" value="1"> \
			<param name="ShowStatusBar" value="0"> \
			<param name="Volume" value="50"> \
			<param name="ShowCaptioning" value="0"> \
			<param name="TransparentAtStart" value="0"> \
			<embed name="' + id + '" Name="MediaPlayer" invokeURLs="false" \
				type="application/x-mpPlayerOnPlayBtn_div" \
				pluginspage="http://www.microsoft.com/Windows/Downloads/Contents/Products/MediaPlayer/" \
				AutoStart="1" \
				AutoSize="1" \
				AnimationAtStart="0" \
				DisplayMode="4" \
				Enabled="1" \
				ShowControls="1" \
				ShowAudioControls="1" \
				ShowDisplay="0" \
				ShowGotoBar="0" \
				ShowPositionControls="1" \
				ShowStatusBar="0" \
				Volume="50" \
				ShowCaptioning="0" \
				TransparentAtStart="1"></embed> \
		</object>';

	document.write(strObj);
}


function goRedirect(url) {
	location.href=url;
}

function goParentUrl(url) {
	opener.location.href = url;
	self.close();
}

//function setCookieTime(name, value, mSecond) {
//	var today = new Date();
//	var expire = new Date(today.getTime() + mSecond);
//
//	window.document.cookie = name + "=" + escape(value) + ((expire)?"; expires=" + expire.toGMTString(): "");
//}

function setCookieTime(name, value, expiredays) {
	var todayDate = new Date(); 
	todayDate.setDate(todayDate.getDate() + expiredays);
	document.cookie = name + "=" + escape( value ) + "; path=/; expires=" + todayDate.toGMTString() + ";";
}

function setCookie(name, value, days) {
//	setCookieTime(name, value, days*24*60*60*1000);
	setCookieTime(name, value, days);
}

function getCookie(uName) {
	var strCookie = " " + window.document.cookie;
	var ptrFr = strCookie.indexOf(" " + uName + '=');

	if(ptrFr != -1) {
		ptrFr = ptrFr + uName.length + 2;
		ptrTo = strCookie.indexOf(';', ptrFr);

		if(ptrTo == -1) {
			ptrTo = strCookie.length;
 		}
		return unescape(strCookie.substring(ptrFr, ptrTo));
	} else {
		return "";
	}
}

function isValidPassword(str) {
	//var rgRepeat = /[a-zA-Z0-9]{4,}/;
	//var rgRepeat = /.{4,}/;
	var rgPassword = /[^a-zA-Z0-9]+|^([a-z]+|[0-9]+|[A-Z]+)$/i;

	//if(rgRepeat.test(str)) return false;	//동일문자 4회이상 반복 제한.
	if(str.length < 6 || str.length > 32) return false;	//6자리 이상 32자리 이하.
	if(rgPassword.test(str)) return false;	//영문/숫자 혼용 필수.
	return true;
}

function isFormValidPassword(obj, msg) {
	if(!isValidPassword(obj.value)) {
		jsMessage(msg);
		obj.focus();
		return false;
	}
	return true;
}

function isFormNotEqual(obj1, obj2, msg) {
	if(obj1.value == obj2.value) {
		jsMessage(msg);
		obj1.focus();
		return false;
	}
	return true;
}
//EOF