/* Copyright (c) 2009 Smileweb co., Ltd.  All rights reserved.  www.smileweb.co.kr */
var productCate = new Array();

var productSubCateArr = new Array();	
var productCnt=0;
var ProductRealCnt=0;
var ProductTid;
var c_key;
productCate[4] = "000000000000";

function ProcuctSetCate(config){
	c_key = config;
	new ajax.xhr.Request("/common/inc/cate_list.php", "stage=L", ProductGetSubCateList, 'GET');		
}

function ProductGetSubCateList(xmlDoc)
{	
	
	var code = getNodeValue( xmlDoc.getElementsByTagName( 'code' ) );
	
	if (code == 'success') 
	{	
		var loaddata = eval( "(" + getNodeValue( xmlDoc.getElementsByTagName ( 'data' ) ) + ")" );
		
		productCate[5] = loaddata;
			
		var subStage = 	ProductGetStage(ProductGetStage(productCate[0]));		
		
		ProductRealCnt = loaddata.length-1;

		for(var i = 1; i < loaddata.length; i++)
		{	
			new ajax.xhr.Request("/common/inc/cate_list.php", "stage=" + subStage + "&catenum=" + loaddata[i].num, ProductSetSubCateList, 'GET');
		}
						
		ProductTid = setInterval('ProductStartCheck()',50);
	}	
}

function ProductSetSubCateList(xmlDoc)
{	
	var code = getNodeValue( xmlDoc.getElementsByTagName( 'code' ) );
	
	if (code == 'success') {
		var loaddata = eval("(" + getNodeValue(xmlDoc.getElementsByTagName('data')) + ")");
		productSubCateArr[productCnt] = loaddata;
	}
	
	productCnt = productCnt+1;
}

function ProductStartCheck()
{
	if (ProductRealCnt == productSubCateArr.length) {
		clearInterval(ProductTid);		
		
		if (document.lastChild.nodeName == "HTML") {
			ProductMakeList();
		}else {
			if (window.addEventListener) {
				window.addEventListener("load", ProductMakeList, false)
			}else {
				window.attachEvent("onload", ProductMakeList)
			}
		}
	}
}

function ProductGetStage(stage)
{
	switch(stage)
	{
		case "L":	return "M"; break;	
		case "M":	return "S"; break;
		case "S":	return "SS"; break;		
		default : return "L"; break;
	}
}

var backCateViewNum = 0;
var showNum = 0;
var cateMenuHidenTime = 300;
var cateMenuHide;

function ClearCateHide(){
	if (cateMenuHide)	clearTimeout(cateMenuHide)
}

function SubCateView(e, obj, num)
{
	ClearCateHide();
	var from = e?e.relatedTarget:event.fromElement;

    while(from) {
        if(from == obj) return;
        from = from.parentNode;
    }

	var oElement = $("sub_cate_li_"+num);

	if(oElement == null) return;
    
	var curleft = 0;  
    var curtop = 0;  

    if (oElement.offsetParent)   
    {
        while (oElement.offsetParent)  
        {   
            curleft += ( oElement.offsetLeft - oElement.scrollLeft );  
            curtop += ( oElement.offsetTop - oElement.scrollTop );   
            oElement = oElement.offsetParent;   
        }   
    }

	if(backCateViewNum != num) SubCateHidden3(backCateViewNum);
	backCateViewNum = num;
	
	var obj = $('sub_cate_' + num);
	obj.style.left = (curleft + 120) + 'px';
	obj.style.top = (curtop - 21) + 'px';
	obj.style.display = '';
	$("sub_cate_li_"+num).className="bg1 f_white";

}

var tempCateViewNum;
function SubCateHidden2()
{
	$("sub_cate_li_" + tempCateViewNum).className = "bg2 f_white";
	$('sub_cate_' + tempCateViewNum).style.display = 'none';
}

function SubCateHidden3(num)
{
	if ( num == 0 )
	{
		return;
	}
	$("sub_cate_li_" + num).className = "bg2 f_white";
	$('sub_cate_' + num).style.display = 'none';
}

function SubCateHidden(num)
{		
	tempCateViewNum = num;
	cateMenuHide=setTimeout("SubCateHidden2()",cateMenuHidenTime);
}

function ProductMakeList()
{
	var dotLineIndex = 0;
	var dotLineCnt = 0;
	var dotLine = new Array();
	dotLine = c_key.c_cateLine.split(',');
	
	var obj = $(c_key.c_cateListId);

	for (var i = 1; i < productCate[5].length; i++) 
	{		
		
		var topTotalCateCode = ProductGetCateCode(productCate[5][i].catecode);
		
		var html = "<li id='sub_cate_li_"+i+"' onmouseover='SubCateView(arguments[0],this,"+i+");' onmouseout='SubCateHidden("+i+");'>"+
		"<a class='cata' href='/product/all_cate_main.php?stage=" + ProductGetStage(productCate[0]) + "&cateCode=" + productCate[5][i].catecode + 
		"&cateNum=" + productCate[5][i].num + "&topNum=" + productCate[5][i].topnum + "&totalCateCode=" + topTotalCateCode + 
		"'>" + productCate[5][i].catename + "</a></li>";
		
		obj.innerHTML += html;
		
		try {
			dotLineCnt++;
			if (dotLine[dotLineIndex] == dotLineCnt) {
				obj.innerHTML += '<li class="line_h_dot"></li>';
				dotLineCnt = 0;
				dotLineIndex++;
			}
		}catch(e){}

		
		
		
		var div = document.createElement("div");
		div.className = 'main_cate2';
		div.setAttribute("id", 'sub_cate_' + i);
		div.style.display = 'none';
		div.style.position="absolute";		
		div.style.filter ='alpha(opacity=80)';
		div.style.opacity = "0.8";  
		div.style.zIndex = '99';
		div.style.backgroundColor = 'white';
		document.body.appendChild(div);
		
		var div2 = document.createElement("div");
		div2.className = 'cate';
		div.appendChild(div2);
		
		var div3 = document.createElement("div");
		div3.className = 'cate_list';
		div3.innerHTML = "<ul style='z-index:99;' id='sub_cate_ul" + i + "' onmousemove='SubCateView(arguments[0],this,"+i+");' onmouseout='SubCateHidden("+i+");'></ul>";
		div2.appendChild(div3);
		
		
		
		var ul = $('sub_cate_ul' + i);
		
		for (var k=0;k<productSubCateArr.length ;k++ )
		{		
			var tnum;
			try{tnum = productSubCateArr[k][1].topnum}catch(e){tnum=0}
			if( tnum == productCate[5][i].num)
			{
				
				for (var j = 1; j < productSubCateArr[k].length; j++) {
					var subTotalCateCode = ProductGetSubCateCode(ProductGetCateCode(productCate[5][i].catecode), productSubCateArr[k][j].catecode);
					
					var html = "<li onmouseover='this.className=\"bg1\"; ' onmouseout='this.className=\"bg2\"; ' >"+
					"<a href='/product/all_cate_main.php?stage=" + ProductGetStage(ProductGetStage(productCate[0])) + 
					"&cateCode=" + productSubCateArr[k][j].catecode + "&cateNum=" + productSubCateArr[k][j].num + 
					"&topNum=" + productSubCateArr[k][j].topnum + "&totalCateCode=" + subTotalCateCode + "'>" + 
					"<img src='/images/common/icon/bu_arrow_gray2.gif' alt='' />"+
					productSubCateArr[k][j].catename + "</a></li>";
					ul.innerHTML += html;			
				}
				break;
			}			
		}
		
	}
	
}

function UnRoll(stage){
	var rollObj = $('rollOverBtn');
	if(stage == '2'){
		rollObj.innerHTML = "<a href='javascript:UnRoll(1)'><img src='/images/common/btn/btn_catemu_close.gif' alt='목록닫기' /></a>";
		RollView('');
	}else{
		rollObj.innerHTML = "<a href='javascript:UnRoll(2)'><img src='/images/common/btn/btn_catemu_open.gif' alt='목록펼침' /></a>";
		RollView('none');
	}
}

function RollView(str){
	for (var i = 1; i < productCate[5].length; i++) {
		var obj = $('sub_cate_'+i);
		obj.style.display = str;
	}
}


function ProductGetCateCode(cateCode)
{
	var ProductCateCode = new Array(4);
	ProductCateCode[0] = productCate[4].substring(0,3);
	ProductCateCode[1] = productCate[4].substring(3,6);
	ProductCateCode[2] = productCate[4].substring(6,9);
	ProductCateCode[3] = productCate[4].substring(9,12);
	
	
	for(var i=0; i < ProductCateCode.length; i++){
		
		if (parseInt(ProductCateCode[i]) == 0) {
			ProductCateCode[i] = cateCode;
			break;	
		}
	}
	
	var returnValue = "";
	for(var i = 0; i < ProductCateCode.length; i++)
	{		
			returnValue += ProductCateCode[i].toString();
	}
	
	return returnValue;
}

function ProductGetSubCateCode(topTotal, cateCode)
{ 
	var ProductCateCode = new Array(4);
	ProductCateCode[0] = topTotal.substring(0,3);
	ProductCateCode[1] = topTotal.substring(3,6);
	ProductCateCode[2] = topTotal.substring(6,9);
	ProductCateCode[3] = topTotal.substring(9,12);
	
	
	for(var i=0; i < ProductCateCode.length; i++){
		
		if (ProductCateCode[i] == "000") {
			
			ProductCateCode[i] = cateCode;
			break;	
		}
	}
	
	var returnValue = "";
	for(var i = 0; i < ProductCateCode.length; i++)
	{		
			returnValue += ProductCateCode[i].toString();
	}
	
	return returnValue;
}

function ProductGetTopSubCateCode(topTotal, cateCode)
{
	var ProductCateCode = new Array(4);
	ProductCateCode[0] = topTotal.substring(0,3);
	ProductCateCode[1] = topTotal.substring(3,6);
	ProductCateCode[2] = topTotal.substring(6,9);
	ProductCateCode[3] = topTotal.substring(9,12);
	
	
	switch(productCate[0])
	{
		case "L":	this.num=0 ; break;	
		case "M":	this.num=1 ; break;
		case "S":	this.num=2 ; break;		
		case "SS":	this.num=3 ; break;		
	}
	
	for (var i = this.num; i < ProductCateCode.length; i++) {
		ProductCateCode[i] = "000";
	}
	
	for(var i=0; i < ProductCateCode.length; i++){
		
		if (parseInt(ProductCateCode[i]) == 0) {
			ProductCateCode[i] = cateCode;
			break;	
		}
	}
	
	var returnValue = "";
	for(var i = 0; i < ProductCateCode.length; i++)
	{		
			returnValue += ProductCateCode[i].toString();
	}
	
	return returnValue;
}



