// AJAX
function ajax_request(_url, _method, _pars, _funcname) {
	var myAjax = new Ajax.Request(
		_url,
		{
			method: _method,
			parameters: _pars,
			onComplete: eval(_funcname)
		}
	);
}

function ajax_post(_placeholder, _url, _frm, _script) {
	if (_script == undefined) {
		_script = "";
	}
	var pars = Form.serialize(_frm);
	var myAjax = new Ajax.Request(
		_url,
		{
			method: "post",
			parameters: pars,
			onComplete: function(req) {
				if (req.responseText.indexOf("<ERROR/>") == -1) {
					eval(_script);
					Element.update(_placeholder, req.responseText);
				} else {
					eval(req.responseText.stripTags());
				}
				hideLoadingLayer();
			}
		}
	);
}

function ajax_updater(_placeholder, _url, _method, _pars) {
	//showLoadingLayer();
	var myAjax = new Ajax.Updater(
		{success: _placeholder},
		_url,
		{
			method: _method,
			parameters: _pars,
			onLoading: function(req) {
				if (req.readyState == 1) {
					$(_placeholder).innerHTML = "Loading...";
				}
			},
			onFailure: function(req) {$(_placeholder).innerHTML = "Error...";},
			//onComplete: function(req) {hideLoadingLayer();},
			evalScripts: true
		}
	);
}

function ajax_periodicalupdater(_placeholder, _url, _freq, _dec) {
	var myAjax = new Ajax.PeriodicalUpdater(
		{success: _placeholder},
		_url,
		{
			frequency: _freq,
			asynchronous: true,
			decay: _dec,
			evalScripts: true
		}
	);
	return myAjax;
}

function ajaxComplete(script, container, innerHtml){
	if(script == undefined)
		script = "";
	var arrScripts = innerHtml.extractScripts();
	for (i = 0; i < arrScripts.length; i++) {
		script = script + arrScripts[i];
	}
	eval(script);
	hideLoadingLayer();
}

function showLoadingLayer() {
	var loadingLayer = $("loading_layer");
	if (loadingLayer)
		Element.show(loadingLayer);
}

function hideLoadingLayer() {
	/*if($('contents'))
		Element.show('contents');
	if($('loading_tab'))
		Element.hide('loading_tab');*/
	if($("loading_layer"))
		Element.hide("loading_layer");
}

// Ajax
function ajax_result(_url, _method, _pars, _obj) {
	var objAjax = new Ajax.Request(
		_url, {
			method: _method,
			parameters: _pars,
			onComplete: function(response) {fillSelectBoxJSON(response, _obj);}
			//onComplete: showResponse
		}
	);
}

// For Test
function showResponse(originalRequest) {
	alert("RESULT:" + originalRequest.responseText);
}

function fillSelectBoxJSON(res, obj) {
	var serverData = res.responseText;
	var evalData = eval("(" + serverData + ")");
	obj.options.length = 1;

	if (evalData.result != "SUCCESS") {
		return;
	}

	for (var i = 0; i < evalData.data.length; i++) {
		var opt = new Option;
		opt.value = evalData.data[i].col0;
		opt.text = evalData.data[i].col1;
		obj.options[i + 1] = opt;
	}
	//obj.options[evalData.data.length + 1] = new Option("ÀüÃ¼", "ÀüÃ¼");
}

// ¼­¹ö½Ã°£ ¼ÂÆÃ (getServerTimeÇÔ¼ö /common/js/common.js¿¡ Á¤ÀÇ)
Event.observe(window, "load", getServerTime, false);
//window.setInterval("getServerTime()", 1000);

// Å¬¸¯¼ö Ã¼Å©
function clickCounter(_catcd) {
	var objAjax = new Ajax.Request(
		"/clickCounter_ajax.asp", {
			method: "post",
			parameters: "catcd=" + _catcd,
			onComplete: function(response) {return true}
			//onComplete: showResponse
		}
	);
}
