if (typeof(CMALLITEM_JS) === 'undefined') {
var CMALLITEM_JS = true;
$(document).on('click', '#chk_all_item', function(){
var chkbox = document.getElementsByName('chk_detail[]');
for (var i = 0; i < chkbox.length; i++) {
chkbox[i].checked = this.checked;
}
item_price_calculate();
});
// 필수 옵션 선택시
$(document).on('change', 'select.cde_select', function () {
var detail_id = $(this).val();
var detail_option_title = $(this).find('option:selected').data('title');
var price = $(this).find('option:selected').data('price');
if(detail_id === '') {
return false;
}
var option_data = [];
var is_selected = false; // 전체 선택을 했는지 확인
$.each($('select.cde_select'), function(n, o) {
option_data[n] = {'idx' : $(o).data('idx'), 'val' : $(o).val()};
if($(o).val() == '') {
is_selected = true; // 전체 완료 여부 체크
return false;
}
});
if(is_selected === true) {
// console.log(required_option_data);
// 선택이 되지 않은 옵션이 있음
$.ajax({
url : cb_url + '/cmallact/get_option',
data : { csrf_test_name: cb_csrf_hash, option_data : option_data, cit_id: $('input[name="cit_id"]').val() },
dataType: 'json',
method : 'post',
success : function(ret) {
// console.log('ret' , ret);
$('select.cde_select[data-idx="'+ ret.idx +'"]').empty().append('');
$.each(ret.data, function(n, o){
// var $option = $('');
if(o.price) {
$('select.cde_select[data-idx="'+ ret.idx +'"]').append('');
} else {
$('select.cde_select[data-idx="'+ ret.idx +'"]').append('');
}
});
$('select.cde_select[data-idx="'+ ret.idx +'"]').removeAttr('disabled');
}
});
} else if(is_selected === false) {
// 전체 선택이 됨
// 선택된 옵션에 대한 정보 가져오기
$.ajax({
url: cb_url + '/cmallact/get_item_detail',
data: {csrf_test_name: cb_csrf_hash, option_data: option_data, cit_id: $('input[name="cit_id"]').val()},
dataType: 'json',
method: 'post',
success: function (ret) {
if($('#selectedOption').find('[data-id="'+ret.cde_id+'"]').length > 0) {
alert('이미 추가된 옵션입니다.');
return false;
}
var html =
'
';
$('#selectedOption').append(html).show();
item_price_calculate();
}
});
$.each($('select.cde_select'), function(n, o) {
$(o).val('');
if(n !== 0) {
$(o).empty().append('');
$(o).attr('disabled', '');
}
});
}
});
// 선택 옵션 선택시
$(document).on('change', 'select.cde_supply_select', function () {
var title = $(this).val();
var id = $(this).find('option:selected').data('id');
var price = $(this).find('option:selected').data('price');
var stock = $(this).find('option:selected').data('stock') ? $(this).find('option:selected').data('stock') : 0 ;
if(title === '') {
return false;
}
if($('#selectedOption').find('[data-id="'+id+'"]').length > 0) {
alert('이미 추가된 옵션입니다.');
$('select.cde_supply_select').val('');
return false;
}
var html =
'';
$('select.cde_supply_select').val('');
$('#selectedOption').append(html).show();
item_price_calculate();
});
$(document).on('click', 'input[name^=chk_detail]', function() {
item_price_calculate();
});
$(document).on('click', '.btn.select-delete', function() {
$(this).closest('.form-group').remove();
if($('#selectedOption').children().length == 0) {
$('#selectedOption').hide();
}
item_price_calculate();
});
// 리스트형 수량변경
$(document).on('click', 'button.btn-change-qty', function() {
var change_type = $(this).attr('data-change-type');
var $qty = $(this).closest('.cde_detail_option').find('input[name^=detail_qty]');
var stock = $(this).closest('.cde_detail_option').find('.cde_stock').data('stock');
var qty = parseInt($qty.val().replace(/[^0-9]/g, ""));
if (isNaN(qty)) {
qty = 1;
}
console.log(stock);
if (change_type === 'plus') {
qty++;
if(stock < qty){
alert('재고 수량보다 초과하여 수량을 추가할 수 없습니다.');
$qty.val(--qty);
} else {
$qty.val(qty);
}
} else if (change_type === 'minus') {
qty--;
if (qty < 1) {
alert('수량은 1이상 입력해 주십시오.');
$qty.val(1);
return false;
}
$qty.val(qty);
}
item_price_calculate();
});
// 수량입력
$(document).on('keyup', 'input[name^=detail_qty]', function() {
var qty = parseInt($(this).val().replace(/[^0-9]/g, ""));
if (isNaN(qty)) {
alert('수량은 숫자만 입력해 주십시오.');
$(this).val(1);
return false;
}
if (qty < 1) {
alert('수량은 1이상 입력해 주십시오.');
$(this).val(1);
return false;
}
item_price_calculate();
if(typeof cart_calcurate == "function"){
cart_calcurate();
}
});
function item_price_calculate(){
var tot_price = 0;
var price = 0;
var qty;
var $sel = $('input[name^=chk_detail]:checked');
//console.log($sel);
if ($sel.size() > 0) {
$sel.each(function() {
price = parseInt($(this).closest('.cde_detail_option').find('input[name^=item_price]').val());
qty = parseInt($(this).closest('.cde_detail_option').find('input[name^=detail_qty]').val());
//console.log($(this).closest('.cde_detail_option').find('input[name^=item_price]'));
tot_price += (price * qty);
});
}
$('#total_order_price').text(number_format(String(tot_price)));
}
// 바로구매, 장바구니, 찜하기
function fitem_submit(f) {
if (f.stype.value === 'wish') {
return true;
}
var $el_chk = $('input[name^=chk_detail]:checked.require');
//var $el_chk = $('input[name==chk_detail]:checked.require');
if ($el_chk.size() < 1) {
alert('상품의 필수 옵션을 하나이상 선택해 주십시오.');
return false;
}
// 수량체크
var is_qty = true;
var detail_qty = 0;
$el_chk.each(function() {
detail_qty = parseInt($(this).closest('.cde_detail_option').find('input[name^=detail_qty]').val().replace(/[^0-9]/g, ""));
if (isNaN(detail_qty)) {
detail_qty = 0;
}
if (detail_qty < 1) {
is_qty = false;
return false;
}
});
if ( ! is_qty) {
alert('수량을 1이상 입력해 주십시오.');
return false;
}
return true;
}
// 장바구니에서 네이버 찜하기
function fitem_navercart_submit(f) {
var $el_chk = $('input[name^=chk]:checked');
if ($el_chk.size() < 1) {
alert('상품을 하나이상 선택해 주십시오.');
return false;
}
return true;
}
function view_cmall_review(id, cit_id, page, opt, message) {
if (opt) {
$('html, body').animate({
scrollTop: $('#' + id).offset().top - 100
}, 0);
}
var cmall_review_url = cb_url + '/cmall/reviewlist/' + cit_id + '?page=' + page;
var hash = window.location.hash;
$('#' + id).load(cmall_review_url, function() {
if (message) {
$('.alert-cmall-review-list-message-content').html(message);
$('.alert-cmall-review-list-message').addClass('alert-success').removeClass('alert-warning').show();
}
if (hash) {
var st = $(hash).offset().top;
$('html, body').animate({ scrollTop: st }, 200); //200ms duration
}
if (typeof(SyntaxHighlighter) !== 'undefined') {
SyntaxHighlighter.highlight();
}
});
}
function delete_cmall_review(cre_id, cit_id, page) {
if (confirm("정말 삭제 하시겠습니까?\n\n삭제하신 후에는 복구가 불가능합니다.")) {
$.ajax({
url : cb_url + '/cmallact/delete_review',
type : 'POST',
cache : false,
data : {cre_id:cre_id, csrf_test_name: cb_csrf_hash},
dataType : 'json',
success : function(data) {
if (data.error) {
$('.alert-cmall-review-list-message-content').html(data.error);
$('.alert-cmall-review-list-message').addClass('alert-warning').removeClass('alert-success').show();
return false;
} else if (data.success) {
view_cmall_review('viewitemreview', cit_id, '', '', data.success);
cmall_review_count_update(data.review_count);
}
},
error : function(data) {
alert('오류가 발생하였습니다.');
return false;
}
});
}
}
function cmall_review_page(cit_id, page) {
view_cmall_review('viewitemreview', cit_id, page, '');
review_cur_page = page;
}
function review_open(el) {
var $con = $(el).closest('.product-feedback').find('.review-content');
if ($con.is(':visible')) {
$con.slideUp();
} else {
$('.review-content:visible').css('display', 'none');
$con.slideDown();
}
return false;
}
function qna_open(el) {
var $con = $(el).closest('.product-feedback').find('.qna-content');
if ($con.is(':visible')) {
$con.slideUp();
} else {
$('.qna-content:visible').css('display', 'none');
$con.slideDown();
}
return false;
}
function view_cmall_qna(id, cit_id, page, opt, message) {
if (opt) {
$('html, body').animate({
scrollTop: $('#' + id).offset().top - 100
}, 0);
}
var cmall_qna_url = cb_url + '/cmall/qnalist/' + cit_id + '?page=' + page;
var hash = window.location.hash;
$('#' + id).load(cmall_qna_url, function() {
if (message) {
$('.alert-cmall-qna-list-message-content').html(message);
$('.alert-cmall-qna-list-message').addClass('alert-success').removeClass('alert-warning').show();
}
if (hash) {
var st = $(hash).offset().top;
$('html, body').animate({ scrollTop: st }, 200); //200ms duration
}
if (typeof(SyntaxHighlighter) !== 'undefined') {
SyntaxHighlighter.highlight();
}
});
}
function delete_cmall_qna(cqa_id, cit_id, page) {
if (confirm("정말 삭제 하시겠습니까?\n\n삭제하신 후에는 복구가 불가능합니다.")) {
$.ajax({
url : cb_url + '/cmallact/delete_qna',
type : 'POST',
cache : false,
data : {cqa_id:cqa_id, csrf_test_name: cb_csrf_hash},
dataType : 'json',
success : function(data) {
if (data.error) {
$('.alert-cmall-qna-list-message-content').html(data.error);
$('.alert-cmall-qna-list-message').addClass('alert-warning').removeClass('alert-success').show();
return false;
} else if (data.success) {
view_cmall_qna('viewitemqna', cit_id, '', '', data.success);
cmall_qna_count_update(data.qna_count);
}
},
error : function(data) {
alert('오류가 발생하였습니다.');
return false;
}
});
}
}
function cmall_qna_page(cit_id, page) {
view_cmall_qna('viewitemqna', cit_id, page, '');
qna_cur_page = page;
}
function cmall_review_count_update(cnt) {
$('.item_review_count').text(cnt);
}
function cmall_qna_count_update(cnt) {
$('.item_qna_count').text(cnt);
}
}
$(function(e){
item_price_calculate();
});