CategoryManager = function(divobj, imgserver, imgroot, catediv_idx, selvalue)
{
	var DEBUG = false;
	var targetObj = divobj;
	var areadiv_1 = "area_depth_1";
	var areadiv_2 = "area_depth_2";
	var sosokdiv = "sosokdiv";
	var prizediv = "prizediv";
	var catediv_1 = "cate_depth_1";
	var catediv_2 = "cate_depth_2";
	var catediv_3 = "cate_depth_3";
	
	var cate_all = "/ajax/ajax.cate.all";
	var cate_depth_1 = "/ajax/ajax.cate.depth_1";
	var cate_depth_2 = "/ajax/ajax.cate.depth_2_";
	var cate_depth_3 = "/ajax/ajax.cate.depth_3_";
	var area_depth_1 = "/ajax/ajax.area.depth_1";
	var area_depth_2 = "/ajax/ajax.area.depth_2_";
	var sosok = "/ajax/ajax.sosok";
	var prize111 = "/ajax/ajax.prize";
	var cate_postfix = ".xml";
	
	//_debug(targetObj);
	
	// Å¬·´ ¸ÞÀÎÀÇ ÀüÃ¼ Ä«Å×°í¸® ¸ñ·Ï 
	this.createMainList = function()
	{
		_sendRequest(displayMainCategory, '', 'GET', cate_all+cate_postfix);
	}
	
	// Áö¿ª 1Â÷ Ä«Å×°í¸® ¸ñ·Ï
	this.createAreaDepth1 = function()
	{
		_sendRequest(displayAreaDepth1, '', 'GET', area_depth_1+cate_postfix);
	}
	
	// Áö¿ª 2Â÷ Ä«Å×°í¸® ¸ñ·Ï
	this.createAreaDepth2 = function(cateDepth1)
	{
		_sendRequest(displayAreaDepth2, '', 'GET', area_depth_2 + cateDepth1 + cate_postfix);
	}
	
	this.createPrizeList = function()
	{
		_sendRequest(displayPrizeList, '', 'GET', prize111+cate_postfix);
	}
	
	// ¼Ò¼Ó Ä«Å×°í¸® ¸ñ·Ï
	this.createSosok = function()
	{
		_sendRequest(displaySosok, '', 'GET', sosok+cate_postfix);
	}
	
	// Å¬·´ 1Â÷ Ä«Å×°í¸® ¸ñ·Ï
	this.createCateDepth1 = function(divobj)
	{
		_sendRequest(displayCateDepth1, '', 'GET', cate_depth_1+cate_postfix);
	}
	
	// Å¬·´ 2Â÷ Ä«Å×°í¸® ¸ñ·Ï
	this.createCateDepth2 = function(cateDepth1)
	{
		targetObj = cateDepth1;
		_sendRequest(displayCateDepth2, '', 'GET', cate_depth_2 + cateDepth1 + cate_postfix);
	}
	
	// Å¬·´ 3Â÷ Ä«Å×°í¸® ¸ñ·Ï
	this.createCateDepth3 = function(cateDepth2)
	{
		targetObj = cateDepth2;
		_sendRequest(displayCateDepth3, '', 'GET', cate_depth_3 + cateDepth2 + cate_postfix);
	}
	
	function _debug(msg)
	{
		if(DEBUG)
			alert("[DEBUG] " + msg);
	}
	function _error(msg)
	{
		alert("[ERROR] " + msg);
	}
	
	// Å¬·´¸ÞÀÎÀÇ Ä«Å×°í¸® Á¤º¸ Ç¥½Ã
	function displayMainCategory(obj)
	{
		if(obj.readyState==4)
		{
			//alert(obj.responseText);
			var xdoc = obj.responseXML;
			var main_cateno = xdoc.getElementsByTagName("cateno");
			var main_catecode = xdoc.getElementsByTagName("catecode");
			var main_catename = xdoc.getElementsByTagName("catename");
			_debug(main_cateno.length + " : ");
			
			var sub_cateno = null;
			var sub_catecode = null;
			var sub_catename = null;
			var tableData = "";
			var subTableData = "";
			  
			tableData += "<table width='100%' cellpadding='0' cellspacing='0' border='0'>\n";
			if(main_catename.length>0)
			{
				for(var i=0; i<main_catename.length; i++)
				{
					// 1Â÷ Ä«Å×°í¸®
					tableData += "  <tr height='23'>\n";
			    	    	tableData += "    <td class='default_main_clubcate_subtitle'><img src='" + imgserver + "/" + imgroot + "/main/image/dc_left_clubtriangle_icon.gif' hspace=4>";
			    	    	tableData += "<a target='papermain' href='search/cate_list.jsp?depth1=" + main_cateno[i].firstChild.nodeValue + "'><font class='default_main_clubcate_subtitle'>" + main_catename[i].firstChild.nodeValue + "</font></a></td>\n";
			    	    	tableData += "  </tr>\n";
			    	    	
			    	    	// ÇØ´ç 1Â÷ Ä«Å×°í¸®¿¡ µî·ÏµÈ ÇÏÀ§ Ä«Å×°í¸® ¸ñ·ÏÀ» ¸®ÅÏ¹Þ´Â´Ù.
			    	    	//var subText = this.createSubList(main_cateno[i].firstChild.nodeValue);
			    	    	sub_cateno = xdoc.getElementsByTagName("cateno_" + main_cateno[i].firstChild.nodeValue);
			    	    	sub_catecode = xdoc.getElementsByTagName("catecode_" + main_cateno[i].firstChild.nodeValue);
			    	    	sub_catename = xdoc.getElementsByTagName("catename_" + main_cateno[i].firstChild.nodeValue);
			    	    	sub_cateparent = xdoc.getElementsByTagName("cateparent_" + main_cateno[i].firstChild.nodeValue);
			    	    	_debug(main_catename.length + " : " + sub_catename.length + " : " + main_cateno[i].firstChild.nodeValue);
			    	    	subTableData = "";
			    	    	if(sub_catename.length>0) 
			    	    	{
	    	    		    		subTableData += "  <tr>\n";
		    				subTableData += "    <td style='padding-left:4px;padding-right:5px;line-height:150%;'>\n";
				    	    	for(var subi=0; subi<sub_catename.length; subi++)
			    	    		{
			    	    			if(sub_cateparent[subi].firstChild.nodeValue==main_cateno[i].firstChild.nodeValue) {
					    			subTableData += "<a target='papermain' href='search/cate_list.jsp?depth1=" + main_cateno[i].firstChild.nodeValue + "&depth2=" + sub_cateno[subi].firstChild.nodeValue + "'>" + sub_catename[subi].firstChild.nodeValue + "</a>";
								if(sub_catename.length-1>subi)
									subTableData += "/";
				    			}
				    	    	}
	    	    		    		subTableData += "    </td>\n";
		    				subTableData += "  </tr>\n";
		    				tableData += subTableData;
				    	}
				}
			}
			tableData += "</table>";
			//_debug(tableData);
			document.getElementById(divobj).innerHTML = tableData;
		}
	}
	
	// Å¬·´¸¸µé±âÀÇ Áö¿ª 1Â÷ Ä«Å×°í¸®
	function displayAreaDepth1(obj)
	{
		if(obj.readyState==4)
		{
			//alert(obj.responseText);
			var xdoc = obj.responseXML;
			var main_cateno = xdoc.getElementsByTagName("cateno");
			var main_catename = xdoc.getElementsByTagName("catename");
			_debug(main_cateno.length + " : ");
			
			var tableData = "";
			  
			tableData += "<select name='area_1' onChange='javascript:changeAreaCate(\"area_1\");'>\n";
			tableData += "	<option value=''>½Ã/µµ ÀüÃ¼</option>\n";
			if(main_catename.length>0)
			{
				for(var i=0; i<main_catename.length; i++)
				{
					// 1Â÷ Ä«Å×°í¸®
					if(main_cateno[i].firstChild.nodeValue==selvalue)
						tableData += "<option value='" + main_cateno[i].firstChild.nodeValue + "' selected>" + main_catename[i].firstChild.nodeValue + "</option>\n";
					else
						tableData += "<option value='" + main_cateno[i].firstChild.nodeValue + "'>" + main_catename[i].firstChild.nodeValue + "</option>\n";
				}
			}
			tableData += "</select>";
			//_debug(tableData);
			document.getElementById(areadiv_1).innerHTML = tableData;
		}
	}
	
	// Å¬·´¸¸µé±âÀÇ Áö¿ª 2Â÷ Ä«Å×°í¸®
	function displayAreaDepth2(obj)
	{
		if(obj.readyState==4)
		{
			//alert(obj.responseText);
			var xdoc = obj.responseXML;
			var main_cateno = xdoc.getElementsByTagName("cateno");
			var main_catename = xdoc.getElementsByTagName("catename");
			_debug(main_cateno.length + " : ");
			
			var tableData = "";
			
			tableData += "<select name='area_2' onChange='javascript:changeAreaCate(\"area_2\");'>\n";
			tableData += "	<option value=''>±¸/±º ÀüÃ¼</option>\n";
			if(main_catename.length>0)
			{
				for(var i=0; i<main_catename.length; i++)
				{
					// 2Â÷ Ä«Å×°í¸®
					if(main_cateno[i].firstChild.nodeValue==selvalue)
						tableData += "<option value='" + main_cateno[i].firstChild.nodeValue + "' selected>" + main_catename[i].firstChild.nodeValue + "</option>\n";
					else
						tableData += "<option value='" + main_cateno[i].firstChild.nodeValue + "'>" + main_catename[i].firstChild.nodeValue + "</option>\n";
				}
			}
			tableData += "</select>";
			_debug(tableData);
			document.getElementById(areadiv_2).innerHTML = tableData;
			document.getElementById(areadiv_2).style.display = "block";
		}
	}
	
	function displayPrizeList(obj)
	{
		if(obj.readyState==4)
		{
			var xdoc = obj.responseXML;
			var main_cateno = xdoc.getElementsByTagName("cateno");
			var main_catename = xdoc.getElementsByTagName("catename");
			var tableData = "";
			  
			tableData += "<select name='prize' onChange='javascript:changePrize();'>\n";
			tableData += "	<option value=''>Ç×¸ñ¼±ÅÃ</option>\n";
			if(main_catename.length>0)
			{
				for(var i=0; i<main_catename.length; i++)
				{
					if(main_cateno[i].firstChild.nodeValue==selvalue)
						tableData += "<option value='" + main_cateno[i].firstChild.nodeValue + "' selected>" + main_catename[i].firstChild.nodeValue + "</option>\n";
					else
						tableData += "<option value='" + main_cateno[i].firstChild.nodeValue + "'>" + main_catename[i].firstChild.nodeValue + "</option>\n";
				}
			}
			tableData += "</select>";
			document.getElementById(prizediv).innerHTML = tableData;
		}
	}
	
	// ¼Ò¼Ó Ä«Å×°í¸®
	function displaySosok(obj)
	{
		if(obj.readyState==4)
		{
			//alert(obj.responseText);
			var xdoc = obj.responseXML;
			var main_cateno = xdoc.getElementsByTagName("cateno");
			var main_catename = xdoc.getElementsByTagName("catename");
			_debug(main_cateno.length + " : ");
			
			var tableData = "";
			  
			tableData += "<select name='post'>\n";
			tableData += "	<option value=''>¼Ò¼ÓÀ» ¼±ÅÃÇÏ¼¼¿ä</option>\n";
			if(main_catename.length>0)
			{
				for(var i=0; i<main_catename.length; i++)
				{
					// 1Â÷ Ä«Å×°í¸®
					if(main_cateno[i].firstChild.nodeValue==selvalue)
						tableData += "<option value='" + main_cateno[i].firstChild.nodeValue + "' selected>" + main_catename[i].firstChild.nodeValue + "</option>\n";
					else
						tableData += "<option value='" + main_cateno[i].firstChild.nodeValue + "'>" + main_catename[i].firstChild.nodeValue + "</option>\n";
				}
			}
			tableData += "</select>";
			//_debug(tableData);
			document.getElementById(sosokdiv).innerHTML = tableData;
		}
	}
	
	// Å¬·´¸¸µé±âÀÇ ºÐ·ù 1Â÷ Ä«Å×°í¸®
	function displayCateDepth1(obj)
	{
		if(obj.readyState==4)
		{
			//alert(obj.responseText);
			var xdoc = obj.responseXML;
			var main_cateno = xdoc.getElementsByTagName("cateno");
			var main_catename = xdoc.getElementsByTagName("catename");
			_debug(main_cateno.length + " : ");
			
			var tableData = "";
			  
			tableData += "<select name='cate_" + targetObj + "_1' onChange='javascript:changeCate(cate_" + catediv_idx + "_1);'>\n";
			tableData += "	<option value=''>>ºÐ·ù¼±ÅÃ</option>\n";
			if(main_catename.length>0)
			{
				for(var i=0; i<main_catename.length; i++)
				{
					// 1Â÷ Ä«Å×°í¸®
					if(main_cateno[i].firstChild.nodeValue==selvalue)
						tableData += "<option value='" + main_cateno[i].firstChild.nodeValue + "' selected>" + main_catename[i].firstChild.nodeValue + "</option>\n";
					else
						tableData += "<option value='" + main_cateno[i].firstChild.nodeValue + "'>" + main_catename[i].firstChild.nodeValue + "</option>\n";
				}
			}
			tableData += "</select>";
			_debug(tableData);
			document.getElementById("cate_" + catediv_idx + "_1").innerHTML = tableData;
		}
	}
	
	// Å¬·´¸¸µé±âÀÇ Áö¿ª 2Â÷ Ä«Å×°í¸®
	function displayCateDepth2(obj)
	{
		if(obj.readyState==4)
		{
			//alert(obj.responseText);
			var xdoc = obj.responseXML;
			var main_cateno = xdoc.getElementsByTagName("cateno");
			var main_catename = xdoc.getElementsByTagName("catename");
			_debug(main_cateno.length + " : ");
			
			var tableData = "";
			
			tableData += "<select name='cate_" + catediv_idx + "_2' onChange='javascript:changeCate(cate_" + catediv_idx + "_2);'>\n";
			tableData += "	<option value=''>>ºÐ·ù¼±ÅÃ</option>\n";
			if(main_catename.length>0)
			{
				for(var i=0; i<main_catename.length; i++)
				{
					// 2Â÷ Ä«Å×°í¸®
					if(main_cateno[i].firstChild.nodeValue==selvalue)
						tableData += "<option value='" + main_cateno[i].firstChild.nodeValue + "' selected>" + main_catename[i].firstChild.nodeValue + "</option>\n";
					else
						tableData += "<option value='" + main_cateno[i].firstChild.nodeValue + "'>" + main_catename[i].firstChild.nodeValue + "</option>\n";
				}
			}
			tableData += "</select>";
			_debug(tableData);
			document.getElementById("cate_" + catediv_idx + "_2").innerHTML = tableData;
		}
	}
	
	// Å¬·´¸¸µé±âÀÇ Áö¿ª 3Â÷ Ä«Å×°í¸®
	function displayCateDepth3(obj)
	{
		if(obj.readyState==4)
		{
			//alert(obj.responseText);
			var xdoc = obj.responseXML;
			var main_cateno = xdoc.getElementsByTagName("cateno");
			var main_catename = xdoc.getElementsByTagName("catename");
			_debug(main_cateno.length + " : ");
			
			var tableData = "";
			
			tableData += "<select name='cate_" + catediv_idx + "_3' onChange='javascript:changeCate(cate_" + catediv_idx + "_3);'>\n";
			tableData += "	<option value=''>>ºÐ·ù¼±ÅÃ</option>\n";
			if(main_catename.length>0)
			{
				for(var i=0; i<main_catename.length; i++)
				{
					// 3Â÷ Ä«Å×°í¸®
					if(main_cateno[i].firstChild.nodeValue==selvalue)
						tableData += "<option value='" + main_cateno[i].firstChild.nodeValue + "' selected>" + main_catename[i].firstChild.nodeValue + "</option>\n";
					else
						tableData += "<option value='" + main_cateno[i].firstChild.nodeValue + "'>" + main_catename[i].firstChild.nodeValue + "</option>\n";
				}
			}
			tableData += "</select>";
			_debug(tableData);
			document.getElementById("cate_" + catediv_idx + "_3").innerHTML = tableData;
		}
	}
	
	//=====================================================
	function _chkAjaBrowser()
	{
		var a,ua = navigator.userAgent;
		this.bw= { 
		  safari    : ((a=ua.split('AppleWebKit/')[1])?a.split('(')[0]:0)>=124 ,
		  konqueror : ((a=ua.split('Konqueror/')[1])?a.split(';')[0]:0)>=3.3 ,
		  mozes     : ((a=ua.split('Gecko/')[1])?a.split(" ")[0]:0) >= 20011128 ,
		  opera     : (!!window.opera) && ((typeof XMLHttpRequest)=='function') ,
		  msie      : (!!window.ActiveXObject)?(!!_createHttpRequest()):false 
		}
		return (this.bw.safari||this.bw.konqueror||this.bw.mozes||this.bw.opera||this.bw.msie)
	}
	
	function _createHttpRequest()
	{
		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 _sendRequest(callback,data,method,url,async,sload,user,password)
	{
		var oj = _createHttpRequest();
		if( oj == null ) return null;
		
		var sload = (!!_sendRequest.arguments[5])?sload:false;
		if(sload || method.toUpperCase() == 'GET')url += "?";
		if(sload)url=url+"t="+(new Date()).getTime();
		
		var bwoj = new _chkAjaBrowser();
		var opera	  = bwoj.bw.opera;
		var safari	  = bwoj.bw.safari;
		var konqueror = bwoj.bw.konqueror;
		var mozes	  = bwoj.bw.mozes ;

		if(opera || safari || mozes){
			oj.onload = function () { callback(oj); }
		} else {
		
			oj.onreadystatechange =function () 
			{
				if ( oj.readyState == 4 ){
					callback(oj);
				}
			}
		}

		/**==============================================================
			Why cut parameter when using this function? 
		==============================================================**/
		//data = uriEncode(data);
		
		
		if(method.toUpperCase() == 'GET') {
			url += data
		}
		
		oj.open(method,url,async,user,password);

		setEncHeader(oj)

		//alert("////jslb_ajaxxx.js//// \n data:"+data+" \n method:"+method+" \n url:"+url+" \n async:"+async);
		
		oj.send(data);

		function setEncHeader(oj){
	
			/**=====================================
				Modified BY CWYOO 
			=====================================**/
			//var contentTypeUrlenc = 'application/x-www-form-urlencoded; charset=UTF-8';
			var contentTypeUrlenc = 'application/x-www-form-urlencoded; charset=EUC-KR';
			
			if(!window.opera){
				oj.setRequestHeader('Content-Type',contentTypeUrlenc);
			} else {
				if((typeof oj.setRequestHeader) == 'function')
					oj.setRequestHeader('Content-Type',contentTypeUrlenc);
			}	
			return oj
		}

		function uriEncode(data){

			if(data!=""){
				var encdata = '';
				var datas = data.split('&');
				for(i=1;i<datas.length;i++)
				{
					var dataq = datas[i].split('=');
					encdata += '&'+encodeURIComponent(dataq[0])+'='+encodeURIComponent(dataq[1]);
				}
			} else {
				encdata = "";
			}
			return encdata;
		}
		return oj
	}
}
