/* Copyright (c) 2011 Smileweb co., Ltd.  All rights reserved.  www.smileweb.co.kr */
var serviceKey = new Array(12)
var serviceData = new Array(10)
var serviceDataIndex = new Array(10)
var makeform = new Array();
var svNum = 0 ;
var callNum =0;
var serverflag = true;
var serviceflag = false;
var serviceTid;
var autoRunFlag = true;
var serviceWaiteData = new Array();
var serviceWaiteDataNum = 0;
var notResetCheckNum = false;

function ServiceSetConfig(config) {
	switch (config.service) {
		case "best" : serviceKey[0] = config; break;
		case "new" : serviceKey[1] = config; break;
		case "special" : serviceKey[2] = config; break;
		case "seller" : serviceKey[3] = config; break;
		case "hot" : serviceKey[4] = config; break;
		case "hit" : serviceKey[5] = config; break;
		case "good" : serviceKey[6] = config; break;
		case "etc1" : serviceKey[7] = config; break;
		case "etc2" : serviceKey[8] = config; break;
		case "etc3" : serviceKey[9] = config; break;
		case "etc4" : serviceKey[10] = config; break;
		case "today" : serviceKey[11] = config; break;
	}

	if (config.s_autoRun == 'Y') {
		serviceWaiteData[serviceWaiteData.length] = GetServiceSvNum(config.service);
		CallOKResult();
	}
}

function makeFormCheck2(str) {
	if (str.length > 0) {
		autoRunFlag = true;
		serviceWaiteDataNum++;
	}
}

function makeFormCheck3() {
	if (autoRunFlag) {
		clearInterval(serviceTid);
		autoRunFlag = false;
		if(serviceWaiteData[serviceWaiteDataNum] == null) return;
		ServiceShopList(serviceKey[serviceWaiteData[serviceWaiteDataNum]].s_shopListId,'',serviceKey[serviceWaiteData[serviceWaiteDataNum]].service);
	}
}

function CallOKResult() {
	serviceTid = setInterval('makeFormCheck3()', 50);
}

function GetServiceSvNum(service) {
	var num = 0;
	switch (service) {
		case "best" : num = 0; break;
		case "new" : num = 1; break;
		case "special" : num = 2; break;
		case "seller" : num = 3; break;
		case "hot" : num = 4; break;
		case "hit" : num = 5; break;
		case "good" : num = 6; break;
		case "etc1" : num = 7; break;
		case "etc2" : num = 8; break;
		case "etc3" : num = 9; break;
		case "etc4" : num = 10; break;
		case "today" : num = 11; break;
	}
	return num;
}

function ServiceShopList(eId, catecode, service) {
	svNum = GetServiceSvNum(service);

	try {
		if (svNum == 0 && c_key.c_bestCateListId != null) {
			for (var i = 1; i <= _swid(c_key.c_bestCateListId).childNodes.length; i++) {
				_swid('bestCateSelect' + i).className = '';
			}
			_swid(eId).className = 'f_blue f_bold';
		}
	}
	catch(e){}
	if (serviceKey[svNum].s_autoRun == null || serviceKey[svNum].s_autoRun == 'N') {
		if (eId == "notcallback") {
			serverflag = false;
		}else {
			if (eId == "sevicecall") serviceflag = true;
		}

		if (serviceData[svNum] != null && serviceData[svNum].length > 0) {
			SetServiceShopList2(serviceData[svNum])
		}else {
			var param = "";
			if(serviceKey[svNum].s_addWhere != null) param = "&" + serviceKey[svNum].s_addWhere;
			new ajax.xhr.Request("/common/inc/shop_menagement.php", "cutMname=" + serviceKey[svNum].s_shopCutName + "&cate1=" + catecode + "&" + service + "_yn=Y&pageNum=" + serviceKey[svNum].s_shopCnt + "&orderBy=newid()"+param, SetServiceShopList, 'POST');
		}
	}else {
		serverflag = false;
		if (serviceData[svNum] != null && serviceData[svNum].length > 0) {
			if (serviceKey[svNum].s_dataSave == 'N') {
				var param = "";
				if(serviceKey[svNum].s_addWhere != null ) param = "&" + serviceKey[svNum].s_addWhere;

				new ajax.xhr.Request("/common/inc/shop_menagement.php", "cutMname=" + serviceKey[svNum].s_shopCutName + "&cate1=" + catecode + "&" + service + "_yn=Y&pageNum=" + serviceKey[svNum].s_shopCnt + "&orderBy=newid()"+param, SetServiceShopList, 'POST');
			}else {
				SetServiceShopList2(serviceData[svNum])
			}
		}else {
			var param = "";
			if(serviceKey[svNum].s_addWhere != null ) param = "&" + serviceKey[svNum].s_addWhere;
			if(serviceKey[svNum].s_orderBy != null)	param += "&orderBy=" + serviceKey[svNum].s_orderBy;
			else param += "&orderBy=newid()";

			new ajax.xhr.Request("/common/inc/shop_menagement.php", "cutMname=" + serviceKey[svNum].s_shopCutName + "&cate1=" + catecode + "&" + service + "_yn=Y&pageNum=" + serviceKey[svNum].s_shopCnt + param, SetServiceShopList, 'POST');
		}
	}
}
function ServiceShopBestSellerList(service, flag) {
	svNum = GetServiceSvNum(service);
	notResetCheckNum = flag;
	var param = "";
	if (serviceKey[svNum].s_addWhere != null) param = "&" + serviceKey[svNum].s_addWhere;
	if (serviceKey[svNum].s_orderBy != null) param += "&orderBy=" + serviceKey[svNum].s_orderBy;
	else param += "&orderBy=newid()";

	new ajax.xhr.Request("/common/inc/shop_menagement.php", "cutMname=" + serviceKey[svNum].s_shopCutName + "&" + service + "_yn=Y&pageNum=" + serviceKey[svNum].s_shopCnt + param, SetServiceShopBestSellerList, 'POST');
}

function SetServiceShopList2(loaddata) {
	if (serverflag && !serviceflag) {
		if (serviceKey[svNum].s_slideBarView != null && serviceKey[svNum].s_slideBarView > 0) {
			var makeLoadData = ServiceMakeSlideBar(loaddata);
			if (serviceKey[svNum].s_autoRun == 'Y') {
				new MakeForm(loaddata, serviceKey[svNum].s_shopListId, serviceKey[svNum].s_shopListForm, makeFormCheck2, serviceKey[svNum].service);
			}else {
				new MakeForm(makeLoadData, serviceKey[svNum].s_shopListId, serviceKey[svNum].s_shopListForm, makeFormCheck, serviceKey[svNum].service);
			}
		}else {
			new MakeForm(loaddata, serviceKey[svNum].s_shopListId, serviceKey[svNum].s_shopListForm, makeFormCheck, serviceKey[svNum].service);
		}
	}else {
		if (serviceflag) {
			if (serviceKey[svNum].s_slideBarView != null && serviceKey[svNum].s_slideBarView > 0) {
				var makeLoadData = ServiceMakeSlideBar(loaddata);
				new MakeForm(makeLoadData, serviceKey[svNum].s_shopListId, serviceKey[svNum].s_shopListForm, ServiceCall, serviceKey[svNum].service);
			}else {
				new MakeForm(loaddata, serviceKey[svNum].s_shopListId, serviceKey[svNum].s_shopListForm, ServiceCall, serviceKey[svNum].service);
			}
		}else {
			if (serviceKey[svNum].s_slideBarView != null && serviceKey[svNum].s_slideBarView > 0) {
				var makeLoadData = ServiceMakeSlideBar(loaddata);
				if (serviceKey[svNum].s_autoRun == 'Y') {
					new MakeForm(makeLoadData, serviceKey[svNum].s_shopListId, serviceKey[svNum].s_shopListForm, makeFormCheck2, serviceKey[svNum].service);
				}else {
					new MakeForm(makeLoadData, serviceKey[svNum].s_shopListId, serviceKey[svNum].s_shopListForm, null, serviceKey[svNum].service);
				}
			}else {
				if (serviceKey[svNum].s_autoRun == 'Y') {
					new MakeForm(loaddata, serviceKey[svNum].s_shopListId, serviceKey[svNum].s_shopListForm, makeFormCheck2, serviceKey[svNum].service);
				}else {
					new MakeForm(loaddata, serviceKey[svNum].s_shopListId, serviceKey[svNum].s_shopListForm, null, serviceKey[svNum].service);
				}
			}
		}
	}
	serverflag = true;
	serviceflag = false;
}

function ServiceNextSlide(service) {

	svNum = GetServiceSvNum(service);

	if (serviceKey[svNum].s_slideBarView >= serviceData[svNum].length) return;

	if (serviceData[svNum].length-1 == serviceDataIndex[svNum]) {
		serviceDataIndex[svNum] = 0;
	}else {
		serviceDataIndex[svNum] = serviceDataIndex[svNum]+1;
	}
	ServiceShopList(serviceKey[svNum].s_shopListId, null, serviceKey[svNum].service);
}

function ServicePreSlide(service) {

	svNum = GetServiceSvNum(service);

	if (serviceKey[svNum].s_slideBarView >= serviceData[svNum].length) return;

	if (serviceDataIndex[svNum] == 0) {
		serviceDataIndex[svNum] = serviceData[svNum].length-1;
	}else {
		serviceDataIndex[svNum] = serviceDataIndex[svNum]-1;
	}
	ServiceShopList(serviceKey[svNum].s_shopListId, null, serviceKey[svNum].service);
}

function ServiceMakeSlideBar(data) {
	var makeLoadData = new Array();
	var dataNum = serviceDataIndex[svNum];
	var j = 0;

	for (var i = 0; i < serviceKey[svNum].s_slideBarView; i++) {
		if ( serviceData[svNum].length > serviceKey[svNum].s_slideBarView ) {
			if ( data[dataNum] != null  ) {
				makeLoadData[makeLoadData.length] = data[dataNum];
			}else {
				makeLoadData[makeLoadData.length] = data[j];
				j++;
			}
		}else {
			makeLoadData[makeLoadData.length] = data[dataNum];
		}
		dataNum++;
	}
	return makeLoadData;
}

function SetServiceShopList(xmlDoc) {
	var code = getNodeValue(xmlDoc.getElementsByTagName('code'));

	if (code == 'success') {
		var loaddata = eval("(" + getNodeValue(xmlDoc.getElementsByTagName('data')) + ")");
		//so@101221
		if (serviceKey[svNum].s_dataSave == 'Y' || serviceKey[svNum].s_dataSave == null) {
			serviceData[svNum] = loaddata;
			serviceDataIndex[svNum] = 0;
		}
		SetServiceShopList2(loaddata);
		if (svNum == "11" && loaddata.length == 0) {
			new ajax.xhr.Request("/common/inc/todayshop_banner.php", "", SetTodayBanner, 'POST');
		}
	}
}

function SetServiceShopBestSellerList(xmlDoc) {
	var code = getNodeValue(xmlDoc.getElementsByTagName('code'));

	if (code == 'success') {
		var loaddata = eval("(" + getNodeValue(xmlDoc.getElementsByTagName('data')) + ")");
		if (serviceKey[svNum].s_dataSave == 'Y' || serviceKey[svNum].s_dataSave == null) {
			serviceData[svNum] = loaddata;
			serviceDataIndex[svNum] = 0;
		}
		if (notResetCheckNum) new MakeForm(loaddata, serviceKey[svNum].s_shopListId, serviceKey[svNum].s_shopListForm, null, "checkNumNotReset");
		else new MakeForm(loaddata, serviceKey[svNum].s_shopListId, serviceKey[svNum].s_shopListForm, null, null);
	}
}

function SetTodayBanner(xmlDoc) {
	var code = getNodeValue(xmlDoc.getElementsByTagName('code'));

	if (code == 'success') {
		if (getNodeValue(xmlDoc.getElementsByTagName('todayshop_img')) != "") {
			ChildNodesDel("todayServiceList");
			var dlObj = _swid("todayServiceList");
			var newDd = document.createElement("dd");
			newDd.innerHTML = "<img src='"+getNodeValue(xmlDoc.getElementsByTagName('todayshop_img'))+"'/>"
			dlObj.appendChild(newDd);
		}
	}
}
