/* Copyright (c) 2009 Smileweb co., Ltd.  All rights reserved.  www.smileweb.co.kr */
var mapAllCateList;
var mapAllSubCateArray = new Array();
var mapRealCnt;
var mapTid;
var mapCnt = 0 ;
var mapCateTotalCode = "000000000000";



function SiteMap(){
	new ajax.xhr.Request("/common/inc/cate_list.php", "stage=L", SiteMapList, 'GET');		
}

function SiteMapList(xmlDoc)
{	
	
	var code = getNodeValue( xmlDoc.getElementsByTagName( 'code' ) );
	
	if (code == 'success') 
	{	
		var loaddata = eval( "(" + getNodeValue( xmlDoc.getElementsByTagName ( 'data' ) ) + ")" );
		
		mapAllCateList = loaddata;
			
		mapRealCnt = loaddata.length-1;

		for(var i = 1; i < loaddata.length; i++)
		{	
			new ajax.xhr.Request("/common/inc/cate_list.php", "stage=M&catenum=" + loaddata[i].num, SiteMapSubList, 'GET');
		}
						
		mapTid = setInterval('MapStartCheck()',50);
	}	
}

function SiteMapSubList(xmlDoc)
{	
	var code = getNodeValue( xmlDoc.getElementsByTagName( 'code' ) );
	
	if (code == 'success') {
		var loaddata = eval("(" + getNodeValue(xmlDoc.getElementsByTagName('data')) + ")");
		mapAllSubCateArray[mapCnt] = loaddata;
	}
	
	mapCnt = mapCnt+1;
}

function MapStartCheck()
{
	if (mapRealCnt == mapAllSubCateArray.length) {
		clearInterval(mapTid);		
		
		if (document.lastChild.nodeName == "HTML") {
			MakeSiteMap();
		}else {
			if (window.addEventListener) {
				window.addEventListener("load", MakeSiteMap, false)
			}else {
				window.attachEvent("onload", MakeSiteMap)
			}
		}
	}
}

function MakeSiteMap()
{
	var obj = $('mapAllCateList');

	var mapCateListId = new Array('map1','map2','map3','map4','map5');

	for (var i = 0; i < mapCateListId.length; i++) {
		ChildNodesDel(mapCateListId[i]);
	}		
	
	var mapRowNum = 0;	
			
	for (var i = 1; i < mapAllCateList.length; i++) 
	{	
		if (mapRowNum % 5 == 0) 
			mapRowNum = 0;
		var obj = $(mapCateListId[mapRowNum]);
		
		var topMapTotalCateCode = MapGetCateCode(mapAllCateList[i].catecode);

		var div = document.createElement("DIV");
		div.setAttribute("id", 'map_cate_' + i);

		var classValue="cate mg_r16";

		if ( i > 1 && (i % 5==0) )
		{
			classValue="cate";
		}

		var html = "<h1 class='"+classValue+"'><a href='/product/all_cate_main.php?stage=L" + 
			"&cateCode=" + mapAllCateList[i].catecode + "&cateNum=" + mapAllCateList[i].num + 
			"&topNum=" + mapAllCateList[i].topnum + "&totalCateCode=" + topMapTotalCateCode + 
			"'>" + mapAllCateList[i].catename +"</a></h1>";
		
		
		for (var k=0;k<mapAllSubCateArray.length ;k++ )
		{		
			var tnum;
			try{tnum = mapAllSubCateArray[k][1].topnum}catch(e){tnum=0}
			if( tnum == mapAllCateList[i].num)
			{
				for (var j = 1; j < mapAllSubCateArray[k].length; j++) 
				{
					var subMapTotalCateCode = MapGetSubCateCode(MapGetCateCode(mapAllCateList[i].catecode), mapAllSubCateArray[k][j].catecode);
					
					html += "<h2 class='mg_t5'><a href='/product/all_cate_list.php?stage=M" + 
					"&cateCode=" + mapAllSubCateArray[k][j].catecode + "&cateNum=" + mapAllSubCateArray[k][j].num + 
					"&topNum=" + mapAllSubCateArray[k][j].topnum + "&totalCateCode=" + subMapTotalCateCode + "'>" + 
					mapAllSubCateArray[k][j].catename + "</a></h2>";			
				}
				break;
			}
		}
		
		div.innerHTML = html;
		
		mapRowNum++;
		obj.appendChild(div);
		
	}
	
}


function MapGetCateCode(cateCode)
{
	var mapCateCode = new Array(4);
	mapCateCode[0] = mapCateTotalCode.substring(0,3);
	mapCateCode[1] = mapCateTotalCode.substring(3,6);
	mapCateCode[2] = mapCateTotalCode.substring(6,9);
	mapCateCode[3] = mapCateTotalCode.substring(9,12);
	
	
	for(var i=0; i < mapCateCode.length; i++){
		
		if (mapCateCode[i] == "000") {
			mapCateCode[i] = cateCode;
			break;	
		}
	}
	
	var returnValue = "";
	for(var i = 0; i < mapCateCode.length; i++)
	{		
		returnValue += mapCateCode[i].toString();
	}
	
	return returnValue;
}

function MapGetSubCateCode(topTotal, cateCode)
{
	var mapCateCode = new Array(4);
	mapCateCode[0] = topTotal.substring(0,3);
	mapCateCode[1] = topTotal.substring(3,6);
	mapCateCode[2] = topTotal.substring(6,9);
	mapCateCode[3] = topTotal.substring(9,12);
	
	
	for(var i=0; i < mapCateCode.length; i++){
		
		if (parseInt(mapCateCode[i]) == 0) {
			mapCateCode[i] = cateCode;
			break;	
		}
	}
	
	var returnValue = "";
	for(var i = 0; i < mapCateCode.length; i++)
	{		
			returnValue += mapCateCode[i].toString();
	}
	
	return returnValue;
}