
// 2008-04-03 shjeon@gmarket.co.kr 
// 2008-09-17 lee seong keun - get more informations and send to `url` parameter
onerror = errorHandler;
var onErrorInfoSended = false;

function errorHandler( pMsg, pURL, pLines )
{
	var request;
	if( window.XMLHttpRequest)
	{
		request = new XMLHttpRequest();
	}else if( window.ActiveXObject){
		request = new ActiveXObject("Microsoft.XMLHTTP");

		if( !request){
			request = new ActiveXObject("Msxml2.XMLHTTP");
		}
	}

	if( request )
	{
		request.open("POST", "/challenge/neo_include/gmkt_client_onerror.asp", true); 
		request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		////////////////////////////////////////////////
		// 2008-09-17 lee seong keun
		////////////////////////////////////////////////
		var info = "";
		if (errorHandler.caller != null)
		{
			try {
				var re = /[ \t\n]+/gi;
				var funcname = errorHandler.caller.toString().ltrim();
				funcname = funcname.replace(re, " ").ltrim().substr(0, 80);
//				funcname = funcname.replace(re, "").ltrim().substr(0, 80);
				info += "@" + funcname;
			} catch (e) {
				// do nothing
			}
		}

		// `ie` or `mozila`
		/*@cc_on @*/
		/*@if(@_win32)
//				try {info += "&browser=ie"} catch(e){};
		  @else @*/
				try {info += "&browser=mozila"} catch(e){};
		/*@end @*/

		// document.readyState
		try {info += "&document.readyState=" + document.readyState} catch(e){};
//		// event source
//		try {info += "&srcElement.name=" + window.event.srcElement.name} catch(e){};
//		try {info += "&srcElement.id=" + window.event.srcElement.id} catch(e){};
//		try {info += "&eventType=" + window.event.type} catch(e){};



		if (!onErrorInfoSended)
		{
			try {
				// buy_order
				info += "&gd_no=" + document.getElementById("gd_no").value;
				info += "&mode=" + document.getElementById("mode").value;
				info += "&order_type=" + document.getElementById("order_type").value;
				info += "&trad_way=" + document.getElementById("trad_way").value;
				info += "&order_price=" + document.getElementById("order_price").value;
				info += "&sel_item_price=" + document.getElementById("sel_item_price").value;
				info += "&order_cnts=" + document.getElementById("order_cnts").value;
				info += "&member_type=" + document.getElementById("member_type").value;
				info += "&delivery_group_no=" + document.getElementById("delivery_group_no").value;
				info += "&basis_money=" + document.getElementById("basis_money").value;
				info += "&cost_price=" + document.getElementById("cost_price").value;
				info += "&cost_price_yn=" + document.getElementById("cost_price_yn").value;
//				info += "&cost_basis_no=" + document.getElementById("cost_basis_no").value.replace("", "");
				info += "&gd_sel_no=" + document.getElementById("gd_sel_no").value;
				info += "&delivery_fee=" + document.getElementById("delivery_fee").value;
				info += "&delivery_fee_yn=" + document.getElementById("delivery_fee_yn").value;
				info += "&delivery_fee_condition=" + document.getElementById("delivery_fee_condition").value;
				info += "&delivery_group_type=" + document.getElementById("delivery_group_type").value;

				onErrorInfoSended = true;
		} catch (e) {
			// do nothing
			}
		} else {
			info += "&onErrorInfoSended=true";
		}
		if (info != "") {
			//pURL += escape("---" + info.substr(0, 800));
		}
		////////////////////////////////////////////////
		request.send("msg=" + escape(pMsg) + "&url=" + pURL + "&lines="+ pLines +"&referrer="+ escape(document.referrer));
	}

	request = null;
}
