;(function(){ window._w.bidview = { itemId : null, itemData : null, formMeta : null, basketId : null, basketData : null, bidId : null, bidData : null, ti : null, limited : false, newItem : false, nextBid : false, bidType : null, onBidViewTemplateReady : function( template, event, eventData ) { _w.bidview.ti = _t[template]; _w.bidview.limited = ('limitedbidview' == template) ? true : false; _w.bidview.setStockViewFormMeta(); _w.bidview.ti.hydrate(_w.bidview.formMeta); // Retrieve initial view data. _w.bidview.basketId = App.Util.getUrlParam('basketId'); _w.bidview.itemId = App.Util.getUrlParam('id'); _w.bidview.bidId = null; if ('false' == _w.bidview.basketId) { _w.bidview.basketId = false; } if (_w.bidview.basketId) { App.API.getTask( 'updateBasket:' + _w.bidview.itemId, 'Auction', 'Basket.SetStatus', _w.bidview.itemId, {id:_w.bidview.basketId}, _w.bidview._onBasketDataReceived, function(){} ); } else { App.API.getTask( 'createBasket:' + _w.bidview.itemId, 'Auction', 'Basket.Create', _w.bidview.itemId, {}, function(){}, function(){} ); } // Stock data var task = 'Auction.View'; App.API.getTask( 'viewAuction:' + _w.bidview.itemId, 'Auction', task, _w.bidview.itemId, {}, $.proxy( _w.bidview._onStockViewDataReceived, this ), _w.taskContractError ); }, onBidViewPublished : function( template, event, eventData ) { if (!_w.bidview.basketId) { $('#btnAddToBasket').prop('disabled', false); $('#btnAddToBasket').removeClass('addtobasketbtntrue'); $('#btnAddToBasket').addClass('addtobasketbtn'); } $('#btnRequestHPI').click(function () { if ('' == $('#HPIusername').val() || '' == $('#HPIpin').val()) { alert('Please enter a valid username and password.'); return; } $('#HPIdropConfirm').slideToggle(); $('#HPIresponse').html(''); }); App.Util.updateCheckboxStyle($('#acceptHPIdisclaimer')); $('#HPIbtnConfirm').click(function () { if ( $('#engineNumber').html() == '' || $('#vinNumber').html() == '' ) { alert('Cannot request report without Vehicle Engine Number and VIN Number.'); return; } if (!$('#acceptHPIdisclaimer').is(':checked')) { alert('Please accept the conditions before sending.'); return; } var user = $('#HPIusername').val(); var pass = $('#HPIpin').val(); App.API.getTask( 'TransUnionForHPI', 'Stock', 'Utility.TransUnionForHPI', null, {'Filter' : {'username' : user ,'pass' : pass , 'stock' : _w.stock.Id}}, function() { App.API.execTask( 'TransUnionForHPI',{}, {}, function(data) { $('#HPIdropConfirm').hide(); if ('Success' == data.Status) { $('#HPIresponse').html('Success on HPI Report'); alert('Success on HPI Report'); App.DataStore.loadSelectListData( 'tuhpi', false, 'Stock', 'Tuhpi.List', null,{"Filter": { "stock" : _w.bidview.itemData.stock.id, "company" : App.companyData.id }}, {},function() { // data is retrieved var tuHpiData = App.DataStore.getData('tuhpi'); for (var i = 0; i < tuHpiData.length; i++) { var tuHpiId = tuHpiData[i].id var tuHpiCreated = tuHpiData[i].created if (tuHpiId) { $('#tuhpiDate').html(tuHpiCreated); $('#downloadTuhpi').show(); $('#HPIbtnConfirm').prop('disabled', true); return; } else { $('#tuhpiDate').html('Not Requested Yet'); $('#downloadTuhpi').hide(); $('#HPIbtnConfirm').prop('disabled', false); } } }); } else { $('#HPIresponse').html('API call to remote host failed. No data could be retrieved from remote service.'); } }, function(response) { $('#HPIbtnConfirm').prop('disabled', false); alert( undefined != response.StatusReason ? response.StatusReason : 'API call to remote host failed. No data could be retrieved from remote service.' ); } ); } , _w.taskContractError ); }); $('#downloadTuhpi').click(function () { //console.log("stock id", _w.stock.Id); App.API.getTask( 'printTuhpi:' + _w.stock.Id, 'Stock', 'Tuhpi.Print', _w.stock.Id, {}, function() { App.API.execTask( 'printTuhpi:' + _w.stock.Id, {}, {}, function () {}, _w.taskExecError, 'EXPORT', true ); }, _w.taskContractError ); }); $('#btnAddToBasket').click(function () { $('#btnAddToBasket').prop('disabled', true); if (_w.bidview.basketId) { App.API.execTask( 'updateBasket:' + _w.bidview.itemId, {Basket:{archived: false}}, {}, function() { alert('Item added to basket.'); $('#btnAddToBasket').removeClass('addtobasketbtn'); $('#btnAddToBasket').addClass('addtobasketbtntrue'); }, _w.taskExecError ); } else { App.API.execTask( 'createBasket:' + _w.bidview.itemId, {Basket:{auction:_w.bidview.itemId}}, {}, function() { alert('Item added to basket.'); $('#btnAddToBasket').removeClass('addtobasketbtn'); $('#btnAddToBasket').addClass('addtobasketbtntrue'); }, _w.taskExecError ); } }); $('#btnMakeBid').click(function () { $('#confirm_dynamic').show(); $('#confirmation_msg').hide(); _w.bidview.ti.hydrateParam('infAmount', _w.bidview.nextBid); $('#dropCmp').hide(); $('#dropConfirm').show(); _w.bidview.bidType = 'bid'; }); $('#btnAskQuestion').click(function () { if ('' == $('#question').val()) { alert('Please specify your question.'); return; } App.API.getTask( 'askQuestion:' + _w.bidview.itemId, 'Auction', 'Question.Create', _w.bidview.itemId, {}, function() { var data = { "Question": { "auction": _w.bidview.itemId, "question": $('#question').val() } }; App.API.execTask( 'askQuestion:' + _w.bidview.itemId, data, {}, _w.bidview._onBidUpdated, function () { alert('Your question have been submitted.'); $('#dropCmp3').slideToggle(); } ); }, _w.taskContractError ); }); $('#btnMakeAutoBid').click(function () { $('#confirm_dynamic').show(); $('#confirmation_msg').hide(); var amount = $('#autoamount').val(); if ('' != amount && isNaN(amount)) { alert('Please enter a numeric value.'); return; } if ('' == amount) { _w.bidview.ti.hydrateParam('infAmount', _w.bidview.nextBid); $('#dropCmp').hide(); $('#dropConfirm').show(); _w.bidview.bidType = 'bid'; } else { var parts = amount.split('.'); if (parts.length > 1) { amount = parts[0]; $('#autoamount').val(amount); } if (amount < _w.bidview.nextBid) { $('#dropConfirm').show(); $('#confirm_dynamic').hide(); $('#confirmation_msg').show(); $('#confirmation_msg').html('Autobid amount must be more than R ' + _w.bidview.nextBid); return; } _w.bidview.ti.hydrateParam('infAmount', amount); $('#dropConfirm').show(); _w.bidview.bidType = 'autobid'; } }); $('#btnConfirm').click(function () { $('#btnConfirm').prop('disabled', true); if ('bid' == _w.bidview.bidType) { var data = { "Bid": { "amount": _w.bidview.nextBid } }; App.API.execTask( 'createBid', data, {}, _w.bidview._onBidUpdated, function (response) { $('#bidSection').hide(); console.log(response); if (response.StatusReason && 'Your' == response.StatusReason.substring(0,4)) { alert(response.StatusReason); } else { alert('Your bid was placed but you were just outbid. You can make another bid.'); } App.API.getTask( 'viewAuction:' + _w.bidview.itemId, 'Auction', 'Auction.View', _w.bidview.itemId, {}, $.proxy( _w.bidview._onStockViewDataReceived, this ), _w.taskContractError ); $('#btnConfirm').prop('disabled', false); } ); } else { var data = { "AutoBid": { "amount": $('#autoamount').val() } }; App.API.execTask( 'createAutoBid', data, {}, _w.bidview._onBidUpdated, function (response) { console.log(response); if (response.StatusReason && 'Your' == response.StatusReason.substring(0,4)) { alert(response.StatusReason); } else { alert('Your bid was placed but you were just outbid. You can make another bid.'); } App.API.getTask( 'viewAuction:' + _w.bidview.itemId, 'Auction', 'Auction.View', _w.bidview.itemId, {}, $.proxy( _w.bidview._onStockViewDataReceived, this ), _w.taskContractError ); $('#btnConfirm').prop('disabled', false); } ); } }); App.Util.updateCheckboxStyle($('#terms_accepted')); App.Util.updateCheckboxStyle($('#terms_accepted2')); $('.showTerms').hover( function() { $('.moreTerms').show(); }, function() { $('.moreTerms').hide(); } ); $('#terms_accepted').click(function() { $('#btnMakeBid').prop('disabled', $(this).prop('checked') ? false : true); }); $('#terms_accepted2').click(function() { $('#btnMakeAutoBid').prop('disabled', $(this).prop('checked') ? false : true); }); $('.mobile-header-bottom .bottom-heading').text('BID DETAILS'); if (null != _w.bidview.itemData) { _w.bidview._onStockDataAndTemplate(); } if (null != _w.bidview.basketData) { _w.bidview._onBasketDataAndTemplate(); } }, setStockViewFormMeta : function( data ) { data = (undefined == data) ? {"stock":{}} : data; _w.stock.Id = data.stock.id; var damagesHtml = ''; var accessoriesHtml = ''; if (undefined != data && undefined != data.stock && undefined != data.stock.damages) { for (var i = 0; i < data.stock.damages.length; i++) { damagesHtml += '
R ' + data.stock.damages[i].amount + '
'; damagesHtml += '