/* 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, 'POST');		
}

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, 'POST');
		}
						
		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 = 1;
var showNum = 0;
function SubCateView(e, obj, num)
{
	var from = e?e.relatedTarget:event.fromElement;

    while(from) {
        if(from == obj) return;
        from = from.parentNode;
    }

	SubCateAllHidden();
	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;   
        }   
    }
	
	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";

}

function SubCateView2(e, obj, num)
{	
	var from = e?e.relatedTarget:event.fromElement;

    while(from) {
        if(from == obj) return;
        from = from.parentNode;
    }
	$('sub_cate_'+num).style.display = '';
	
	$("sub_cate_li_"+num).className="bg1 f_white";
	
}

function SubCateHidden(e, obj)
{	
	if(backCateViewNum == null) return;
	var to = e?e.relatedTarget:event.toElement;

    while(to) {
        if(to == obj) return;
        to = to.parentNode;
    }

	$("sub_cate_li_" + backCateViewNum).className = "bg2 f_white";
	$('sub_cate_' + backCateViewNum).style.display = 'none';
}

function SubCateAllHidden()
{	
	var cateTempNum = 1;
	while(true)
	{
		try{
			$("sub_cate_li_" + cateTempNum).className = "bg2 f_white";
			$('sub_cate_' + cateTempNum).style.display = 'none';
		}catch(e){
			break;
		}

		
		cateTempNum++;
	}
}

function SubCateHidden2(e, obj, num)
{	
	var to = e?e.relatedTarget:event.toElement;

    while(to) {
        if(to == obj) return;
        to = to.parentNode;
    }

	$('sub_cate_' + num).style.display = 'none';
	$("sub_cate_li_" + num).className = "bg2 f_white";
}

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+");'>"+
		"<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='SubCateView2(arguments[0],this,"+i+");' onmouseout='SubCateHidden2(arguments[0],this,"+i+");'></ul>";
		div2.appendChild(div3);
		
		
		
		var ul = $('sub_cate_ul' + i);
		for (var j = 1; j < productSubCateArr[i - 1].length; j++) {
			var subTotalCateCode = ProductGetSubCateCode(ProductGetCateCode(productCate[5][i].catecode), productSubCateArr[i - 1][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[i - 1][j].catecode + "&cateNum=" + productSubCateArr[i - 1][j].num + 
			"&topNum=" + productSubCateArr[i - 1][j].topnum + "&totalCateCode=" + subTotalCateCode + "'>" + 
			"<img src='/images/common/icon/bu_arrow_gray2.gif' title='' />"+
			productSubCateArr[i - 1][j].catename + "</a></li>";
			ul.innerHTML += html;			
		}
			
	}
	
}

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' title='목록닫기' /></a>";
		RollView('');
	}else{
		rollObj.innerHTML = "<a href='javascript:UnRoll(2)'><img src='/images/common/btn/btn_catemu_open.gif' title='목록펼침' /></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 (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 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;
}



