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 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 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 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("Only numeric number can be able on "+str);
			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 with "+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,"Comfirm password");
	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 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;
}

function number_format(number, decimals, dec_point, thousands_sep) {
    number = (number + '').replace(/[^0-9+\-Ee.]/g, '');
    var n = !isFinite(+number) ? 0 : +number,
        prec = !isFinite(+decimals) ? 0 : Math.abs(decimals),        sep = (typeof thousands_sep === 'undefined') ? ',' : thousands_sep,
        dec = (typeof dec_point === 'undefined') ? '.' : dec_point,
        s = '',
        toFixedFix = function (n, prec) {
            var k = Math.pow(10, prec);            return '' + Math.round(n * k) / k;
        };
    // Fix for IE parseFloat(0.55).toFixed(0) = 0;
    s = (prec ? toFixedFix(n, prec) : '' + Math.round(n)).split('.');
    if (s[0].length > 3) {        s[0] = s[0].replace(/\B(?=(?:\d{3})+(?!\d))/g, sep);
    }
    if ((s[1] || '').length < prec) {
        s[1] = s[1] || '';
        s[1] += new Array(prec - s[1].length + 1).join('0');    }
    return s.join(dec);
}

// Modal Window function
function progress() {
	$("#modal_area").html("<img src='/images/common/progress.gif' />");
	ShowMe("modal");
}
function ShowMe(modal) {
	var obj = document.getElementById(modal);
	obj.style.visibility = "visible";
	$("#"+modal).fadeIn("fast");
	modal_location();
}
function HideMe(modal) {
	var obj = document.getElementById(obj);
	if (obj != null) {
		obj.style.visibility = "hidden";
		document.getElementById("modal_area").innerHTML = "";
	}
	$("#"+modal).fadeOut("fast");
}
function modal_location() {
	$("#modal_area").position({
		my: "center",
		at: "center",
		of: "#modal"
	});
}
function modal_show(ajax) {
	document.getElementById("modal_area").innerHTML = ajax.responseText;
	ShowMe("modal");
	modal_location();
}
function modal_jQuery(msg) {
	document.getElementById("modal_area").innerHTML = msg;
	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("자료 수신이 중지되었습니다. 다시 시도 해 주세요.");
	}
	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");
}

function mainmenu(menu){
$("#"+menu+" ul").css({display: "none"}); // Opera Fix
$("#"+menu+" li").hover(function(){
		$(this).find('ul:first').css({"display":"block"});
		},function(){
		$(this).find('ul:first').css({"display":"none"});
		});
}

