/* 메인 페이지 최상단 큰 상품 3개 노출 컨트롤하는 모듈.
 by 함승목.

1. var bigitem_infos 전역변수에 json 형태로 데이터가 있어야 함.
 - var bigitem_infos = <?=json_encode($bigitem_json)?>;  의 $bigitem_json 의 배열구조
Array
(
    [0](노출영역 인덱스. 현재 3개의 상품노출영역이 있으므로 0, 1, 2) => Array 
        (
			// 해당 노출영역에 노출할 상품들 정보
            [idx_0] => Array
                (
                    [GOODS_ID] => 22 // 상품 아이디
                    [GOODS_PRODUCTNAME] => Umbra FishHotel Bowl *White //상품명
                    [GOODS_QUANTITY] => 3 //재고수량
                    [GOODS_PURCHASE_ENDDATE] => 1970/01/01 //공구 종료일 - 공동구매일때만 참조
                    [NORMAL_PRICE] => 0.00 // 가격
                    [GOODS_PRICE] => 26.50
                    [GOODS_IMGURL] => http://htail.ward.pe.kr/maintools_images/vip_goods_hit_3.jpg // 이미지 URL
                    [NORMAL_PRICE_DP] => none // 히트 : none, 공동구매 : block
                    [AMOUNT_DP] => none       // 히트 : none, 공동구매 : block
                    [ENDDATE_DP] => none      // 히트 : none, 공동구매 : block
                    [ICON_KIND] => hit        // 히트 : hit,  공동구매 : purchase
                )
 
            [idx_1] => Array
                (
                    [GOODS_ID] => 23
                    [GOODS_PRODUCTNAME] => Invicta Speedway S Men's Steel Chrono Watch
                    [GOODS_QUANTITY] => 3
                    [GOODS_PURCHASE_ENDDATE] => 1970/01/01
                    [NORMAL_PRICE] => 0.00
                    [GOODS_PRICE] => 85.00
                    [GOODS_IMGURL] => http://htail.ward.pe.kr/maintools_images/vip_goods_hit_0.jpg
                    [NORMAL_PRICE_DP] => none
                    [AMOUNT_DP] => none
                    [ENDDATE_DP] => none
                    [ICON_KIND] => hit
                )
 
            [idx_2] => Array
                (
                    [GOODS_ID] => 371
                    [GOODS_PRODUCTNAME] => 일반상품1
                    [GOODS_QUANTITY] => 0
                    [GOODS_PURCHASE_ENDDATE] => 1970/01/01
                    [NORMAL_PRICE] => 0.00
                    [GOODS_PRICE] => 10,000.00
                    [GOODS_IMGURL] => http://htail.ward.pe.kr/maintools_images/vip_goods_hit_1.jpg
                    [NORMAL_PRICE_DP] => none
                    [AMOUNT_DP] => none
                    [ENDDATE_DP] => none
                    [ICON_KIND] => hit
                )
 
            [idx_3] => Array
                (
                    [GOODS_ID] => 26
                    [GOODS_PRODUCTNAME] => Chiasso Loop Office Chair - white
                    [GOODS_QUANTITY] => 3
                    [GOODS_PURCHASE_ENDDATE] => 1970/01/01
                    [NORMAL_PRICE] => 0.00
                    [GOODS_PRICE] => 218.00
                    [GOODS_IMGURL] => http://htail.ward.pe.kr/maintools_images/vip_goods_hit_2.jpg
                    [NORMAL_PRICE_DP] => none
                    [AMOUNT_DP] => none
                    [ENDDATE_DP] => none
                    [ICON_KIND] => hit
                )
 
        )
 
    [1] => Array
        (
            [idx_4] => Array
                (
                    [GOODS_ID] => 312
                    [GOODS_PRODUCTNAME] => asefasef
                    [GOODS_QUANTITY] => 0
                    [GOODS_PURCHASE_ENDDATE] => 1970/01/01
                    [NORMAL_PRICE] => 0.00
                    [GOODS_PRICE] => 1,000.00
                    [GOODS_IMGURL] => http://htail.ward.pe.kr/maintools_images/vip_goods_gonggu_0.jpg
                    [NORMAL_PRICE_DP] => none
                    [AMOUNT_DP] => none
                    [ENDDATE_DP] => none
                    [ICON_KIND] => hit
                )
 
            [idx_5] => Array
                (
                    [GOODS_ID] => 338
                    [GOODS_PRODUCTNAME] => 22
                    [GOODS_QUANTITY] => 22
                    [GOODS_PURCHASE_ENDDATE] => 1970/01/01
                    [NORMAL_PRICE] => 0.00
                    [GOODS_PRICE] => 22.00
                    [GOODS_IMGURL] => http://htail.ward.pe.kr/maintools_images/vip_goods_gonggu_1.jpg
                    [NORMAL_PRICE_DP] => none
                    [AMOUNT_DP] => none
                    [ENDDATE_DP] => none
                    [ICON_KIND] => hit
                )
 
        )
 
    [2] => Array
        (
            [idx_6] => Array
                (
                    [GOODS_ID] => 13
                    [GOODS_PRODUCTNAME] => Plantronics Discovery 925 Bluetooth Black
                    [GOODS_QUANTITY] => 3
                    [GOODS_PURCHASE_ENDDATE] => 1970/01/01
                    [NORMAL_PRICE] => 0.00
                    [GOODS_PRICE] => 57.00
                    [GOODS_IMGURL] => http://htail.ward.pe.kr/maintools_images/vip_goods_vip_0.jpg
                    [NORMAL_PRICE_DP] => none
                    [AMOUNT_DP] => none
                    [ENDDATE_DP] => none
                    [ICON_KIND] => hit
                )
 
        )
 
)



2. var WEBROOT = '/'; 형태의 전역변수가 설정되어있어야 함.

3. 아래 함수에 의존함
*/

function getobj(id)
{
	return document.getElementById(id);
}
function in_array(key ,arr)
{
	for(var i = 0 ; i < arr.length ; i++)
	{
		if(arr[i] == key)
			return true;
	}
	return false;
}
function explode(cut, str, arrlen)
{
    var temp = str.split(cut);

    var result = [];

    for(var i = 0 ; i < temp.length ; i++)
    {
        if(arrlen && arrlen < i)
        {
            result[result.length-1] += cut + temp[i];
        }
        else
        {
            result[result.length] = temp[i];
        }
    }
    return result;
}
function implode(connstr, arr)
{
    var result = '';
    for (var i = 0; i < arr.length ; i++ )
    {
        if(result)
            result += connstr;
        result += arr[i];
    }
    return result;
}
function str_replace(oldstr, newstr, allstr, arrlen)
{
    var temp = explode(oldstr, allstr, arrlen);
    return implode(newstr, temp);
}

var bigitem_keys = ['GOODS_ID','GOODS_PRODUCTNAME','GOODS_QUANTITY','GOODS_PURCHASE_ENDDATE','NORMAL_PRICE','GOODS_PRICE','GOODS_IMGURL','NORMAL_PRICE_DP','AMOUNT_DP','ENDDATE_DP','ICON_KIND','GOODS_CLICKURL'];

var BigItem = function(objName) {

	this.objName = objName;
	this.box_obj;

	this.add_bigitem = function (box_id, idx) {
		var info = bigitem_infos[idx];
		var target_obj = getobj(box_id);
		this.box_obj = target_obj;

		var json_keys = bigitem_keys;
		var hidden_divs = [];
		var goods_ids = [];		

		for(data in info) {
			var template = getobj('main_big_item_template').value;
			if(data.split('_')[0] != 'idx') {
				continue;
			}
			for(keyword in info[data]) {
				
				if(in_array(keyword, json_keys) == false) {
					document.write(keyword);
					continue;
				}

				switch(keyword) {
					case 'AMOUNT_DP' :
					case 'NORMAL_PRICE_DP' :
					case 'ENDDATE_DP' :
						if(info[data][keyword] == 'none') {
							hidden_divs.push(keyword+'_'+info[data]['GOODS_ID']);
						}
						break;
					default :
						template = str_replace('[['+keyword+']]', info[data][keyword], template);
				}

			}
			var div = document.createElement('div');
			div.style.display = 'none';
			div.innerHTML = template;
			target_obj.appendChild(div);
			goods_ids.push(info[data]['GOODS_ID']);
		}

		for(var i = 0 ; i < hidden_divs.length ; i++) {
			getobj(hidden_divs[i]).style.display = 'none';
		}

		for(var i = 0 ; i < goods_ids.length ; i++) {
			getobj('bigitem_paging_'+goods_ids[i]).innerHTML = get_paging(this.objName, i, goods_ids.length);
		}
		this.goPage(0);
	}
	this.goPage = function(page_idx) {
		for(var i = 0 ; i < this.box_obj.children.length ; i++) {
			this.box_obj.children[i].style.display = (page_idx == i) ? 'block' : 'none';
		}
	}

	//private 
	function get_paging(objName, idx, count) {
		var str  = '';
		for(var i = 0 ; i < count ; i++) {
			var on = '';
			var click =  " onmouseover='"+objName+".goPage("+i+");'";
			if(i == idx) {
				on = '_on';
				click = '';
			}

			str += "<img src='"+WEBROOT+"icon/icon_mainbig_page"+on+".gif' "+click+" /> ";
		}
		return str;
	}
}




