/* Copyright (c) 2009 Smileweb co., Ltd.  All rights reserved.  www.smileweb.co.kr */
var serviceKey = new Array(10)
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 "etc5" : serviceKey[11] = config; break;
		case "etc6" : serviceKey[12] = config; break;
		case "etc7" : serviceKey[13] = config;  break;
		case "etc8" : serviceKey[14] = 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 "etc5" : num = 11;  break;
		case "etc6" : num = 12;  break;
		case "etc7" : num = 13;  break;
		case "etc8" : num = 14;  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 <= $(c_key.c_bestCateListId).childNodes.length; i++) {
				$('bestCateSelect' + i).className = '';
			}
			$(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_menagement2.php", "cutMname=" + serviceKey[svNum].s_shopCutName + "&cate1=" + catecode + "&" + service + "_yn=Y&pageNum=" + serviceKey[svNum].s_shopCnt + "&orderBy=newid()"+param, SetServiceShopList, 'GET');
		}
	}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_menagement2.php", "cutMname=" + serviceKey[svNum].s_shopCutName + "&cate1=" + catecode + "&" + service + "_yn=Y&pageNum=" + serviceKey[svNum].s_shopCnt + "&orderBy=newid()"+param, SetServiceShopList, 'GET');
			}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_menagement2.php", "cutMname=" + serviceKey[svNum].s_shopCutName + "&cate1=" + catecode + "&" + service + "_yn=Y&pageNum=" + serviceKey[svNum].s_shopCnt + param, SetServiceShopList, 'GET');
		}
	}
}
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_menagement2.php", "cutMname=" + serviceKey[svNum].s_shopCutName + "&" + service + "_yn=Y&pageNum=" + serviceKey[svNum].s_shopCnt + param, SetServiceShopBestSellerList, 'GET');
}

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' ) ) + ")" );
		if (serviceKey[svNum].s_dataSave == 'Y' || serviceKey[svNum].s_dataSave == null) {
			serviceData[svNum] = loaddata;
			serviceDataIndex[svNum] = 0;
		}
		
		SetServiceShopList2(loaddata);
	}
}


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);
	}
}
