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_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_findObj(n, d) { //v3.0
  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); 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 newXMLHttpRequest() {
	var xmlHttp;
	if(window.ActiveXObject){
		 //Win e4,e5,e6용
		try {
			return new ActiveXObject("Msxml2.XMLHTTP") ;
		} catch (e) {
			try {
				return new ActiveXObject("Microsoft.XMLHTTP") ;
			} catch (e2) {
				return null ;
			}
		}
	} else if(window.XMLHttpRequest){
		 //Win Mac Linux m1,f1,o8 Mac s1 Linux k3용
		return new XMLHttpRequest() ;
	} else {
		return null ;
	}
} 
function progress() {
	document.getElementById("modal_area").innerHTML = "<img src='/images/common/progress.gif' />";
	modal_location();
	ShowMe("modal");
}

function setQueryString(obj) {
	queryString = "";
	var numberElements = obj.elements.length;

	for(var i = 0; i < numberElements; i++) {
		input = obj.elements[i];
		if(input.type != "button" && input.type != "submit" && input.type != "reset") {
			if(input.type != "checkbox" && input.type != "radio") {
					queryString += input.name + "=" + encodeURIComponent(input.value) + "&";
			} else {
				if(input.checked) {
					queryString += input.name + "=" + encodeURIComponent(input.value) + "&";
				} else if(input.type == "checkbox") {
					queryString += input.name + "=0" + "&";
				}
			}
		}
	}
	last_word = queryString.substring(queryString.length-1);
	if(last_word == "&") {
		queryString = queryString.substring(0,queryString.length-1);
	}
	return queryString;
}

String.prototype.trim = function() {
	return this.replace(/^\s*(\b.*\b|)\s*$/, "$1"); // 문장의 앞과 뒤의 공백 제거
}
Array.prototype.inArray = function(value) {
	var i;
	for (i=0; i < this.length; i++) {
		if (this[i] === value) {
			return true;
		}
	}
	return false;
};

function allblur() {
	for (i = 0; i < document.links.length; i++) {
		document.links[i].onfocus = document.links[i].blur;
	}
}

function urldecode (str) {
    return decodeURIComponent((str + '').replace(/\+/g, '%20'));
} 


function popup_size() {
	var obj = navigator.appVersion;
	var hei = 29;
	if (navigator.appVersion.indexOf("NT") != -1) {
		os = obj.substr(obj.indexOf("NT"),6);
		if (os > "NT 5.0") {
			hei = 35;
		}
	}
	wid = document.body.scrollWidth+10;
	hei = document.body.scrollHeight+hei;
	self.resizeTo(wid,hei);
	var l = (screen.availWidth - wid)/2;
	var t = (screen.availHeight - hei)/2;
	window.moveTo(l,t);

}

function CheckForm(obj,form,str) {
	obj = obj.elements[form];

	if (obj.value.trim() == "") {
		alert("Please fill in the "+str);
		obj.focus();
		return false;
	}
	if(obj.type != "file") {
		obj.value = obj.value.trim();
	}
	return true;
}
function CheckArray(obj,form,str) {
	obj = obj.elements[form];
	var flag = true;
	for(obj_item=0;obj_item<obj.length;obj_item++) {
		if(obj[obj_item].checked) {
			flag = false;
			return true;
		}
	}
	if(flag) {
		alert("Please choose an option from the "+str);
		obj[0].focus();
		return false;
	}
}

function CheckNoFocus(obj,form,str) {
	obj = obj.elements[form];

	if (obj.value.trim() == "") {
		alert("Please fill in the "+str);
		return false;
	}
	if(obj.type != "file") {
		obj.value = obj.value.trim();
	}
	return true;
}
function CheckNumber(obj,form,str) {
	sw = CheckForm(obj,form,str);
	if(sw) {
		var obj = obj.elements[form];
		var $value = obj.value.replace(/,/gi,"");

		if (isNaN($value)) {
			alert("Please fill in the "+str+" with only Number");
			obj.focus();
			return false;
		}
		obj.value = $value.trim();
		return true;
	} else {
		return false;
	}
}
function CheckCheckbox(obj,form,str) {
	obj = obj.elements[form];

	if (!obj.checked) {
		alert("You should agree the "+str);
		obj.focus();
		return false;
	}
	return true;
}
function CheckPassword(obj,original,confirm) {
	var sw = true;
	if(sw) sw = CheckForm(obj,original,"password");
	if(sw) sw = CheckForm(obj,confirm,"password confirm");
	if(sw) {
		var origin = obj.elements[original];
		var check = obj.elements[confirm];
		if(origin.value.trim() != check.value.trim()) {
			alert("Password not corrected.\nCheck the Password again.");
			origin.value = "";
			check.value = "";
			origin.focus();
			return false;
		}
		return true;
	} else {
		return false;
	}
}

function CheckEmail(obj,form,str) {
	var obj = obj.elements[form];
	var emailStr = obj.value;
	var checkTLD=1;
	var knownDomsPat=/^(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum)$/;
	var emailPat=/^(.+)@(.+)$/;
	var specialChars="\\(\\)><@,;:\\\\\\\"\\.\\[\\]";
	var validChars="\[^\\s" + specialChars + "\]";
	var quotedUser="(\"[^\"]*\")";
	var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/;
	var atom=validChars + '+';
	var word="(" + atom + "|" + quotedUser + ")";
	var userPat=new RegExp("^" + word + "(\\." + word + ")*$");
	var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$");
	var matchArray=emailStr.match(emailPat);
	//
	if (matchArray==null) {
		alert("Please enter the correct email address","alert",0);
		obj.focus();
		return false;
	}
	//
	var user=matchArray[1];
	var domain=matchArray[2];
	//
	for (i=0; i<user.length; i++) {
		if (user.charCodeAt(i)>127) {
			alert("Please enter the correct email address","alert",0);
			obj.focus();
			return false;
		}
	}
	for (i=0; i<domain.length; i++) {
		if (domain.charCodeAt(i)>127) {
			alert("Please enter the correct email address","alert",0);
			obj.focus();
			return false;
		}
	}
	if (user.match(userPat)==null) {
		alert("Please enter the correct email address","alert",0);
		obj.focus();
		return false;
	}
	//
	var IPArray=domain.match(ipDomainPat);
	//
	if (IPArray!=null) {
		for (var i=1;i<=4;i++) {
			if (IPArray[i]>255) {
				alert("Please enter the correct email address","alert",0);
				obj.focus();
				return false;
		   }
		}
		return true;
	}
	//
	var atomPat=new RegExp("^" + atom + "$");
	var domArr=domain.split(".");
	var len=domArr.length;
	//
	for (i=0;i<len;i++) {
		if (domArr[i].search(atomPat)==-1) {
			alert("Please enter the correct email address","alert",0);
			obj.focus();
			return false;
		}
	}
	if (checkTLD && domArr[domArr.length-1].length!=2 && 
	domArr[domArr.length-1].search(knownDomsPat)==-1) {
		alert("Please enter the correct email address","alert",0);
		obj.focus();
		return false;
	}
	if (len<2) {
		alert("Please enter the correct email address","alert",0);
		obj.focus();
		return false;
	}
	return true;
}

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

function check_all(obj) {
	var obj_value = obj.value;
	var chk_obj = document.getElementsByName("chk_item");
	var btn_obj = document.getElementsByName("check_all");
	for(i=0;i<chk_obj.length;i++) {
		if(obj_value == "check all") chk_obj[i].checked = true;
		else chk_obj[i].checked = false;
	}
	for(i=0;i<btn_obj.length;i++) {
		if(obj_value == "check all")	btn_obj[i].value = "uncheck all";
		else btn_obj[i].value = "check all";
	}
}


function select_move(obj_id,to) {
	var obj = document.getElementById(obj_id);
	selectbox_len=obj.length;

	selected_idx = obj.selectedIndex;
	if(selected_idx == -1) {
		alert("Select an item from selectbox box");
		return;
	}

	var selected_obj = obj.options[selected_idx];
	var selected_text = selected_obj.text;
	var selected_value = selected_obj.value;

	if(to == "up") {	// Move to up
		if(selected_idx == 0) {
			return;
		}
		var up_obj = obj.options[selected_idx-1];
		selected_obj.text = up_obj.text;
		selected_obj.value = up_obj.value;
		up_obj.text=selected_text;
		up_obj.value=selected_value;
		selected_obj.selected=false;
		up_obj.selected=true;
	} else {			// Move to dn
		if(selected_idx == selectbox_len-1) {
			return;
		}
		var dn_obj = obj.options[selected_idx+1];
		selected_obj.text = dn_obj.text;
		selected_obj.value = dn_obj.value;
		dn_obj.text=selected_text;
		dn_obj.value=selected_value;
		selected_obj.selected=false;
		dn_obj.selected=true;
	}
}

function select_exchange(moveto,l_name,r_name) {
	var l_obj = document.varform.elements[l_name];
	var r_obj = document.varform.elements[r_name];
	r_len=r_obj.length;
	l_len=l_obj.length;

	if(moveto) {		// Move to right
		l_index = l_obj.selectedIndex;
		if(l_index == -1) {
			alert("Select an item from left box");
			return;
		}
		for(i=l_len-1;i>=0;i--) {
			if(l_obj.options[i].selected) {
				var sw = true;
				for(j=0;j<r_len;j++) {
					if(l_obj.options[l_obj.selectedIndex].value == r_obj.options[j].value) sw=false;
				}
				if (sw) {
					r_obj.options[r_len] = new Option(l_obj.options[l_obj.selectedIndex].text,l_obj.options[l_obj.selectedIndex].value);
					l_obj.remove(l_obj.selectedIndex);
					l_len=l_obj.length;
					r_len=r_obj.length;
				}
			}
		}
	} else {// Move to left
		r_index = r_obj.selectedIndex;
		if(r_index == -1) {
			alert("Select an item from right box");
			return;
		}
		for(i=r_len-1;i>=0;i--) {
			if(r_obj.options[i].selected) {
				var sw = true;
				for(j=0;j<l_len;j++) {
					if(r_obj.options[r_obj.selectedIndex].value == l_obj.options[j].value) sw=false;
				}
				if (sw) {
					l_obj.options[l_len] = new Option(r_obj.options[r_obj.selectedIndex].text,r_obj.options[r_obj.selectedIndex].value);
					r_obj.remove(r_obj.selectedIndex);
					r_len=r_obj.length;
					l_len=l_obj.length;
				}
			}
		}
	}
}

function addCommas(nStr)
{
	nStr += '';
	x = nStr.split('.');
	x1 = x[0];
	x2 = x.length > 1 ? '.' + x[1] : '';
	var rgx = /(\d+)(\d{3})/;
	while (rgx.test(x1)) {
		x1 = x1.replace(rgx, '$1' + ',' + '$2');
	}
	return x1 + x2;
}

// Modal Window function
function ShowMe(obj) {
	var obj = document.getElementById(obj);
	obj.style.visibility = "visible";
}
function HideMe(obj) {
	var obj = document.getElementById(obj);
	if (obj != null) {
		obj.style.visibility = "hidden";
		document.getElementById("modal_area").innerHTML = "";
	}
}
function modal_location() {
	var modal_area = document.getElementById("modal_area");
	var modal_area_w = parseInt(modal_area.clientWidth);
	var modal_area_h = parseInt(modal_area.clientHeight);
	modal_left = -(modal_area_w/2) + "px";
	modal_top = -(modal_area_h/2) + "px";
	modal_area.style.marginLeft = modal_left;
	modal_area.style.marginTop = modal_top;
}
function modal_show(ajax) {
	document.getElementById("modal_area").innerHTML = ajax.responseText;
	modal_location();
	ShowMe("modal");
}
function modal_jQuery(msg) {
	document.getElementById("modal_area").innerHTML = msg;
	modal_location();
	ShowMe("modal");
	$("input[type='text']:first", document.modal_form).focus();
}
// Modal Window function

function cancel_ajax(ajax_obj) {
//	if(ajax.readyState!=4 && ajax.status != 200 && ajax.statusText!='OK') {
	if(typeof(ajax_obj) != "undefined") {
		ajax_obj.abort();
		alert("An error has been occured when receive a data.");
	}
	clearTimeout(ajax_time);
}

function ajax_send(ajax_obj,strURL,params) {
	ajax_obj.open("POST",strURL,true);
	ajax_obj.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8');
	ajax_obj.setRequestHeader('connection', 'close');
	ajax_time = window.setTimeout('cancel_ajax('+ajax_obj+')',20000)
	ajax_obj.send(params);
}
// Show Flash File
function show_flv(obj_id,path,filename,width,height) {
	var fo = new FlashObject("/data/videos/player.swf","player",width,height,"9","#FFFFFF");
	fo.addParam("allowfullscreen","true");
	fo.addParam("allowscriptaccess","always");
	fo.addParam("flashvars","file="+filename+"&autostart=true&repeat=false&width="+width+"&height="+height);
	fo.addVariable("wmode","transparent");
	fo.write("flashmovie");
}

var menu=function(){
	var t=1,z=300,s=1,a;
	function dd(n){this.n=n; this.h=[]; this.c=[]}
	dd.prototype.init=function(p,c){
		a=c; var w=document.getElementById(p), s=w.getElementsByTagName('ul'), l=s.length, i=0;
		for(i;i<l;i++){
			var h=s[i].parentNode; this.h[i]=h; this.c[i]=s[i];
			h.onmouseover=new Function(this.n+'.st('+i+',true)');
			h.onmouseout=new Function(this.n+'.st('+i+')');
		}
	}
	dd.prototype.st=function(x,f){
		var c=this.c[x], h=this.h[x], p=h.getElementsByTagName('a')[0];
		clearInterval(c.t); c.style.overflow='hidden';
		if(f){
			p.className+=' '+a;
			if(!c.mh){c.style.display='block'; c.style.height=''; c.mh=c.offsetHeight; c.style.height=0}
			if(c.mh==c.offsetHeight){c.style.overflow='visible'}
			else{c.style.zIndex=z; z++; c.t=setInterval(function(){sl(c,1)},t)}
		}else{p.className=p.className.replace(a,''); c.t=setInterval(function(){sl(c,-1)},t)}
	}
	function sl(c,f){
		var h=c.offsetHeight;
		if((h<=0&&f!=1)||(h>=c.mh&&f==1)){
			if(f==1){c.style.filter=''; c.style.opacity=1; c.style.overflow='visible'}
			clearInterval(c.t); return
		}
		var d=(f==1)?Math.ceil((c.mh-h)/s):Math.ceil(h/s), o=h/c.mh;
		c.style.opacity=o; c.style.filter='alpha(opacity='+(o*100)+')';
		c.style.height=h+(d*f)+'px'
	}
	return{dd:dd}
}();
