/*****************************************************************************
 * 파일명 : prdt.js
 * 작성일 : 
 * 작성자 : 
 * 설   명 : prdt 기본기능  javascript 정의 파일
 * ===========================================================================
 * 변경이력:
 *    DATE		   AUTHOR	DESCRIPTION
   2009.10.9      jk     최초 생성
 * ---------------------------------------------------------------------------
 * 
 *****************************************************************************/


/**
 * 상품 공통
 */
biz.prdt.common = function(){
	// 변수 선언
	return {
		// 화면 초기화
		initialize: function(formId){
			JslForm.AUTO_MAX_SHIFT = 'Y';			// maxlength 가 되면 다음 input 에 focus 이동 여부.
			JslForm.INPUT_FILTER = 'Y';				// inFilter attribute 에 event 등록 여부.
			JslForm.appendAttributes(formId);	// input 태그에 event 일괄 적용.
		}
	}
}();



/**
 * 상품 리스트 조회
 */
biz.prdt.list = function() {
	// 변수 선언
	var PAGE_SIZE = "6";
	var CONTENT_DIV = "Content";					// 컨텐츠 영역
	var CONTENT_RESULT_DIV = "contentResultDiv";	// 컨텐츠 결과 영역
	var SEARCH_FORM = "searchForm";					// 조회 폼
	var RESULT_FORM = "resultForm";					// 조회 결과 폼

	return {
		// 화면 초기화
		initialize: function(){
			// 목록 자동 조회.
			if($(SEARCH_FORM))
				biz.prdt.list.do_list(true);
		},		
		// 리스트조회		
		do_list: function(isNewSearch) {
			var formObj = $(SEARCH_FORM);
			
			JslForm.createHiddenField(formObj,'_page_start','1');
			JslForm.createHiddenField(formObj,'_page_limit',PAGE_SIZE);
			JslForm.createHiddenField(formObj,'isNewSearch',isNewSearch);	// 새 검색여부(true/false)
			if (formObj.searchType.value == 'G' || formObj.searchType.value == 'C') {
				JslForm.createHiddenField(formObj, 'searchGubun2', '1');	// 상품권/교환권 으로 조회
			}else{
				JslForm.createHiddenField(formObj, 'searchGubun2', '2');	// 브랜드코드로 조회
			}
			var url = jsl.APPLICATION_CONTEXT_ROOT + "/prdt/prdtListResult.action";
			jsl.Ajax.submitUpdate(CONTENT_RESULT_DIV, url, formObj);	
			
		},
		// 페이징
		go_page: function(page) {
			var formObj = $(SEARCH_FORM);
			JslForm.createHiddenField(formObj,'_page_start',page);
			JslForm.createHiddenField(formObj,'_page_limit',PAGE_SIZE);	
			JslForm.createHiddenField(formObj,'isNewSearch',true);		
			if (formObj.searchType.value == 'G' || formObj.searchType.value == 'C') {
				JslForm.createHiddenField(formObj, 'searchGubun2', '1');	// 상품권/교환권 으로 조회
			}else{
				JslForm.createHiddenField(formObj, 'searchGubun2', '2');	// 브랜드코드로 조회
			}
			var url = jsl.APPLICATION_CONTEXT_ROOT + "/prdt/prdtListResult.action";
			jsl.Ajax.submitUpdate(CONTENT_RESULT_DIV, url, formObj);
			
		},
		// 상세조회로 이동.
		go_detail: function(prdtNo) {
			var formObj = $(RESULT_FORM);
			JslForm.createHiddenField(formObj,'prdtNo',prdtNo);
			
			var url = jsl.APPLICATION_CONTEXT_ROOT + "/prdt/prdtListDetail.action";
			jsl.Ajax.submitUpdate(CONTENT_DIV, url, formObj,
				function(){
					biz.prdt.detail.initialize();
				}
			);
		},
		// 입력값 유효성 체크
		do_validate: function() {
			var formObj = $(SEARCH_FORM);
			
			var jForm = new JslJForm();
			jForm.add(new JslJSelect('조회 선택', formObj.searchType));
			jForm.add(new JslJText('검색어', formObj.searchWord));
			return jForm.validate();
		}			
	}
}();


/**
 * 상품 상세
 */
biz.prdt.detail = function(){
	// 변수 선언
	var PAGE_SIZE = "10";
	var CONTENT_DIV = "Content"; // 컨텐츠 영역
	var CONTENT_RESULT_DIV = "contentResultDiv"; // 컨텐츠 결과 영역
	var DETAIL_FORM = "detailForm"; // 상세 폼
	
	return {
		// 화면 초기화
		initialize: function(){
			biz.prdt.common.initialize(DETAIL_FORM);
		},		
		// 리스트로 이동.		
		go_list: function(){
			var formObj = $(DETAIL_FORM);
			JslForm.createHiddenField(formObj,'isNewSearch',false);	
			JslForm.createHiddenField(formObj,'isMain',$('isMain').value);	
			

			var url = jsl.APPLICATION_CONTEXT_ROOT + "/prdt/prdtListSearch.action";
            jsl.Ajax.submitUpdate(CONTENT_DIV, url, formObj,
				function(){
					biz.prdt.list.do_list(false);
				}
			);
		},
		// 수량 조정.
		updown_cnt: function(updown) {
			var formObj = $(DETAIL_FORM);
			
			var prdtAmt = formObj.prdtAmt;
			var purcCnt = formObj.purcCnt;
			
			if(purcCnt.value == '') purcCnt.value = '1';
			if(purcCnt.value < 1) purcCnt.value = '1';
			
			if (updown == 'u' || updown == 'k') {
				if(updown == 'u') purcCnt.value = parseInt(purcCnt.value) + 1;
				if (parseInt(purcCnt.value) > 10) {
					alert('수량은 최대 10개 까지 구매 가능합니다.');
					purcCnt.value = '10';
				}
			} else if (updown == 'd' || updown == 'k') {
				if(updown == 'd') purcCnt.value = parseInt(purcCnt.value) - 1;
				if (parseInt(purcCnt.value) < 1) {
					alert('수량은 최소 1개 이상 구매 해야합니다.');
					purcCnt.value = '1';
				} 		
			}
		},
		// 장바구니 담기
		do_cart: function(prdtNo) {
			var formObj = $(DETAIL_FORM);

			if(formObj.purcCnt.value == '') formObj.purcCnt.value = '1';
			
			if(parseInt(formObj.purcCnt.value) >= 10){
				alert('수량은 최대 10개 까지 구매 가능합니다.');
				formObj.purcCnt.value = '10';
			} 
			
			var url = jsl.APPLICATION_CONTEXT_ROOT + "/cart/cartInsert.action";
			common.AjaxSubmitRequest(url, formObj,
					function(res){
						var data = res.responseJSON;	
		
						if(confirm("선택하신 상품이 장바구니에 담겼습니다. 장바구니로 이동하시겠습니까?")){
							var url = jsl.APPLICATION_CONTEXT_ROOT + "/cart/cartList.action";
							common.loginCheckSubmit(formObj, url);
						}else{
							return false;
						}
					}
			);				
		},
		// 구매/결제 하기
		go_pay: function() {
			var formObj = $(DETAIL_FORM);
			
			JslForm.createHiddenField(formObj,'prdtNoList', formObj.prdtNo.value);	
			JslForm.createHiddenField(formObj,'purcCntList', formObj.purcCnt.value);
			
			var url = jsl.APPLICATION_CONTEXT_ROOT + "/pay/payForm.action";
			common.loginCheckSubmit(formObj, url);
		}
	}
}();


/**
 * 초기화
 */
Event.observe(window, 'load', biz.prdt.list.initialize);


