﻿        // 선생님의 다른 강의 보기 [+] [-]
        function viewTeacherProduct() {
            var obj = document.getElementById("tpContainer");
            var img = document.getElementById("tpViewImage");
            
            if (!teacherProductClick) {
                obj.className = 'tcontainer_full';
                img.src = "/images/common/bt/bt_more_.gif";
            } else {
                obj.className = 'tcontainer_top';
                img.src = "/images/common/bt/bt_more_.gif";
            }
            
            teacherProductClick = !teacherProductClick;
        }
        
        // 상세로 가기 
        function goDetail(code) {
            var strUrl = '';
            strUrl += '/Product/ProductDetail.aspx?CategoryCode=' + obj1.value;
            strUrl += '&ProductCode=' + code;
            
            location.href = strUrl;
            
        }
        
        // 목차보기 팝업
        function viewIndex(code) {
            OpenWindow("/Product/popup/BookIndex.aspx?ProductCode=" + code, 650, 405, "BookIndexInfo")
        }
        
        // selectbox option 추가
        function createOption(text, value) {
            var oOption = document.createElement("OPTION");
            oOption.text = text;
            oOption.value = value;
            return oOption;
        }
        
        // selectbox 초기화
        function initOption(obj){
            if (obj == null) return;
            obj.options.length = 0;
        }
        
        // 컨트롤 찾기
        function FindControl(tagName, name) { 
            var controls = new Array();
            var tags = document.getElementsByTagName( tagName )
            var count = 0;
            
            for(var i = 0; i < tags.length ; i++) { 
                if(tags[i].name.indexOf(name) >= 0) { 
                    controls[count] = document.getElementById(tags[i].id);
                    count++;
                } 
            } 
            return controls; 
        }

        // 관련교재 전부다 체크했을 때 처리
        function allCheck() {
            var type = _hAllDeliveryType.value;
            var typename = _hAllDeliveryTypeName.value;
            var amt = _hAllDeliveryAmt.value;
            var relationPrice = _hAllPrice.value;
            
            SetTotalPrice(relationPrice);
            
            viewDeliveryType(type, typename, amt);
        }
        
        // 배송구분 내용 출력
        function viewDeliveryType(type, typename, amt) {
            var txt;
            var select = document.getElementById("DeliveryOption");
            var txtOpt = "(주문시 결제 가능)";
            
            document.getElementById("DeliveryType").innerHTML = typename;

            if (type == '105102') {
                document.getElementById("tdRDelivery").innerHTML += txtOpt;
                document.getElementById("tdDeliverySelect").style.display = 'block';
                txt = '주문시결제 ' + commify(amt) + '원';
                
                initOption(select);
                select.options.add(createOption('선택하세요', '0'));
                select.options.add(createOption(txt, amt));
                select.reInitializeSelectBox();
            } else {
                document.getElementById("tdRDelivery").innerHTML = document.getElementById("tdRDelivery").innerHTML.replace(txtOpt, "");
                document.getElementById("tdDeliverySelect").style.display = 'none';
            }
        }
        
        // 관련교재가 하나일 때 
        function singleCheck(obj) {
            if (obj.checked) {
                _trRelationDelivery.style.display = 'block';
                allCheck();
            } else {
                _trRelationDelivery.style.display = 'none';
                SetTotalPrice('0');
            }
        }
        
        // 관련교재가 여러개 있때 체크된 수
        function checkCount(checker) {
            var cnt = 0;
            for (var i=0; i<checker.length; i++) {
                if (checker[i].checked) {
                    cnt++
                }
            }
            
            return cnt;
        }
        
        // 배송구분 우선순위 
        function getOrderNumber(val) {
            var OrderStr = new Array("105100", "105101", "105102", "105103", "105104");
            var order = 0;
            
            for(var i=0;i<OrderStr.length;i++) {
                if (OrderStr[i] == val) {
                    order = i + 1;
                    break;
                }
            }

            return order;
        }
        
        // 총 가격 계산
        function SetTotalPrice(RelationPrice) {
            var productPrice = unComma(_SalePrice.innerHTML);
            _TotPrice.innerHTML = commify(parseInt(productPrice) + parseInt(RelationPrice));
        }
       
        // 관련교재가 여러개 일 때   
        function multipleCheck(obj) {
            var chkCnt = checkCount(obj);
            var objCnt = obj.length;
            
            var objCode;
            var objPrice;
            var objDeliveryType;
            var objDeliveryTypeName;
            var objDeliveryAmt;
            var nowOrder = 0;
            
            var dpdcode;
            var dpdprice;
            var totRPrice = 0;
            var deliveryType;
            var deliveryTypeName;
            var deliveryAmt;
            var deliveryOrder = 0; 
            var isSet = false;
                         
            _trRelationDelivery.style.display = 'block';
            
            if (chkCnt == objCnt) {
                // 전체 선택시
                allCheck();
            } else {
                if (chkCnt == 0) {
                    _trRelationDelivery.style.display = 'none';
                    document.all['hCurrDeliveryType'].value = '';
                    document.all['hCurrDeliveryTypeName'].value = '';
                    document.all['hCurrDeliveryAmt'].value = '0';
                    
                    SetTotalPrice('0');
                } else {
                    objCode = FindControl('input', 'hRProductCode');
                    objPrice = FindControl('input', 'hPrice');
                    objDeliveryType = FindControl('input', 'hDeliveryType');
                    objDeliveryTypeName = FindControl('input', 'hDeliveryTypeName');
                    objDeliveryAmt = FindControl('input', 'hDeliveryAmt');
                    
                    for (var i=0; i<obj.length; i++) {
                        if (obj[i].checked) {
                            isSet = false;
                            nowOrder = getOrderNumber(objDeliveryType[i].value);
                            totRPrice += parseInt(objPrice[i].value);
                            if (deliveryOrder == 0) {
                                isSet = true;
                            } else {
                                if (deliveryOrder == nowOrder) {
                                    if (parseInt(deliveryAmt) < parseInt(objDeliveryAmt[i].value)) {
                                        isSet = true;
                                    }
                                } else if (deliveryOrder > nowOrder) {
                                    isSet = true;
                                }
                            } // end if (order)
                            if (isSet) {
                                dpdcode = objCode[i].value;
                                dpdprice = objPrice[i].value;
                                deliveryType = objDeliveryType[i].value;
                                deliveryTypeName = objDeliveryTypeName[i].value;
                                deliveryAmt = objDeliveryAmt[i].value;
                                deliveryOrder = nowOrder; 
                            } // end if (isSet)        
                        } // end if (checked)
                    } // end for
                    viewDeliveryType(deliveryType, deliveryTypeName, deliveryAmt);
                    
                    document.all['hCurrDeliveryType'].value = deliveryType;
                    document.all['hCurrDeliveryTypeName'].value = deliveryTypeName;
                    document.all['hCurrDeliveryAmt'].value = deliveryAmt;
                    
                    SetTotalPrice(totRPrice);
                } // end if (check)
            } // end if (not all)
        } // end func
        
        // 관련교재 체크박스 체크이벤트
        function checkRelation(obj) {
            var arrobj = eval('document.all.' + obj.id);
            if (typeof(arrobj.length) == 'undefined') {
                singleCheck(arrobj);
            } else {
                multipleCheck(arrobj);
            }
        }
        
        // 수량 변경되었을 때 후처리
        function changeDeiliveryAmt(obj) {
            var amt;
            var totPrice = unComma(_TotPrice.innerHTML);
            
            if (obj.selectedIndex == 0) {
                amt = (-1) * parseInt(obj.options[1].value);
            } else {
                amt = obj.options[obj.selectedIndex].value;
            }
            _TotPrice.innerHTML = commify(parseInt(totPrice) + parseInt(amt));
        }
        
        // 수량 변경 처리
        function changeQty(obj) {
            var qty = parseInt(obj.value);
            var salePrice = unComma(_SalePrice.innerHTML);
            _TotPrice.innerHTML = commify(parseInt(salePrice) * parseInt(qty));
            
            var select = _DeliveryOptionM;
            if (typeof(select) != 'undefined') {
                changeDeiliveryAmt(select);
            }
        }
        
        // 수량 변경시 수량 체크
        function checkQty(obj) {
            var saleLimit = _hSaleLimitQty;
            var stock = _hStockQty
            
            if (!checkSoldOut()) {
                if (parseInt(saleLimit.value) == parseInt(obj.value)){
	                alert('최대 주문 가능 수량은 ' + saleLimit.value + '개입니다.');
	                return false;
	            } 
                if (parseInt(stock.value) == parseInt(obj.value)) {
                    alert(stock.value + '개 이상은 주문할 수 없습니다.');
                    return false;
                }
                return true;
            } else {
                return false;
            }
        }
        
        // 수량 추가 이벤트
        function AddQty(obj) {
	        if(ChkNum(obj)) {
		        obj.value = 0;
    		}
	        if(obj.value == "") obj.value = "0";
    		
		    if (checkQty(obj)) {
		        obj.value = parseInt(obj.value) + 1;
		    }
		    
		    changeQty(obj);
	    }
    
        // 수량 빼기 이벤트
	    function MinusQty(obj) {
	        if(ChkNum(obj)) {
		        obj.value = 0;
            }
            
	        if(obj.value == "") obj.value = "0";
	        if(parseInt(obj.value) <= 1)
	        {
		        obj.value = "1";
		        return;
	        }
    		
	        obj.value = parseInt(obj.value) - 1;
	        changeQty(obj);
	    }
	    
	    // 수량 체크 : 품절여부
	    function checkSoldOut() {
	        if (typeof(_hStockQty) == 'undefined') {
	            return false;
	        } else {
	            if (parseInt(_hStockQty.value) <= 0 ) {
	                alert('품절된 상품입니다.');
	                return true;
	            } else {
	                return false;
	            }
	        }
	    }
	    
	    // 로그인 체크
	    function checkLogin() {
	        if (parseInt(_CustID.value) == 0) {
	            alert('로그인을 먼저 해주세요.');
	            location.href = '/member/Login.aspx?strReUrl=' + _hNowURL.value;
	            return false;
	        } else {
	            return true;
	        }
	    }
	    	    
	    // 선생님 약력보기 팝업
	    function viewHistory() {
	        OpenWindow("/Product/Popup/PopTeacherHistory.aspx?TeacherID=" + obj4.value, 495, 330, "LecturerHistory");
	    }
	    
	    // DVD해외배송 안내 팝업
	    function viewDVDInfo() {
	        OpenWindow("/Product/popup/PopDVDInfo.aspx", 495, 440, "DVDInfo");
	    }
	    
	    // PMP지원기기 팝업
	    function viewPMPAgent() {
	        OpenWindow("/Product/popup/PMPList.aspx", 500, 300, "PMPList");
	    }
	    
	    // 장바구니에 담을 상품코드를 가져온다
	    function getProductCode() {
	        var codes;
	        //var chk = FindControl("input", "checker");
	        var chk = document.all.checker;
	        var codeObj = FindControl("input", "hRProductCode");
	        
	        codes = obj2.value + '/';
	        
	        if (typeof(chk) != 'undefined') {
	            if (typeof(chk.length) == 'undefined') {
	                if (chk.checked) {
	                    codes += codeObj[0].value + '/';
	                }
	            } else {
                    for (var i=0; i<chk.length; i++) {
                        if (chk[i].checked) {
                            codes += codeObj[i].value + '/';
                        } 
                    }	            
	            }
	        }
	        
	        return codes;
	    }
	    
	    // 장바구니에 담을 수량을 가져온다
	    function getOrderQty() {
	        var qty;
	        
	        if (obj3.value == '102101' || obj3.value == '102102') {
	            // 교재/현물
	            qty = document.all['GoodsOrderQty'].value;
	        } else {
	            qty = '1';
	        }
	        
	        return qty;
	    }
	    
	    // 바로구매
	    function justBuy() {
	        if (!checkSoldOut() && checkLogin()) {
	            var qty = getOrderQty();
	            var codes = getProductCode();
	            var params;
	            
	            if (!ChkNum(qty) || parseInt(qty) <= 0) {
	                alert('수량을 선택해 주세요.');
	                return;
	            }
	            
	            params = "Article=" + '' + codes;
	            params += "&Qty=" + qty;
	            params += "&OrderType=BN";
	            
	            top.location.href = '/Order/OrderRequest.aspx?' + params;
	        }
	    }
	    	    
	    // 장바구니
	    var actMode;
	    function addCart() {
	        if (!checkSoldOut() && checkLogin()) {
	            var qty = getOrderQty();
	            var codes = getProductCode();
	            var params;
	            
	            if (!ChkNum(qty) || parseInt(qty) <= 0) {
	                alert('수량을 선택해 주세요.');
	                return;
	            }
	            
	            // 장바구니 수량은 상품수만큼 수량도 넘깁니다.
	            var chk = document.all.checker;
    	        var tmpQty = qty;
    	        
	            qty = tmpQty + '/';
    	        
	            if (typeof(chk) != 'undefined') {
	                if (typeof(chk.length) == 'undefined') {
	                    if (chk.checked) {
	                        qty += tmpQty + '/';
	                    }
	                } else {
                        for (var i=0; i<chk.length; i++) {
                            if (chk[i].checked) {
                                qty += tmpQty + '/';
                            } 
                        }	            
	                }
	            }
	            
	            params = "Article=" + '' + codes;
	            params += "&CartQty=" + qty;
	            
	            actMode = "CartAdd";
	            new Ajax.Request("/Order/CartAdd.aspx", {method:"POST", parameters:params, onComplete:CallBackProc});
	        }
	    }
	    
	    function downloadCoupon() {
	        if (checkLogin()) {
	            var params = 'ProductCode=' + obj2.value;
	            
	            actMode = "CouponDown";
	            new Ajax.Request("/Product/CouponDownload.aspx", {method:"POST", parameters:params, onComplete:CallBackProc});
	        }
	    }
	    
	    function CallBackProc(req) {
            try {
                if (req.readyState == 4) { // req 의 상태가 서버로 부터 데이터가 완전히 response 된 상태를 의미함.
                    if (req.status == 200) { // 서버로 부터 응답이 에러 없이 정상적으로 전송된 경우를 의미함.
                      var rtnValue = req.responseText;
                      switch(actMode) {
                         case "CartAdd":
                            BasketProc(rtnValue);
                            break;
                         case "CouponDown":
                            CouponProc(rtnValue);
                            break;
                      }
                      actMode = "";
                    }
                }
            } catch(e) {
                switch(actMode) {
                        case "CartAdd":
                          alert("상품을 장바구니에 추가중 에러가 발생 하였습니다."); 
                          break;
                        case "CouponDown":
                          alert("쿠폰 발급 중 에러가 발생하였습니다."); 
                          break;
                }
            }
        }
   
        function BasketProc(pIsSuccessed) {
            /*<script>alert('다른 사용자에 의해 로그인 되어 있습니다.[3]');top.location.href='/member/Login.aspx?strReUrl=%2fOrder%2fCartAdd.aspx%3f';</script>*/
            if(pIsSuccessed == "0" || pIsSuccessed == "2" || pIsSuccessed == "3" || pIsSuccessed == "4"){
                switch(pIsSuccessed){
                    case "4":
                        alert("로그인이 필요합니다.");
                        top.location.href = "/member/Login.aspx";
                        break;

                    default:
                        alert("다른 사용자에 의해 로그인 되어 있습니다.");
                        top.location.href = "/member/Logout.aspx";
                }
            }
            else{            
                if (pIsSuccessed == 'true') {
                    if (confirm("장바구니에 저장되었습니다.\n\n장바구니로 이동하시겠습니까?")) {
                        top.location.href("/Order/Cart.aspx");   
                    }
                } else {
                    alert("장바구니를 저장중 에러가 발생하였습니다.");
                }                
            }
        }
        
        function CouponProc(pIsSuccessed) {
            if(pIsSuccessed == "0" || pIsSuccessed == "2" || pIsSuccessed == "3" || pIsSuccessed == "4"){
                switch(pIsSuccessed){
                    case "4":
                        alert("로그인이 필요합니다.");
                        top.location.href = "/member/Login.aspx";
                        break;

                    default:
                        alert("다른 사용자에 의해 로그인 되어 있습니다.");
                        top.location.href = "/member/Logout.aspx";
                }
            }
            else{
                var arr = pIsSuccessed.split(':');
                if (arr[0] == 'true') {
                    alert("쿠폰이 발급되었습니다.");
                } else {
                    if (arr.length > 1) {
                        alert(arr[1]);
                    } else {
                        alert("쿠폰 발급 중 에러가 발생하였습니다.");
                    }
                }
            }                
        }
	    
	    // 패키지일때의 강의 정보
	    function viewLectureInfo(obj) {
	        var idx = obj.selectedIndex;
	        var code = obj.options[idx].value + idx;
	        var cid = '';
	        var contents;
	        var material;
	        
	        
	        if (typeof(_hDetailID) != 'undefined') {
	            cid = _hDetailID.value + '_';
	        }
	        
	        
	        contents = eval("document.all['" + cid + "contents_" + code + "']");
	        material = eval("document.all['" + cid + "materialinfo_" + code + "']");

	        _PackageDetailInfo.innerHTML = contents.innerHTML;
	        _PackageMaterialInfo.innerHTML = material.innerHTML;
	        
	        viewLectureList(obj)
	    }
	    
	    // 패키지일때 강의 상세 목록 
	    function viewLectureList(obj) {
	        var orgCode = obj.options[obj.selectedIndex].value;
	        var tbl = document.getElementById("tblLecture");
	        var trs = tbl.getElementsByTagName("tr");
	        
            for (var i=0;i<trs.length;i++) {
                if (trs[i].id.indexOf('trLecture_') >= 0) {
                    if (trs[i].id == ('trLecture_' + orgCode)) {
                        trs[i].style.display = 'block';
                    } else {
                        trs[i].style.display = 'none';
                    }
                } else {
                    trs[i].style.display = 'block';
                }
            }
	    }
	    

