﻿// JavaScript Document
// 기본 마스터 폼
var masterbasic = 'ctl00_CommonMasterContent_';

/**---------------------------------------------------------
 * 문자열 자르기(한글, 영문 상관없이 자릿 수로 결정)
 * ex) str.strcut(len)
 * @param len	제한문자수
 * @return 자른문자열
-----------------------------------------------------------*/
String.prototype.strcut = function(len,coma) {
 	var str = this;
	if(!coma) coma = '';
	return str.substring(0,len)+coma;
}

/**---------------------------------------------------------
 * 좌우 공백 제거
 * ex) str.trim()
 * @param NULL
 * @return 좌우공백을 제거한 문자열
-----------------------------------------------------------*/
String.prototype.trim = function()
{
  	return this.replace(/(^\s*)|(\s*$)/g, '');
}

/**---------------------------------------------------------
 * 텍스트 좌측 부분의 공백 제거
 * ex) str.ltrim()
 * @param NULL
 * @return 좌측공백을 제거한 문자열
-----------------------------------------------------------*/
String.prototype.ltrim = function()
{
	var count = 0;

	for( i = 0; i < this.length; i++ )
		{
		if( this.charAt(i) == ' ' )
			count++;
		else
			break;
	}
	return this.substring(count);
}

/**---------------------------------------------------------
 * 텍스트 우측 부분의 공백 제거
 * ex) str.rtrim()
 * @param NULL
 * @return 우측공백을 제거한 문자열
-----------------------------------------------------------*/
String.prototype.rtrim = function()
{
	var count = 0;

	for( i = this.length - 1; i >= 0; i-- )
	{
		if( this.charAt(i) == ' ' )
			count++;
		else
			break;
	}
	return this.substring(0,count);
}

/**---------------------------------------------------------
 * 문자열 총 바이트 수 구하기.
 * 한글 2byte, 영문 1byte
 * ex) str.bytes()
 * @param NULL
 * @return 문자열 bytes
-----------------------------------------------------------*/
String.prototype.bytes = function() {
 	var size = 0;
 	for (var i=0; i<this.length; i++) size += (this.charCodeAt(i) > 128) ? 2 : 1;
 	return size;
}

/**---------------------------------------------------------
 * 문자열 공백제거
 * "a a a a" => "aaaa"
 * ex) str.spaceRemove();
 * @param str 공백을 제거할 문자열
 * @return 문자열에 포함된 모든 공백문자를 제거한 문자열
-----------------------------------------------------------*/
String.prototype.spaceRemove = function(){
	return this.replace(/ /g, "");
}

/**---------------------------------------------------------
 * 문자열 공백확인
 * "a a a a" => true
 * ex) isSpaceContain(str);
 * @param str 공백을 확인할 문자열
 * @return 공백포함 시 true, 아니면 false
-----------------------------------------------------------*/
function isSpaceContain(str){
	if(str.indexOf(" ") >= 0) return true;
	return false;
}

/**---------------------------------------------------------
 * 새창 팝업
 * ex) popWindow('../popup.php','popup',300,300,'no','no','no');
 * @param url 새창에 뛰울 페이지 경로
 * @param name 새창이름
 * @param width 새창 width
 * @param height 새창 height
 * @param status 새창 상태바 유무
 * @param scrollbars 새창 스크롤바 유무
 * @return null
-----------------------------------------------------------*/
function popWindow(url, name, width, height, status, scrollbars, resize) {
	var window_left = (screen.width-width)/2;
	var window_top = (screen.height-height)/2;
	openwin = window.open(url,name,'resizable='+resize+',width='+width+',height='+height+',status='+status+',scrollbars='+scrollbars+',top='+ window_top+',left='+ window_left+'');
	if (openwin == null){
		//alert("차단된 팝업창을 허용해 주십시오.");
	}
}
function popWindowV2(url, name, width, height, status, scrollbars, resize, win_top, win_left) {
	openwinV2 = window.open(url,name,'resizable='+resize+',width='+width+',height='+height+',status='+status+',scrollbars='+scrollbars+',top='+ win_top+',left='+ win_left+'');
	if (openwinV2 == null){
		//alert("차단된 팝업창을 허용해 주십시오.");
	}
}
/**---------------------------------------------------------
 * 설정된 쿠키 value를 가져온다.
 * ex) getCookie('test');
 * @param 	string	name
 * @return 	string	value
-----------------------------------------------------------*/
function getCookie(name){
  	var dc = document.cookie;
  	var prefix = name + "=";
  	var begin = dc.indexOf("; " + prefix);
  	if (begin == -1){
		begin = dc.indexOf(prefix);
		if (begin != 0) return null;
  	}else begin += 2;
  	var end = document.cookie.indexOf(";", begin);
  	if (end == -1) end = dc.length;
	return unescape(dc.substring(begin + prefix.length, end));
}

/**---------------------------------------------------------
 * 설정된 쿠키 제거한다.
 * ex) delCookie('test');
 * @param 	string	name
 * @param 	string	path
 * @param 	string	domain
 * @return 	void
-----------------------------------------------------------*/
function delCookie(name,path,domain){
	var argc = delCookie.arguments.length; 		//setCookie 함수의 매개변수 개수
  	var argv = delCookie.arguments; 			//setCookie 함스의 매개변수 배열
  	var path = (argc>1) ? argv[1] : '/'; 		// 매개변수가 2개 이상이면 2번째 매개변수는 path를 위한 값
  	var domain = (argc>2) ? argv[2] : null; 	// 매개변수가 3개 이상이면 3번째 매개변수는 domain를 위한 값

	if(getCookie(name)){
		document.cookie = name + "=" +
		((path) ? "; path=" + path : "") +
		((domain) ? "; domain=" + domain : "") +
		"; expires=Thu, 01-Jan-70 00:00:01 GMT";
	}
}

/**---------------------------------------------------------
 * 설정된 쿠키 value를 가져온다.
 * ex) setCookie('test','1',86400,'/','.yscac.com');
 * @param 	string	name
 * @param 	string	value
 * @param 	string	expires
 * @param 	string	path
 * @param 	string	domain
 * @param 	string	secure
 * @return 	void
-----------------------------------------------------------*/
function setCookie(name,value,expires,path,domain,secure){
	var argc = setCookie.arguments.length; 		//setCookie 함수의 매개변수 개수
  	var argv = setCookie.arguments; 			//setCookie 함스의 매개변수 배열
  	var expires = (argc>2) ? argv[2] : null; 	// 매개변수가 3개 이상이면 3번째 매개변수는 expires를   위한 값
  	var path = (argc>3) ? argv[3] : '/'; 		// 매개변수가 4개 이상이면 4번째 매개변수는 path를 위한 값
  	var domain = (argc>4) ? argv[4] : null; 	// 매개변수가 5개 이상이면 5번째 매개변수는 domain를   위한 값
  	var secure = (argc>5) ? argv[5] : false; 	// 매개변수가 6개 이상이면 6번째 매개변수는 secure를   위한 값
	if(expires){
		var timestamp = 1000*expires;
		var today = new Date();
		expires = new Date();
		expires.setTime(today.getTime()+timestamp);
	}
  	var cookie = name + "=" + escape(value) +
		((expires) ? "; expires=" + expires.toGMTString() : "") +
		((path) ? "; path=" + path : "") +
		((domain) ? "; domain=" + domain : "") +
		((secure==true) ? "; secure" : "");
	document.cookie = cookie;
}

/**---------------------------------------------------------
 * 설정된 쿠키 value를 설정한다.
 * ex) setCookie('test',{key:value},expires,path,domain,secure);
 * @param 	string	name
 * @param 	{}		key:value
 * @param 	string	expires
 * @param 	string	path
 * @param 	string	domain
 * @param 	string	secure
 * @return 	void
-----------------------------------------------------------*/
function setMultiCookie(name,object,expires,path,domain,secure){
	var cdata;
	if(getCookie(name) == null) cdata = $H({});
	else cdata = $H(getCookie(name).toQueryParams());
	var data = $H(object);
	var value = cdata.merge(data).toQueryString();
	setCookie(name,value,expires,path,domain,secure);
}

/**---------------------------------------------------------
 * 설정된 쿠키 value를 가져온다.
 * ex) getCookie('test','key');
 * @param 	string	name
 * @param 	string	value
 * @param 	string	expires
 * @param 	string	path
 * @param 	string	domain
 * @param 	string	secure
 * @return 	void
-----------------------------------------------------------*/
function getMultiCookie(name,key){
	var cobject = getCookie(name).toQueryParams();
	if(cobject[key] === undefined) return '';
	return cobject[key];
}

/**---------------------------------------------------------
 * 설정된 쿠키 제거한다.
 * ex) delCookie('test','key','/','.yscac.com');
 * @param 	string	name
 * @param 	string	key
 * @param 	string	path
 * @param 	string	domain
 * @return 	void
-----------------------------------------------------------*/
function delMultiCookie(name,key,expires,path,domain,secure){
	var cdata = $H(getCookie(name).toQueryParams());
	var retValue = cdata.remove(key);
	var value = cdata.toQueryString();
	setCookie(name,value,expires,path,domain,secure);
	return retValue;
}


/**---------------------------------------------------------
 * 콤마 제거
 * '1,234' => '1234'
 * ex) rmComma(str);
 * @param str ,를 없앨 문자열
 * @return ,를 없앤 문자열
-----------------------------------------------------------*/
function rmComma(str) {
    return str.replace(/,/gi,"");
}

/**---------------------------------------------------------
 * 숫자문자열에 ,를 포함해서 리턴한다.
 * '1234' => '1,234'
 * ex) number_format(str);
 * @param str 숫자/숫자문자열
 * @return 화폐단위로 리턴(,포함)
-----------------------------------------------------------*/
function number_format(str) {
	var str = String(str).replace(/,/gi,"");
	var regexp = new RegExp('([0-9])([0-9][0-9][0-9][,.])');
	var split_str = str.split('.'); split_str[0] += '.';
	do {
		split_str[0] = split_str[0].replace(regexp, '$1,$2');
	}while(regexp.test(split_str[0]));
	if (split_str.length > 1) return split_str.join('');
	else return split_str[0].split('.')[0];
}

/*---------------------------------------------------
 * 포멧변경 함수(1 - > 01로 만드는 함수)
 * 자릿수만큼 앞을 0으로 채운다.
 * param n 자릿수
 * return 변경 포멧
-------------------------------------------------------*/
function formatN(str,n){
	var n = parseInt(n,10);
	var str = String(str);
	if(str.length < n){
		for(var i=str.length;i<n;i++)
			str = (String(0)+String(str));
	}
	return str;
}


/**---------------------------------------------------------
 * iframe resize 함수 (FF,IE,NS,OPREA 유효)
 * ex) <iframe name="myframe" src="content.php" onload="doReSize(this,400,500)" scrolling="no" marginwidth="0" marginheight="0" frameborder="0" style="overflow:visible; width:100%; display:none"></iframe>
 * @param obj			iframe 객체
 * @param minHeight		최소 height 설정
 * @param maxHeight		최대 height 설정
 * @return null
-----------------------------------------------------------*/
function doReSize(obj,minHeight,maxHeight){
	obj.style.display="block";
	if(obj.contentDocument) obj.style.height = obj.contentDocument.body.offsetHeight;
	else if(obj.Document.body) obj.style.height = obj.Document.body.scrollHeight;
	if(obj.contentWindow.document.body) obj.style.height = obj.contentWindow.document.body.scrollHeight;

	// min height config
	if(arguments.length >= 2) if(minHeight > 0 && obj.style.height < minHeight) obj.style.height = minHeight;
	// max height config
	if(arguments.length >= 3) if(maxHeight > 0 && obj.style.height > maxHeight) obj.style.height = maxHeight;
}



/*---------------------------------------------------
 * TEXTAREA 글자수 제한
 * TEXTAREA에 maxlength로 제한 글자수를 설정한다.
 * 한글,영문 상관없이 자릿수에 의해 제한한다.
 * <TEXTAREA maxlength="200"... onkeyup="textAreaLimit(this)"></TEXTAREA>
 * param n 자릿수
 * return 변경 포멧
-------------------------------------------------------*/
function textAreaLimit(target){
 	var tbox = getTarget(target);
 	var maxLen = tbox.getAttribute("maxlength");
 	var tLen = tbox.value.length;
	if(maxLen < tLen) {
		alert(maxLen+'자리로 입력을 제한합니다!');
		tbox.value = tbox.value.substring(0,maxLen);
	}
	return;
}

// 브라우져별 즐겨찾기
function bookmark(title,url){
	// firefox
	if (window.sidebar) {
		window.sidebar.addPanel(title, url, '');
	}
	// opera
	else {
		if (window.opera && window.print) {
			var elt = document.createElement('a');
			elt.setAttribute('href', url);
			elt.setAttribute('title', title);
			elt.setAttribute('rel', 'sidebar');
			elt.click();
		}
		// ie
		else {
			window.external.AddFavorite(url, title);
		}
	}
}

// 사업자 번호 검사
// 사업자 번호 검사
function company_number_check(ssn) {
    if (ssn == "0000000000" || !ssn || ssn.length == 0) {
        return false;
    }
    var calStr1 = "13713713", biVal = 0, tmpCal;
    var calLast = ssn.substring(9, 10);

    for (i = 0; i < 8; i++) {
        biVal = biVal + (parseFloat(ssn.substring(i, i + 1)) * parseFloat(calStr1.substring(i, i + 1))) % 10;
    }
    tmpCal = parseFloat(ssn.substring(8, 9)) * 5 + "0";
    chkVal = parseFloat(tmpCal.substring(0, 1)) + parseFloat(tmpCal.substring(1, 2));
    chkDigit = (10 - (biVal + chkVal) % 10) % 10;

    if (calLast != chkDigit) {
        return false;
    } else {
        return true;
    }
}

/**
* 입력값이 NULL인지 체크
*/
function isNull(input) {
    if (!input.value || input.value == null || input.value == "") {
        return true;
    }
    return false;
}

/**
* 입력값에 스페이스 이외의 의미있는 값이 있는지 체크
* ex) if (isEmpty(form.keyword)) {
*         alert("검색조건을 입력하세요.");
*     }
*/
function isEmpty(input) {
    if (input.value == null || input.value.replace(/ /gi, "") == "") {
        return true;
    }
    return false;
}

/**
* 입력값에 특정 문자(chars)가 있는지 체크
* 특정 문자를 허용하지 않으려 할 때 사용
* ex) if (containsChars(form.name,"!,*&^%$#@~;")) {
*         alert("이름 필드에는 특수 문자를 사용할 수 없습니다.");
*     }
*/
function containsChars(input, chars) {
    for (var inx = 0; inx < input.value.length; inx++) {
        if (chars.indexOf(input.value.charAt(inx)) != -1)
            return true;
    }
    return false;
}

/**
* 입력값이 특정 문자(chars)만으로 되어있는지 체크
* 특정 문자만 허용하려 할 때 사용
* ex) if (!containsCharsOnly(form.blood,"ABO")) {
*         alert("혈액형 필드에는 A,B,O 문자만 사용할 수 있습니다.");
*     }
*/
function containsCharsOnly(input, chars) {
    for (var inx = 0; inx < input.value.length; inx++) {
        if (chars.indexOf(input.value.charAt(inx)) == -1)
            return false;
    }
    return true;
}

/**
* 입력값이 알파벳인지 체크
* 아래 isAlphabet() 부터 isNumComma()까지의 메소드가
* 자주 쓰이는 경우에는 var chars 변수를 
* global 변수로 선언하고 사용하도록 한다.
* ex) var uppercase = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
*     var lowercase = "abcdefghijklmnopqrstuvwxyz"; 
*     var number    = "0123456789";
*     function isAlphaNum(input) {
*         var chars = uppercase + lowercase + number;
*         return containsCharsOnly(input,chars);
*     }
*/
function isAlphabet(input) {
    var chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
    return containsCharsOnly(input, chars);
}

/**
* 영어+숫자로 구성되어 있는지 검사
*/
function EngNumCheck(str) {
    var chk;
    var vnum = "0123456789abcdefghijklmnopqrstuvwxyz";
    for (var i = 0; i < str.length; i++) {
        if (-1 == vnum.indexOf(str.charAt(i)))
            chk = "false";
    }
    if (chk == "false") { return false; } else { return true; }
}

/**
* 입력값이 알파벳 대문자인지 체크
*/
function isUpperCase(input) {
    var chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
    return containsCharsOnly(input, chars);
}

/**
* 입력값이 알파벳 소문자인지 체크
*/
function isLowerCase(input) {
    var chars = "abcdefghijklmnopqrstuvwxyz";
    return containsCharsOnly(input, chars);
}

/**
* 입력값에 숫자만 있는지 체크
*
*function isNumber(input) {
*    var chars = "0123456789";
*   return containsCharsOnly(input,chars);
*}
*/
function isNumberOnly(input) {
    var chars = "0123456789";
   return containsCharsOnly(input,chars);
}

/**
* 입력값이 특수문자로 되어있는지 검사
*/
function isSpecialCharOnly(input) {
    var chars = "!@#$%^&*?_~";
    return containsCharsOnly(input, chars);
}

/**
* 입력값이 알파벳,숫자로 되어있는지 체크
*/
function isAlphaNum(input) {
    var chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
    return containsCharsOnly(input, chars);
}

/**
* 입력값이 숫자,대시(-)로 되어있는지 체크
*/
function isNumDash(input) {
    var chars = "-0123456789";
    return containsCharsOnly(input, chars);
}

/**
* 입력값이 숫자,콤마(,)로 되어있는지 체크
*/
function isNumComma(input) {
    var chars = ",0123456789";
    return containsCharsOnly(input, chars);
}

/**
* 입력값이 사용자가 정의한 포맷 형식인지 체크
* 자세한 format 형식은 자바스크립트의 'regular expression'을 참조
*/
function isValidFormat(input, format) {
    if (input.value.search(format) != -1) {
        return true; //올바른 포맷 형식
    }
    return false;
}

/**
* 입력값이 이메일 형식인지 체크
* ex) if (!isValidEmail(form.email)) {
*         alert("올바른 이메일 주소가 아닙니다.");
*     }
*/
function isValidEmail(input) {
     var format = /^((\w|[\-\.])+)@((\w|[\-\.])+)\.([A-Za-z]+)$/;
    return isValidFormat(input, format);
}

function isValidEmailValue(val) {
    var format = /^((\w|[\-\.])+)@((\w|[\-\.])+)\.([A-Za-z]+)$/;
    if (val.search(format) != -1) {
        return true; //올바른 포맷 형식
    }
    return false;
}

/**
* 올바른 홈페이지형식인지 체크합니다.
*/
function isvalidhomepage(val) {
    var format = /^((ht|f)tp:\/\/)((([a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3}))|(([0-9]{1,3}\.){3}([0-9]{1,3})))((\/|\\?)[a-z0-9~#%&_\+=:\?\.-]*)*)$/;
    if (val.search(format) != -1) {
        return true; //올바른 포맷 형식
    }
    return false;
}

/**
* 입력값이 전화번호 형식(숫자-숫자-숫자)인지 체크
*/
function isValidPhone(input) {
    var format = /^(\d+)-(\d+)-(\d+)$/;
    return isValidFormat(input, format);
}

/**
* 입력값의 바이트 길이를 리턴
* ex) if (getByteLength(form.title) > 100) {
*         alert("제목은 한글 50자(영문 100자) 이상 입력할 수 없습니다.");
*     }
*/
function getByteLength(input) {
    var byteLength = 0;
    for (var inx = 0; inx < input.value.length; inx++) {
        var oneChar = escape(input.value.charAt(inx));
        if (oneChar.length == 1) {
            byteLength++;
        } else if (oneChar.indexOf("%u") != -1) {
            byteLength += 2;
        } else if (oneChar.indexOf("%") != -1) {
            byteLength += oneChar.length / 3;
        }
    }
    return byteLength;
}

/**
* 입력값에서 콤마를 없앤다.
*/
function removeComma(input) {
    return input.value.replace(/,/gi, "");
}

/**
* 숫자에 콤마를 포함해서 리턴한다.
*/
function ComaNumber(str) {
    var sp = "";
    var mc = "";

    for (var i = str.length - 1; i >= 0; i--) {
        sp = str.charAt(i);
        mc = sp + mc;
        if (i % 3 == str.length % 3 && i != 0) {
            mc = ',' + mc;
        }
    }
    return mc;
}

/**
* 선택된 라디오버튼이 있는지 체크
*/
function hasCheckedRadio(input) {
    if (input.length > 1) {
        for (var inx = 0; inx < input.length; inx++) {
            if (input[inx].checked) return true;
        }
    } else {
        if (input.checked) return true;
    }
    return false;
}

/**
* 선택된 라디오 버튼이 값을 리턴하는 함수
*/
function hasReturnRadio(input) {
    if (input.length > 1) {
        for (var inx = 0; inx < input.length; inx++) {
            if (input[inx].checked) return input[inx].value;
        }
    } else {
        if (input.checked) return input.value;
    }
    return false;
}

/**
* 선택된 체크박스가 있는지 체크
*/
function hasCheckedBox(input) {
    return hasCheckedRadio(input);
}

/**
* 입력값이 한글인지 검사하는 함수
*/
function isHan(str) {
    for (var i = 0; i < str.length; i++) {
        achar = str.charCodeAt(i);
        if (achar > 255) {
            return false;
        }
    }
    return true;
}

/**
* 주민등록 번호 유효성 체크
*/
function JuminNumChecking(Jstr1, Jstr2) {
    if (!JuminCheck(Jstr1, Jstr2)) {
        //alert("잘못된 주민등록번호입니다.")
        error_msg = false
    } else {
        //alert("확인된 주민등록번호입니다.")
        error_msg = true
    }
    return error_msg
}

function JuminCheck(jnum_01, jnum_02) {
    check_jumin = false
    // 잘못된 생년월일을 검사합니다.
    b_Year = (jnum_02.charAt(0) <= "2") ? "19" : "20"
    /* 2000년도부터 성구별 번호가 바뀌였슴으로 구별수가 2보다 작다면 1900년도 생이되고 2보다 크다면 2000년도 이상생이 됩니다. 
    단 1800년도 생은 계산에서 제외합니다.*/
    b_Year += jnum_01.substr(0, 2)
    // 주민번호의 앞에서 2자리를 이어서 4자리의 생년을 저장합니다.
    b_Month = jnum_01.substr(2, 2) - 1
    // 달을 구합니다. 1을 뺀것은 자바스크립트에서는 1월을 0으로 표기하기 때문입니다.
    b_Date = jnum_01.substr(4, 2)
    b_sum = new Date(b_Year, b_Month, b_Date)

    if (b_sum.getYear() % 100 != jnum_01.substr(0, 2) || b_sum.getMonth() != b_Month || b_sum.getDate() != b_Date) {
        return check_jumin
        // 생년월일의 타당성을 검사하여 거짓이 있을시 에러메세지를 나타냄
    }

    total = 0
    temp = new Array(13)

    for (i = 1; i <= 6; i++) temp[i] = jnum_01.charAt(i - 1)
    for (i = 7; i <= 13; i++) temp[i] = jnum_02.charAt(i - 7)
    for (i = 1; i <= 12; i++) {
        k = i + 1
        if (k >= 10) k = k % 10 + 2
        /* 각 수와 곱할 수를 뽑아냅니다. 곱수가 만일 10보다 크거나 같다면
        계산식에 의해 2로 다시 시작하게 됩니다. */
        total = total + (temp[i] * k)
        // 각 자리수와 계산수를 곱한값을 변수 total에 누적합산시킵니다.
    }

    last_num = (11 - (total % 11)) % 10
    // 마지막 계산식을 변수 last_num에 대입합니다.
    if (last_num == temp[13]) check_jumin = true
    // laster_num이 주민번호의마지막수와 같은면 참을 틀리면 거짓을 반환합니다.
    else check_jumin = false
    return check_jumin
}



/**
* 마스터 페이지 기본 버튼
*/
function MasterBasicButton() {
    return false;
}

/**
* asp.net DataList 안의 모든 Checkbox 선택, 취소
*/
function find_dlist_chk(dlist) {
    var chk = document.getElementsByTagName('input');
    if (document.aspnetForm.chbHead.checked) {
        for (i = 0; i < chk.length; i++) {
            //타입이 체크박스이고 id가 DataList1 일때,
            if (chk[i].type == "checkbox" && chk[i].id.indexOf(dlist) > 0) {
                chk[i].checked = true;
            }
        }
    } else {
        for (i = 0; i < chk.length; i++) {
            if (chk[i].type == "checkbox" && chk[i].id.indexOf(dlist)) chk[i].checked = false;
        }
    }
}
/**
* asp.net DataList 안의 모든 Checkbox 선택된 값을 문자열로 넘김
* dlist->DataList
*/
function find_dlist_chk_retval(dlist) {
    var retval = "";
    var chk = document.getElementsByTagName('input');
    for (i = 0; i < chk.length; i++) {
        //타입이 체크박스이고 id가 DataList1 일때,
        if (chk[i].type == "checkbox" && chk[i].id.indexOf(dlist) > 0 && chk[i].checked) {
            retval += retval + chk[i].value;
        }
    }
    return retval;
}

function MM_preloadImages() { //v3.0
    var d = document; if (d.images) {
        if (!d.MM_p) d.MM_p = new Array();
        var i, j = d.MM_p.length, a = MM_preloadImages.arguments; for (i = 0; i < a.length; i++)
            if (a[i].indexOf("#") != 0) { d.MM_p[j] = new Image; d.MM_p[j++].src = a[i]; }
    }
}

function MM_swapImgRestore() { //v3.0
    var i, x, a = document.MM_sr; for (i = 0; a && i < a.length && (x = a[i]) && x.oSrc; i++) x.src = x.oSrc;
}

function MM_findObj(n, d) { //v4.01
    var p, i, x; if (!d) d = document; if ((p = n.indexOf("?")) > 0 && parent.frames.length) {
        d = parent.frames[n.substring(p + 1)].document; n = n.substring(0, p);
    }
    if (!(x = d[n]) && d.all) x = d.all[n]; for (i = 0; !x && i < d.forms.length; i++) x = d.forms[i][n];
    for (i = 0; !x && d.layers && i < d.layers.length; i++) x = MM_findObj(n, d.layers[i].document);
    if (!x && d.getElementById) x = d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
    var i, j = 0, x, a = MM_swapImage.arguments; document.MM_sr = new Array; for (i = 0; i < (a.length - 2); i += 3)
        if ((x = MM_findObj(a[i])) != null) { document.MM_sr[j++] = x; if (!x.oSrc) x.oSrc = x.src; x.src = a[i + 2]; }
}

function MM_showHideMenuLayers() { //v9.0
    var i, p, v, obj, args = MM_showHideMenuLayers.arguments;
    for (i = 0; i < (args.length - 2); i += 3)
        with (document) if (getElementById && ((obj = getElementById(args[i])) != null)) {
        v = args[i + 2];
        if (obj.style) { obj = obj.style; v = (v == 'show') ? 'visible' : (v == 'hide') ? 'hidden' : v; }
        obj.visibility = v;
    }
}

function colorChipSwap(pimgid, chipid) {
    $(pimgid).src = chipid;
}
function MasterLeftMenuSrc(imgID, imgSRC) {
    $(imgID).src = imgSRC;
}
function search_do() {
    var sarchName = $('ctl00_SearchWord');
    if (!sarchName.value || sarchName.value == '제품 검색') {
        alert('검색어를 입력해 주세요!');
        sarchName.focus();
        sarchName.value = "";
        return false;
    }
    if (sarchName.value.length < 2) {
        alert('검색어는 2자 이상  입력해 주세요!');
        sarchName.focus();
        sarchName.value = "";
        return false;
    } else {
        __doPostBack('ctl00$btnSearch', '');
    }
    return false;
}


function newsletter() {
    var NewsLetterEmail = $('ctl00_NewsLetterEmail');
    if (!NewsLetterEmail.value || NewsLetterEmail.value=='슈에무라 e-뉴스레터 구독 신청') {
        alert('이메일 주소를 입력해 주세요!');
        NewsLetterEmail.focus();
        NewsLetterEmail.value = "";
        return false;
    }
    if (!isValidEmail(NewsLetterEmail)) {
        alert('이메일 주소를 정확히 입력해 주세요!');
        NewsLetterEmail.focus();
        NewsLetterEmail.value = "";
        return false;
    } else {
        __doPostBack('ctl00$btnNesLetter', '');
    }
    return false;
}

function pageLoad() {
    if ($get("hideModalPopupViaClientButton")) {
        $addHandler($get("hideModalPopupViaClientButton"), 'click', hideModalPopupViaClient);
    }
    if ($get("ChildModalPopupViaClientButton")) {
        $addHandler($get("ChildModalPopupViaClientButton"), 'click', hideChildModalPopupViaClient);
    }
}

function showModalPopupViaClient(ev) {
    ev.preventDefault();
    var modalPopupBehavior = $find('warlingModalPopupBehavior');
    modalPopupBehavior.show();
}

function hideModalPopupViaClient(ev) {
    ev.preventDefault();
    var modalPopupBehavior = $find('warlingModalPopupBehavior');
    modalPopupBehavior.hide();
}


function showChildModalPopupViaClient(ev) {
    ev.preventDefault();
    var modalPopupBehavior = $find('ChildwarlingModalPopupBehavior');
    modalPopupBehavior.show();
}

function hideChildModalPopupViaClient(ev) {
    ev.preventDefault();
    var modalPopupBehavior = $find('ChildwarlingModalPopupBehavior');
    modalPopupBehavior.hide();
}

function copyToClipboard(s)
{
    var shuu_url = "http://www.shuuemura.co.kr";
    var s_key = s;
    try {
        var s = '<embed pluginspage="http://www.macromedia.com/go/getflashplayer" '
                + ' src="' + shuu_url + '/home/shumania/movie_playerA.swf?vodName=' 
                + s + '&allowmaximize=YES&auto_start=Y" squality="best" bgcolor="#ffffff" width="600" height="480" align="middle" allowScriptAccess="sameDomain" allowfullscreen="true" type="application/x-shockwave-flash" /></embed>';

        if (window.clipboardData && clipboardData.setData) {
            clipboardData.setData("Text", s);
            if (clipboardData.getData('Text') && clipboardData.getData('Text') != "") {
                alert('복사되었습니다.\nCtrl+v를 눌러 붙여넣기하세요.');
                $(masterbasic + 'HidNotClipBoardFlvName').value = s_key;
            } else {
                $(masterbasic + 'HidNotClipBoardFlvName').value = s_key;
                __doPostBack('ctl00$CommonMasterContent$LinkNotClipBoard', '');
                return;
            }
        }
        else {
            // You have to sign the code to enable this or allow the action in about:config by changing
            user_pref("signed.applets.codebase_principal_support", true);
            netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');

            var clip = Components.classes['@mozilla.org/widget/clipboard;[[[[1]]]]'].createInstance(Components.interfaces.nsIClipboard);
            if (!clip) {
                $(masterbasic + 'HidNotClipBoardFlvName').value = s_key;
                __doPostBack('ctl00$CommonMasterContent$LinkNotClipBoard', '');
                return;
            }

            // create a transferable
            var trans = Components.classes['@mozilla.org/widget/transferable;[[[[1]]]]'].createInstance(Components.interfaces.nsITransferable);
            if (!trans) {
                $(masterbasic + 'HidNotClipBoardFlvName').value = s_key;
                __doPostBack('ctl00$CommonMasterContent$LinkNotClipBoard', '');
                return;
            }

            // specify the data we wish to handle. Plaintext in this case.
            trans.addDataFlavor('text/unicode');

            // To get the data from the transferable we need two new objects
            var str = new Object();
            var len = new Object();

            var str = Components.classes["@mozilla.org/supports-string;[[[[1]]]]"].createInstance(Components.interfaces.nsISupportsString);

            var copytext = meintext;

            str.data = copytext;

            trans.setTransferData("text/unicode", str, copytext.length * [[[[2]]]]);

            var clipid = Components.interfaces.nsIClipboard;

            if (!clip) {
                $(masterbasic + 'HidNotClipBoardFlvName').value = s_key;
                __doPostBack('ctl00$CommonMasterContent$LinkNotClipBoard', '');
                return;
            }

            clip.setData(trans, null, clipid.kGlobalClipboard);
            
            alert('복사되었습니다.\nCtrl+v를 눌러 붙여넣기하세요.');
        }
    } catch (e) {
        //alert(e.message);
        if ($(masterbasic + 'HidNotClipBoardFlvName') != null) {
            $(masterbasic + 'HidNotClipBoardFlvName').value = s_key;
            __doPostBack('ctl00$CommonMasterContent$LinkNotClipBoard', '');
        }
        if ($('HidNotClipBoardFlvName') != null) {
            $('HidNotClipBoardFlvName').value = s_key;
            __doPostBack('LinkNotClipBoard', '');
        }
        return;
    }
}

function pageTrackerSet(setVal) {
    pageTracker._trackPageview(setVal);
}

function pageTrackerSetDownload(setVal, downPath) {
    pageTracker._trackPageview(setVal);
    $('iframeblank').src = downPath; 
}


function EventPopView(pid, pwidth, pheight) {
    var dimensions = $(document.body).getDimensions();
    var scrolls = document.viewport.getScrollOffsets();

    var screenWidth = parseInt(dimensions.width + scrolls.left);
    var screenHeight = parseInt(dimensions.height + scrolls.top);
    var pop_left = parseInt((screenWidth - pwidth) / 2);
    var pop_top = parseInt((dimensions.height - pheight) / 2 + scrolls.top);
    $(pid).style.width = pwidth;
    $(pid).style.height = pheight;
    $(pid).style.left = pop_left + 'px';
    $(pid).style.top = pop_top + 'px';
    $(pid).style.display = 'block';

}

function EventPopClose(pid) {
    if ($(pid) != null) {
        $(pid).style.display = 'none';
    } 
}

function EventPopHide(pid) {
    if ($(pid) != null) {
        $(pid).hide();
    }
}

function EventPopViewEffect(pid, pwidth, pheight, add_left) {
    var dimensions = $(document.body).getDimensions();
    var scrolls = document.viewport.getScrollOffsets();
    var screenWidth = parseInt(dimensions.width + scrolls.left);
    var screenHeight = parseInt(dimensions.height + scrolls.top);
    var pop_left = parseInt((screenWidth - pwidth) / 2) + parseInt(add_left);
    var pop_top = parseInt((dimensions.height - pheight) / 2 + scrolls.top);
    $(pid).style.left = pop_left +'px';
    //$(pid).style.top = pop_top +'px';
    //Effect.SlideDown(pid);
}

function EventPopDynamicLeft(pid, pwidth, pheight, add_left) {
    var dimensions = $(document.body).getDimensions();
    var scrolls = document.viewport.getScrollOffsets();
    var screenWidth = parseInt(dimensions.width + scrolls.left);
    var screenHeight = parseInt(dimensions.height + scrolls.top);
    var pop_left = parseInt((screenWidth - pwidth) / 2) + parseInt(add_left);
    var pop_top = parseInt((dimensions.height - pheight) / 2 + scrolls.top);

    return pop_left;
}

function EventPopEffectClose(pid) {
    Effect.SlideUp(pid)
}

function ParentEventPopEffectClose(pid) {
    parent.Effect.SlideUp(pid)
}

// 지정된 범위의 정수 1개를 랜덤하게 반환하는 함수
// n1 은 "하한값", n2 는 "상한값"
function randomRange(n1, n2) {
    return Math.floor((Math.random() * (n2 - n1 + 1)) + n1);
}

function ClientSidePrint(idDiv) {
    var w = 600;
    var h = 400;
    var l = (window.screen.availWidth - w) / 2;
    var t = (window.screen.availHeight - h) / 2;

    var sOption = "toolbar=no,location=no,directories=no,menubar=no,scrollbars=yes,width=" + w + ",height=" + h + ",left=" + l + ",top=" + t;
    var sDivText = window.document.getElementById(idDiv).innerHTML;
    var objWindow = window.open("", "Print", sOption);
    objWindow.document.write(sDivText);
    objWindow.document.close();
    objWindow.print();
    objWindow.close();
} 
