﻿/*
 * @(#)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
 */

//
// 폼 문자열 확인
//
// @param el 엘리먼트
// @param msgId 오류 발생시 출력할 엘리먼트 ID
// @param msg 출력할 메시지
//
function isFormText(el, msgId, msg) {
	return isFormNotNull(el, msgId, msg);
}

//
// 폼 문자열 길이가 같은지 확인
//
// @param el 엘리먼트
// @param len 문자열 길이
// @param msgId 오류 발생시 출력할 엘리먼트 ID
// @param msg 출력할 메시지
//
function isFormStringLen(el, len, msgId, msg) {
	if(!isFormNotNull(el, msgId, msg)) return false;
	var sp = document.getElementById(msgId);
	if(el.value.length != len) {
		if(sp != undefined) {
			sp.innerHTML = msg;
			sp.style.display = "";
		} else {
			alert(msg);
		}
		el.focus();
		return false;
	}
	if(sp != undefined) {
		sp.innerHTML = "";
		sp.style.display = "none";
	}
	return true;
}

//
// 폼 문자열 최소 길이 확인
//
// @param el 엘리먼트
// @param minlen 문자열 최소길이
// @param msgId 오류 발생시 출력할 엘리먼트 ID
// @param msg 출력할 메시지
//
function isFormMinStringLen(el, minlen, msgId, msg) {
	var sp = document.getElementById(msgId);
	if(!isFormNotNull(el, msgId, msg)) return false;
	if(el.value.length < minlen) {
		if(sp != undefined) {
			sp.innerHTML = msg;
			sp.style.display = "";
		} else {
			alert(msg);
		}
		el.focus();
		return false;
	}
	if(sp != undefined) {
		sp.innerHTML = "";
		sp.style.display = "none";
	}
	return true;
}

//
// 폼 문자열 최대 길이 확인
//
// @param el 엘리먼트
// @param minlen 문자열 최소 길이
// @param maxlen 문자열 최대 길이
// @param msgId 오류 발생시 출력할 엘리먼트 ID
// @param msg 출력할 메시지
//
function isFormMaxStringLen(el, minlen, maxlen, msgId, msg) {
	var sp = document.getElementById(msgId);
	if(!isFormNotNull(el, msgId, msg)) return false;
	if(el.value.length < minlen || el.value.length > maxlen) {
		if(sp != undefined) {
			sp.innerHTML = msg;
			sp.style.display = "";
		} else {
			alert(msg);
		}
		el.focus();
		return false;
	}
	if(sp != undefined) {
		sp.innerHTML = "";
		sp.style.display = "none";
	}
	return true;
}

//
// 폼 숫자 길이 확인
//
// @param el 엘리먼트
// @param len 숫자 길이
// @param msgId 오류 발생시 출력할 엘리먼트 ID
// @param msg 출력할 메시지
//
function isFormNumberLen(el, len, msgId, msg) {
	if(!isFormNotNull(el, msgId, msg)) return false;
	if(!isFormNumber(el, msgId, msg)) return false;
	var sp = document.getElementById(msgId);
	if(el.value.length != len) {
		if(sp != undefined) {
			sp.innerHTML = msg;
			sp.style.display = "";
		} else {
			alert(msg);
		}
		el.focus();
		return false;
	}
	if(sp != undefined) {
		sp.innerHTML = "";
		sp.style.display = "none";
	}
	return true;
}

//
// 폼 숫자 최대 길이 확인
//
// @param el 엘리먼트
// @param minlen 문자열 최소 길이
// @param maxlen 문자열 최대 길이
// @param msgId 오류 발생시 출력할 엘리먼트 ID
// @param msg 출력할 메시지
//
function isFormMaxNumberLen(el, minlen, maxlen, msgId, msg) {
	if(!isFormNotNull(el, msgId, msg)) return false;
	if(!isFormNumber(el, msgId, msg)) return false;
	var sp = document.getElementById(msgId);
	if(el.value.length < minlen || el.value.length > maxlen) {
		if(sp != undefined) {
			sp.innerHTML = msg;
			sp.style.display = "";
		} else {
			alert(msg);
		}
		el.focus();
		return false;
	}
	if(sp != undefined) {
		sp.innerHTML = "";
		sp.style.display = "none";
	}
	return true;
}

//
// 폼 값이 동일한지 확인
//
// @param el1 엘리먼트
// @param el2 비교 엘리먼트
// @param msgId 오류 발생시 출력할 엘리먼트 ID
// @param msg 출력할 메시지
//
function isFormEqual(el1, el2, msgId, msg) {
	var sp = document.getElementById(msgId);
	if(el1.value != el2.value) {
		if(sp != undefined) {
			sp.innerHTML = msg;
			sp.style.display = "";
		} else {
			alert(msg);
		}
		el1.focus();
		return false;
	}
	if(sp != undefined) {
		sp.innerHTML = "";
		sp.style.display = "none";
	}
	return true;
}

//
// 폼 감춰진 엘리먼트 확인
//
// @param el 엘리먼트
// @param msgId 오류 발생시 출력할 엘리먼트 ID
// @param msg 출력할 메시지
//
function isFormHidden(el, msgId, msg) {
	var sp = document.getElementById(msgId);
	if(isNull(el.value)) {
		if(sp != undefined) {
			sp.innerHTML = msg;
			sp.style.display = "";
		} else {
			alert(msg);
		}
		return false;
	}
	if(sp != undefined) {
		sp.innerHTML = "";
		sp.style.display = "none";
	}
	return true;
}

//
// 폼 숫자 확인
//
// @param el 엘리먼트
// @param msgId 오류 발생시 출력할 엘리먼트 ID
// @param msg 출력할 메시지
//
function isFormNumber(el, msgId, msg) {
	var sp = document.getElementById(msgId);
	if(!isFormNotNull(el, msgId, msg)) return false;
	else if(!isNumber(el.value)) {
		if(sp != undefined) {
			sp.innerHTML = msg;
			sp.style.display = "";
		} else {
			alert(msg);
		}
		el.focus();
		return false;
	}
	if(sp != undefined) {
		sp.innerHTML = "";
		sp.style.display = "none";
	}
	return true;
}

//
// 폼 값이 있는지 확인
//
// @param el 엘리먼트
// @param msgId 오류 발생시 출력할 엘리먼트 ID
// @param msg 출력할 메시지
//
function isFormNotNull(el, msgId, msg) {
	var sp = document.getElementById(msgId);
	if(isNull(el.value)) {
		if(sp != undefined) {
			sp.innerHTML = msg;
			sp.style.display = "";
		} else {
			alert(msg);
		}
		try {
			el.focus();
		} catch(e) { 
			//
		}
		return false;
	}
	if(sp != undefined) {
		sp.innerHTML = "";
		sp.style.display = "none";
	}
	return true;
}

//
// 폼 암호 확인
//
// @param el1 엘리먼트
// @param el2 비교 엘리먼트
// @param msgId 오류 발생시 출력할 엘리먼트 ID
// @param msg 출력할 메시지
// @param req 폼 값이 필수있는 여부
// @param min 최소 길이
//
function isFormPassword(el1, el2, msgId, msg, msg1, req, min, max) {
	if(req == undefined) {
		req = true;
	}
	if(min == undefined) {
		min = 4;
	}
	if(req) {
		if(!isFormMaxStringLen(el1, min, max, msgId, msg)) { return false; }
		if(!isFormMaxStringLen(el2, min, max, msgId, msg)) { return false; }
		if(!isFormEqual(el1, el2, msgId, msg1)) { return false; }
	} else {
		if(!isNull(el1.value)) {
			if(!isFormMaxStringLen(el1, min, max, msgId, msg)) { return false; }
		}
		if(!isNull(el2.value)) {
			if(!isFormMaxStringLen(el1, min, max, msgId, msg)) { return false; }
		}
		if(!isNull(el1.value) || !isNull(el2.value)) {
			if(!isFormEqual(el1, el2, msgId, msg1)) { return false; }
		}
	}
	return true;
}

function isValidFormPassword(userid,passwd,msg1,msg2,msg3) {
    if(!/^[a-zA-Z0-9]{8,20}$/.test(passwd)) { 
        alert(msg1); 
        return false;
    }
    if(passwd.search(/[0-9]/g) < 0 || passwd.search(/[a-z]/ig) < 0) {
        alert(msg1);
        return false;
    }   
    if(/(\w)\1\1\1/.test(passwd)) {
        alert(msg2); 
        return false;
    }
    if(passwd.search(userid)>-1) {
        alert(msg3); 
        return false;
    }
    return true;
}

//
// 폼 전화번호 확인
//
// @param el1 엘리먼트
// @param el2 엘리먼트
// @param el3 엘리먼트
// @param msgId 오류 발생시 출력할 엘리먼트 ID
// @param msg 출력할 메시지
//
function isFormPhone(el1, el2, el3, msgId, msg) {
	if(!isFormMaxNumberLen(el1, 2, 4, msgId, msg)) return false;
	if(!isFormMaxNumberLen(el2, 3, 4, msgId, msg)) return false;
	if(!isFormMaxNumberLen(el3, 4, 4, msgId, msg)) return false;
	return true;
}

//
// 폼 휴대전화 번호 확인
//
// @param el1 엘리먼트
// @param el2 엘리먼트
// @param el3 엘리먼트
// @param msgId 오류 발생시 출력할 엘리먼트 ID
// @param msg 출력할 메시지
//
function isFormMobile(el1, el2, el3, msgId, msg) {
	if(!isFormMaxNumberLen(el1, 3, 3, msgId, msg)) return false;
	if(!isFormMaxNumberLen(el2, 3, 4, msgId, msg)) return false;
	if(!isFormMaxNumberLen(el3, 4, 4, msgId, msg)) return false;
	return true;
}

//
// 폼 날짜 확인
//
// @param el 엘리먼트
// @param msgId 오류 발생시 출력할 엘리먼트 ID
// @param msg 출력할 메시지
// @param req 값이 필요한지 여부 
//
function isFormDate(el, msgId, msg, req) {
	if(!req && isNull(el.value)) {
		return true;
	}
	var sp = document.getElementById(msgId);
	if(!isFormNotNull(el, msgId, msg)) return false;
	else if(!isDate(el.value)) {
		if(sp != undefined) {
			sp.innerHTML = msg;
			sp.style.display = "";
		} else {
			alert(msg);
		}
		try {
			el.focus();
			return false;
		} catch(e) {
			return false;
		}
	}
	if(sp != undefined) {
		sp.innerHTML = "";
		sp.style.display = "none";
	}
	return true;
}

//
// 폼 날짜 범위 확인(날짜 값 형식: yyyy-MM-dd)
//
// @param el1 엘리먼트
// @param el2 엘리먼트
// @param msgId 오류 발생시 출력할 엘리먼트 ID
// @param msg 출력할 메시지
// @param req 값이 필요한지 여부 
//
function isFormDateRange(el1, el2, msgId, msg, req) {
	
	if(!isFormDate(el1, msgId, msg, req)) {
		return false;
	}
	if(!isFormDate(el2, msgId, msg, req)) {
		return false;
	}
	
	var sd = el1.value.split("-");
	var ed = el2.value.split("-");
    var sp = document.getElementById(msgId);
	if(new Date(sd[0], sd[1], sd[2]) > new Date(ed[0], ed[1], ed[2])) {
		if(sp != undefined) {
			sp.innerHTML = msg;
			sp.style.display = "";
		} else {
			alert(msg);
		}
		try {
			el1.focus();
			return false;
		} catch (e) {
			return false;
		}
	}
	if(sp != undefined) {
		sp.innerHTML = "";
		sp.style.display = "none";
	}
	return true;
}

//
// 폼 우편번호 확인
//
// @param el 엘리먼트
// @param msgId 오류 발생시 출력할 엘리먼트 ID
// @param msg 출력할 메시지
//
function isFormZipcode(el, msgId, msg) {
	if(!isFormNotNull(el, msgId, msg)) return false;
	var fmt = /^\d{3}-\d{3}$/i;
	if(!fmt.test(el.value)) {
		return false;
	} else {
		var z = el.value.split("-");
		if(z[0] == "000" || z[1] == "000") {
			return false;
		}
	}
	return true;
}

//
// 폼 우편번호 확인
//
// @param el1 엘리먼트
// @param el2 엘리먼트
// @param msgId 오류 발생시 출력할 엘리먼트 ID
// @param msg 출력할 메시지
//
function isFormSepZipcode(el1, el2, msgId, msg) {
	if(!isFormNotNull(el1, msgId, msg)) return false;
	if(!isFormNotNull(el2, msgId, msg)) return false;
	var fmt = /^\d{3}-\d{3}$/i;
	if(!fmt.test(el1.value + "-" + el2.value)) {
		return false;
	} else {
		if(el1.value == "000" || el2.value == "000") {
			return false;
		}
	}
	return true;
}

//
// 폼 select 엘리먼트 확인
//
// @param el 엘리먼트
// @param msgId 오류 발생시 출력할 엘리먼트 ID
// @param msg 출력할 메시지
//
function isFormSelect(el, msgId, msg) {
	var sp = document.getElementById(msgId);
	if (el.selectedIndex == -1 ||
		isNull(el.options[el.selectedIndex].value)) {
		if(sp != undefined) {
			sp.innerHTML = msg;
			sp.style.display = "";
		} else {
			alert(msg);
		}
		el.focus();
		return false;
	}
	if(sp != undefined) {
		sp.innerHTML = "";
		sp.style.display = "none";
	}
	return true;
}

//
// 폼 라디오 확인
//
// @param el 엘리먼트
// @param msgId 오류 발생시 출력할 엘리먼트 ID
// @param msg 출력할 메시지
//
function isFormRadio(el, msgId, msg) {
	var flag = false;
	if (!el.length) {
		flag = el.checked;
	} else {
    	for (var i = 0; i < el.length; i++) {
			if ((flag = el[i].checked)) {
				break;
			}
		}
	}
	var sp = document.getElementById(msgId);
  	if (!flag) {
		if(sp != undefined) {
			sp.innerHTML = msg;
			sp.style.display = "";
		} else {
			alert(msg);
		}
		el[0].focus();
		return false;
	}
	if(sp != undefined) {
		sp.innerHTML = ""
		sp.style.display = "none";;
	}
	return true;
}

//
// 폼 체크박스 확인
//
// @param el 엘리먼트
// @param msgId 오류 발생시 출력할 엘리먼트 ID
// @param msg 출력할 메시지
//
function isFormCheckBox(el, msgId, msg) {
	var flag = false;
	if (el.length === undefined) {
		flag = el.checked;
	}
	else {
    	for (var i = 0; i < el.length; i++)
			if ((flag = el[i].checked))
				break;
	}
	var sp = document.getElementById(msgId);
  	if (!flag) {
		if(sp != undefined) {
			sp.innerHTML = msg;
			sp.style.display = "";
		} else {
			alert(msg);
		}
		if (el.length === undefined) {
			el.focus();
		}
		else {
			el[0].focus();
		}
		return false;
	}
	if(sp != undefined) {
		sp.innerHTML = "";
		sp.style.display = "none";
	}
	return true;
}

function checkFormCheckBox(el, b) {
	if (el.length === undefined) {
		el.checked = b;
	}
	else {
    	for (var i = 0; i < el.length; i++) {
			el[i].checked = b;
    	}
	}
}

//
// 폼 이메일 확인
//
// @param el 엘리먼트
// @param msgId 오류 발생시 출력할 엘리먼트 ID
// @param msg 출력할 메시지
//
function isFormEmail(el, msgId, msg) {
	var sp = document.getElementById(msgId);
	if(!isEmail(el.value)) {
		if(sp != undefined) {
			sp.innerHTML = msg;
			sp.style.display = "";
		} else {
			alert(msg);
		}
		el.focus();
		return false;
	}
	if(sp != undefined) {
		sp.innerHTML = "";
		sp.style.display = "none";
	}
	return true;
}

//
// 폼 이메일인지 확인
//
// @param el1 엘리먼트
// @param el2 엘리먼트
// @param msgId 오류 발생시 출력할 엘리먼트 ID
// @param msg 출력할 메시지
//
function isFormSepEmail(el1, el2, msgId, msg) {
	if(!isFormMinStringLen(el1, 2, msgId, msg)) return false;
	if(!isFormMinStringLen(el2, 6, msgId, msg)) return false;
	var sp = document.getElementById(msgId);
	if(!isEmail(el1.value + "@" + el2.value)) {
		if(sp != undefined) {
			sp.innerHTML = msg;
			sp.style.display = "";
		} else {
			alert(msg);
		}
		el1.focus();
		return false;
	}
	if(sp != undefined) {
		sp.innerHTML = "";
		sp.style.display = "none";
	}
	return true;
}

//
// 폼 이미지 파일인지 확인
//
// @param el 엘리먼트
// @param msgId 오류 발생시 출력할 엘리먼트 ID
// @param msg 출력할 메시지
//
function isFormImageFile(el, msgId, msg) {
	if(!isFormNotNull(el, msg)) return false;
	var sp = document.getElementById(msgId);
	if(!isImageFile(el.value)) {
		if(sp != undefined) {
			sp.innerHTML = msg;
			sp.style.display = "";
		} else {
			alert(msg);
		}
		el.focus();
		return false;
	}
	if(sp != undefined) {
		sp.innerHTML = "";
		sp.style.display = "none";
	}
	return true;
}

//
// 폼 값 추출
//
// @param el 엘리먼트
// @param selectText 엘리먼트가 select일 때 텍스트 값을 반환할 지 여부
//
function getFormValue(el, selectText) {
	var t = el.type || el[0].type;
	selectText = selectText || false;
	switch(t) {
		case "hidden":
		case "password":
		case "textarea":
		case "file":
		case "text":
			return el.value;
			break;
		case "select-one":
			if(selectText) {
				return getFormSelectText(el);
			} else {
				return getFormSelectValue(el);
			}
			break;
		case "radio":
			return getFormRadioValue(el);
			break;
		case "checkbox":
			return getCheckBoxValue(el);
			break;
	}
	return null;
}

//
// 폼 라디오 값
//
// @param el 엘리먼트
//
function getFormRadioValue(el) {
	if (!el.length) {
		return (el.checked) ? el.value : null;
	} else {
    	for (var i = 0; i < el.length; i++) {
			if ((flag = el[i].checked)) {
				return el[i].value;
			}
		}
	}
	return null;
}

//
// 폼 체크박스 값
//
// @param el 엘리먼트
//
function getCheckBoxValue(el) {
	var result = null;
	if (el.length === undefined) {
		result = (el.checked) ? el.value : null;
	}
	else {
    	for (var i = 0; i < el.length; i++) {
			if ((flag = el[i].checked)) {
				if(result != null) {
					result += "|" + el[i].value;
				} else {
					result = el[i].value;
				}
			}
		}
	}
	return result;
}

//
// 폼 select 값
//
// @param el 엘리먼트
//
function getFormSelectValue(el) {
	return el.options[el.selectedIndex].value;
}
//
// 폼 select 텍스트 값
//
// @param el 엘리먼트
//
function getFormSelectText(el) {
	return el.options[el.selectedIndex].text;
}

//
// 빈 공백 제거
//
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 isNumber(str) {
	if(isNull(str)) return false;
	var rgNum = /\D/;
	if(rgNum.test(str)) {
		return false;
	}
	return true;
}

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

//
// 값이 날짜인지 확인 (날자 형식: yyyy-MM-dd)
//
function isDate(str) {
	var fmt = /^\d{4}-\d{2}-\d{2}$/i;
	var r = fmt.test(str);
	if(!fmt.test(str)) {
		return false;
	} else {
		var d = str.split("-");
		if(d[0] < 1900 || d[0] > 2069) return false;
		if(d[1] < 1 || d[1] > 12) return false;
		if(d[2] < 1 || d[2] > 31) return false;
		return true;
	}
}

//
// 이미지 파일인지 확장자를 사용하여 확인
//
// @param str 파일명
//
function isImageFile(str) {
	str = str.replace(/\\/g, "\\\\");
	var ext = str.substring(str.lastIndexOf(".")+1).toUpperCase();
	return (ext == "JPG" || ext=="JPEG" || ext=="GIF" || ext=="PNG")?true:false;
}

//
// prototype 사용할 때 폼의 라디오 버튼 값
//
function $RF(el, radioGroup) {
    if($(el).type && $(el).type.toLowerCase() == 'radio') {
        var radioGroup = $(el).name;
        var el = $(el).form;
    } else if ($(el).tagName.toLowerCase() != 'form') {
        return false;
    }

    var checked = $(el).getInputs('radio', radioGroup).find(
        function(re) {return re.checked;}
    );
    return (checked) ? $F(checked) : null;
}
//
// $CF(f, "myanswer");
//
function $CF(el, checkbox) {
	if($(el).type && $(el).type.toLowerCase() == 'checkbox') {
        var checkbox = $(el).name;
        var el = $(el).form;
    } else if ($(el).tagName.toLowerCase() != 'form') {
        return false;
    }
	var v = "";
	$(el).getInputs('checkbox', checkbox).each(
		function(re) {
			if(re.checked) {
				if(v != "") {
					v += ",";
				}
				v += re.value;
			}
		}
	);
    return v;
}

//
// 팝업 윈도우의 중앙으로 생성
//
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+",toolbar=no,menubar=no,location=no,status=no";
	if (f != null) {
		features += "," + f;
	}
	var p=window.open(url, wname, features);
	if(p != null) {
		p.focus();
		return p;
	}	
}

//
// DHTML 유틸리티
//
var DhtmlUtil = {
	// 브라우저 정보 추출
	getInfo:function() {
		this.ie=document.all && !window.opera;
		this.dom_client_width = document.documentElement && parseInt(document.documentElement.clientWidth) || 100000;
		this.standard_body=(document.compatMode=="CSS1Compat")? document.documentElement : document.body;
		this.scroll_top=(this.ie)? this.standard_body.scrollTop : window.pageYOffset;
		this.scroll_left=(this.ie)? this.standard_body.scrollLeft : window.pageXOffset;
		this.doc_width=(this.ie)? this.standard_body.clientWidth : (/Safari/i.test(navigator.userAgent))? window.innerWidth : Math.min(this.dom_client_width, window.innerWidth-16);
		this.doc_height=(this.ie)? this.standard_body.clientHeight: window.innerHeight;
		this.page_width=this.standard_body.scrollWidth;
		this.page_height=this.standard_body.scrollHeight;
	},
	// 브라우저 전체 크기로 변경
	fullSize:function(el) {
		this.getInfo();
		var w = (this.doc_width > this.page_width) ? this.doc_width : this.page_width;
		var h = (this.doc_height > this.page_height) ? this.doc_height : this.page_height;
		$(el).setStyle( {width: w + "px", height: h + "px"} );
	},
	// 브라우저 중앙으로 위치 변경
	center:function(el) {
		this.getInfo();
		var w = (this.doc_width > this.page_width) ? this.doc_width : this.page_width;
		var h = (this.doc_height > this.page_height) ? this.doc_height : this.page_height;	
		var t = ((document.viewport.getHeight()-$(el).getHeight()) / 2) + this.scroll_top;
		var l = ((document.viewport.getWidth()-$(el).getWidth()) / 2) + this.scroll_left;
		$(el).setStyle( {top: t + "px", left: l + "px"} );
	},
	// 어버레이 엘리먼트를 브라우저 전체로 만들고 해당 엘리먼트를 중앙으로 출력
	fullSizeCenter:function(el, overlay) {
		$(overlay).show();
		this.fullSize(overlay);
		this.center(el);
		$(el).show();
	}
};

function findSWF(movieName) {
	if (navigator.appName.indexOf("Microsoft")!= -1) {
		return window[movieName];
	} else {
		return document[movieName];
	}
}

// 미디어 플레이어 생성
//
// @param id 미디어 플레이어 ID
// @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" \
			width="' + w + '" \
			height="' + h + '" \
			bgcolor="DarkBlue" VIEWASTEXT> \
			<param name="FileName" value="' + url + '"> \
			<param name="AutoStart" value="1"> \
			<param name="AutoSize" value="0"> \
			<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-mplayer2" \
				pluginspage="http://www.microsoft.com/Windows/Downloads/Contents/Products/MediaPlayer/" \
				width="' + w + '" \
				height="' + h + '" \
				src="' + url + '" \
				AutoStart="1" \
				AutoSize="0" \
				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 change_player_url(id, url, w, h) {
	var o = findSWF(id);
	if(o) {
		//var d = document.getElementById("debug"); for(var a in o) { d.innerHTML += "o["+a+"]="+o[a]+"<br/>"; }
		if(o.width && w) { o.width = w; }
		if(o.height && h) {	o.height = h; }
		if(o.FileName) { o.FileName = url; }
		if(o.src) {
			o.src = url;
			if(o.type.indexOf("x-mplayer2") != -1 && navigator.userAgent.indexOf("Windows") != -1) {
				o.src = url; // for Firefox and Windows Media Player on Windows
			}
		}
		if(o.movie) { o.movie = url; }
	}
}

function addComma(str) {
	str = String(str);
	strArr = str.split(".");//소수점이하 구분
	var sp = "";
	var mc = "";
	for (var i = strArr[0].length-1; i>=0; i--) {
	sp = strArr[0].charAt(i);
	mc = sp+mc;
	if (i%3 == strArr[0].length%3 && i != 0) {
		mc = ','+mc;
	}
	}
	if (strArr[1] == null) {
		return mc;
	} else {
		return mc+"."+strArr[1];
	}
}

//앞뒤 공백 제거
function trim(str) {
	str = str.replace(/^\s*/,'').replace(/\s*$/,'');
	return str;
}

//이미지 사이즈 조절
function reSizeImage(el) {
	var temp = document.createElement("img");
	temp.src = el.src;
	var w = el.width,h = el.height;
	if (temp.width > el.width) {
		temp.height = Math.round(temp.height *(el.width / temp.width));
		var pad = (Math.round(el.height - temp.height)/2)
		if(pad > 0) {
			pad += "px";
			Element.setStyle(el, {paddingTop:pad,paddingBottom:pad});
		}
		temp.width = el.width;
	} else
	if (temp.width < el.width) {
		var pad = (Math.round(el.height - temp.height)/2);
		if(pad > 0) {
			pad += "px";
			Element.setStyle(el, {paddingTop:pad,paddingBottom:pad});
		}
	}
	
	if (temp.height > el.height){
		temp.width = Math.round(temp.width * (el.height / temp.height));
		var pad = (Math.round(el.width - temp.width)/2);
		if(pad > 0) {
			pad += "px";
			Element.setStyle(el, {paddingLeft:pad,paddingRight:pad});
		}
		temp.height = el.height;
	} else
	if (temp.height < el.height) {
		var pad = (Math.round(el.width - temp.width)/2);
		if(pad > 0) {
			pad += "px";
			Element.setStyle(el, {paddingLeft:pad,paddingRight:pad});
		}
	}
	
	el.width = temp.width;
	el.height = temp.height;
}


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


function getCookie(key) {
	var start, end;
	var value = null;
	for( var i = 0; i < document.cookie.length; i++ ) {
		start = i;
		end = start + key.length;
		// in cas of has key in cookie string
		if( document.cookie.substring( start, end ) == key ) {
			start = end + 1;
			end = document.cookie.indexOf( ";", start );
			// check end of cookie string
			if( end < start ) {
				end = document.cookie.length;
			}
			value = document.cookie.substring( start, end );
			break;
		}
	}
	return value;
}


//EOF 
