var mintEventId = 0, mblnMouseOver = false, mblnCloseDescription = false, mstrEventTimeZone = "";
var mblnCustomBidIncrementAmount = 0, mblnProductHasPopcornBidding = false, mintPopCornBidTime = 0, mblnProductHasBlindBid = false, mintDifferenceTime = 0;

var interval = null;
// true
if (search_params.has('id')) {
    mintEventId = search_params.get('id');
}
var mstrStartDate = "",mstrEndDate="";


$("#txtBiddingStartDate,#dvStartDateIcon").click(function () {
    if (document.getElementById('txtBiddingStartDate').value != "") {
        mstrStartDate = document.getElementById('txtBiddingStartDate').value;
    } else {
        mstrStartDate = new Date();
    }
    if (document.getElementById('txtBiddingEndDate').value != "") {
        mstrEndDate = document.getElementById('txtBiddingEndDate').value;
    } else {
        mstrEndDate = new Date();
    }
    $('#kt_daterangepicker_1').daterangepicker({
        buttonClasses: ' btn',
        applyClass: 'btn-primary',
        cancelClass: 'btn-secondary',
        startDate: mstrStartDate,
        endDate: mstrEndDate,
        timePicker: true,
        timePickerIncrement: 1,
        locale: {
            format: 'MM/DD/YYYY h:mm A'
        }
   
    }, function (start, end, label) {
        // $('#kt_daterangepicker_1 .form-control').val(start.format('MM/DD/YYYY h:mm A') + ' - ' + end.format('MM/DD/YYYY h:mm A'));
        $('#kt_daterangepicker_1 .form-control').val(start.format('MM/DD/YYYY h:mm A'));
        $('#kt_daterangepicker_2 .form-control').val(end.format('MM/DD/YYYY h:mm A'));
        GetTimeDifference();
    })
    
});
$("#txtBiddingEndDate,#dvEndDateIcon").click(function () {
    if (document.getElementById('txtBiddingStartDate').value != "") {
        mstrStartDate = document.getElementById('txtBiddingStartDate').value;
    } else {
        mstrStartDate = new Date();
    }
    if (document.getElementById('txtBiddingEndDate').value != "") {
        mstrEndDate = document.getElementById('txtBiddingEndDate').value;
    } else {
        mstrEndDate = new Date();
    }
    $('#kt_daterangepicker_2').daterangepicker({
        buttonClasses: ' btn',
        applyClass: 'btn-primary',
        cancelClass: 'btn-secondary',
        startDate: mstrStartDate,
        endDate: mstrEndDate,
        timePicker: true,
        timePickerIncrement: 1,
        locale: {
            format: 'MM/DD/YYYY h:mm A'
        }
    }, function (start, end, label) {
        //$('#kt_daterangepicker_2 .form-control').val(start.format('MM/DD/YYYY h:mm A') + ' - ' + end.format('MM/DD/YYYY h:mm A'));
        $('#kt_daterangepicker_1 .form-control').val(start.format('MM/DD/YYYY h:mm A'));
        $('#kt_daterangepicker_2 .form-control').val(end.format('MM/DD/YYYY h:mm A'));
        GetTimeDifference();
    })
   
});
$("#txtBiddingStartDate").mouseout(function () {
    if (document.getElementsByClassName('drp-calendar left')[0]!=undefined) {
        if (document.getElementsByClassName('drp-calendar left')[0].children[1] != undefined) {
            if (document.getElementsByClassName('drp-calendar left')[0].children[1].children[1] != undefined) {
                document.getElementsByClassName('drp-calendar left')[0].children[1].children[1].value = '1';
            }
        }
    }
});
$("#txtBiddingEndDate").mouseout(function () {
    if (document.getElementsByClassName('drp-calendar left')[1] != undefined) {
        if (document.getElementsByClassName('drp-calendar left')[1].children[1] != undefined) {
            if (document.getElementsByClassName('drp-calendar left')[1].children[1].children[1] != undefined) {
                document.getElementsByClassName('drp-calendar left')[1].children[1].children[1].value = '1';
            }
        }
    }
});
//product Category section
var productCategoryName = [];
var productCategoryId = [];
var updateProductCategoriesId = [], addProductCategories = [], deleteProductCatIds = [], checkedProductCategoryIds = [], mdblCurrentBid=0;
var mstrProductType = "", mblnBidIncrementLoad = false, mintCurrentCatalogNumber = 0, mstrAutoAssignCatalogPrefix = "", mstrCatalogNo = "", mintItemId = 0, mstrUploadPath = "";;
var _imageUploadModal = new app.ModalManager({
    viewUrl: abp.appPath + "admin/Products/ImageUploadModal/",
    //scriptUrl: abp.appPath + 'view-resources/Areas/admin/Views/Event/_ImageUploadModal.js',
    modalClass: 'ImageUploadModal'
});
$("#btnAddCategory").click(function () {
    $("#txtCategory").val("");
    $("#txtCategory").show();
    $(".autocomplete").show();
    
});
//$('#txtCategory').on('blur', function () {
//    $("#txtCategory").hide();
//});
$(document).ready(function () {

    
    var productAssignedWinnerFlag = document.getElementById('hdnProductAssignedWinnerFlag').value;

    if (productAssignedWinnerFlag == "True") {
        $("*", "#createItem").prop('disabled', true);
    }
    //samapika
    $("#kt_aside").css('width', '70px');
    $("#kt_wrapper").css('padding-left', '70px');
    $(".dropdown-menu").css("padding", "9px");//text editor
   //$("#kt_header").css('left', '70px');
    $($("[aria-label='Help']")[1]).css('z-index', '100000');
    $($("[aria-label='Help']")[1].children[0].children[0].children[0].children[0]).addClass('closeSummer');
    $("[aria-label='Help']")[1].children[0].children[0].children[0].style.background = '#008afc';
    //end
    if (search_params.has('itemId')) {
        document.getElementById('itemId').value = search_params.get('itemId');
        $("#create_item").text("Save");
        if (document.getElementById('hdnBuyNowQuantityAvailable').value <= 0) {
            document.getElementById('btnBiddingAmount').disabled = true;
            document.getElementById('btnPlaceBid').disabled = true;
            document.getElementById('btnBuyNow').disabled = true;
            document.getElementById('txtRightBidAmount').disabled = true;
            document.getElementById('lblOutOfStock').style.display = "block";
        }
        GetTimeDifference();
    } else {
        GetLastProductDate();
    }
    window.addEventListener("resize", Page_OnResize);//samapika
    Page_OnResize();
    
    GetProductType();
    GetProductCategory();
   
   
    autocomplete(document.getElementById("txtCategory"), productCategoryName);
    GetImageForEdit();
    GetProductCategoryIdForEdit();
    $('#chkBuyNowPrice').change();
    $("#chkAddTax").change();
    $("#chkAllowShipping").change();
    $("#chkReservePrice").change();
    $("#chkPopCornBidding").change();
    $("#chkCustomBidIncrement").change();
    
    $("#txtStartBid").keyup();
    $('#chkBlindBid').change();
    if (document.getElementById('hdnPopCornBidTime').value != 0) {
        document.getElementById('selectPopCornTime').value = document.getElementById('hdnPopCornBidTime').value;
    }
    var desc = document.getElementById("show-event-description").innerText;
    document.getElementById("show-event-description").innerHTML = "";
    //desc=new DOMParser().parseFromString(desc, "text/xml");
    document.getElementById("show-event-description").innerHTML = desc;
    if (document.getElementById('itemId').value != 0 && document.getElementById('itemId').value != "") {
        if (document.getElementById("startBid").getAttribute("bidType") == "startBid") {
            var currentBid = 0;
            GetDefaultBidIncrement(currentBid, parseFloat(document.getElementById('txtStartBid').value));
        } else {
            if (parseInt(document.getElementById('itemId').value) > 0) {
                if (document.getElementById('chkBlindBid').checked == true) {
                    GetProductForView();
                } else {
                    GetDefaultBidIncrement(parseFloat(document.getElementById('startBid').value), parseFloat(document.getElementById('txtStartBid').value));
                }
            } else {
                GetDefaultBidIncrement(parseFloat(document.getElementById('startBid').value), parseFloat(document.getElementById('txtStartBid').value));
            }
        
            }
    }
    if (parseInt(document.getElementById('itemId').value) > 0) {
        GetProductForView();
    }

});
function convertLocalToTimezone(localDt, localDtFormat, timezone) {
    //return moment(localDt, localDtFormat).tz(timezone).format('YYYY-MM-DD hh:mm:ss A');
    return moment(localDt, localDtFormat).tz(timezone).format('MM/DD/YYYY hh:mm:ss A');// A
}
function GetTimeDifference() {
    interval = clearInterval(interval);
    $.ajax({
        url: '/admin/Products/GetTimeDifference',
        data: {
            eventId: mintEventId,
            itemId: document.getElementById('itemId').value,
            productEndDate: $("#txtBiddingEndDate").val()
        },
        method: 'POST',
        success: function (data) {
            if (data.success) {
                //mstrEventTimeZone = data.result.timeZoneCode;
                if (data.result.differenceTime !== "" || data.result.differenceTime !== undefined) {
                    //mintDifferenceTime = data.result.differenceTime;
                    document.getElementById("divCreateItemWrapper").setAttribute("TimeDiff", data.result.differenceTime);
                }
                interval = setInterval(function () {

                    if ($("#txtBiddingEndDate").val() != "") {
                        document.getElementById("divTimeClock").style.display = "block";
                        // Get today's date and time
                        var itemDiv = document.getElementById("divCreateItemWrapper");
                        //if (itemDiv.getAttribute("TimeDiff") == undefined || itemDiv.getAttribute("TimeDiff") == null) {
                        //    GetTimeDifference();
                        //}
                        if (itemDiv.getAttribute("TimeDiff") != undefined) {
                            var distance = itemDiv.getAttribute("TimeDiff");
                            // Time calculations for days, hours, minutes and seconds
                            var days = Math.floor(distance / (1000 * 60 * 60 * 24));
                            var hours = Math.floor((distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));
                            var minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60));
                            var seconds = Math.floor((distance % (1000 * 60)) / 1000);

                            // Display the result in the element with id="demo"
                            document.getElementById("pTimeClock").innerHTML = days + "d " + hours + "h "
                                + minutes + "m " + seconds + "s ";

                            // If the count down is finished, write some text
                            if (distance < 0) {
                                // clearInterval(x);
                                document.getElementById("pTimeClock").innerHTML = "Closed";
                                document.getElementById("pTimeClock").style.color = "red";
                                document.getElementById('btnBiddingAmount').disabled = true;
                                document.getElementById('btnPlaceBid').disabled = true;
                                document.getElementById('btnBuyNow').disabled = true;
                            } else {
                                document.getElementById('btnBiddingAmount').disabled = false;
                                document.getElementById('btnPlaceBid').disabled = false;
                                document.getElementById('btnBuyNow').disabled = false;
                                document.getElementById("pTimeClock").style.color = "";
                            }
                           // mintDifferenceTime = mintDifferenceTime - 1000;
                           
                            itemDiv.setAttribute("TimeDiff", distance - 1000);
                        }
                    } else {
                        document.getElementById("divTimeClock").style.display = "none";
                    }
                }, 1000);

            } else {
                abp.message.error(data.error.message);
            }
        }
    })
}

function autocomplete(inp, arr) {
    /*the autocomplete function takes two arguments,
    the text field element and an array of possible autocompleted values:*/
    var currentFocus;
    /*execute a function when someone writes in the text field:*/
    inp.addEventListener("input", function (e) {
        var a, b, i, val = this.value;
        /*close any already open lists of autocompleted values*/
        closeAllLists();
        if (!val) { return false; }
        currentFocus = -1;
        /*create a DIV element that will contain the items (values):*/
        a = document.createElement("DIV");
        a.setAttribute("id", this.id + "autocomplete-list");
        a.setAttribute("class", "autocomplete-items");
        /*append the DIV element as a child of the autocomplete container:*/
        this.parentNode.appendChild(a);
        /*for each item in the array...*/
        for (i = 0; i < arr.length; i++) {
            /*check if the item starts with the same letters as the text field value:*/
            if (arr[i].substr(0, val.length).toUpperCase() == val.toUpperCase()) {
                /*create a DIV element for each matching element:*/
                b = document.createElement("DIV");
                /*make the matching letters bold:*/
                b.innerHTML = "<strong>" + arr[i].substr(0, val.length) + "</strong>";
                b.innerHTML += arr[i].substr(val.length);
                /*insert a input field that will hold the current array item's value:*/
                b.innerHTML += "<input type='hidden' value='" + arr[i] + "' pcId=" + productCategoryId[i].id+">";
                /*execute a function when someone clicks on the item value (DIV element):*/
                b.addEventListener("click", function (e) {
                    /*insert the value for the autocomplete text field:*/
                    inp.value = this.getElementsByTagName("input")[0].value;
                    if (inp.value == "") {
                        return false;
                    }
                    var chkId = 'chk_' + this.getElementsByTagName("input")[0].getAttribute('pcId');
                    if (document.getElementById(chkId) == null) {
                        var parentDiv = document.getElementById('divCategories');
                      
                        var childDiv = '<div class="checklist-box">' +
                            '<label class="checkbox checkbox-lg custom-checkbox">' +
                            '<input type="checkbox" name=' + this.getElementsByTagName("input")[0].value + ' id=chk_' + this.getElementsByTagName("input")[0].getAttribute('pcId') + ' onchange=GetCheckedCategory(this)>' +
                            '<span></span>' +
                            '<div class="category-title-name">' + this.getElementsByTagName("input")[0].value + '</div>' +
                            '</label>' +
                            '<div class="ml-auto category-delete" onclick=deleteCategory(this)><i class="fa fa-trash" aria-hidden="true"></i></div>' +
                            '</div>';
                        parentDiv.innerHTML = parentDiv.innerHTML + childDiv;
                        $("#" + chkId).attr('checked', 'checked');
                        checkedProductCategoryIds.push({ id: this.getElementsByTagName("input")[0].getAttribute('pcId')  });
                        updateProductCategoriesId.push({ id: this.getElementsByTagName("input")[0].getAttribute('pcId') });
                        $("#txtCategory").hide();//samapika
                    } else {
                        $("#" + chkId).attr('checked', 'checked');
                        $("#txtCategory").hide();//samapika
                    }
                    /*close the list of autocompleted values,
                    (or any other open lists of autocompleted values:*/
                    closeAllLists();
                });
                a.appendChild(b);
            }
        }
    });
    /*execute a function presses a key on the keyboard:*/
    inp.addEventListener("keydown", function (e) {
        var x = document.getElementById(this.id + "autocomplete-list");
        if (x) x = x.getElementsByTagName("div");
        if (e.keyCode == 40) {
            /*If the arrow DOWN key is pressed,
            increase the currentFocus variable:*/
            currentFocus++;
            /*and and make the current item more visible:*/
            addActive(x);
        } else if (e.keyCode == 38) { //up
            /*If the arrow UP key is pressed,
            decrease the currentFocus variable:*/
            currentFocus--;
            /*and and make the current item more visible:*/
            addActive(x);
        } else if (e.keyCode == 13) {
        /*If the ENTER key is pressed, prevent the form from being submitted,*/
            var index = productCategoryName.indexOf(this.value);
            var index = productCategoryName.indexOf(this.value);
            if (index > -1) {
                if (document.getElementById('chk_' + productCategoryId[index].id) == null) {
                    var parentDiv = document.getElementById('divCategories');

                    var childDiv = '<div class="checklist-box">' +
                        '<label class="checkbox checkbox-lg custom-checkbox">' +
                        '<input type="checkbox" name=' + productCategoryName[index] + ' id=chk_' + productCategoryId[index].id + ' onchange=GetCheckedCategory(this)>' +
                        '<span></span>' +
                        '<div class="category-title-name">' + productCategoryName[index] + '</div>' +
                        '</label>' +
                        '<div class="ml-auto category-delete" onclick=deleteCategory(this)><i class="fa fa-trash" aria-hidden="true"></i></div>' +
                        '</div>';
                    parentDiv.innerHTML = parentDiv.innerHTML + childDiv;
                }
                $("#chk_" + productCategoryId[index].id).attr('checked', 'checked');
                $("#txtCategory").hide();//samapika
            } else {
                if (this.value == "") {
                    $("#txtCategory").hide();
                    return false;
                }
                var parentDiv = document.getElementById('divCategories');

                var childDiv = '<div class="checklist-box">' +
                    '<label class="checkbox checkbox-lg custom-checkbox">' +
                    '<input type="checkbox" name=' + this.value + ' checked=checked>' +
                    '<span></span>' +
                    '<div class="category-title-name">' + this.value + '</div>' +
                    '</label>' +
                    '<div class="ml-auto category-delete" onclick=deleteCategory(this) ><i class="fa fa-trash" aria-hidden="true"></i></div>' +
                    '</div>';
                parentDiv.innerHTML = parentDiv.innerHTML + childDiv;
                addProductCategories.push({ Name: this.value });
                $("#txtCategory").hide();//samapika
                //$("#" + chkId).attr('checked', 'checked');
            }
            e.preventDefault();
            if (currentFocus > -1) {
                /*and simulate a click on the "active" item:*/
                if (x) x[currentFocus].click();
            }
        }
    });
    //inp.addEventListener("keypress", function (e) {
    //    if (e.keyCode == 13) {
    //        alert("Key Pressed");
    //    }
       
    //});
    function addActive(x) {
        /*a function to classify an item as "active":*/
        if (!x) return false;
        /*start by removing the "active" class on all items:*/
        removeActive(x);
        if (currentFocus >= x.length) currentFocus = 0;
        if (currentFocus < 0) currentFocus = (x.length - 1);
        /*add class "autocomplete-active":*/
        x[currentFocus].classList.add("autocomplete-active");
    }
    function removeActive(x) {
        /*a function to remove the "active" class from all autocomplete items:*/
        for (var i = 0; i < x.length; i++) {
            x[i].classList.remove("autocomplete-active");
        }
    }
    function closeAllLists(elmnt) {
        /*close all autocomplete lists in the document,
        except the one passed as an argument:*/
        var x = document.getElementsByClassName("autocomplete-items");
        for (var i = 0; i < x.length; i++) {
            if (elmnt != x[i] && elmnt != inp) {
                x[i].parentNode.removeChild(x[i]);
            }
        }
    }
    /*execute a function when someone clicks in the document:*/
    document.addEventListener("click", function (e) {
        closeAllLists(e.target);
    });
}
function GetProductCategory() {
    $.ajax({
        url: '/admin/Products/GetProductCategory',
        data: { },
        method: 'POST',
        success: function (data) {
            if (data.success) {
                if (data.result.productCategory != null) {
                    var parentDiv = document.getElementById('divCategories');
                    for (var i = 0; i < data.result.productCategory.length; i++) {
                        var CategoryName = data.result.productCategory[i].productCategoryName;
                        if (data.result.productCategory[i].displayList == true) {
                            var childDiv = '<div class="checklist-box">' +
                                '<label class="checkbox checkbox-lg custom-checkbox">' +
                                '<input type="checkbox" name=' + CategoryName + ' id=chk_' + data.result.productCategory[i].id +' onchange=GetCheckedCategory(this)>' +
                                '<span></span>' +
                                '<div class="category-title-name">' + CategoryName +'</div>' +
                                '</label>' +
                                '<div class="ml-auto category-delete" onclick=deleteCategory(this) pcId=' + data.result.productCategory[i].id +'><i class="fa fa-trash" aria-hidden="true"></i></div>' +
                                '</div>';
                                parentDiv.innerHTML = parentDiv.innerHTML + childDiv;
                        }
                        productCategoryName.push(CategoryName);
                        productCategoryId.push({ id: data.result.productCategory[i].id });
                    }
                }
                //data.result.productCategory[0].id

            } else {
                abp.message.error(data.error.message);
            }
        }
    })
}
function GetCheckedCategory(e) {
    var arrTemp = e.id.split('_');
    var id = arrTemp[1];
    if (document.getElementById(e.id).checked == true) {
        $("#" + e.id).attr('checked', 'checked');
        checkedProductCategoryIds.push({ id: id });
    } else {
        $("#" + e.id).removeAttr('checked');
        var index = checkedProductCategoryIds.findIndex(obj => obj.id == id); 
        checkedProductCategoryIds.splice(index, 1);
    }
    
}
function deleteCategory(e) {
    if (e.getAttribute('pcId') !== undefined) {
        var id = e.getAttribute('pcId');
        deleteProductCatIds.push({ id: id });
    }

    e.parentElement.remove();
}
$("#create_item").click(function () {
    
    //if (parseInt(document.getElementById('itemId').value) == 0) {
        if (parseInt(document.getElementById('itemId').value) == 0 &&($("#show-item-name").text() == "Click here to add item name" || $("#show-item-name").text() == "")) {
            toastr.options.positionClass = 'toast-top-full-width';
            toastr.options.progressBar = true;
            toastr.options.timeOut = "5000";
            toastr["info"]("Item Name can't be blank.", undefined, "");
            return false;
       // }
        //else {
        //    toastr.options.positionClass = 'toast-top-full-width';
        //    toastr.options.progressBar = true;
        //    toastr.options.timeOut = "5000";
        //    toastr["info"]("Please Save the Item.", undefined, "");
        //    return false;
        //}
    } else {
        _$form = $('#createItem');
        _$form.validate();
        if (!_$form.valid()) {

            if ($("#txtStartBid").val()=="") {
                $("#txtStartBid").focus();
            }
            return;
        }
        if (document.getElementById('chkCustomBidIncrement').checked == true) {
            if (document.getElementById('txtCustomBidIncrement').value == 0 || document.getElementById('txtCustomBidIncrement').value == "") {
                if (document.getElementById('txtCustomBidIncrement-error') != null) {
                    $("#txtCustomBidIncrement-error").show();
                    $("#lblCustomBidError").hide();
                } else {
                    $("#lblCustomBidError").show();
                }
                $("#txtCustomBidIncrement").focus();
                return;
            }
        }
        if (document.getElementById('chkBuyNowPrice').checked == true) {
            if (document.getElementById('txtButNowPrice').value == 0 || document.getElementById('txtButNowPrice').value == "") {
                if (document.getElementById('txtButNowPrice-error') != null) {
                    $("#txtButNowPrice-error").show();
                    $("#lblBuyNowError").hide();
                } else {
                    $("#lblBuyNowError").show();
                }
                $("#txtButNowPrice").focus();
                return;
            }
        }
        if (document.getElementById('chkAddTax').checked == true) {
            if (document.getElementById('txtTax').value == 0 || document.getElementById('txtTax').value == "") {
                if (document.getElementById('txtTax-error') != null) {
                    $("#txtTax-error").show();
                    $("#lblTaxError").hide();
                } else {
                    $("#lblTaxError").show();
                }
                $("#txtTax").focus();
                return;
            }
        }
        if (document.getElementById('chkReservePrice').checked == true) {
            if (document.getElementById('txtReserveAmount').value == 0 || document.getElementById('txtReserveAmount').value == "") {
                if (document.getElementById('txtReserveAmount-error') != null) {
                    $("#txtReserveAmount-error").show();
                    $("#lblReserveAmountError").hide();
                } else {
                    $("#lblReserveAmountError").show();
                }
                $("#txtReserveAmount").focus();
                return;
            }
        }
        if (document.getElementById('chkAllowShipping').checked == true) {
            if (document.getElementById('txtShipItemWeight').value == 0 || document.getElementById('txtShipItemWeight').value == "") {
                if (document.getElementById('txtShipItemWeight-error') != null) {
                    $("#txtShipItemWeight-error").show();
                    $("#lblShipItemWeightError").hide();
                } else {
                    $("#lblShipItemWeightError").show();
                }
                $("#txtShipItemWeight").focus();
                return;
            }
            if (document.getElementById('txtShipItemLength').value == 0 || document.getElementById('txtShipItemLength').value == "") {
                if (document.getElementById('txtShipItemLength-error') != null) {
                    $("#txtShipItemLength-error").show();
                    $("#lblShipItemLengthError").hide();
                } else {
                    $("#lblShipItemLengthError").show();
                }
                $("#txtShipItemLength").focus();
                return;
            }
            if (document.getElementById('txtShipItemWidth').value == 0 || document.getElementById('txtShipItemWidth').value == "") {
                if (document.getElementById('txtShipItemWidth-error') != null) {
                    $("#txtShipItemWidth-error").show();
                    $("#lblShipItemWidthError").hide();
                } else {
                    $("#lblShipItemWidthError").show();
                }
                $("#txtShipItemWidth").focus();
                return;
            }
            if (document.getElementById('txtShipItemHeight').value == 0 || document.getElementById('txtShipItemHeight').value == "") {
                if (document.getElementById('txtShipItemHeight-error') != null) {
                    $("#txtShipItemHeight-error").show();
                    $("#lblShipItemHeightError").hide();
                } else {
                    $("#lblShipItemHeightError").show();
                }
                $("#txtShipItemHeight").focus();
                return;
            }
            
            if (document.getElementById('txtShipFromZipCode').value == "") {
                if (document.getElementById('txtShipFromZipCode-error') != null) {
                    $("#txtShipFromZipCode-error").show();
                    $("#lblShipFromZipCodeError").hide();
                } else {
                    $("#lblShipFromZipCodeError").show();
                }
                $("#txtShipFromZipCode").focus();
                return;
            }
        }
       
        var availableQuantity = 0;
        if (document.getElementById('hdnBuyNowQuantityAvailable').value != -1) {
            availableQuantity = parseInt(document.getElementById('hdnBuyNowQuantityAvailable').value) +
                (parseInt(document.getElementById('txtBuyNowQuantity').value) - parseInt(document.getElementById('hdnBuyNowQuantity').value));
        } else {
            availableQuantity = parseInt(document.getElementById('txtBuyNowQuantity').value);
        }

        var objData = {
            productCatName: addProductCategories,
            productCatUpdateIds: updateProductCategoriesId,
            productDeleteCatIds: deleteProductCatIds,
            productSaveCatIds: checkedProductCategoryIds,
            itemId: parseInt(document.getElementById('itemId').value),
            input: {
                ProductName: document.getElementById('show-item-name').innerText,
                ProductDescription: document.getElementById("divDescription").children[0].innerHTML,
                ProductBidStartDate: moment(document.getElementById('txtBiddingStartDate').value).format('L h:mm A'),


                // ProductBidStartTime: ,

                ProductBidEndDate: moment(document.getElementById('txtBiddingEndDate').value).format('L h:mm A'),

                // ProductBidEndTime:, 

                ProductHasBuyNow: document.getElementById('chkBuyNowPrice').checked,

                ProductBuyNowPrice: parseFloat(document.getElementById('txtButNowPrice').value || 0),

                ProductHasBidding: document.getElementById('chkAllowBidding').checked,

                ProductAddTax: document.getElementById('chkAddTax').checked,

                ProductTaxPercent: parseFloat(document.getElementById('txtTax').value || 0),

                ProductAllowShipping: document.getElementById('chkAllowShipping').checked,

                ProductInventoryQuantity: parseInt(document.getElementById('txtBuyNowQuantity').value || 0),
                
                ProductQuantityAvailable: parseInt(availableQuantity||0),//parseInt(document.getElementById('txtBuyNowQuantity').value || 0),

                ProductHasReservePrice: document.getElementById('chkReservePrice').checked,

                ProductHasPopcornBid: document.getElementById('chkPopCornBidding').checked,

                ProductHasBlindBid: document.getElementById('chkBlindBid').checked,

                ProductBlindBidInventoryQuantity: parseInt(document.getElementById('txtBlindBidQuantity').value || 0),

                ProductBlindBidQuantityAvailable: parseInt(document.getElementById('txtBlindBidQuantity').value || 0),

                ProductHasCustomBidIncreament: document.getElementById('chkCustomBidIncrement').checked,

                ProductCustomBidIncreament: parseFloat(document.getElementById('txtCustomBidIncrement').value || 0),

                // //ProductCatalogNumber:,

                // //ProductDonate:, 

                // //ProductDonateName:,
                // //ProductDonateNamePublic:,
                // //ProductDonateCompanyName:, 
                // //ProductDonateCompanyNamePublic:,
                // //ProductDonateMailingAddress:,
                // //ProductDonateEMailAddress:, 
                // //ProductDonatePhoneNumber:,
                // //ProductDonateWebsiteUrl:,
                // //ProductDonateWebsitePublic:, 

                // //ProductDonateListAnonymous:,

                ProductStartBidPrice: parseFloat(document.getElementById('txtStartBid').value || 0),

                ProductItemValuePrice: parseFloat(document.getElementById('txtItemValue').value || 0),

                // ProductCurrentBidPrice:,

                // ProductBidWon:, 
                ProductTypeId: document.getElementById('selectProductType').selectedOptions[0].value,
                ProductReservePrice: parseFloat(document.getElementById('txtReserveAmount').value || 0),

                ProductShipWeightLb: parseFloat(document.getElementById('txtShipItemWeight').value || 0),

                ProductShipLengthInch: parseFloat(document.getElementById('txtShipItemLength').value || 0),

                ProductShipWidthInch: parseFloat(document.getElementById('txtShipItemWidth').value || 0),

                ProductShipHeightInch: parseFloat(document.getElementById('txtShipItemHeight').value || 0),

                ProductShipFromZipCode: document.getElementById('txtShipFromZipCode').value,

                ProductPopCornBidTime: document.getElementById('selectPopCornTime').selectedOptions[0].value.split(" ")[0]
            },
            eventId: mintEventId
        };
        $.ajax({
            url: '/admin/Products/SaveProductAndCategory',
            data: objData,
            method: 'POST',
            success: function (data) {
                if (data.success) {
                    document.getElementById('itemId').value = data.result.itemId;
                    GetTimeDifference();
                    GetProductForView();
                    if ($("#create_item").text()!="Save" && parseFloat(document.getElementById('txtStartBid').value) > 0) {
                        document.getElementById("txtRightBidAmount").value = document.getElementById('txtStartBid').value;
                    }
                    $("#create_item").text("Save");
                    $("#image-upload-wrapper_id").show();
                    $("#ItemSaveSuccess_Modal").show();
                    $("#btnGoToEventPage").attr("href", '../../edit/' + mintEventId);
                    $("#btnCreateAnotherItem").attr("href", '../../citem?id=' + mintEventId);
                                  
                } else {
                    abp.message.error(data.error.message);
                }
            }
        })
        //$(this).text("Save");
        //$("#image-upload-wrapper_id").show();
        //$("#ItemSaveSuccess_Modal").show();
        //$("#btnGoToEventPage").attr("href", '../../edit/' + mintEventId);
        //$("#btnCreateAnotherItem").attr("href", '../Products/CreateItem?id=' + mintEventId);
    }
});
$("#btnItemSaveModalClose").click(function () {
    $("#ItemSaveSuccess_Modal").hide();
});
//image slide
var slideIndex = 1;
showSlides(slideIndex);
//setInterval(showSlides(slideIndex), 10000);
//showSlides(slideIndex);

function plusSlides(n) {
    showSlides(slideIndex += n);
}

function currentSlide(n) {
    showSlides(slideIndex = n);
}

function showSlides(n) {
    //samapika
    if (mblnMouseOver == true) {
        return;
    }
    var i;
    var slides = document.getElementsByClassName("mySlides");
    var dots = document.getElementsByClassName("dot");
    if (n > slides.length) { slideIndex = 1 }
    if (n < 1) { slideIndex = slides.length }
    for (i = 0; i < slides.length; i++) {
        slides[i].style.display = "none";
    }
    for (i = 0; i < dots.length; i++) {
        dots[i].className = dots[i].className.replace(" itemActive", "");
    }
    slides[slideIndex - 1].style.display = "block";
    dots[slideIndex - 1].className += " itemActive";
    
}

var slideIndex = 0;
showSlides1();

function showSlides1() {
    //samapika
    if (mblnMouseOver == true) {
        setTimeout(showSlides1, 5000);
        return;
    }
    var i;
    var slides = document.getElementsByClassName("mySlides");
    var dots = document.getElementsByClassName("dot");
    for (i = 0; i < slides.length; i++) {
        slides[i].style.display = "none";
    }
    slideIndex++;
    if (slideIndex > slides.length) { slideIndex = 1 }
    for (i = 0; i < dots.length; i++) {
        dots[i].className = dots[i].className.replace(" itemActive", "");
    }
    slides[slideIndex - 1].style.display = "block";
    dots[slideIndex - 1].className += " itemActive";
    setTimeout(showSlides1, 5000); // Change image every 2 seconds
}
//start bid
$("#txtStartBid").click(function () {
    if (document.getElementById("startBid").getAttribute("bidType")=="startBid") {
        $("#startBid").val($(this).val());
        $("#txtRightBidAmount").val(parseInt(document.getElementById('txtStartBid').value).toFixed(0));
    }
    
    if (document.getElementById('txtStartBid').getAttribute('IsFocus')=='Y') {
        document.getElementById('txtStartBid').setAttribute('IsFocus', 'N');
        document.getElementById("txtStartBid").blur();
    }
 
});
$("#txtStartBid").mouseout(function () {
    //samapika
    if (parseInt(document.getElementById('itemId').value) == 0 && ($("#show-item-name").text() != "Click here to add item name" && $("#show-item-name").text() != "")) {
        if ($("#txtStartBid").val() != "") {
            SaveItem($("#show-item-name").text());
        }
    }
    //End
});
$("#txtStartBid").keyup(function (e) {
    if (document.getElementById("startBid").getAttribute("bidType") == "startBid") {
        $("#startBid").val($(this).val());
        $("#txtRightBidAmount").val(parseInt(document.getElementById('txtStartBid').value).toFixed(0));
    }
        if (parseInt(document.getElementById('txtReserveAmount').value) > parseInt(document.getElementById('startBid').value)) {
            var text = "Reserve not met";
            document.getElementById('lblReserve').innerText = text;
            if (document.getElementById('chkBlindBid').checked == false) {
                document.getElementById('lblReserve').style.display = '';
            }
            document.getElementById("spnReserveDescription").innerText = "Item won’t sale when bidding does not reach this amount.";
            // document.getElementById("spnReserveDescription").style.color = 'red';
        } else {
            document.getElementById('lblReserve').innerText = "";
            document.getElementById('lblReserve').style.display = "none";
            document.getElementById("spnReserveDescription").innerText = "";
            // document.getElementById("spnReserveDescription").style.color = '';
        }
    
   
});
//Item Value
$("#txtItemValue").click(function () {

    $("#itemValue").val($(this).val());

});
$("#txtItemValue").keyup(function () {

    $("#itemValue").val($(this).val());

});
//drag and drop Rnd
function allowDrop(ev) {
    ev.preventDefault();
}

function drag(ev) {
    ev.dataTransfer.setData("text", ev.target.id);
}

function drop(ev) {
    ev.preventDefault();
    var dataDrag = ev.dataTransfer.getData("text");
    var parentDrag = document.getElementById(dataDrag).parentElement;
    var dropDivId = ev.currentTarget.id;
    var dataDrop = document.getElementById(dropDivId).children[0].id;
    var dragSrc = document.getElementById(dataDrag).getAttribute('src');
    var dropSrc = document.getElementById(dataDrop).getAttribute('src');
    document.getElementById(dataDrop).setAttribute('src', dragSrc);
    document.getElementById(dataDrag).setAttribute('src', dropSrc);
    //for file change
    var tempArray = dataDrag.split("-");
    var dragNumber = tempArray[1];
    tempArray = dataDrop.split("-");
    var dropNumber = tempArray[1];
    //var dragFile = document.getElementById('file-' + dragNumber).files[0];
    //var dropFile = document.getElementById('file-' + dropNumber).files[0];
    //var dragFile = marrFileInput.filter(element => element.SeqNumber == dragNumber);
    //var dropFile = marrFileInput.filter(element => element.SeqNumber == dropNumber);
    //var dropIndex=marrFileInput.findIndex(obj => obj.SeqNumber == dropNumber); 
    //var dragIndex = marrFileInput.findIndex(obj => obj.SeqNumber == dragNumber); 
    //marrFileInput[dragIndex].SeqNumber = dropNumber;
    //marrFileInput[dropIndex].SeqNumber = dragNumber;
    //marrFileInput[dragIndex].src = dropSrc;
    //marrFileInput[dropIndex].src = dragSrc;


}
function dropWrap(ev) {
    ev.preventDefault();
    var dataDrag = ev.dataTransfer.getData("text");
    //samapika
    if (dataDrag == "") {
        var arrTemp = ev.currentTarget.id.split('-');
        var file = ev.dataTransfer.files;
        readURLDrop("file-"+arrTemp[1], file);
        return;
    }
    //end
    var parentDrag = document.getElementById(dataDrag).parentElement;
    var dropDivId = ev.currentTarget.id;
    if (dropDivId.indexOf('wrap') > -1) {
        var dragSrc = document.getElementById(dataDrag).getAttribute('src');
        var tempArray = dropDivId.split("-");
        var number = tempArray[1];
        if (number == 1) {
            $('#wrap-main').hide();
            $('#content-main').show();
            $("#img-main").attr('src', dragSrc);
        } else if (number == 'main') {
            $('#wrap-1').hide();
            $('#content-1').show();
            $("#img-1").attr('src', dragSrc);
        }

        $('#wrap-' + number).hide();
        $("#img-" + number).attr('src', dragSrc);
        $('#content-' + number).show();
        var tempArray = dataDrag.split("-");
        var dragNumber = tempArray[1];
        $("#img-" + dragNumber).attr('src', "#");
        //var dragIndex = marrFileInput.findIndex(obj => obj.SeqNumber == dragNumber);
        //marrFileInput[dragIndex].SeqNumber = number;
        //marrFileInput[dragIndex].src = dragSrc;
    }
    removeUpload(parentDrag); 
    //var dataDrop = document.getElementById(dropDivId).children[0].id;
    //var dragSrc = document.getElementById(dataDrag).getAttribute('src');
    //var dropSrc = document.getElementById(dataDrop).getAttribute('src');
    //document.getElementById(dataDrop).setAttribute('src', dragSrc);
    //document.getElementById(dataDrag).setAttribute('src', dropSrc);
    //   document.getElementById(dropDivId).removeChild(document.getElementById(dataDrop.id))
    //ev.target.appendChild(document.getElementById(data));
    //parentDrag.appendChild(document.getElementById(dataDrop));

}
//pankaj script for file upload
function readURLDrop(id,input) {
    var number = 0;
    this_id = id
    if (input[0]) {
        //samapika
        toastr.options.positionClass = 'toast-top-full-width';
        toastr.options.progressBar = true;
        toastr.options.timeOut = "20000";
        var type = '|' + input[0].type.slice(input[0].type.lastIndexOf('/') + 1) + '|';
        if ('|jpg|jpeg|png|gif|'.indexOf(type) === -1) {
            toastr["error"](app.localize('File_Invalid_Type_Error'), undefined, "");
            //document.getElementById('select').value = '';
            return false;
        }
        const fileSize = Math.round((input[0].size / 1024));
        if (fileSize > 2048) {
            toastr["error"](app.localize('File_SizeLimit_Error'), undefined, "");
            //document.getElementById('select').value = '';
            return false;
        }
    //end
        var reader = new FileReader();
        var tempArray = this_id.split("-");
        number = tempArray[1];
        reader.onload = function (e) {

            if (number == 1) {
                $('#wrap-main').hide();
                $('#content-main').show();
                $("#img-main").attr('src', e.target.result);
            } else if (number == 'main') {
                $('#wrap-1').hide();
                $('#content-1').show();
                $("#img-1").attr('src', e.target.result);
            }

            $('#wrap-' + number).hide();
            $("#img-" + number).attr('src', e.target.result);
            $('#content-' + number).show();

            //$('.image-title').html(input.files[0].name);
            e.preventDefault();
            //CropParameter = new Crop(mintEventId, "", "N", "img-" + number, "", '/admin/Products/CustomCrop', e.target.result, document.getElementById('itemId').value, number);
            CropParameter = new Crop(mintEventId, "Item", "N", "img-" + number, "", '/admin/Products/CustomCrop', 530, 400, e.target.result, document.getElementById('itemId').value, number);
            _imageUploadModal.open();
        };
        reader.readAsDataURL(input[0]);
        //marrFileInput.push({ SeqNumber: number, src: $("#img-" + number).attr('src') });
    } else {
        removeUpload();
    }
}
        var this_id;
function readURL(input) {
            var number = 0;
            this_id = input.id
    if (input.files && input.files[0]) {
                //samapika
        toastr.options.positionClass = 'toast-top-full-width';
        toastr.options.progressBar = true;
        toastr.options.timeOut = "20000";
        var type = '|' + input.files[0].type.slice(input.files[0].type.lastIndexOf('/') + 1) + '|';
        if ('|jpg|jpeg|png|gif|'.indexOf(type) === -1) {
            toastr["error"](app.localize('File_Invalid_Type_Error'), undefined, "");
            //document.getElementById('select').value = '';
            return false;
        }
        const fileSize = Math.round((input.files[0].size / 1024));
        if (fileSize > 2048) {
            toastr["error"](app.localize('File_SizeLimit_Error'), undefined, "");
            //document.getElementById('select').value = '';
            return false;
        }
        //end
                var reader = new FileReader();
                var tempArray = this_id.split("-");
                number = tempArray[1];
                reader.onload = function (e) {
                    
                    if (number == 1) {
                        $('#wrap-main').hide();
                        $('#content-main').show();
                        $("#img-main").attr('src', e.target.result);
                    } else if (number == 'main') {
                        $('#wrap-1').hide();
                        $('#content-1').show();
                        $("#img-1").attr('src', e.target.result);
                    }

                    $('#wrap-' + number).hide();
                    $("#img-" + number).attr('src', e.target.result);
                    $('#content-' + number).show();

                    //$('.image-title').html(input.files[0].name);
                    e.preventDefault();
                    //CropParameter = new Crop(mintEventId, "", "N", "img-" + number, "", '/admin/Products/CustomCrop', e.target.result, document.getElementById('itemId').value, number);
                    CropParameter = new Crop(mintEventId, "Item", "N", "img-" + number, "", '/admin/Products/CustomCrop', 530, 400, e.target.result, document.getElementById('itemId').value, number);
                    _imageUploadModal.open();
                };
                reader.readAsDataURL(input.files[0]);
                //marrFileInput.push({ SeqNumber: number, src: $("#img-" + number).attr('src') });
            } else {
            removeUpload();
            }
        }

function removeUpload(input) {
            
            this_id = input.id
            var tempArray = this_id.split("-");
            var number = tempArray[1];

            $('#file-' + number).replaceWith($('#file-' + number).val('').clone());
            $('#content-' + number).hide();
            $('#img-' + number).attr('src','#');
            $('#wrap-' + number).show();

            if (number == 1) {
            $('#file-main').replaceWith($('#file-main').clone());
                $('#content-main').hide();
                $('#wrap-main').show();
            } else if (number == 'main') {
            $('#file-1').replaceWith($('#file-main').clone());
                $('#content-1').hide();
                $('#wrap-1').show();
            }
}
//Listing Type or product type
function GetProductType() {
    $.ajax({
        url: '/admin/Products/GetProductType',
        data: {},
        method: 'POST',
        success: function (data) {
            if (data.success) {
                if (data.result.productType != null) {
                    var dropDownList = document.getElementById('selectProductType');
                    for (var i = 0; i < data.result.productType.length; i++) {
                        var ProductTypeName = data.result.productType[i].productTypeName;
                        var productTypeId = data.result.productType[i].id;
                        //var options = '<option value=' + productTypeId + '>' + ProductTypeName +'</option>';
                        //dropDownList.innerHTML = dropDownList.innerHTML + options;
                        var option = document.createElement("option");
                        option.value = productTypeId;
                        option.text = ProductTypeName;
                        dropDownList.appendChild(option);
                        if (i == 0) {
                            mstrProductType = ProductTypeName;
                            if (ProductTypeName === 'Bidding') {
                                if (document.getElementById('chkBuyNowPrice').checked == true && parseInt(document.getElementById('txtButNowPrice').value) > 0) {
                                    $("#btnBuy,#divBuy").removeClass('DisplayNone');
                                    $("#btnBid").removeClass('DisplayNone');
                                } else {
                                    $("#btnBuy,#divBuy").addClass('DisplayNone');
                                    $("#btnBid").addClass('DisplayNone');
                                }
                                if (document.getElementById('chkBlindBid').checked == true) {
                                    $("#divStartBidRight").addClass('DisplayNone');
                                    $("#divStartBidLeft").removeClass('DisplayNone');
                                } else {
                                    $("#divStartBidRight,#divStartBidLeft").removeClass('DisplayNone');
                                }
                                $("#divBiddingStartDate,#divBiddingEndDate").removeClass('DisplayNone');
                                $("#divAdvFeature").removeClass('DisplayNone');
                                $("#txtStartBid").attr('required', 'required');
                            } else if (ProductTypeName === 'View Only') {
                                mstrProductType = this.selectedOptions[0].innerText;
                                $("#divStartBidRight,#divStartBidLeft").addClass('DisplayNone');
                                $("#divBidArea").addClass('DisplayNone');
                                $("#divBiddingStartDate,#divBiddingEndDate").addClass('DisplayNone');
                                $("#divAdvFeature").addClass('DisplayNone');
                                $("#txtStartBid").removeAttr('required');
                            }
                        }
                    }
                    if (document.getElementById('hdnProductTypeId').value != "") {
                        document.getElementById('selectProductType').value = document.getElementById('hdnProductTypeId').value;
                        $("#selectProductType").change();
                    }
                }

            } else {
                abp.message.error(data.error.message);
            }
        }
    })
}

$('#chkBuyNowPrice').change(function () {
   
    if (document.getElementById('chkBuyNowPrice').checked == false) {
        $("#btnBuy,#divBuy").addClass('DisplayNone');
        $("#btnBid,#divBid").removeClass('DisplayNone');
        $("#btnBid").addClass('DisplayNone');
        if ($(this).is(":checked")) {
            $("#dvFeatureFieldBox-1").show();
        } else {
            $("#dvFeatureFieldBox-1").hide();
        }
        changeBidColor();
    } else if (document.getElementById('chkBuyNowPrice').checked == true) {//samapika
        //samapika blind bidding
        if (document.getElementById('chkBlindBid').checked == true) {
            toastr.options.positionClass = 'toast-top-full-width';
            toastr.options.progressBar = true;
            toastr.options.timeOut = "20000";
            // var msg = "Both blind bid and buy now cannot co-exist for an item";
            var msg = "This feature is not available when a Blind bid is Enable.";
            toastr["warning"](msg, undefined, "");
            document.getElementById('chkBuyNowPrice').checked = false;
            return false;
        } else {
            if ($(this).is(":checked")) {
                $("#dvFeatureFieldBox-1").show();
            } else {
                $("#dvFeatureFieldBox-1").hide();
            }
        }
        //End
        $("#txtButNowPrice").attr('required', 'required');//samapika new
        if (parseInt(document.getElementById('txtButNowPrice').value) > 0) {
            $("#btnBuy,#divBuy").removeClass('DisplayNone');
            $("#btnBid").removeClass('DisplayNone');
        } else {
            $("#btnBid,#divBid").removeClass('DisplayNone');
            $("#btnBid").addClass('DisplayNone');
            changeBidColor();
        }
    }
    if (parseInt(document.getElementById('itemId').value) > 0) {
        if (document.getElementById("startBid").getAttribute("bidType") == "currentBid") {
            if (parseFloat(document.getElementById("startBid").value) > parseFloat(document.getElementById("txtButNowPrice").value)) {
                $("#btnBuy,#divBuy").addClass('DisplayNone');
                $("#btnBid").addClass('DisplayNone');
            }
        }
    }
    //if (document.getElementById('chkAllowBidding').checked == true && parseInt(document.getElementById('txtButNowPrice').value) > 0) {
    //    $("#btnBuy").removeClass('DisplayNone');
    //    $("#divBuy").removeClass('DisplayNone');
    //    $("#btnBid").removeClass('DisplayNone');
    //    $("#divBid").removeClass('DisplayNone');
    //} else if (document.getElementById('chkAllowBidding').checked == false) {
    //    $("#btnBid").addClass('DisplayNone');
    //    $("#divBid").addClass('DisplayNone');
        
    //}
});
$('#chkAllowBidding').change(function () {
    if (document.getElementById('chkAllowBidding').checked == true) {
        if (parseInt(document.getElementById('txtButNowPrice').value) > 0) {
            $("#btnBuy,#divBuy").removeClass('DisplayNone');
            $("#btnBid,#divBid").removeClass('DisplayNone');
        } else {
            $("#btnBid,#divBid").removeClass('DisplayNone');
            $("#btnBid").addClass('DisplayNone');
            changeBidColor();
        }
        
        $("#txtStartBid").removeAttr("disabled");
        $("#txtStartBid").css('background-color', 'white');
        $("#divStartBidRight").removeClass('DisplayNone');
       // $("#chkBlindBid").attr('disabled', 'disabled');
    } else if (document.getElementById('chkAllowBidding').checked == false) {
        if (parseInt(document.getElementById('txtButNowPrice').value) > 0) {
            $("#btnBuy,#divBuy").removeClass('DisplayNone');
            $("#btnBuy").addClass('DisplayNone');
            changeBuyColor();
        }
        $("#btnBid,#divBid").addClass('DisplayNone');
        $("#txtStartBid").attr('disabled', 'disabled');
        $("#txtStartBid").css('background-color', '#f1f1f1');
        $("#divStartBidRight").addClass('DisplayNone');
       // $("#chkBlindBid").removeAttr("disabled");
    }
});



document.getElementById("txtButNowPrice").addEventListener("input", function () {
    if (document.getElementById('txtButNowPrice').value != "") {
        document.getElementById('txtPageBuyNowPrice').value =parseFloat(document.getElementById('txtButNowPrice').value).toFixed(0);
        $("#lblBuyNowError").hide();
    }
});
document.getElementById("txtReserveAmount").addEventListener("input", function () {
    if (document.getElementById('txtReserveAmount').value != "") {
        $("#lblReserveAmountError").hide();
    }
});
document.getElementById("txtCustomBidIncrement").addEventListener("input", function () {
    if (document.getElementById('txtCustomBidIncrement').value != "") {
        $("#lblCustomBidError").hide();
    }
});
document.getElementById("txtStartBid").addEventListener("input", function () {
    if (document.getElementById('txtStartBid').value != "") {
        $("#txtStartBid-error").hide();
    }
});
document.getElementById("txtShipFromZipCode").addEventListener("input", function () {
    if (document.getElementById('txtShipFromZipCode').value != "") {
        $("#lblShipFromZipCodeError").hide();
    }
});
$("#txtShipFromZipCode").keyup(function () {
    if (document.getElementById('txtShipFromZipCode').value != "") {
        $("#lblShipFromZipCodeError").hide();
    }
});
document.getElementById("txtShipItemWeight").addEventListener("input", function () {
    if (document.getElementById('txtShipItemWeight').value != "") {
        $("#lblShipItemWeightError").hide();
    }
});
$("#txtShipItemWeight").keyup(function () {
    if (document.getElementById('txtShipItemWeight').value != "") {
        $("#lblShipItemWeightError").hide();
    }
});
document.getElementById("txtShipItemLength").addEventListener("input", function () {
    if (document.getElementById('txtShipItemLength').value != "") {
        $("#lblShipItemLengthError").hide();
    }
});
$("#txtShipItemLength").keyup(function () {
    if (document.getElementById('txtShipItemLength').value != "") {
        $("#lblShipItemLengthError").hide();
    }
});
document.getElementById("txtShipItemWidth").addEventListener("input", function () {
    if (document.getElementById('txtShipItemWidth').value != "") {
        $("#lblShipItemWidthError").hide();
    }
});
$("#txtShipItemWidth").keyup(function () {
    if (document.getElementById('txtShipItemWidth').value != "") {
        $("#lblShipItemWidthError").hide();
    }
});
document.getElementById("txtShipItemHeight").addEventListener("input", function () {
    if (document.getElementById('txtShipItemHeight').value != "") {
        $("#lblShipItemHeightError").hide();
    }
});
$("#txtShipItemHeight").keyup(function () {
    if (document.getElementById('txtShipItemHeight').value != "") {
        $("#lblShipItemHeightError").hide();
    }
});


$("#txtButNowPrice").keyup(function () {
    if (document.getElementById('txtButNowPrice').value != "") {
        $("#lblBuyNowError").hide();
    }
    if (document.getElementById('chkBuyNowPrice').checked == true && parseInt(document.getElementById('txtButNowPrice').value) > 0) {
        if (parseInt(document.getElementById('itemId').value) > 0 && document.getElementById("startBid").getAttribute("bidType") == "currentBid" && (parseFloat(document.getElementById("startBid").value) > parseFloat(document.getElementById("txtButNowPrice").value))) {
            $("#btnBuy,#divBuy").addClass('DisplayNone');
            $("#btnBid").addClass('DisplayNone');
            if (document.getElementById('chkAllowBidding').checked == true) {
                $("#btnBid,#divBid").removeClass('DisplayNone');
                $("#btnBid").addClass('DisplayNone');
            }
            changeBidColor();
        } else {
            $("#btnBuy,#divBuy").removeClass('DisplayNone');
            $("#btnBid").removeClass('DisplayNone');
            changeBuyColor();
        }
        
    } else {
        $("#btnBuy,#divBuy").addClass('DisplayNone');
        if (document.getElementById('chkAllowBidding').checked == true) {
            $("#btnBid,#divBid").removeClass('DisplayNone');
            $("#btnBid").addClass('DisplayNone');
        }
        changeBidColor();
    }
   
});

$("#txtStartBid").keyup(function () {
    if (parseInt(document.getElementById('txtStartBid').value) > 0) {
        document.getElementById('chkAllowBidding').checked = true;
        
    }
    else {
        document.getElementById('chkAllowBidding').checked = false;
    }
    //$("#chkAllowBidding").change();
});
document.getElementById("txtTax").addEventListener("input", function () {
    if (document.getElementById('txtTax').value != "") {
        $("#lblTaxError").hide();
        $("#txtTax-error").show();
    }
    if (parseInt(document.getElementById('txtTax').value) > 0) {
        var text = 'This item has ' + parseInt(document.getElementById('txtTax').value) + '% tax.';
        document.getElementById('lblTax').style.display = "";
        document.getElementById('lblTax').innerText = text;
    } else {
        document.getElementById('lblTax').innerText = "";
        document.getElementById('lblTax').style.display = "none";
    }
    //if (document.getElementById('txtTax').value == 0 || document.getElementById('txtTax').value == "") {
    //    if (document.getElementById('txtTax-error') != null) {
    //        $("#txtTax-error").hide();
    //        $("#lblTaxError").show();
    //    } else {
    //        $("#lblTaxError").show();
    //    }
    //    return;
    //} else {
    //    $("#lblTaxError").hide();
    //}
});
$("#txtTax").keyup(function () {
    if (document.getElementById('txtTax').value != "") {
        $("#lblTaxError").hide();
        $("#txtTax-error").show();
    }
    //if (document.getElementById('txtTax').value == 0 || document.getElementById('txtTax').value == "") {
    //    if (document.getElementById('txtTax-error') != null) {
    //        $("#txtTax-error").hide();
    //        $("#lblTaxError").show();
    //    } else {
    //        $("#lblTaxError").show();
    //    }
    //    return;
    //} else {
    //    $("#lblTaxError").hide();
    //}
    if (parseInt(document.getElementById('txtTax').value) > 0) {
        var text = 'This item has ' + parseInt(document.getElementById('txtTax').value) + '% tax.';
        document.getElementById('lblTax').style.display = "";
        document.getElementById('lblTax').innerText = text;
    } else {
        document.getElementById('lblTax').innerText = "";
        document.getElementById('lblTax').style.display = "none";
    }
});


$("#selectProductType").change(function () {
    if (this.selectedOptions[0].innerText.trim() == "Bidding") {
        mstrProductType = this.selectedOptions[0].innerText;
        if (document.getElementById('chkBuyNowPrice').checked == true && parseInt(document.getElementById('txtButNowPrice').value) > 0) {
            $("#btnBuy,#divBuy").removeClass('DisplayNone');
            $("#divBidArea").removeClass('DisplayNone');
        } else {
            $("#btnBuy,#divBuy").addClass('DisplayNone');
        }
        $("#divBidArea").removeClass('DisplayNone');
        if (document.getElementById('chkBlindBid').checked == true) {
            $("#divStartBidRight").addClass('DisplayNone');
            $("#divStartBidLeft").removeClass('DisplayNone');
        } else {
            $("#divStartBidRight,#divStartBidLeft").removeClass('DisplayNone');
        }
        //$("#divStartBidRight,#divStartBidLeft").removeClass('DisplayNone');
        $("#divBiddingStartDate,#divBiddingEndDate").removeClass('DisplayNone');
        $("#divAdvFeature").removeClass('DisplayNone');
        $("#txtStartBid").attr('required', 'required');
    } else if (this.selectedOptions[0].innerText.trim() == "View Only") {
        mstrProductType = this.selectedOptions[0].innerText;
        $("#divStartBidRight,#divStartBidLeft").addClass('DisplayNone');
        $("#divBidArea").addClass('DisplayNone');
        $("#divBiddingStartDate,#divBiddingEndDate").addClass('DisplayNone');
        $("#divAdvFeature").addClass('DisplayNone');
        $("#txtStartBid").removeAttr('required');

    } else {
        $("#btnBuy,#divBuy").removeClass('DisplayNone');
        $("#btnBid,#divBid").removeClass('DisplayNone');
        $("#divBidArea").removeClass('DisplayNone');
        if (document.getElementById('chkBlindBid').checked == true) {
            $("#divStartBidRight").addClass('DisplayNone');
            $("#divStartBidLeft").removeClass('DisplayNone');
        } else {
            $("#divStartBidRight,#divStartBidLeft").removeClass('DisplayNone');
        }
       // $("#divStartBidRight,#divStartBidLeft").removeClass('DisplayNone');
        $("#divBiddingStartDate,#divBiddingEndDate").removeClass('DisplayNone');
        $("#divAdvFeature").removeClass('DisplayNone');
    }

});
function changeBidColor() {
    $("#btnBuy").removeClass('active');
    $("#divBuy").removeClass('active');
    $("#btnBuy").removeClass('activeTab');
    $("#btnBuy").addClass('inActiveTab');
    $("#btnBid").removeClass('inActiveTab');
    $("#btnBid").addClass('active');
    $("#divBid").addClass('active');
    $("#btnBid").addClass('activeTab');
   
}
function changeBuyColor() {
    $("#btnBuy").addClass('active');
    $("#divBuy").addClass('active');
    $("#btnBuy").removeClass('inActiveTab');
    $("#btnBuy").addClass('activeTab');
    $("#btnBid").removeClass('active');
    $("#divBid").removeClass('active');
    $("#btnBid").removeClass('activeTab');
    $("#btnBid").addClass('inActiveTab');
}
//Blind bid
$("#btnBlindBidMinus").click(function () {
    var element = document.getElementById('txtBlindBidQuantity');
    var Quantity = parseInt(element.value) - 1;
    if (Quantity >=  2) {
        element.value = Quantity;
    }
    return false;
});
$("#btnBlindBidPlus").click(function () {
    var element = document.getElementById('txtBlindBidQuantity');
    var Quantity = parseInt(element.value)+ 1;
    element.value = Quantity;
    return false;
});
$('#chkBlindBid').change(function () {
    if (document.getElementById('chkBlindBid').checked == true) {
        //$("#divStartBidRight,#divStartBidLeft").addClass('DisplayNone'); 
        //$("#divItemValueRight,#divItemValueLeft").addClass('DisplayNone');
       
        if (document.getElementById('chkBuyNowPrice').checked == true) {// || parseInt(document.getElementById('txtButNowPrice').value) > 0
            toastr.options.positionClass = 'toast-top-full-width';
            toastr.options.progressBar = true;
            toastr.options.timeOut = "20000";
            // var msg = "Both blind bid and buy now cannot co-exist for an item";
            var msg = "This feature is not available when a buy it now price is added.";
            toastr["warning"](msg, undefined, "");
            document.getElementById('chkBlindBid').checked = false;
            $("#dvFeatureFieldBox-6").hide();
        }
        else {
            if ($(this).is(":checked")) {
                $("#dvFeatureFieldBox-6").show();
            } else {
                $("#dvFeatureFieldBox-6").hide();
            }
            $("#divStartBidRight").addClass('DisplayNone');
            $("#divItemValueRight").addClass('DisplayNone');
            $("#lblReserve").css('display', 'none');
        }
    } else {
        $("#divStartBidRight,#divStartBidLeft").removeClass('DisplayNone');
        $("#divItemValueRight,#divItemValueLeft").removeClass('DisplayNone');
        if ($(this).is(":checked")) {
            $("#dvFeatureFieldBox-6").show();
        } else {
            $("#dvFeatureFieldBox-6").hide();
        }
        if (parseInt(document.getElementById('txtReserveAmount').value) > parseInt(document.getElementById('startBid').value)) {
            $("#lblReserve").css('display', '');
        }
    }
    

});
$("#txtReserveAmount").keyup(function () {
    if (document.getElementById('txtReserveAmount').value != "") {
        $("#lblReserveAmountError").hide();
    }
    
        if (parseInt(document.getElementById('txtReserveAmount').value) > parseInt(document.getElementById('startBid').value)) {

            var text = "Reserve not met";
            document.getElementById('lblReserve').innerText = text;
            if (document.getElementById('chkBlindBid').checked == false) {
                document.getElementById('lblReserve').style.display = '';
            }
            document.getElementById("spnReserveDescription").innerText = "Item won’t sale when bidding does not reach this amount.";
            //document.getElementById("spnReserveDescription").style.color = 'red';
        } else {
            document.getElementById('lblReserve').innerText = "";
            document.getElementById('lblReserve').style.display = 'none';
            document.getElementById("spnReserveDescription").innerText = "";
            //  document.getElementById("spnReserveDescription").style.color = '';
        }
});
$("#btnSaveDescription").click(function () {
    if ($(".note-editable").html() == "") {
        document.getElementById("divDescription").children[0].innerText = "Click here to add item description";
    } else {
        document.getElementById("divDescription").children[0].innerHTML = $(".note-editable").html();
    }
    $("#show-event-description").show();
    $("#btnDescription").show();
    $("#DescriptionModel").hide();
    return false;
});
$("#btnSetDescription,#btnDescription").click(function () {
    $(".note-editable").html(document.getElementById("divDescription").children[0].innerHTML);
});
$("#btnRemoveDescription").click(function () {
    $(".note-editable").html("");
});
$("#divDescription").click(function () {
    if (mblnCloseDescription === false) {
        $("#DescriptionModel").show();
        $("#show-event-description").hide();
        $("#btnDescription").hide();
    } else {
        mblnCloseDescription = false;
    }
    //$(".note-editable").html(document.getElementById("divDescription").children[0].innerHTML);
    //$(".note-editable").html("");
   
});
$("#rdoAutoAsnCatalogNo").click(function () {
    $("#txtCatalogNumber").attr('disabled', 'disabled');
    $("#txtCatalogNumber").css('background-color', '#f1f1f1');
    $("#divCatalogPrefix").show();
});
$("#rdoCustomCatalogNo").click(function () {
    $("#txtCatalogNumber").removeAttr('disabled');
    $("#txtCatalogNumber").css('background-color', 'white');
    $("#divCatalogPrefix").hide();
});
$("#bidIncrementHref").click(function () {
    if (mblnBidIncrementLoad == false) {
        GetBidIncrement();
        mblnBidIncrementLoad = true;
    }
     
});

function GetBidIncrement() {
    $.ajax({
        url: '/admin/Products/GetBidIncrement',
        data: {eventId:mintEventId},
        method: 'POST',
        success: function (data) {
            if (data.success) {
                if (data.result.bidIncrement != null) {
                    var tBody = document.getElementById('tbodyBidIncrement');
                    for (var i = 0; i < data.result.bidIncrement.length; i++) {
                        var FromAmount = parseFloat(data.result.bidIncrement[i].from_Amount).toFixed(2);
                        var ToAmount = parseFloat(data.result.bidIncrement[i].to_Amount).toFixed(2);
                        var IncrementAmount = parseFloat(data.result.bidIncrement[i].increment_Amount).toFixed(2);
                        var tr = document.createElement("tr");
                        var td1 = document.createElement("td");
                        td1.innerText = FromAmount;
                        td1.style.textAlign = 'center';
                        tr.appendChild(td1);
                        var td2 = document.createElement("td");
                        td2.innerText = ToAmount;
                        td2.style.textAlign = 'center';
                        tr.appendChild(td2);
                        var td3 = document.createElement("td");
                        td3.innerText = IncrementAmount;
                        td3.style.textAlign = 'center';
                        tr.appendChild(td3);
                        tBody.appendChild(tr);
                    }
                }
                //data.result.productCategory[0].id

            } else {
                abp.message.error(data.error.message);
            }
        }
    })
}

$("#btnImageGallerySave").click(function () {
    //samapika rename images
    var arrImages = []; 
    for (var i = 1; i <= 10; i++) {
        var src = document.getElementById('img-' + i).getAttribute('src');
       
        if (src!="#") {
            var arrTemp = src.split("\\");
            if (arrTemp[arrTemp.length - 1].indexOf("/") > -1) {
                var arrTemp1 = arrTemp[arrTemp.length - 1].split("/");
                arrImages.push({ 'Name': arrTemp1[1] });
            } else {
                arrImages.push({ 'Name': arrTemp[arrTemp.length - 1] });
            }
        }
    } 
    
    $.ajax({
        url: '/admin/Products/SaveImageOrder',
       // data: { eventId: 245, itemId: document.getElementById('itemId').value, arrImages: arrImages },
        data: { eventId: mintEventId, itemId: document.getElementById('itemId').value , arrImages: arrImages },
        method: 'POST',
        success: function (data) {
            if (data.success) {
                mstrUploadPath = data.result.path;
                if (arrImages.length == 0) {
                    var parentDiv = document.getElementById('divSlideShow');
                    var imageDot = document.getElementById('divImageDot');
                    parentDiv.innerHTML = "";
                    parentDiv.innerHTML = '<div id="divCarouselButton" class="carousel-actions-wrap" style="display: none;">'
                        + '<button id ="btnImageModal" type ="button" class="edit-image" data-target="#editImg-modal" data-toggle="modal" >'
                        + '<i class="fa fa-pencil" style="margin: -1px; font: normal normal normal 14px/1 FontAwesome"></i></button></div>';
                    imageDot.innerHTML = "";
                    var imgDiv = '<div class="mySlides" onmouseleave="imageMouseOut();">'
                        //+ '<div class="numbertext">2 / 3</div>'
                        + '<img id="myimage" src="/Common/Images/NoItem.png" style="width: 100%;height:300px;" onmouseover="imageZoom();">'
                        + '</div>';
                    var dot = '<span class="dot" onclick="currentSlide(1)"></span>'
                    parentDiv.innerHTML = parentDiv.innerHTML + imgDiv;
                    imageDot.innerHTML = imageDot.innerHTML + dot;
                    var child = '<a class="prevSlide" onclick="plusSlides(-1)">&#10094;</a>' +
                        '<a class="nextSlide" onclick="plusSlides(1)">&#10095;</a>';
                    parentDiv.innerHTML = parentDiv.innerHTML + child;
                } else {
                    var parentDiv = document.getElementById('divSlideShow');
                    var imageDot = document.getElementById('divImageDot');
                    parentDiv.innerHTML = "";
                    parentDiv.innerHTML = '<div id="divCarouselButton" class="carousel-actions-wrap" style="display: none;">'
                        + '<button id ="btnImageModal" type ="button" class="edit-image" data-target="#editImg-modal" data-toggle="modal" >'
                        + '<i class="fa fa-pencil" style="margin: -1px; font: normal normal normal 14px/1 FontAwesome"></i></button></div>';
                    imageDot.innerHTML = "";
                    var intCntr = 1;
                    for (var i = 1; i <= 10; i++) {
                        var src = document.getElementById('img-' + i).getAttribute('src');

                        if (src !== "#") {
                            //samapika
                            var w = document.documentElement.clientWidth;
                            var h = document.documentElement.clientHeight;
                            var temp = src.split("\\");
                            mintItemId = document.getElementById('itemId').value;
                            // var path = "/" + document.getElementById('imgEventPath').value;
                            //  src = "/Upload\Events" + mintEventId + "\Items"+mintItemId+"\Create_"+
                            //../../ Upload\Events\3396\Items\2344\EventEdit_3_800_600_2344_item_1.png ? t = 1623911686760
                            if (w == 2560) {
                                src =  mstrUploadPath + "\\Create_" + "2560_1080_" + mintItemId + "_item_" + i + ".png";
                            } else if ((w < 2560 && w >= 1920)) {
                                src =  mstrUploadPath+ "\\Create_" + "1920_1080_" + mintItemId + "_item_" + i + ".png";
                            } else if ((w < 1920 && w >= 1680)) {
                                src =  mstrUploadPath + "\\Create_" + "1680_1050_" + mintItemId + "_item_" + i + ".png";
                            } else if ((w < 1680 && w >= 1600)) {
                                src = mstrUploadPath+ "\\Create_" + "1600_900_" + mintItemId + "_item_" + i + ".png";
                            } else if ((w < 1600 && w >= 1400)) {
                                src = mstrUploadPath + "\\Create_" + "1400_1050_" + mintItemId + "_item_" + i + ".png";
                            } else if ((w < 1400 && w >= 1360)) {
                                src = mstrUploadPath+ "\\Create_" + "1360_768_" + mintItemId + "_item_" + i + ".png";
                            } else if ((w < 1360 && w >= 1280)) {
                                src =mstrUploadPath + "\\Create_" + "1280_720_" + mintItemId + "_item_" + i + ".png";
                            } else if ((w < 1280 && w >= 1152)) {
                                src =  mstrUploadPath+ "\\Create_" + "1152_864_" + mintItemId + "_item_" + i + ".png";
                            } else if ((w < 1152 && w >= 1024)) {
                                src =  mstrUploadPath + "\\Create_" + "1024_768_" + mintItemId + "_item_" + i + ".png";
                            } else if ((w < 1024 && w >= 800)) {
                                src = mstrUploadPath + "\\Create_" + "800_600_" + mintItemId + "_item_" + i + ".png";
                            }
                            //end
                            var imgDiv = '<div class="mySlides" onmouseleave="imageMouseOut(' + i + ');">'
                                //+ '<div class="numbertext">2 / 3</div>'
                                + '<img id="myimage' + i + '" src=' + src + ' style="width: 100%; height: 300px;" onmouseover="imageZoom(' + i + ');">'
                                + '</div>';
                            var dot = '<span class="dot" onclick="currentSlide(' + intCntr + ')"></span>'
                            parentDiv.innerHTML = parentDiv.innerHTML + imgDiv;
                            imageDot.innerHTML = imageDot.innerHTML + dot;
                            intCntr++;
                        }
                    }
                    var child = '<a class="prevSlide" onclick="plusSlides(-1)">&#10094;</a>' +
                        '<a class="nextSlide" onclick="plusSlides(1)">&#10095;</a>';
                    parentDiv.innerHTML = parentDiv.innerHTML + child;
                }
                slideIndex = 1;
                showSlides(slideIndex);
            } else {
                abp.message.error(data.error.message);
            }
        }
    })
    //end
    
});
$("#btnImageModal").click(function () {
    if (parseInt(document.getElementById('itemId').value) == 0) {
        if ($("#show-item-name").text() == "Click here to add item name" || $("#show-item-name").text() == "") {
            toastr.options.positionClass = 'toast-top-full-width';
            toastr.options.progressBar = true;
            toastr.options.timeOut = "5000";
            toastr["info"]("Item Name can't be blank.", undefined, "");
            return false;
        } else {
            toastr.options.positionClass = 'toast-top-full-width';
            toastr.options.progressBar = true;
            toastr.options.timeOut = "5000";
            toastr["info"]("Please Save the Item.", undefined, "");
            return false;
        }
    } else {
        //$.ajax({
        //    url: '/admin/Products/GetImages',
        //    // data: { eventId: 245, itemId: document.getElementById('itemId').value, arrImages: arrImages },
        //    data: { eventId: mintEventId, itemId: document.getElementById('itemId').value },
        //    method: 'POST',
        //    success: function (data) {
        //        if (data.success) {
        //            var image = data.result.image;
        //            if (image.length>0) {
        //                for (var i = 0; i < image.length; i++) {
        //                    var imageName = image[i].productImage.imageName;
        //                    document.getElementById('img-' + (i + 1)).setAttribute('src', '../../' + data.result.path + '/' + imageName);
        //                }
        //            }
        //        } else {
        //            abp.message.error(data.error.message);
        //        }
        //    }
        //});
    }
});

$("#btnItemName,#divItemName").click(function () {
    $("#show-item-name").hide(); //hide text
    $("#btnItemName").hide();
    $('#txtItemName').show(); //show textbox
    if ($('#show-item-name').text() !== "Click here to add item name") {
        $('#txtItemName').val($('#show-item-name').text());
    }
});
$('#txtItemName').on('blur', function () {
    var that = $(this);
    if (that.val() === "") {
        $("#show-item-name").text("Click here to add item name");
    } else {
        $('#show-item-name').text(that.val());
    }
    $('#show-item-name').show();
    $("#btnItemName").show();
    that.hide(); //hide textbox
});
$('#txtItemName').on('mouseout', function () {
    var that = $(this);
    if (that.val() === "") {
        $("#show-item-name").text("Click here to add item name");
    } else {
        $('#show-item-name').text(that.val());
        SaveItem(that.val());
    }

    $('#show-item-name').show();
    $("#btnItemName").show();
    that.hide(); //hide textbox
});
//$('#divItemName').on('mouseover', function () {
//    $("#btnItemName").show();
//});
//$('#divItemName').on('mouseout', function () {
//    $("#btnItemName").hide();
//});
$('#divSlideShow').on('mouseover', function () {
    $("#divCarouselButton").show();
});
$('#divSlideShow').on('mouseout', function () {
    $("#divCarouselButton").hide();
});
function SaveItem(itemName) {
    var id = document.getElementById('itemId').value;
    _$form = $('#createItem');
    _$form.validate();
    if (!_$form.valid()) {
        if ($("#txtStartBid").val() == "") {
            document.getElementById('txtStartBid').setAttribute('IsFocus', 'Y');
            $("#txtStartBid").focus();
        }
        return;
    }
    $.ajax({
        url: '/admin/Products/SaveItemName',
        data: { eventId: mintEventId, itemId: id, itemName: itemName, startBid: parseFloat(document.getElementById('txtStartBid').value || 0)},
        method: 'POST',
        success: function (data) {
            if (data.success) {
                document.getElementById('itemId').value = data.result.itemId;
                //if (data.result.itemId > 0) {
                //    toastr.options.positionClass = 'toast-top-full-width';
                //    toastr.options.progressBar = true;
                //    toastr.options.timeOut = "5000";
                //    toastr["info"]("Saved Successfully.", undefined, "");
                //    $("#create_item").text("Save");
                //}
                
            } else {
                abp.message.error(data.error.message);
            }
        }
    })
}
$("#btnDonateModal").click(function () {
    if (parseInt(document.getElementById('itemId').value) == 0) {
        if ($("#show-item-name").text() == "Click here to add item name" || $("#show-item-name").text() == "") {
            toastr.options.positionClass = 'toast-top-full-width';
            toastr.options.progressBar = true;
            toastr.options.timeOut = "5000";
            toastr["info"]("Item Name can't be blank.", undefined, "");
            return false;
        } else {
            toastr.options.positionClass = 'toast-top-full-width';
            toastr.options.progressBar = true;
            toastr.options.timeOut = "5000";
            toastr["info"]("Please Save the Item.", undefined, "");
            return false;
        }
       
    } else {
        
    }
});
//samapika
$("#divProductDonate").init(function () {
    _$form = $('#divProductDonate');
    _$form.validate();
});
$("#createItem").init(function () {
    _$form = $('#createItem');
    _$form.validate();
});
function isURL(str) {
    return /^(?:\w+:)?\/\/([^\s\.]+\.\S{2}|localhost[\:?\d]*)\S*$/.test(str);
}
$("#txtProductDonateWebsiteUrl").keyup(function () {
    if (isURL(document.getElementById('txtProductDonateWebsiteUrl').value) == false) {
        $("#lblDonateWebsiteUrl").show();
    } else {
        $("#lblDonateWebsiteUrl").hide();
    }
});
$("#btnSaveDonate").click(function () {
    _$form = $('#divProductDonate');
    _$form.validate();
    if (!_$form.valid()) {
        return;
    }
    if (isURL(document.getElementById('txtProductDonateWebsiteUrl').value) == false) {
        $("#lblDonateWebsiteUrl").show();
        return;
    }
    var objData = {
        id: parseInt(document.getElementById('itemId').value),
        input: {
            ProductName: document.getElementById('show-item-name').innerText,
            ProductDonate:true, 
            ProductDonateName: document.getElementById('txtProductDonateName').value,
            ProductDonateNamePublic: document.getElementById('chkProductDonateNamePublic').checked,
            ProductDonateCompanyName: document.getElementById('txtProductDonateCompanyName').value,
            ProductDonateCompanyNamePublic: document.getElementById('chkProductDonateCompanyNamePublic').checked,
            ProductDonateMailingAddress: document.getElementById('txtProductDonateMailingAddress').value,
            ProductDonateEMailAddress: document.getElementById('txtProductDonateEMailAddress').value,
            ProductDonatePhoneNumber: document.getElementById('txtProductDonatePhoneNumber').value,
            ProductDonateWebsiteUrl: document.getElementById('txtProductDonateWebsiteUrl').value,
            ProductDonateWebsitePublic: document.getElementById('chkProductDonateWebsitePublic').checked,
            ProductDonateListAnonymous: document.getElementById('chkProductDonateListAnonymous').checked
        }
    };
    $.ajax({
        url: '/admin/Products/SaveProductDonate',
        data: objData,
        method: 'POST',
        success: function (data) {
            if (data.success) {
                    toastr.options.positionClass = 'toast-top-full-width';
                    toastr.options.progressBar = true;
                    toastr.options.timeOut = "5000";
                toastr["info"]("Saved Successfully.", undefined, "");
                document.getElementById('btnDonateModal').outerHTML = '<a id="btnDonateModal" href="#" data-target="#donatedby-modal" data-toggle="modal"><i class="fa fa-pencil" style="width:19px;margin-left: 3px;"></i></a>';
                    $("#donatedby-modal").hide();
                    $(".modal-backdrop").hide();
                    if (document.getElementById('chkProductDonateListAnonymous').checked == true) {
                        document.getElementById('lblDonatedByName').innerText = " Anonymous";
                        document.getElementById('lblDonatedByCompanyName').style.display = 'none';
                        document.getElementById('lblComma').style.display = 'none';
                    } else {
                        if (document.getElementById('chkProductDonateNamePublic').checked == false && document.getElementById('chkProductDonateCompanyNamePublic').checked == false) {
                            document.getElementById('lblDonatedByName').innerText = " Anonymous";
                            document.getElementById('lblDonatedByCompanyName').style.display = 'none';
                            document.getElementById('lblComma').style.display = 'none';
                        } else {
                            if (document.getElementById('chkProductDonateNamePublic').checked == true) {
                                if (document.getElementById('chkProductDonateWebsitePublic').checked == true) {
                                    document.getElementById('lblDonatedByName').innerHTML = '<a class="add-link" target="_blank" style="font-weight:normal;font-size: 1rem;margin: 0px;" href=' + document.getElementById('txtProductDonateWebsiteUrl').value + '>' + document.getElementById('txtProductDonateName').value+'</a>';
                                } else {
                                    document.getElementById('lblDonatedByName').innerText = document.getElementById('txtProductDonateName').value;
                                }
                                
                                document.getElementById('lblDonatedByName').style.display = 'inline-block';
                            } else {
                                document.getElementById('lblDonatedByName').style.display = 'none';
                                document.getElementById('lblComma').style.display = 'none';
                            }
                            if (document.getElementById('chkProductDonateCompanyNamePublic').checked == true) {
                                if (document.getElementById('txtProductDonateCompanyName').value != "") {
                                    if (document.getElementById('chkProductDonateWebsitePublic').checked == true) {
                                        document.getElementById('lblDonatedByCompanyName').innerHTML = '<a class="add-link" target="_blank" style="font-weight:normal;font-size: 1rem;margin: 0px;" href=' + document.getElementById('txtProductDonateWebsiteUrl').value + '>' + document.getElementById('txtProductDonateCompanyName').value+'</a>';
                                    } else {
                                        document.getElementById('lblDonatedByCompanyName').innerText = document.getElementById('txtProductDonateCompanyName').value;
                                    }
                                   
                                    document.getElementById('lblDonatedByCompanyName').style.display = 'inline-block';
                                    document.getElementById('lblComma').style.display = 'inline-block';
                                } else {
                                    document.getElementById('lblDonatedByCompanyName').style.display = 'none';
                                    document.getElementById('lblComma').style.display = 'none';
                                }
                            } else {
                                document.getElementById('lblDonatedByCompanyName').style.display = 'none';
                                document.getElementById('lblComma').style.display = 'none';
                            }

                        }
                        
                    }
                    
                //if (document.getElementById('lblDonatedByCompanyName').innerText != "(Optional)") {
                //    $("#btnDonateModal").text('Edit');
                //}
                   // $("#btnDonateModal").text('Edit');
                    return false;
            } else {
                abp.message.error(data.error.message);
            }
        }
    })
});
$("#chkProductDonateListAnonymous").change(function () {
    if (document.getElementById('chkProductDonateListAnonymous').checked == true) {
        document.getElementById('chkProductDonateNamePublic').checked = false;
        document.getElementById('chkProductDonateCompanyNamePublic').checked = false;
        document.getElementById('chkProductDonateWebsitePublic').checked = false;
        
    } else {
        
    }
});
$("#btnAutoAssignCatalogNo").click(function () {
    if (parseInt(document.getElementById('itemId').value) == 0) {
        if ($("#show-item-name").text() == "Click here to add item name" || $("#show-item-name").text() == "") {
            toastr.options.positionClass = 'toast-top-full-width';
            toastr.options.progressBar = true;
            toastr.options.timeOut = "5000";
            toastr["info"]("Item Name can't be blank.", undefined, "");
            return false;
        } else {
            toastr.options.positionClass = 'toast-top-full-width';
            toastr.options.progressBar = true;
            toastr.options.timeOut = "5000";
            toastr["info"]("Please Save the Item.", undefined, "");
            return false;
        }
    } else {
        if (mintCurrentCatalogNumber == 0) {
            $.ajax({
                url: '/admin/Products/GetEventAutoAssignCatalogFlag',
                data: { eventId: mintEventId },
                method: 'POST',
                success: function (data) {
                    if (data.success) {
                        if (data.result.objEvent != null) {
                            if (data.result.objEvent.eventList.autoAssignCatalogFlag == true) {
                                document.getElementById('rdoAutoAsnCatalogNo').checked = true;
                                mintCurrentCatalogNumber = data.result.objEvent.eventList.currentCatalogNumber;
                                if (mintCurrentCatalogNumber == 0) {
                                    mintCurrentCatalogNumber = 100;
                                }
                                mstrAutoAssignCatalogPrefix = data.result.objEvent.eventList.autoAssignCatalogPrefix;
                                $("#divCatalogPrefix").show();
                                $("#txtCatalogNumber").attr('disabled', 'disabled');
                                $("#txtCatalogNumber").css('background-color', '#f1f1f1');
                                document.getElementById('txtCatalogPrefix').value = mstrAutoAssignCatalogPrefix;
                                
                            } else {
                                document.getElementById('rdoCustomCatalogNo').checked = true;
                            }
                        }
                    } else {
                        abp.message.error(data.error.message);
                    }
                }
            })
        }
        
    }
});
$("#btnSaveCatalogNo").click(function () {
   
    if (document.getElementById('rdoAutoAsnCatalogNo').checked == true) {
        if (document.getElementById('txtCatalogPrefix').value == "") {
            toastr.options.positionClass = 'toast-top-full-width';
            toastr.options.progressBar = true;
            toastr.options.timeOut = "5000";
            toastr["info"]("Please Provide a Catalog Prefix.", undefined, "");
            return false;
        } else {
            mstrAutoAssignCatalogPrefix = document.getElementById('txtCatalogPrefix').value;
        }
        //if (mstrCatalogNo == "") {
            if (mintCurrentCatalogNumber == 0) {
                mintCurrentCatalogNumber = 100;
            }
            mstrCatalogNo = mstrAutoAssignCatalogPrefix + mintCurrentCatalogNumber;
            mintCurrentCatalogNumber = mintCurrentCatalogNumber + 1;
        //}
    } else {
        mstrCatalogNo = document.getElementById('txtCatalogNumber').value;
    }
    //if (mstrCatalogNo != "") {
        $.ajax({
            url: '/admin/Products/SaveCatalogNumber',
            data: {
                eventId: mintEventId,
                itemId: parseInt(document.getElementById('itemId').value) ,
                intCurrentCatalogNumber: mintCurrentCatalogNumber,
                autoAssignCatalogFlag: Boolean(document.getElementById('rdoAutoAsnCatalogNo').checked),
                productCatalogNumber: mstrCatalogNo,
                strAutoAssignCatalogPrefix: mstrAutoAssignCatalogPrefix
            },
            method: 'POST',
            success: function (data) {
                if (data.success) {
                    document.getElementById('smCatalogNumber').innerText = " " + mstrCatalogNo;
                    document.getElementById('divCatalogNumber').children[2].outerHTML = ' <a id="btnAutoAssignCatalogNo" href="#" data-target="#catalog-number-modal" data-toggle="modal"><i class="fa fa-pencil" style="width:19px;margin-left: 3px;"></i></a>'
                    if (mstrCatalogNo=="") {
                        document.getElementById('divCatalogNumber').children[2].outerHTML = "<a id='btnAutoAssignCatalogNo' class='add-link' href='#' data-target='#catalog-number-modal' data-toggle='modal'>Add</a>";
                    }
                } else {
                    abp.message.error(data.error.message);
                }
            }
        });
    //}
});

$("#btnBuyNowMinus").click(function () {
    var element = document.getElementById('txtBuyNowQuantity');
    var Quantity = parseInt(element.value) - 1;
    if (Quantity > 0) {
        element.value = Quantity;
    }
    return false;
});
$("#btnBuyNowPlus").click(function () {
    var element = document.getElementById('txtBuyNowQuantity');
    var Quantity = parseInt(element.value) + 1;
    element.value = Quantity;
    return false;
});
function editUpload(control) {
    this_id = control.id
    var tempArray = this_id.split("-");
    var number = tempArray[1];
    var src = $("#img-" + number).attr('src');
    if (src.indexOf('http') >-1) {
        var temp = src.split("/");
        var editImagePath = document.getElementById("hdnEditImagePath").value;
        src = editImagePath + "/" + temp[3] + "/" + temp[4] + "/" + temp[5] + "/" + temp[6];
    }
    
    //CropParameter = new Crop(mintEventId, "", "N", "img-" + number, "", '/admin/Products/CustomCrop', $("#img-" + number).attr('src'), document.getElementById('itemId').value, number);
    CropParameter = new Crop(mintEventId, "Item", "N", "img-" + number, "", '/admin/Products/CustomCrop', 132, 100, src, document.getElementById('itemId').value, number);
    _imageUploadModal.open();
    return false;
}
function GetLastProductDate() {
    $.ajax({
        url: '/admin/Products/GetLastProductDate',
        data: {
            eventId: mintEventId
        },
        method: 'POST',
        success: function (data) {
            if (data.success) {
                var startBidDate = data.result.startBidDate;
                var endBidDate = data.result.endBidDate;
                document.getElementById('txtBiddingStartDate').value = startBidDate;
                document.getElementById('txtBiddingEndDate').value = endBidDate;
            } else {
                abp.message.error(data.error.message);
            }
        }
    });
}
$("#chkCustomBidIncrement").change(function () {
    if ($(this).is(":checked")) {
        $("#dvFeatureFieldBox-7").show();
    } else {
        $("#dvFeatureFieldBox-7").hide();
    }
    if (document.getElementById('chkCustomBidIncrement').checked == true) {
        $("#txtCustomBidIncrement").attr('required', 'required');
        var itemId = parseInt(document.getElementById('itemId').value);
        if (itemId > 0) {
            $.ajax({
                url: '/admin/Products/GetCurrentBidAmount',
                data: {
                    itemId: parseInt(document.getElementById('itemId').value),
                    eventId:0
                },
                method: 'POST',
                success: function (data) {
                    if (data.success) {
                        mblnCustomBidIncrementAmount = parseInt($("#txtCustomBidIncrement").val() || 0);
                        mdblCurrentBid = data.result.currentBid;
                        if (mblnCustomBidIncrementAmount !== 0) {
                            
                            if (mdblCurrentBid != 0) {
                                $("#txtRightBidAmount").val(mdblCurrentBid + mblnCustomBidIncrementAmount);
                            } else {
                            $("#txtRightBidAmount").val(parseInt($("#txtStartBid").val()));
                            }
                        }
                    } else {
                        abp.message.error(data.error.message);
                    }
                }
            });
        } else {
            $("#txtRightBidAmount").val(parseInt($("#txtStartBid").val()));
        }
       
       
    } else {
        $("#txtCustomBidIncrement").removeAttr('required');
    }
   
});
$("#txtCustomBidIncrement").keyup(function () {
    if (document.getElementById('txtCustomBidIncrement').value != "") {
        $("#lblCustomBidError").hide();
        if (mdblCurrentBid !== 0) {
            $("#txtRightBidAmount").val(mdblCurrentBid + parseInt($("#txtCustomBidIncrement").val() || 0));
        } else {
            $("#txtRightBidAmount").val($("#txtStartBid").val());
        }
    } else {
        GetDefaultBidIncrement(parseFloat(document.getElementById('startBid').value), parseFloat(document.getElementById('txtStartBid').value));
    }
   
});
$("#chkAddTax").change(function () {

    if ($(this).is(":checked")) {
        $("#dvFeatureFieldBox-2").show();
        $("#txtTax").attr('required', 'required');//samapika new
    } else {
        $("#dvFeatureFieldBox-2").hide();
    }
});
$("#chkAllowShipping").change(function () {
    if ($(this).is(":checked")) {
        $("#dvFeatureFieldBox-3").show();
        $("#divAllowShipping").show();
        $("#txtShipItemWeight").attr('required', 'required');//samapika new
        $("#txtShipItemLength").attr('required', 'required');//samapika new
        $("#txtShipItemWidth").attr('required', 'required');//samapika new
        $("#txtShipItemHeight").attr('required', 'required');//samapika new
        $("#txtShipFromZipCode").attr('required', 'required');//samapika new
    } else {
        $("#dvFeatureFieldBox-3").hide();
        $("#divAllowShipping").hide();
    }
});
$("#chkReservePrice").change(function () {
    if ($(this).is(":checked")) {
        $("#txtReserveAmount").attr('required', 'required');//samapika new
        $("#dvFeatureFieldBox-4").show();
            if (parseInt(document.getElementById('txtReserveAmount').value) > parseInt(document.getElementById('startBid').value)) {
                var text = "Reserve not met";
                document.getElementById('lblReserve').innerText = text;
                if (document.getElementById('chkBlindBid').checked == false) {
                    document.getElementById('lblReserve').style.display = '';
                }
                document.getElementById("spnReserveDescription").innerText = "Item won’t sale when bidding does not reach this amount.";
                //document.getElementById("spnReserveDescription").style.color = 'red';
            } else {
                document.getElementById('lblReserve').innerText = "";
                document.getElementById('lblReserve').style.display = 'none';
                document.getElementById("spnReserveDescription").innerText = "";
                //  document.getElementById("spnReserveDescription").style.color = '';
            }
    } else {
        $("#dvFeatureFieldBox-4").hide();
        document.getElementById('lblReserve').innerText = "";
        document.getElementById('lblReserve').style.display = 'none';
        document.getElementById("spnReserveDescription").innerText = "";
    }
    
});
$("#chkPopCornBidding").change(function () {
    if ($(this).is(":checked")) {
        $("#dvFeatureFieldBox-5").show();
    } else {
        $("#dvFeatureFieldBox-5").hide();
    }
});
function GetImageForEdit() {
    $.ajax({
        url: '/admin/Products/GetImages',
        data: { eventId: mintEventId, itemId: document.getElementById('itemId').value },
        method: 'POST',
        success: function (data) {
            if (data.success) {
                var image = data.result.image;

                if (image.length > 0) {
                    var parentDiv = document.getElementById('divSlideShow');
                    var imageDot = document.getElementById('divImageDot');
                    parentDiv.innerHTML = "";
                    parentDiv.innerHTML = '<div id="divCarouselButton" class="carousel-actions-wrap" style="display: none;">'
                        + '<button id ="btnImageModal" type ="button" class="edit-image" data-target="#editImg-modal" data-toggle="modal" >'
                        + '<i class="fa fa-pencil" style="margin: -1px; font: normal normal normal 14px/1 FontAwesome" ></i></button></div>';
                    imageDot.innerHTML = "";
                    var intCntr = 1;
                    for (var i = 0; i < image.length; i++) {
                        var imageName = image[i].productImage.imageName;
                        //document.getElementById('img-' + (i + 1)).setAttribute('src', '../../' + data.result.path + '/' + imageName);
                        var src = data.result.path + '\\' + imageName;
                        mstrUploadPath = data.result.path;
                        var seqNo = imageName.substring(imageName.lastIndexOf("_") + 1, imageName.lastIndexOf("_") + 2);
                        if (src !== "#") {
                            //samapika
                            var w = document.documentElement.clientWidth;
                            var h = document.documentElement.clientHeight;
                            var temp = src.split("\\");
                            mintItemId = document.getElementById('itemId').value;
                            // var path = "/" + document.getElementById('imgEventPath').value;
                            //  src = "/Upload\Events" + mintEventId + "\Items"+mintItemId+"\Create_"+
                            //../../ Upload\Events\3396\Items\2344\EventEdit_3_800_600_2344_item_1.png ? t = 1623911686760
                            if (w == 2560) {
                                src =  mstrUploadPath + "\\Create_" + "2560_1080_" + mintItemId + "_item_" + seqNo + ".png";
                            } else if ((w < 2560 && w >= 1920)) {
                                src = mstrUploadPath + "\\Create_" + "1920_1080_" + mintItemId + "_item_" + seqNo + ".png";
                            } else if ((w < 1920 && w >= 1680)) {
                                src =  mstrUploadPath + "\\Create_" + "1680_1050_" + mintItemId + "_item_" + seqNo + ".png";
                            } else if ((w < 1680 && w >= 1600)) {
                                src =  mstrUploadPath + "\\Create_" + "1600_900_" + mintItemId + "_item_" + seqNo + ".png";
                            } else if ((w < 1600 && w >= 1400)) {
                                src =  mstrUploadPath + "\\Create_" + "1400_1050_" + mintItemId + "_item_" + seqNo + ".png";
                            } else if ((w < 1400 && w >= 1360)) {
                                src =  mstrUploadPath + "\\Create_" + "1360_768_" + mintItemId + "_item_" + seqNo + ".png";
                            } else if ((w < 1360 && w >= 1280)) {
                                src =  mstrUploadPath + "\\Create_" + "1280_720_" + mintItemId + "_item_" + seqNo + ".png";
                            } else if ((w < 1280 && w >= 1152)) {
                                src =  mstrUploadPath + "\\Create_" + "1152_864_" + mintItemId + "_item_" + seqNo + ".png";
                            } else if ((w < 1152 && w >= 1024)) {
                                src =  mstrUploadPath + "\\Create_" + "1024_768_" + mintItemId + "_item_" + seqNo + ".png";
                            } else if ((w < 1024 && w >= 800)) {
                                src =  mstrUploadPath + "\\Create_" + "800_600_" + mintItemId + "_item_" + seqNo + ".png";
                            }
                            //end
                            var imgDiv = '<div class="mySlides" onmouseleave="imageMouseOut('+i+');">'
                                //+ '<div class="numbertext">2 / 3</div>
                                + '<img id="myimage' + i + '" src=' + src + ' style="width: 100%; height: 300px;" onmouseover="imageZoom('+i+')";>'
                            +'</div>';
                            var dot = '<span class="dot" onclick="currentSlide(' + intCntr + ')"></span>'
                            parentDiv.innerHTML = parentDiv.innerHTML + imgDiv;
                            imageDot.innerHTML = imageDot.innerHTML + dot;
                            intCntr++;
                        }
                        var child = '<a class="prevSlide" onclick="plusSlides(-1)">&#10094;</a>' +
                            '<a class="nextSlide" onclick="plusSlides(1)">&#10095;</a>';
                        parentDiv.innerHTML = parentDiv.innerHTML + child;
                        document.getElementById('img-' + (i + 1)).setAttribute('src', src);
                        $('#wrap-' + (i + 1)).hide();
                        $('#content-' + (i + 1)).show();
                    }
                   
                }


                slideIndex = 1;
                showSlides(slideIndex);
            } else {
                abp.message.error(data.error.message);
            }
        }
    });
}
function GetProductCategoryIdForEdit() {
    $.ajax({
        url: '/admin/Products/GetProductCategoryIdForEdit',
        data: {itemId: document.getElementById('itemId').value },
        method: 'POST',
        success: function (data) {
            if (data.success) {
                for (var i = 0; i < data.result.productCategory.length; i++) {
                    var pcatId = data.result.productCategory[i].product_x_product_category.productCategoryId;
                    if (document.getElementById('chk_' + pcatId) != undefined) {
                        document.getElementById('chk_' + pcatId).checked = 'checked';
                    }
                }
            } else {
                abp.message.error(data.error.message);
            }
        }
    });
}
function CloseDescription() {
   // document.getElementById("DescriptionModel").style.display = 'none';
    mblnCloseDescription = true;
    $("#DescriptionModel").hide();
    $("#show-event-description").show();
    $("#btnDescription").show();
    //return false;
}
//samapika zoom
function imageZoom(i) {
    mblnMouseOver = true;
    if (i === undefined) {
        i = '';
    }
    var imgID = "myimage" + i;
    var resultID = "myresult";
    document.getElementById(resultID).style.display = '';
    var img, lens, result, cx, cy;
    img = document.getElementById(imgID.trim());
    result = document.getElementById(resultID);
    /*create lens:*/
    lens = document.createElement("DIV");
    lens.setAttribute("class", "img-zoom-lens");
    /*insert lens:*/
    img.parentElement.insertBefore(lens, img);
    /*calculate the ratio between result DIV and lens:*/
    cx = result.offsetWidth / lens.offsetWidth;
    cy = result.offsetHeight / lens.offsetHeight;
    /*set background properties for the result DIV:*/
    result.style.backgroundImage = "url('" + img.src + "')";
    result.style.backgroundSize = (img.width * cx) + "px " + (img.height * cy) + "px";
    /*execute a function when someone moves the cursor over the image, or the lens:*/
    lens.addEventListener("mousemove", moveLens);
    img.addEventListener("mousemove", moveLens);
    /*and also for touch screens:*/
    lens.addEventListener("touchmove", moveLens);
    img.addEventListener("touchmove", moveLens);
    function moveLens(e) {
        var pos, x, y;
        /*prevent any other actions that may occur when moving over the image:*/
        e.preventDefault();
        /*get the cursor's x and y positions:*/
        pos = getCursorPos(e);
        /*calculate the position of the lens:*/
        x = pos.x - (lens.offsetWidth / 2);
        y = pos.y - (lens.offsetHeight / 2);
        /*prevent the lens from being positioned outside the image:*/
        if (x > img.width - lens.offsetWidth) { x = img.width - lens.offsetWidth; }
        if (x < 0) { x = 0; }
        if (y > img.height - lens.offsetHeight) { y = img.height - lens.offsetHeight; }
        if (y < 0) { y = 0; }
        /*set the position of the lens:*/
        lens.style.left = x + "px";
        lens.style.top = y + "px";
        /*display what the lens "sees":*/
        result.style.backgroundPosition = "-" + (x * cx) + "px -" + (y * cy) + "px";
    }
    function getCursorPos(e) {
        var a, x = 0, y = 0;
        e = e || window.event;
        /*get the x and y positions of the image:*/
        a = img.getBoundingClientRect();
        /*calculate the cursor's x and y coordinates, relative to the image:*/
        x = e.pageX - a.left;
        y = e.pageY - a.top;
        /*consider any page scrolling:*/
        x = x - window.pageXOffset;
        y = y - window.pageYOffset;
        return { x: x, y: y };
    }
}
function imageMouseOut(i) {
    mblnMouseOver = false;
    if (i === undefined) {
        i = '';
    }
    var imgID = "myimage" + i;
    var resultID = "myresult";
    document.getElementById(resultID).style.display = 'none';
    x = document.querySelectorAll(".img-zoom-lens");
    for (var i = 0; i < x.length; i++) {
        x[i].remove();
    }
    //document.getElementsByClassName('img-zoom-lens')[0].remove();
}
function Page_OnResize() {
    var w = document.documentElement.clientWidth;
    var h = document.documentElement.clientHeight;
    mintItemId = document.getElementById('itemId').value;
    // var path = "/" + document.getElementById('imgEventPath').value;
    //  src = "/Upload\Events" + mintEventId + "\Items"+mintItemId+"\Create_"+
    //../../ Upload\Events\3396\Items\2344\EventEdit_3_800_600_2344_item_1.png ? t = 1623911686760
    var mySlides = document.getElementsByClassName("mySlides");
    for (var i = 0; i < mySlides.length; i++) {
        var src = mySlides[i].children[0].getAttribute('src');
        if (src == undefined || src == null || src == "") {
            return;
        }
        if (src.indexOf('NoItem') > -1) {
            if (w == 2560) {
                mySlides[i].children[0].setAttribute('src', "../view-resources/Areas/admin/Views/CustomCssJs/Images/Item/Create_2560_1080_NoItem_1.png");
            } else if ((w < 2560 && w >= 1920)) {
                mySlides[i].children[0].setAttribute('src', "../view-resources/Areas/admin/Views/CustomCssJs/Images/Item/Create_1920_1080_NoItem_1.png");
            } else if ((w < 1920 && w >= 1680)) {
                mySlides[i].children[0].setAttribute('src', "../view-resources/Areas/admin/Views/CustomCssJs/Images/Item/Create_1680_1050_NoItem_1.png");
            } else if ((w < 1680 && w >= 1600)) {
                mySlides[i].children[0].setAttribute('src', "../view-resources/Areas/admin/Views/CustomCssJs/Images/Item/Create_1600_900_NoItem_1.png");
            } else if ((w < 1600 && w >= 1400)) {
                mySlides[i].children[0].setAttribute('src', "../view-resources/Areas/admin/Views/CustomCssJs/Images/Item/Create_1400_1050_NoItem_1.png");
            } else if ((w < 1400 && w >= 1360)) {
                mySlides[i].children[0].setAttribute('src', "../view-resources/Areas/admin/Views/CustomCssJs/Images/Item/Create_1360_768_NoItem_1.png");
            } else if ((w < 1360 && w >= 1280)) {
                mySlides[i].children[0].setAttribute('src', "../view-resources/Areas/admin/Views/CustomCssJs/Images/Item/Create_1280_720_NoItem_1.png");
            } else if ((w < 1280 && w >= 1152)) {
                mySlides[i].children[0].setAttribute('src', "../view-resources/Areas/admin/Views/CustomCssJs/Images/Item/Create_1152_864_NoItem_1.png");
            } else if ((w < 1152 && w >= 1024)) {
                mySlides[i].children[0].setAttribute('src', "../view-resources/Areas/admin/Views/CustomCssJs/Images/Item/Create_1024_768_NoItem_1.png");
            } else if ((w < 1024 && w >= 800)) {
                mySlides[i].children[0].setAttribute('src', "../view-resources/Areas/admin/Views/CustomCssJs/Images/Item/Create_800_600_NoItem_1.png");
            }
            return;
        }
        var seqNo = src.substring(src.lastIndexOf("_") + 1, src.lastIndexOf("_") + 2);
        if (w == 2560) {
            mySlides[i].children[0].setAttribute('src', mstrUploadPath + "\\Create_" + "2560_1080_" + mintItemId + "_item_" + seqNo + ".png");
        } else if ((w < 2560 && w >= 1920)) {
            mySlides[i].children[0].setAttribute('src',  mstrUploadPath + "\\Create_" + "1920_1080_" + mintItemId + "_item_" + seqNo + ".png");
        } else if ((w < 1920 && w >= 1680)) {
            mySlides[i].children[0].setAttribute('src',mstrUploadPath + "\\Create_" + "1680_1050_" + mintItemId + "_item_" + seqNo + ".png");
        } else if ((w < 1680 && w >= 1600)) {
            mySlides[i].children[0].setAttribute('src',  mstrUploadPath + "\\Create_" + "1600_900_" + mintItemId + "_item_" + seqNo + ".png");
        } else if ((w < 1600 && w >= 1400)) {
            mySlides[i].children[0].setAttribute('src',  mstrUploadPath + "\\Create_" + "1400_1050_" + mintItemId + "_item_" + seqNo + ".png");
        } else if ((w < 1400 && w >= 1360)) {
            mySlides[i].children[0].setAttribute('src',  mstrUploadPath + "\\Create_" + "1360_768_" + mintItemId + "_item_" + seqNo + ".png");
        } else if ((w < 1360 && w >= 1280)) {
            mySlides[i].children[0].setAttribute('src', mstrUploadPath + "\\Create_" + "1280_720_" + mintItemId + "_item_" + seqNo + ".png");
        } else if ((w < 1280 && w >= 1152)) {
            mySlides[i].children[0].setAttribute('src',  mstrUploadPath + "\\Create_" + "1152_864_" + mintItemId + "_item_" + seqNo + ".png");
        } else if ((w < 1152 && w >= 1024)) {
            mySlides[i].children[0].setAttribute('src', mstrUploadPath + "\\Create_" + "1024_768_" + mintItemId + "_item_" + seqNo + ".png");
        } else if ((w < 1024 && w >= 800)) {
            mySlides[i].children[0].setAttribute('src',  mstrUploadPath + "\\Create_" + "800_600_" + mintItemId + "_item_" + seqNo + ".png");
        }
    }
   
}

$("#kt_aside_toggle").click(function () {
    $("#kt_wrapper").css('padding-left', '');
    $("#kt_aside").css('width', '');
})
//samapika bid and buy
$("#btnPlaceBid").click(function () {
    var blnTimeLeft = false;
    var endDate = $("#hdnProductEndDate").val();
    if (mblnProductHasPopcornBidding === true) {
        $.ajax({
            url: '/admin/Products/PopCornBidding',
            data: {
                itemId: document.getElementById('txtItemId').value,
                eventId: document.getElementById('txtEventId').value
            },
            method: 'POST',
            success: function (data) {
                if (data.success) {
                    if (data.result.popCornBid == true) {
                        blnTimeLeft = true;
                    }
                    if (blnTimeLeft == true) {
                        if (parseFloat(document.getElementById('spnCurrentBid').innerText) > parseFloat(document.getElementById('txtCurrentBid').value)) {
                            $("#lblCurrentBidValid").show();
                            $("#success-modal").modal('show');
                            return false;
                        } else {
                            $("#lblCurrentBidValid").hide();
                            $.ajax({
                                url: '/admin/Products/SaveCurrentBid',
                                data: {
                                    itemId: parseInt(document.getElementById('itemId').value),
                                    amount: document.getElementById('txtCurrentBid').value,
                                    popCornBid: blnTimeLeft,
                                    eventId:mintEventId
                                },
                                method: 'POST',
                                success: function (data) {
                                    if (data.success) {
                                        if (data.result.result === "ProductHasBidFalse" || data.result.result === "ProductClosed") {
                                            abp.message.error('We are sorry, your bid was not recorded.', 'Bid: ' + document.getElementById('show-item-name').innerText);
                                            return false;
                                        }
                                        if (data.result.popCornTimeDiff !== 0) {
                                            //mintDifferenceTime = data.result.popCornTimeDiff;
                                            document.getElementById("divCreateItemWrapper").setAttribute("TimeDiff", data.result.popCornTimeDiff);
                                        }
                                        if (data.result.result === "Success") {
                                            $("#success-modal").modal('hide');
                                            // $("#txtRightCurrentBid").val(document.getElementById('txtCurrentBid').value);
                                            // document.getElementById('lblRightStartBid').innerText = "Current Bid :";
                                            //if (data.result.disableBuyNow == true) {
                                            GetProductForView();
                                            //}
                                        } else if (data.result.result === "Fail") {
                                            toastr.options.positionClass = 'toast-top-full-width';
                                            toastr.options.progressBar = true;
                                            toastr.options.timeOut = "20000";
                                            toastr["info"]("Oh Snap!! " + data.result.userName + " was faster.Try increasing your bid to win this item.", undefined, "");

                                            return false;
                                        }


                                    } else {
                                        abp.message.error(data.error.message);
                                    }
                                }
                            })
                        }
                    } else {
                        $.ajax({
                            url: '/admin/Products/GetCurrentBidAmount',
                            data: {
                                itemId: parseInt(document.getElementById('itemId').value),
                                eventId: mintEventId
                            },
                            method: 'POST',
                            success: function (data) {
                                if (data.success) {
                                    var objProduct = data.result.product.product;
                                    var endDateDiff = data.result.timeLeft;
                                    if (endDateDiff <= 0) {
                                        $("#success-modal").modal('hide');
                                        document.getElementById('btnBiddingAmount').disabled = true;
                                        document.getElementById('btnPlaceBid').disabled = true;
                                        toastr.options.positionClass = 'toast-top-full-width';
                                        toastr.options.progressBar = true;
                                        toastr.options.timeOut = "20000";
                                        toastr["info"]("Sorry, The bidding time ran out by the time you placed the bid.", undefined, "");
                                        return false;
                                    }

                                    if ((endDateDiff <= 0) || (objProduct.productHasBuyNow === true && objProduct.productHasBidding === false)
                                        || data.result.product.productTypeProductTypeName === "View Only" || objProduct.isDeleted === true || (new Date(objProduct.productBidStartDate).getTime() - new Date().getTime()) > 0) {
                                        $("#success-modal").modal('hide');
                                        document.getElementById('btnBiddingAmount').disabled = true;
                                        document.getElementById('btnPlaceBid').disabled = true;
                                        toastr.options.positionClass = 'toast-top-full-width';
                                        toastr.options.progressBar = true;
                                        toastr.options.timeOut = "20000";
                                        toastr["info"]("Sorry, The bidding time ran out by the time you placed the bid.", undefined, "");
                                        return false;
                                    } else {
                                        if (parseFloat(document.getElementById('spnCurrentBid').innerText) > parseFloat(document.getElementById('txtCurrentBid').value)) {
                                            $("#lblCurrentBidValid").show();
                                            $("#success-modal").modal('show');
                                            return false;
                                        } else {
                                            $("#lblCurrentBidValid").hide();
                                            $.ajax({
                                                url: '/admin/Products/SaveCurrentBid',
                                                data: {
                                                    itemId: parseInt(document.getElementById('itemId').value),
                                                    amount: document.getElementById('txtCurrentBid').value,
                                                    popCornBid: blnTimeLeft,
                                                    eventId: mintEventId
                                                },
                                                method: 'POST',
                                                success: function (data) {
                                                    if (data.success) {
                                                        if (data.result.result === "ProductHasBidFalse" || data.result.result === "ProductClosed") {
                                                            abp.message.error('We are sorry, your bid was not recorded.', 'Bid: ' + document.getElementById('show-item-name').innerText);
                                                            return false;
                                                        }
                                                        if (data.result.result === "Success") {
                                                            $("#success-modal").modal('hide');
                                                            // $("#txtRightCurrentBid").val(document.getElementById('txtCurrentBid').value);
                                                            // document.getElementById('lblRightStartBid').innerText = "Current Bid :";
                                                            //if (data.result.disableBuyNow == true) {
                                                            GetProductForView();
                                                            //}
                                                        } else if (data.result.result === "Fail") {
                                                            toastr.options.positionClass = 'toast-top-full-width';
                                                            toastr.options.progressBar = true;
                                                            toastr.options.timeOut = "20000";
                                                            toastr["info"]("Oh Snap!! " + data.result.userName + " was faster.Try increasing your bid to win this item.", undefined, "");

                                                            return false;
                                                        }

                                                    } else {
                                                        abp.message.error(data.error.message);
                                                    }
                                                }
                                            })
                                        }

                                    }

                                } else {
                                    abp.message.error(data.error.message);
                                }
                            }
                        })
                    }
                
                } else {
                    abp.message.error(data.error.message);
                }
            }
        })
    
    } else {
        $.ajax({
            url: '/admin/Products/GetCurrentBidAmount',
            data: {
                itemId: parseInt(document.getElementById('itemId').value),
                eventId: mintEventId
            },
            method: 'POST',
            success: function (data) {
                if (data.success) {
                    //samapika bid
                    var objProduct = data.result.product.product;
                    var endDateDiff = data.result.timeLeft;
                    if (endDateDiff<=0) {
                        $("#success-modal").modal('hide');
                        document.getElementById('btnBiddingAmount').disabled = true;
                        document.getElementById('btnPlaceBid').disabled = true;
                        toastr.options.positionClass = 'toast-top-full-width';
                        toastr.options.progressBar = true;
                        toastr.options.timeOut = "20000";
                        toastr["info"]("Sorry, The bidding time ran out by the time you placed the bid.", undefined, "");
                        return false;
                    }

                    if ((endDateDiff <= 0) || (objProduct.productHasBuyNow === true && objProduct.productHasBidding === false)
                        || data.result.product.productTypeProductTypeName === "View Only" || objProduct.isDeleted === true || (new Date(objProduct.productBidStartDate).getTime() - new Date().getTime()) > 0) {
                        $("#success-modal").modal('hide');
                        document.getElementById('btnBiddingAmount').disabled = true;
                        document.getElementById('btnPlaceBid').disabled = true;
                        toastr.options.positionClass = 'toast-top-full-width';
                        toastr.options.progressBar = true;
                        toastr.options.timeOut = "20000";
                        toastr["info"]("Sorry, The bidding time ran out by the time you placed the bid.", undefined, "");
                        return false;
                    } else {
                        if (parseFloat(document.getElementById('spnCurrentBid').innerText) > parseFloat(document.getElementById('txtCurrentBid').value)) {
                            $("#lblCurrentBidValid").show();
                            $("#success-modal").modal('show');
                            return false;
                        } else {
                            $("#lblCurrentBidValid").hide();
                            $.ajax({
                                url: '/admin/Products/SaveCurrentBid',
                                data: {
                                    itemId: parseInt(document.getElementById('itemId').value),
                                    amount: document.getElementById('txtCurrentBid').value,
                                    endDate: ""
                                },
                                method: 'POST',
                                success: function (data) {
                                    if (data.success) {
                                        if (data.result.result === "ProductHasBidFalse" || data.result.result === "ProductClosed") {
                                            abp.message.error('We are sorry, your bid was not recorded.', 'Bid: ' + document.getElementById('show-item-name').innerText);
                                            return false;
                                        }
                                        if (data.result.result === "Success") {
                                            $("#success-modal").modal('hide');
                                            // $("#txtRightCurrentBid").val(document.getElementById('txtCurrentBid').value);
                                            // document.getElementById('lblRightStartBid').innerText = "Current Bid :";
                                            //if (data.result.disableBuyNow == true) {
                                            GetProductForView();
                                            //}
                                        } else if (data.result.result === "Fail") {
                                            toastr.options.positionClass = 'toast-top-full-width';
                                            toastr.options.progressBar = true;
                                            toastr.options.timeOut = "20000";
                                            toastr["info"]("Oh Snap!! " + data.result.userName + " was faster.Try increasing your bid to win this item.", undefined, "");

                                            return false;
                                        }

                                    } else {
                                        abp.message.error(data.error.message);
                                    }
                                }
                            })
                        }

                    }

                } else {
                    abp.message.error(data.error.message);
                }
            }
        })
    }
  
});
function GetCurrentBidAmount() {
    if (parseInt(document.getElementById('itemId').value) == 0) {
        if ($("#show-item-name").text() == "Click here to add item name" || $("#show-item-name").text() == "") {
            toastr.options.positionClass = 'toast-top-full-width';
            toastr.options.progressBar = true;
            toastr.options.timeOut = "5000";
            toastr["info"]("Item Name can't be blank.", undefined, "");
            return false;
        } else {
            toastr.options.positionClass = 'toast-top-full-width';
            toastr.options.progressBar = true;
            toastr.options.timeOut = "5000";
            toastr["info"]("Please Save the Item.", undefined, "");
            return false;
        }
    }
    if (document.getElementById('txtBiddingStartDate').value == "" || document.getElementById('txtBiddingEndDate').value == "") {
        toastr.options.positionClass = 'toast-top-full-width';
        toastr.options.progressBar = true;
        toastr.options.timeOut = "5000";
        toastr["info"]("Please Save the Item Start Date and End Date.", undefined, "");
        return false;
    } else {
            //$.ajax({
            //    url: '/admin/Products/GetProductForView',
            //    data: {
            //        itemId: parseInt(document.getElementById('itemId').value),
            //        eventId: mintEventId
            //    },
            //    method: 'POST',
            //    success: function (data) {
            //        if (data.success) {
            //            if (data.result != null) {
            //                var productEndDate = data.result.objProduct.product.productBidEndDate;
            //                if (productEndDate == null || productEndDate == "" || productEndDate==undefined) {
            //                    toastr.options.positionClass = 'toast-top-full-width';
            //                    toastr.options.progressBar = true;
            //                    toastr.options.timeOut = "5000";
            //                    toastr["info"]("Please Save the Item.", undefined, "");
            //                    return false;
            //                } else {
            $.ajax({
                url: '/admin/Products/GetCurrentBidAmount',
                data: {
                    itemId: parseInt(document.getElementById('itemId').value),
                    eventId: mintEventId
                },
                method: 'POST',
                success: function (data) {
                    if (data.success) {
                        var objProduct = data.result.product.product;
                        var endDateDiff = data.result.timeLeft;
                        var productEndDate = objProduct.productBidEndDate;
                        if (productEndDate == null || productEndDate == "" || productEndDate == undefined) {
                            toastr.options.positionClass = 'toast-top-full-width';
                            toastr.options.progressBar = true;
                            toastr.options.timeOut = "5000";
                            toastr["info"]("Please Save the Item Start Date and End Date.", undefined, "");
                            return false;
                        }
                        if (endDateDiff<=0) {
                            $("#success-modal").modal('hide');
                            document.getElementById('btnBiddingAmount').disabled = true;
                            document.getElementById('btnPlaceBid').disabled = true;
                            toastr.options.positionClass = 'toast-top-full-width';
                            toastr.options.progressBar = true;
                            toastr.options.timeOut = "20000";
                            toastr["info"]("Sorry, The bidding time ran out by the time you placed the bid.", undefined, "");
                            return false;
                        }
                        //samapika bid
                        if ((endDateDiff <= 0) || (objProduct.productHasBuyNow === true && objProduct.productHasBidding === false)
                            || data.result.product.productTypeProductTypeName === "View Only" || objProduct.isDeleted === true || (new Date(objProduct.productBidStartDate).getTime() - new Date().getTime()) > 0) {
                            $("#success-modal").modal('hide');
                            document.getElementById('btnBiddingAmount').disabled = true;
                            document.getElementById('btnPlaceBid').disabled = true;
                            toastr.options.positionClass = 'toast-top-full-width';
                            toastr.options.progressBar = true;
                            toastr.options.timeOut = "20000";
                            toastr["info"]("Sorry, The bidding time ran out by the time you placed the bid.", undefined, "");
                            mblnBidClose = true;
                            return false;
                        }
                        //end
                        if (objProduct.productHasBlindBid == false) {
                            if (data.result.currentBid != null) {
                                if (data.result.currentBid == 0) {
                                    document.getElementById('spnCurrentBid').innerText = parseFloat(data.result.startBid).toFixed(2);
                                    document.getElementById('txtCurrentBid').value = parseFloat(data.result.startBid).toFixed(0);
                                    document.getElementById('txtRightBidAmount').value = parseFloat(data.result.startBid).toFixed(0);
                                } else {
                                    if (mblnCustomBidIncrementAmount != 0) {
                                        document.getElementById('spnCurrentBid').innerText = parseFloat(data.result.currentBid + mblnCustomBidIncrementAmount).toFixed(2);
                                        document.getElementById('txtCurrentBid').value = parseFloat(data.result.currentBid + mblnCustomBidIncrementAmount).toFixed(0);
                                        document.getElementById('txtRightBidAmount').value = parseFloat(data.result.currentBid + mblnCustomBidIncrementAmount).toFixed(0);
                                    } else {
                                        GetDefaultBidIncrement(data.result.currentBid, data.result.startBid);
                                        //document.getElementById('spnCurrentBid').innerText = parseFloat(data.result.currentBid).toFixed(2);
                                    }


                                }

                                document.getElementById('spnUserName').innerText = data.result.userName;
                            }
                        } else {
                            mblnProductHasBlindBid = true;
                            if (data.result.currentBid != null) {
                                if (data.result.currentBid == 0) {
                                    document.getElementById('spnCurrentBid').innerText = parseFloat(data.result.startBid).toFixed(2);
                                    document.getElementById('txtCurrentBid').value = parseFloat(data.result.startBid).toFixed(0);
                                    document.getElementById('txtRightBidAmount').value = parseFloat(data.result.startBid).toFixed(0);
                                } else {
                                    document.getElementById('spnCurrentBid').innerText = parseFloat(data.result.currentBid).toFixed(2);
                                    document.getElementById('txtCurrentBid').value = parseFloat(data.result.currentBid).toFixed(0);
                                    document.getElementById('txtRightBidAmount').value = parseFloat(data.result.currentBid).toFixed(0);
                                }
                            }
                        }
                        $("#success-modal").modal('show');

                    } else {
                        abp.message.error(data.error.message);
                    }
                }
            })
     }
             
   }
 

function GetDefaultBidIncrement(currentBid, startBid) {
    $.ajax({
        url: '/admin/Products/GetDefaultBidIncrement',
        data: {
            eventId: mintEventId, currentBid: currentBid
        },
        method: 'POST',
        success: function (data) {
            if (data.success) {
                var defaultBidIncrementAmount = data.result.defaultBidIncrementAmount;
                if (defaultBidIncrementAmount !== 0) {
                    // $("#txtRightBidAmount").val(currentBid + defaultBidIncrementAmount);
                    document.getElementById('spnCurrentBid').innerText = parseFloat(currentBid + defaultBidIncrementAmount).toFixed(2);
                    document.getElementById('txtCurrentBid').value = parseFloat(currentBid + defaultBidIncrementAmount).toFixed(0);
                    document.getElementById('txtRightBidAmount').value = parseFloat(currentBid + defaultBidIncrementAmount).toFixed(0);

                } else {
                    if (currentBid != 0) {
                        // $("#txtRightBidAmount").val(currentBid.toFixed(0));
                        document.getElementById('txtCurrentBid').value = currentBid.toFixed(0);
                        document.getElementById('spnCurrentBid').innerText = currentBid.toFixed(2);
                        document.getElementById('txtRightBidAmount').value = currentBid.toFixed(0);
                    } else {
                        //  $("#txtRightBidAmount").val(startBid.toFixed(0));
                        document.getElementById('txtCurrentBid').value = startBid.toFixed(0);
                        document.getElementById('spnCurrentBid').innerText = startBid.toFixed(2);
                        document.getElementById('txtRightBidAmount').value = startBid.toFixed(0);
                    }
                }
            } else {
                abp.message.error(data.error.message);
            }
        }
    })
}
//buy now
document.getElementById('txtCurrentBid').onkeydown = function (e) {
    if (!((e.keyCode > 95 && e.keyCode < 106)
        || (e.keyCode > 47 && e.keyCode < 58)
        || e.keyCode == 8 || (e.keyCode >= 37 && e.keyCode <= 40))) {
        return false;
    }
}
document.getElementById('txtRightBidAmount').onkeydown = function (e) {
    if (!((e.keyCode > 95 && e.keyCode < 106)
        || (e.keyCode > 47 && e.keyCode < 58)
        || e.keyCode == 8 || (e.keyCode >= 37 && e.keyCode <=40))) {
        return false;
    }
}
document.getElementById("txtBuyNowQuantityModal").addEventListener("input", function () {
   if (parseInt(document.getElementById("txtBuyNowQuantityModal").value) > parseInt(document.getElementById("txtAvailableBuyNowQuantity").innerText)) {
       document.getElementById("txtBuyNowQuantityModal").value = document.getElementById("txtAvailableBuyNowQuantity").innerText;
    }
    if (document.getElementById("txtBuyNowQuantityModal").value == "") {
        document.getElementById('txtBuyNowPrice').value = 0;
    } else {
    document.getElementById('txtBuyNowPrice').value = parseInt(document.getElementById('tdBuyNowPrice').innerText) * parseInt(document.getElementById("txtBuyNowQuantityModal").value);
    }
});
$("#btnBuyNow").click(function () {
    if (parseInt(document.getElementById('itemId').value) == 0) {
        if ($("#show-item-name").text() == "Click here to add item name" || $("#show-item-name").text() == "") {
            toastr.options.positionClass = 'toast-top-full-width';
            toastr.options.progressBar = true;
            toastr.options.timeOut = "5000";
            toastr["info"]("Item Name can't be blank.", undefined, "");
            return false;
        } else {
            toastr.options.positionClass = 'toast-top-full-width';
            toastr.options.progressBar = true;
            toastr.options.timeOut = "5000";
            toastr["info"]("Please Save the Item.", undefined, "");
            return false;
        }
    }
    $.ajax({
        url: '/admin/Products/GetProductForView',
        data: {
            itemId: parseInt(document.getElementById('itemId').value),
            eventId: mintEventId
        },
        method: 'POST',
        success: function (data) {
            if (data.success) {
                if (data.result != null) {
                    var objProduct = data.result.objProduct.product;
                    var endDateDiff = data.result.timeLeft;
                    if ((endDateDiff <= 0) || objProduct.isDeleted === true || (new Date(objProduct.productBidStartDate).getTime() - new Date().getTime()) > 0) {
                        $("#buy-modal").modal('hide');
                        document.getElementById('btnBiddingAmount').disabled = true;
                        document.getElementById('btnPlaceBid').disabled = true;
                        document.getElementById('btnBuyNow').disabled = true;
                        toastr.options.positionClass = 'toast-top-full-width';
                        toastr.options.progressBar = true;
                        toastr.options.timeOut = "20000";
                        toastr["info"]("Sorry, The Product is Closed.", undefined, "");
                        mblnBidClose = true;
                        return false;
                    }
                    var ProductTypeName = data.result.objProduct.productTypeProductTypeName;
                    if (ProductTypeName==null) {
                        toastr.options.positionClass = 'toast-top-full-width';
                        toastr.options.progressBar = true;
                        toastr.options.timeOut = "5000";
                        toastr["info"]("Please Save the Item.", undefined, "");
                        return false;
                    }
                    if (ProductTypeName.trim() === 'Bidding') {
                        if (parseInt(data.result.objProduct.product.productQuantityAvailable) == 0) {
                            $("#buy-modal").modal('hide');
                            toastr.options.positionClass = 'toast-top-full-width';
                            toastr.options.progressBar = true;
                            toastr.options.timeOut = "20000";
                            toastr["info"]("Oh Snap!! " + data.result.userName + " was faster. Try buying another item and contribute to the cause.", undefined, "");
                            document.getElementById('btnBiddingAmount').disabled = true;
                            document.getElementById('btnPlaceBid').disabled = true;
                            document.getElementById('btnBuyNow').disabled = true;
                            document.getElementById('txtRightBidAmount').disabled = true;
                            document.getElementById('lblOutOfStock').style.display = "block";
                            return false;
                        }
                        if (data.result.objProduct.product.productHasBuyNow == true && data.result.objProduct.product.productBuyNowPrice > 0) {
                            $("#btnBuy,#divBuy").removeClass('DisplayNone');
                            $("#btnBid").removeClass('DisplayNone');
                            //samapika

                            document.getElementById('tdBuyNowPrice').innerText = data.result.objProduct.product.productBuyNowPrice.toFixed(2);
                            document.getElementById('txtBuyNowPrice').value = data.result.objProduct.product.productBuyNowPrice;
                            document.getElementById('txtAvailableBuyNowQuantity').innerText = data.result.objProduct.product.productQuantityAvailable;
                            document.getElementById('txtBuyNowQuantityModal').setAttribute('max', data.result.objProduct.product.productQuantityAvailable);
                            document.getElementById('txtBuyNowQuantityModal').value = 1;
                            $("#buy-modal").modal('show');
                            //end
                        } else {
                            toastr.options.positionClass = 'toast-top-full-width';
                            toastr.options.progressBar = true;
                            toastr.options.timeOut = "5000";
                            toastr["info"]("Please Save the Item.", undefined, "");
                            return false;
                        }
                        //else {
                        //    $("#btnBuy,#divBuy").addClass('DisplayNone');
                        //    $("#btnBid").addClass('DisplayNone');
                        //}
                        //$("#divStartBidRight").removeClass('DisplayNone');
                    } else if (ProductTypeName.trim() === 'View Only') {
                        // mstrProductType = this.selectedOptions[0].innerText;
                        $("#divStartBidRight").addClass('DisplayNone');
                        $("#divBidArea").addClass('DisplayNone');
                    }
                }
            } else {
                abp.message.error(data.error.message);
            }
        }
    })
});
$("#btnBuyNowConfirm").click(function () {
    abp.ui.setBusy();
    $.ajax({
        url: '/admin/Products/GetProductForView',
        data: {
            itemId: parseInt(document.getElementById('itemId').value),
            eventId: mintEventId
        },
        method: 'POST',
        success: function (data) {
            if (data.success) {
                if (data.result != null) {
                    var product = data.result.objProduct.product;
                    var endDateDiff = data.result.timeLeft;
                    if ((endDateDiff <= 0) || product.isDeleted === true || (new Date(product.productBidStartDate).getTime() - new Date().getTime()) > 0) {
                        $("#buy-modal").modal('hide');
                        document.getElementById('btnBiddingAmount').disabled = true;
                        document.getElementById('btnPlaceBid').disabled = true;
                        document.getElementById('btnBuyNow').disabled = true;
                        toastr.options.positionClass = 'toast-top-full-width';
                        toastr.options.progressBar = true;
                        toastr.options.timeOut = "20000";
                        toastr["info"]("Sorry, The Product is Closed.", undefined, "");
                        mblnBidClose = true;
                        return false;
                    }
                    if (parseInt(product.productQuantityAvailable) == 0) {
                        toastr.options.positionClass = 'toast-top-full-width';
                        toastr.options.progressBar = true;
                        toastr.options.timeOut = "20000";
                        toastr["info"]("Oh Snap!! " + data.result.userName + " was faster. Try buying another item and contribute to the cause.", undefined, "");
                        return false;
                    } else {
                        $.ajax({
                            url: '/admin/Products/SaveBuyNowPrice',
                            data: {
                                itemId: parseInt(document.getElementById('itemId').value),
                                quantity: parseInt(document.getElementById('txtBuyNowQuantityModal').value),
                                price: parseFloat(document.getElementById('txtBuyNowPrice').value),
                                eventId: mintEventId
                            },
                            method: 'POST',
                            success: function (data) {
                                if (data.success) {
                                    if (data.result != null) {
                                        if (data.result.result == "ProductHasBuyNowFalse" || data.result.result == "ProductHasLessBuyNowQuantity" ||
                                            data.result.result == "ProductClosed" || data.result.result == "ProductBuyNowLessThanCurrentBid" ||
                                            data.result.result == "ProductBuyNowHasBlindBid" || data.result.result == "ProductHasViewOnly") {
                                            abp.message.error('We are sorry, your purchase was not recorded.', 'BuyNow: ' + document.getElementById('show-item-name').innerText);
                                        } else {
                                            $("#buy-modal").modal('hide');
                                            document.getElementById('hdnBuyNowQuantityAvailable').value = data.result.availableQuantity;
                                            document.getElementById('hdnBuyNowQuantity').value = document.getElementById('txtBuyNowQuantity').value;
                                            if (parseInt(data.result.availableQuantity) == 0) {
                                                document.getElementById('btnBiddingAmount').disabled = true;
                                                document.getElementById('btnPlaceBid').disabled = true;
                                                document.getElementById('btnBuyNow').disabled = true;
                                                document.getElementById('txtRightBidAmount').disabled = true;
                                                document.getElementById('lblOutOfStock').style.display = "block";
                                            }
                                        }
                                    }
                                    abp.ui.clearBusy();
                                } else {
                                    abp.message.error(data.error.message);
                                }
                            }
                        }).fail(function (error) {
                            // abp.ajax.showError(error);
                            abp.message.error('We are sorry, your purchase was not recorded.', 'BuyNow: ' + document.getElementById('show-item-name').innerText);
                            abp.ui.clearBusy();
                        })
                    }
                }
            } else {
                abp.message.error(data.error.message);
            }
        }
    })
});
//End
abp.event.on('abp.notifications.received', function (userNotification) {
    if (userNotification.notification.notificationName == 'App.ItemCurrentBid') {
        if (mblnProductHasBlindBid == false) {

            document.getElementById('spnCurrentBid').innerText = userNotification.notification.data.properties.bidAmount.toFixed(2);
            document.getElementById('spnUserName').innerText = userNotification.notification.data.properties.userName;
            document.getElementById('txtRightBidAmount').value = userNotification.notification.data.properties.bidAmount.toFixed(0);
            document.getElementById('txtCurrentBid').value = userNotification.notification.data.properties.bidAmount.toFixed(0);
            document.getElementById('startBid').value = userNotification.notification.data.properties.bidAmount.toFixed(0);
            document.getElementById('startBid').setAttribute('bidtype', 'currentBid');
            //  document.getElementById('txtRightCurrentBid').value = userNotification.notification.data.properties.bidAmount.toFixed(2);
            $("#lblCurrentBidder").show();
            if (mblnCustomBidIncrementAmount != 0) {
                document.getElementById('spnCurrentBid').innerText = parseFloat(userNotification.notification.data.properties.bidAmount + mblnCustomBidIncrementAmount).toFixed(2);
                document.getElementById('txtCurrentBid').value = parseFloat(userNotification.notification.data.properties.bidAmount + mblnCustomBidIncrementAmount).toFixed(0);
                document.getElementById('txtRightBidAmount').value = parseFloat(userNotification.notification.data.properties.bidAmount + mblnCustomBidIncrementAmount).toFixed(0);
            } else {
                GetDefaultBidIncrement(userNotification.notification.data.properties.bidAmount, userNotification.notification.data.properties.bidAmount);
                //document.getElementById('spnCurrentBid').innerText = parseFloat(data.result.currentBid).toFixed(2);
            }
        }
        if (userNotification.notification.data.properties.endDate !== null && userNotification.notification.data.properties.endDate !== undefined) {
            document.getElementById("txtBiddingEndDate").innerText = moment(new Date(userNotification.notification.data.properties.endDate)).format('MMM DD YYYY h:mm:ss a');
        }
        if (mblnProductHasPopcornBidding == true) {
          //  mintDifferenceTime = userNotification.notification.data.properties.timeDiff;
            document.getElementById("divCreateItemWrapper").setAttribute("TimeDiff", userNotification.notification.data.properties.timeDiff);
        }
    }
    if (userNotification.notification.notificationName == 'App.ItemCurrentBuyNow') {
        mstrBuyNowUserName = userNotification.notification.data.properties.userName;
    }
});
//end
document.getElementById('txtStartBid').onkeydown = function (e) {
    if (!((e.keyCode > 95 && e.keyCode < 106)
        || (e.keyCode > 47 && e.keyCode < 58)
        || e.keyCode == 8 || (e.keyCode >= 37 && e.keyCode <= 40))) {
        return false;
    }
}
document.getElementById('txtItemValue').onkeydown = function (e) {
    if (!((e.keyCode > 95 && e.keyCode < 106)
        || (e.keyCode > 47 && e.keyCode < 58)
        || e.keyCode == 8 || (e.keyCode >= 37 && e.keyCode <= 40))) {
        return false;
    }
}
document.getElementById('txtButNowPrice').onkeydown = function (e) {
    if (!((e.keyCode > 95 && e.keyCode < 106)
        || (e.keyCode > 47 && e.keyCode < 58)
        || e.keyCode == 8 || (e.keyCode >= 37 && e.keyCode <= 40))) {
        return false;
    }
}
document.getElementById('txtTax').onkeydown = function (e) {
    if (!((e.keyCode > 95 && e.keyCode < 106)
        || (e.keyCode > 47 && e.keyCode < 58)
        || e.keyCode == 8 || (e.keyCode >= 37 && e.keyCode <= 40))) {
        return false;
    }
}
document.getElementById('txtShipItemWeight').onkeydown = function (e) {
    if (!((e.keyCode > 95 && e.keyCode < 106)
        || (e.keyCode > 47 && e.keyCode < 58)
        || e.keyCode == 8 || (e.keyCode >= 37 && e.keyCode <= 40))) {
        return false;
    }
}
document.getElementById('txtShipItemLength').onkeydown = function (e) {
    if (!((e.keyCode > 95 && e.keyCode < 106)
        || (e.keyCode > 47 && e.keyCode < 58)
        || e.keyCode == 8 || (e.keyCode >= 37 && e.keyCode <= 40))) {
        return false;
    }
}
document.getElementById('txtShipItemWidth').onkeydown = function (e) {
    if (!((e.keyCode > 95 && e.keyCode < 106)
        || (e.keyCode > 47 && e.keyCode < 58)
        || e.keyCode == 8 || (e.keyCode >= 37 && e.keyCode <= 40))) {
        return false;
    }
}
document.getElementById('txtShipItemHeight').onkeydown = function (e) {
    if (!((e.keyCode > 95 && e.keyCode < 106)
        || (e.keyCode > 47 && e.keyCode < 58)
        || e.keyCode == 8 || (e.keyCode >= 37 && e.keyCode <= 40))) {
        return false;
    }
}
document.getElementById('txtReserveAmount').onkeydown = function (e) {
    if (!((e.keyCode > 95 && e.keyCode < 106)
        || (e.keyCode > 47 && e.keyCode < 58)
        || e.keyCode == 8 || (e.keyCode >= 37 && e.keyCode <= 40))) {
        return false;
    }
}
document.getElementById('txtCustomBidIncrement').onkeydown = function (e) {
    if (!((e.keyCode > 95 && e.keyCode < 106)
        || (e.keyCode > 47 && e.keyCode < 58)
        || e.keyCode == 8 || (e.keyCode >= 37 && e.keyCode <= 40))) {
        return false;
    }
}

document.getElementById('txtProductDonatePhoneNumber').onkeydown = function (e) {
    if (!((e.keyCode > 95 && e.keyCode < 106)
        || (e.keyCode > 47 && e.keyCode < 58)
        || e.keyCode == 8 || (e.keyCode >= 37 && e.keyCode <= 40)||e.keyCode==187)) {
        return false;
    }
}
//required for blind bid
function GetProductForView() {
    $.ajax({
        url: '/admin/Products/GetProductForView',
        data: {
            itemId: parseInt(document.getElementById('itemId').value),
            eventId: mintEventId
        },
        method: 'POST',
        success: function (data) {
            if (data.success) {
                if (data.result != null) {
                    mblnProductHasPopcornBidding = data.result.objProduct.product.productHasPopcornBid;
                    mintPopCornBidTime = data.result.objProduct.product.productPopCornBidTime;
                    var ProductTypeName = data.result.objProduct.productTypeProductTypeName;
                    if (ProductTypeName.trim() === 'Bidding') {
                        if (data.result.objProduct.product.productHasBuyNow == true && data.result.objProduct.product.productBuyNowPrice > 0) {
                            if (parseFloat(data.result.objProduct.product.productCurrentBidPrice) > parseFloat(data.result.objProduct.product.productBuyNowPrice)) {
                                $("#btnBuy,#divBuy").addClass('DisplayNone');
                                $("#btnBid").addClass('DisplayNone');
                            } else {
                                $("#btnBuy,#divBuy").removeClass('DisplayNone');
                                $("#btnBid").removeClass('DisplayNone');
                            }

                            document.getElementById('txtPageBuyNowPrice').value = data.result.objProduct.product.productBuyNowPrice;
                            document.getElementById('tdBuyNowPrice').innerText = data.result.objProduct.product.productBuyNowPrice.toFixed(2);
                            document.getElementById('txtBuyNowPrice').value = data.result.objProduct.product.productBuyNowPrice;
                            document.getElementById('txtAvailableBuyNowQuantity').innerText = data.result.objProduct.product.productQuantityAvailable;
                            //end
                        } else {
                            $("#btnBuy,#divBuy").addClass('DisplayNone');
                            $("#btnBid").addClass('DisplayNone');
                        }
                        $("#divStartBidRight").removeClass('DisplayNone');
                    } else if (ProductTypeName.trim() === 'View Only') {
                        $("#divStartBidRight").addClass('DisplayNone');
                        $("#divBidArea").addClass('DisplayNone');
                    }
                    if (data.result.objProduct.product.productHasBidding == true) {
                        if (data.result.objProduct.product.productHasBuyNow == true && data.result.objProduct.product.productBuyNowPrice > 0) {
                            if (parseFloat(data.result.objProduct.product.productCurrentBidPrice) > parseFloat(data.result.objProduct.product.productBuyNowPrice)) {
                                $("#btnBuy,#divBuy").addClass('DisplayNone');
                                $("#btnBid").addClass('DisplayNone');
                            } else {
                                $("#btnBuy,#divBuy").removeClass('DisplayNone');
                                $("#btnBid").removeClass('DisplayNone');
                            }
                        } else {
                            $("#btnBid,#divBid").removeClass('DisplayNone');
                            $("#btnBid").addClass('DisplayNone');
                            changeBidColor();
                        }
                        $("#divStartBidRight").removeClass('DisplayNone');
                        // $("#chkBlindBid").attr('disabled', 'disabled');
                    } else if (data.result.objProduct.product.productHasBidding == false) {
                        if (data.result.objProduct.product.productHasBuyNow == true && data.result.objProduct.product.productBuyNowPrice > 0) {
                            $("#btnBuy,#divBuy").removeClass('DisplayNone');
                            $("#btnBuy").addClass('DisplayNone');
                            changeBuyColor();
                        }
                        $("#btnBid,#divBid").addClass('DisplayNone');
                        // $("#txtStartBid").attr('disabled', 'disabled');
                        //$("#txtStartBid").css('background-color', '#f1f1f1');
                        $("#divStartBidRight").addClass('DisplayNone');
                        //$("#chkBlindBid").removeAttr("disabled");
                    }
                    if (data.result.objProduct.product.productTaxPercent > 0) {
                        var text = 'This item has ' + data.result.objProduct.product.productTaxPercent + '% tax.';
                        document.getElementById('lblTax').innerText = text;
                    } else {
                        document.getElementById('lblTax').innerText = "";
                    }
                    if (data.result.objProduct.product.productHasReservePrice == true) {
                        var currentBid = parseFloat(data.result.objProduct.product.productCurrentBidPrice);
                        if (currentBid == 0) {
                            currentBid = parseFloat(data.result.objProduct.product.productStartBidPrice);
                        }
                        if (currentBid < parseFloat(data.result.objProduct.product.productReservePrice)) {
                            var text = 'Reserve not met.';
                            document.getElementById('lblReserve').innerText = text;
                            document.getElementById('lblReserve').style.display = '';
                        }

                    } else {
                        document.getElementById('lblReserve').innerText = "";
                    }
                    if (data.result.objProduct.product.productHasBlindBid == true) {
                        mblnProductHasBlindBid = data.result.objProduct.product.productHasBlindBid;
                        document.getElementById('lblReserve').style.display = 'none';
                        $("#divStartBidRight").addClass('DisplayNone');
                        $("#divItemValueRight").addClass('DisplayNone');

                    }
                    if (data.result.objProduct.product.productAllowShipping == true) {
                        $("#divAllowShipping").show();
                    } else {
                        $("#divAllowShipping").hide();
                    }
                    if (data.result.objProduct.product.productHasBlindBid == false) {//Blind bid
                        if (data.result.objProduct.product.productHasCustomBidIncreament == true) {
                            mblnCustomBidIncrementAmount = data.result.objProduct.product.productCustomBidIncreament;
                            if (data.result.objProduct.product.productCurrentBidPrice !== 0) {
                                $("#txtRightBidAmount").val((data.result.objProduct.product.productCurrentBidPrice + data.result.objProduct.product.productCustomBidIncreament).toFixed(0));
                            } else {
                                $("#txtRightBidAmount").val(data.result.objProduct.product.productStartBidPrice.toFixed(0));
                            }
                        } else {
                            GetDefaultBidIncrement(data.result.objProduct.product.productCurrentBidPrice, data.result.objProduct.product.productStartBidPrice);
                            //if (defaultBidIncrementAmount !== 0) {
                            //    $("#txtRightBidAmount").val(data.result.objProduct.product.productCurrentBidPrice + defaultBidIncrementAmount);
                            //} else {
                            //    $("#txtRightBidAmount").val(data.result.objProduct.product.productStartBidPrice);
                            //}
                        }

                        if (data.result.objProduct.product.productCurrentBidPrice !== 0) {
                            $("#txtRightCurrentBid").val(data.result.objProduct.product.productCurrentBidPrice.toFixed(2));
                            document.getElementById('lblRightStartBid').innerText = "Current Bid :";
                        }
                    } else {
                        if (data.result.currentUserBid != 0) {
                            $("#txtRightBidAmount").val(data.result.currentUserBid.toFixed(0));
                        } else {
                            $("#txtRightBidAmount").val(data.result.objProduct.product.productStartBidPrice.toFixed(0));
                        }

                    }
                    if ((data.result.objProduct.product.productHasBuyNow === true && data.result.objProduct.product.productHasBidding === false)
                        || data.result.objProduct.productTypeProductTypeName === "View Only" || data.result.objProduct.product.isDeleted === true
                        || (new Date(data.result.objProduct.product.productBidStartDate).getTime() - new Date().getTime()) > 0) {
                        $("#success-modal").modal('hide');
                        document.getElementById('btnBiddingAmount').disabled = true;
                        document.getElementById('btnPlaceBid').disabled = true;
                        return false;
                    }
                    if (parseInt(data.result.objProduct.product.productQuantityAvailable) == 0) {
                        document.getElementById('btnBiddingAmount').disabled = true;
                        document.getElementById('btnPlaceBid').disabled = true;
                        document.getElementById('btnBuyNow').disabled = true;
                        document.getElementById('txtRightBidAmount').disabled = true;
                        document.getElementById('lblOutOfStock').style.display = "block";

                        return false;
                    }

                }

            } else {
                abp.message.error(data.error.message);
            }
        }
    })
}
$("#btnViewItemInGridView").click(function () {
    if (parseInt(document.getElementById('itemId').value) == 0) {
        toastr.options.positionClass = 'toast-top-full-width';
        toastr.options.progressBar = true;
        toastr.options.timeOut = "5000";
        toastr["info"]("Please Save the Item.", undefined, "");
        return false;
    } else {
        window.location.href = '../vitem?id=' + mintEventId + "&itemId=" + parseInt(document.getElementById('itemId').value);
        return false;
    }
});
function txtCategory_onfocusout(){
    document.getElementById('txtCategory').style.display = 'none';
    $(".autocomplete").hide();
} 

Javascript Online Compiler

Write, Run & Share Javascript code online using OneCompiler's JS online compiler for free. It's one of the robust, feature-rich online compilers for Javascript language. Getting started with the OneCompiler's Javascript editor is easy and fast. The editor shows sample boilerplate code when you choose language as Javascript and start coding.

About Javascript

Javascript(JS) is a object-oriented programming language which adhere to ECMA Script Standards. Javascript is required to design the behaviour of the web pages.

Key Features

  • Open-source
  • Just-in-time compiled language
  • Embedded along with HTML and makes web pages alive
  • Originally named as LiveScript.
  • Executable in both browser and server which has Javascript engines like V8(chrome), SpiderMonkey(Firefox) etc.

Syntax help

STDIN Example

var readline = require('readline');
var rl = readline.createInterface({
  input: process.stdin,
  output: process.stdout,
  terminal: false
});

rl.on('line', function(line){
    console.log("Hello, " + line);
});

variable declaration

KeywordDescriptionScope
varVar is used to declare variables(old way of declaring variables)Function or global scope
letlet is also used to declare variables(new way)Global or block Scope
constconst is used to declare const values. Once the value is assigned, it can not be modifiedGlobal or block Scope

Backtick Strings

Interpolation

let greetings = `Hello ${name}`

Multi line Strings

const msg = `
hello
world!
`

Arrays

An array is a collection of items or values.

Syntax:

let arrayName = [value1, value2,..etc];
// or
let arrayName = new Array("value1","value2",..etc);

Example:

let mobiles = ["iPhone", "Samsung", "Pixel"];

// accessing an array
console.log(mobiles[0]);

// changing an array element
mobiles[3] = "Nokia";

Arrow functions

Arrow Functions helps developers to write code in concise way, it’s introduced in ES6.
Arrow functions can be written in multiple ways. Below are couple of ways to use arrow function but it can be written in many other ways as well.

Syntax:

() => expression

Example:

const numbers = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
const squaresOfEvenNumbers = numbers.filter(ele => ele % 2 == 0)
                                    .map(ele => ele ** 2);
console.log(squaresOfEvenNumbers);

De-structuring

Arrays

let [firstName, lastName] = ['Foo', 'Bar']

Objects

let {firstName, lastName} = {
  firstName: 'Foo',
  lastName: 'Bar'
}

rest(...) operator

 const {
    title,
    firstName,
    lastName,
    ...rest
  } = record;

Spread(...) operator

//Object spread
const post = {
  ...options,
  type: "new"
}
//array spread
const users = [
  ...adminUsers,
  ...normalUsers
]

Functions

function greetings({ name = 'Foo' } = {}) { //Defaulting name to Foo
  console.log(`Hello ${name}!`);
}
 
greet() // Hello Foo
greet({ name: 'Bar' }) // Hi Bar

Loops

1. If:

IF is used to execute a block of code based on a condition.

Syntax

if(condition){
    // code
}

2. If-Else:

Else part is used to execute the block of code when the condition fails.

Syntax

if(condition){
    // code
} else {
    // code
}

3. Switch:

Switch is used to replace nested If-Else statements.

Syntax

switch(condition){
    case 'value1' :
        //code
        [break;]
    case 'value2' :
        //code
        [break;]
    .......
    default :
        //code
        [break;]
}

4. For

For loop is used to iterate a set of statements based on a condition.

for(Initialization; Condition; Increment/decrement){  
//code  
} 

5. While

While is also used to iterate a set of statements based on a condition. Usually while is preferred when number of iterations are not known in advance.

while (condition) {  
  // code 
}  

6. Do-While

Do-while is also used to iterate a set of statements based on a condition. It is mostly used when you need to execute the statements atleast once.

do {  
  // code 
} while (condition); 

Classes

ES6 introduced classes along with OOPS concepts in JS. Class is similar to a function which you can think like kind of template which will get called when ever you initialize class.

Syntax:

class className {
  constructor() { ... } //Mandatory Class method
  method1() { ... }
  method2() { ... }
  ...
}

Example:

class Mobile {
  constructor(model) {
    this.name = model;
  }
}

mbl = new Mobile("iPhone");