var fromWebserver = "true";

/* 엘리먼트를 리턴 */
function $(element_id) {
	var obj;
	if (isMSIE) {
		obj = document.getElementById(element_id);
		if (obj == null) {
			obj = document.all[element_id]; // w3c 비표준
		}
	} else {
		obj = document.getElementById(element_id);
		if (obj == null) {
			obj = document.getElementsByName(element_id)[0];
		}
	}
	return obj;
}

/* 엘리먼트(또는 엘리먼트들)을 리턴 */
function $N(element_name) {
	return document.getElementsByName(element_name);
}

/* 엘리먼트의 값을 리턴 */
function $F(element_id) {
	return $(element_id).value;
}

String.prototype.trim = function() {
	return this.replace(/(^\s*)|(\s*$)/g, "");
}

String.prototype.simpleReplace = function(oldStr, newStr) {
	var rStr = oldStr;

	rStr = rStr.replace(/\\/g, "\\\\");
	rStr = rStr.replace(/\^/g, "\\^");
	rStr = rStr.replace(/\$/g, "\\$");
	rStr = rStr.replace(/\*/g, "\\*");
	rStr = rStr.replace(/\+/g, "\\+");
	rStr = rStr.replace(/\?/g, "\\?");
	rStr = rStr.replace(/\./g, "\\.");
	rStr = rStr.replace(/\(/g, "\\(");
	rStr = rStr.replace(/\)/g, "\\)");
	rStr = rStr.replace(/\|/g, "\\|");
	rStr = rStr.replace(/\,/g, "\\,");
	rStr = rStr.replace(/\{/g, "\\{");
	rStr = rStr.replace(/\}/g, "\\}");
	rStr = rStr.replace(/\[/g, "\\[");
	rStr = rStr.replace(/\]/g, "\\]");
	rStr = rStr.replace(/\-/g, "\\-");

  	var re = new RegExp(rStr, "g");
    return this.replace(re, newStr);
}

// -------------------------------------------------------------------------
// 쿠키 처리
// -------------------------------------------------------------------------
function cfGetcookValue(offset) {
	var finstr = document.cookie.indexOf(";", offset);
	if (finstr == -1)
		finstr = document.cookie.length;
	return decodeURIComponent(document.cookie.substring(offset, finstr));
}

function cfGetCookie(name) {
	var arg = name + "=";
	var alen = arg.length;
	var clen = document.cookie.length;
	var i = 0;
	while (i < clen) {
		var j = i + alen;
		if (document.cookie.substring(i, j) == arg)
			return cfGetcookValue(j);
		i = document.cookie.indexOf(" ", i) + 1;
		if (i == 0)
			break;
	} 
	return null;
}

function cfSetCookie(name, value) {
	var argv = cfSetCookie.arguments;
	var argc = cfSetCookie.arguments.length;
	var now = new Date();
	var expires = new Date(now.getTime() + 31536000000);// 쿠키 유지기간을 365 일로 합니다.
	document.cookie = name + "=" + encodeURIComponent(value) + ((expires == null) ? "" : ("; expires=" + expires.toGMTString()))+"; path=/; ";
}

function cfDeleteCookie() {
	if (document.cookie != "") {
		thisCookie = document.cookie.split("; ");
		expireDate = new Date;
		expireDate.setDate(expireDate.getDate() - 1);
		for (i = 0; i < thisCookie.length; i++) {
			cookieName = thisCookie[i].split("=")[0];
			document.cookie = cookieName + "=;expires=" + expireDate.toGMTString();
			// alert(document.cookie);
		}
	}
}

/** cookie delete
 *  2009.01.14 wkkang
 *  ex) cfDelCookie("userName","lge.com","/");
 * @param name - cookie name
 * @param domain - cookie domain ex)lge.com
 * @param path  - cookie path ex)/
 * @return
 * 
 */
function cfDelCookie(name,domain,path) {
    expireDate = new Date;
	  expireDate.setDate(expireDate.getDate() - 1);
	  document.cookie = name+"=;domain="+domain+";path="+path+";expires=" + expireDate.toGMTString();

}

// Locale 전환
function cfSwichLocale(aForm, locale, country) {
	var form = document.getElementById(aForm);
	var localeCd = locale.value;
	var aUrl = "/changeLocale.dev";
	var aParam = "?localeCd=" + localeCd;
	if(country) aParam += "&countryCd=" + country.value;
	form.action = aUrl + aParam;
	form.submit();
}

function cfSwitchBandwidth(aForm, useYn) {
	var bForm = document.getElementById(aForm);
	var hUrl = location.href;
	var aUrl = "/lgeh.common.bandwidth.SwitchBandwidth.dev?lowbandUse=" + useYn + "&hUrl=" + hUrl;
	bForm.action = aUrl;
	bForm.submit();
}

// 1개의 column 가져오기
function cfGetOneColmAjax(aUrl, arrParam) {
	stringXsyncResult = '';
	devon.xSync.options.asyncMode = false;
	var aJax = new devon.xSync(aUrl);
	for ( var i = 0; i < arrParam.length; i++) {
		var tmp = arrParam[i];
		var arrTmp = tmp.split("=");
		if (arrTmp.length > 0) {
			aJax.addQuery(arrTmp[0], arrTmp[1]);
		} else {
			aJax.addQuery(arrTmp[0], "");
		}
	}
	aJax.fire();
	return stringXsyncResult.trim();
}
devon.xSync.handler.string = function(json) {
	stringXsyncResult = json.$text;
}

function cfTestcase() {
	var url = document.location + '';
	url = url.substring(7, url.length);
	url = url.simpleReplace('&', '|');
	var fullUrl = '/common/jsunit/testRunner.jsp?showTestFrame=true&isJsUnit=true&url=' + url;
	window.open(fullUrl);
}