function util(){return this.trimString=function(n,t){return t||(t=""),this.isNullOrEmpty(n)?t:n.trim()},this.showLoadingIcon=function(n,t){if(t){n.append('<div class="loading-icon"><div class="cssload-loader"><div class="cssload-inner cssload-one"><\/div><div class="cssload-inner cssload-two"><\/div><div class="cssload-inner cssload-three"><\/div><\/div><\/div>');return}!t&&n.find(".loading-icon").length>0&&n.find(".loading-icon").remove()},this.showLoadingButton=function(n,t){n&&n.length>0&&(t=t||!1,n.button(t?"loading":"reset"))},this.isNullOrEmpty=function(n){return typeof n=="string"?n.isNullOrEmpty():n?!1:!0},this.isEmpty=function(n){return typeof n=="string"?n.isEmpty():n?!1:!0},this.isBrowserIE=function(){var n=window.navigator.userAgent,r=n.indexOf("MSIE "),t,i;return r>0?!0:(t=n.indexOf("Trident/"),t>0)?!0:(i=n.indexOf("Edge/"),i>0)?!0:!1},this.hasVal=function(n){return!this.isNullOrEmpty(n)},this.equalsLowerCase=function(n,t){return this.trimString(n).toLowerCase()==this.trimString(t).toLowerCase()},this.indexOfLowerCase=function(n,t){return this.trimString(n).toLowerCase().indexOf(this.trimString(t).toLowerCase())>=0},this.dateCompare=function(n,t){var i=n,r=t,u=Date.UTC(i.getFullYear(),i.getMonth()+1,i.getDate()),f=Date.UTC(r.getFullYear(),r.getMonth()+1,r.getDate());return parseFloat(u)<parseFloat(f)?-1:parseFloat(u)==parseFloat(f)?0:parseFloat(u)>parseFloat(f)?1:null},this.toBool=function(n){return this.isNullOrEmpty(n)?!1:(n+="",n.toLowerCase()==="true"||n==="1")?!0:n.toLowerCase()==="false"||n==="0"?!1:void 0},this.toNumber=function(n,t){var i=0;return(t&&(i=t),isFinite(n))?Number(n):i},this.toCurrency=function(n){return isFinite(n)?Number(n).toCurrency():""},this.to5CentRounding=function(n){return isFinite(n)&&Number(n)>0?"$"+(Math.round(n*20)/20).toCurrency(2):""},this.leftString=function(n,t){return this.isEmpty(n)?n:t<0?n:n.length<=t?n:n.substring(0,t)},this.rightString=function(n,t){return this.isEmpty(n)?n:t<0?n:n.length<=t?n:n.substring(n.length-t,t)},this.midString=function(n,t,i){if(this.isEmpty(n))return n;if(t<n.length){var r=n.length-t;return i<=0||i>=r?n.substring(t,r):n.substring(t,i)}return""},this.dateParse=function(n){return isNullOrEmpty(n)?null:Date.parse(n)},this.formatDateNumberToDate=function(n){return this.isNullOrEmpty(n)?null:typeof n!="string"?n:this.isNullOrEmpty(n)?null:new Date(parseInt(n.replace("/Date(","").replace(")/",""),10))},this.stringToDate=function(n,t){var l=n.replace(/[^a-zA-Z0-9]/g,"-"),a=t.toLowerCase().replace(/[^a-zA-Z0-9]/g,"-"),i=a.split("-"),r=l.split("-"),f=i.indexOf("mm"),e=i.indexOf("dd"),o=i.indexOf("yyyy"),s=i.indexOf("hh"),h=i.indexOf("ii"),c=i.indexOf("ss"),u=new Date,v=o>-1?r[o]:u.getFullYear(),y=f>-1?r[f]-1:u.getMonth()-1,p=e>-1?r[e]:u.getDate(),w=s>-1?r[s]:0,b=h>-1?r[h]:0,k=c>-1?r[c]:0;return new Date(v,y,p,w,b,k)},this.generateUID=function(){function n(){var n=Math.floor((1+Math.random())*65536).toString(16).substring(1);return n&&(n=n.replace(/ /g,"+")),n}return n()+n()+"-"+n()+"-"+n()+"-"+n()+"-"+n()+n()+n()},this.getFileExtension=function(n){return n.split(".").pop()},this.getFileNameFromPath=function(n){return n?n.replace(/^.*[\\\/]/,""):""},this.getFileNameFromPathWithOutExtension=function(n){return n?this.getFileNameFromPath(n).replace(/\.[^/.]+$/,""):""},this.getWeekdays=function(){var n=new Array(7);return n[0]="Sunday",n[1]="Monday",n[2]="Tuesday",n[3]="Wednesday",n[4]="Thursday",n[5]="Friday",n[6]="Saturday",n},this.getParameterByName=function(n,t){t||(t=window.location.href);n=n.replace(/[\[\]]/g,"\\$&");var r=new RegExp("[?&]"+n+"(=([^&#]*)|&|#|$)"),i=r.exec(t);return i?i[2]?decodeURIComponent(i[2].replace(/\+/g," ")):"":null},this.cWeekdayToStr=function(n){return this.isNullOrEmpty(n)?null:n>=0&&n<7?this.getWeekdays()[n]:null},this.cWeekdayToInt=function(n){var i,r,t;if(this.isNullOrEmpty(n))return null;for(i=null,r=this.getWeekdays(),t=0;t<7;t++)if(r[t]==n){sResult=t;break}return i},this.replaceEndStr=function(n,t,i){return this.hasVal(n)==!1?"":n.replace(new RegExp(i+"$"),t)},this.replaceAllSpaces=function(n,t){if(this.hasVal(n)==!1)return"";var i=n.replace(/\s+/g,t);return i.isNullOrEmpty()||(i=i.toLowerCase()),i},this.replaceAllSpecialCharsToDashLower=function(n){return this.hasVal(n)&&(n=n.replace(/[^a-z0-9]/gi,"-"),n=n.replace(/-+/g,"-")),this.trimString(n).toLowerCase()},this.redirectTo=function(n,t){window.location.href=this.isNullOrEmpty(n)?this.trimString(t):n},this.roundToPrecision=function(n,t){var i=+n+(t===undefined?.5:t/2);return i-i%(t===undefined?1:+t)},this.generatePagination=function(n,t,i){var r=[],f=1,e=Math.max(f,i-2),o=Math.min(t,i+2),u;for(e!=f&&(r.push({idx:r.length,val:f+""}),r.push({idx:r.length,val:"..."})),u=e;u<=o;u++)r.push({idx:r.length,val:u+""});return o!=t&&(r.push({idx:r.length,val:"..."}),r.push({idx:r.length,val:t+""})),r},this.pagination={next:function(n,t,i){n<t&&i(n+1)},page:function(n,t){n.indexOf("...")<0&&t(Number(n))},prev:function(n,t){n>1&&t(n-1)}},this.scrollToTop=function(n){var t;t=n?n:$("html, body");t.animate({scrollTop:t.offset().top},1e3)},this.deleteCookie=function(n){document.cookie=encodeURIComponent(n)+"=deleted; expires="+new Date(0).toUTCString()},this.setCookie=function(n,t,i){var r=new Date,u;i==null?r.setDate(r.getDate()):r.setDate(r.getDate()+i);u=escape(t)+(i==null?"":"; expires="+r.toUTCString());document.cookie=n+"="+u},this.getCookie=function(n){var t=document.cookie,i=t.indexOf(" "+n+"="),r;return i==-1&&(i=t.indexOf(n+"=")),i==-1?t=null:(i=t.indexOf("=",i)+1,r=t.indexOf(";",i),r==-1&&(r=t.length),t=unescape(t.substring(i,r))),t},this}function isMobile(){return navigator.userAgent.match(/Android/i)||navigator.userAgent.match(/webOS/i)||navigator.userAgent.match(/iPad/i)||navigator.userAgent.match(/iPhone/i)||navigator.userAgent.match(/iPod/i)}function IsNullOrEmpty(n){return typeof n=="string"?n.isNullOrEmpty():n?!1:!0}function IsInteger(n){return/^[\+\-]?\d*\.?\d+(?:[Ee][\+\-]?\d+)?$/.test(n)}function isCallBackFuncion(n){return n&&typeof n=="function"?!0:!1}function TrimString(n){return IsNullOrEmpty(n)||typeof n!="string"?"":n.trimString()}function CDateNull(n){return IsNullOrEmpty(n)?null:Date.parse(n)}function CLocaleDateStringExt(n,t){return IsNullOrEmpty(n)?"":n.toLocaleDateStringExt(t)}function CLocaleTimeStringExt(n,t){return IsNullOrEmpty(n)?"":n.toLocaleTimeStringExt(t)}function CNumberZero(n){return IsInteger(n)?Number(n):0}function CNumberNull(n){return IsInteger(n)?Number(n):null}function generateUID(){function n(){return Math.floor((1+Math.random())*65536).toString(16).substring(1)}return n()+n()+"-"+n()+"-"+n()+"-"+n()+"-"+n()+n()+n()}function getFileExtension(n){return n.split(".").pop()}function convertImageToBase64(n,t){var i={},r;i=$.extend({},i,n);r=new FileReader;r.onload=function(n){i.Status="OK";i.Data=n.target.result;t(i)};r.onerror=function(){i.Status="ERROR";i.Data=r.error;t(i)};r.readAsDataURL(n)}function createStaticMenu(n){addNewModelMakeToLeftFilter($(".filter-list .list-menu"),n)}function addNewModelMakeToLeftFilter(n,t){for(var u="",r,i=0;i<t.length;i++)r=t[i],u+='<li class=""><a href="'+r.link+'" target="'+r.target+'">'+r.name+'<i class="glyphicon glyphicon-menu-right"><\/i><\/a><\/li>';$(n).append(u)}var GeneratePagination,AWDSApp,ngAWDSApp;typeof String.prototype.trim!="function"&&(String.prototype.trim=function(){return this.replace(/^\s+|\s+$/g,"")});String.prototype.trimString=function(){return this.isNullOrEmpty()?"":this.trim()};String.prototype.isEmpty=function(){return this.length===0||!this.trim()};String.prototype.isNullOrEmpty=function(){return this===undefined||this===null||this.isEmpty()};String.prototype.hasVal=function(){return!(this===undefined||this===null||this.isEmpty())};String.prototype.toDateNull=function(){return this.isNullOrEmpty()?null:new Date(this.trimString())};String.prototype.toBool=function(){return this.isNullOrEmpty()?!1:this.toLowerCase()==="true"?!0:this.toLowerCase()==="false"?!1:void 0};String.prototype.isBool=function(){return this.isNullOrEmpty()?!1:this.toLowerCase()==="true"||this.toLowerCase()==="false"?!0:!1};Number.prototype.toCurrency=function(n,t){var i="\\d(?=(\\d{"+(t||3)+"})+"+(n>0?"\\.":"$")+")";return this.toFixed(Math.max(0,~~n)).replace(new RegExp(i,"g"),"$&,")};Date.prototype.toLocaleDateStringExt=function(n){return IsNullOrEmpty(n)&&(n={year:"numeric",month:"numeric",day:"2-digit"}),IsNullOrEmpty(this)?"":this.toLocaleDateString("en-GB",n)};Date.prototype.toLocaleTimeStringExt=function(n){return IsNullOrEmpty(n)&&(n={hour:"2-digit",minute:"2-digit",second:"2-digit"}),IsNullOrEmpty(this)?"":this.toLocaleTimeString("en-GB",n)};Object.defineProperty(Date.prototype,"toYYYYMMDDHHMMSS",{value:function(){function n(n){return(n<10?"0":"")+n}return this.getFullYear()+n(this.getMonth()+1)+n(this.getDate())+n(this.getHours())+n(this.getMinutes())+n(this.getSeconds())}});Object.defineProperty(Array.prototype,"getMaxByFieldName",{enumerable:!1,value:function(n){return this.reduce(function(t,i){return i[n]>t?i[n]:t},0)}});Object.defineProperty(Array.prototype,"getSelectedItem",{enumerable:!1,value:function(n){for(var u=null,i,r,t=0;t<this.length;t++)IsInteger(this[t].Value)?(i=this[t].Value,r=n):(i=TrimString(this[t].Value).toLowerCase(),r=TrimString(n).toLowerCase()),i==r&&(u=this[t]);return u}});Object.defineProperty(Array.prototype,"removeItemByFieldName",{enumerable:!1,value:function(n,t){for(var i=0;i<this.length;i++)if(this[i][t]===n){this.splice(i,1);break}return this}});Object.defineProperty(Array.prototype,"removeItemByIndex",{enumerable:!1,value:function(n){return this.splice(n,1),this}});Object.defineProperty(Array.prototype,"groupBy",{enumerable:!1,value:function(n){var t={};return this.forEach(function(i){var r=n(i);t[r]=t[r]||[];t[r].push(i)}),Object.keys(t).map(function(n){return{key:n,data:t[n]}})}});Object.defineProperty(Array.prototype,"sortBy",{enumerable:!1,value:function(n,t,i){var r=i?function(t){return i(t[n])}:function(t){return t[n]};return t=t?-1:1,function(n,i){return n=r(n),i=r(i),t*((n>i)-(i>n))}}});Object.defineProperty(Array.prototype,"inArray",{enumerable:!1,value:function(n){for(var t=0;t<this.length;t++)if(n(this[t]))return!0;return!1}});Object.defineProperty(Array.prototype,"pushIfNotExist",{enumerable:!1,value:function(n,t){this.inArray(t)||this.push(n)}});GeneratePagination=function(n,t,i){var r=[],f=1,e=Math.max(f,i-2),o=Math.min(t,i+2),u;for(e!=f&&(r.push(f+""),r.push("...")),u=e;u<=o;u++)r.push(u+"");return o!=t&&(r.push("..."),r.push(t+"")),console.warn("Minh: ",r),r};AWDSApp=new function(){this.util=new util};ngAWDSApp=angular.module("AWDSApp",["ngCookies","vcRecaptcha","ui-notification"]);ngAWDSApp.run(["$rootScope","$window","HttpFactory",function(n,t,i){n.rootURL=window.rootURL;n.ConfigFormMail=angular.copy(window.ConfigFormMail);var r={getUrlHasPrefix:function(t){return AWDSApp.util.isNullOrEmpty(t)?"":n.webApp.rootURL+t}};angular.merge(r,AWDSApp.util);n.util=r;window.webApp?(window.webApp.util=r,n.util.isNullOrEmpty(window.rootURL)&&(window.rootURL=window.webApp.rootURL),n.util.isNullOrEmpty(window.RecaptchaSiteKey)&&(window.RecaptchaSiteKey=window.webApp.ga.recaptchaSiteKey)):(window.webApp={rootURL:window.rootURL,fb:{appId:window.FBAppId},ga:{appId:window.GoogleAppId,recaptchaSiteKey:window.RecaptchaSiteKey},formMailOptions:{redirectToThankYou:{formMailSubscribeDirective:null,formMailEnquiry3Directive:null,formMailBasicDirective:null}},util:r},window.ConfigFormMail&&(window.ConfigFormMail.formMailSubscribeDirective&&(window.webApp.formMailOptions.redirectToThankYou.formMailSubscribeDirective=window.ConfigFormMail.formMailSubscribeDirective.sThankYou),window.ConfigFormMail.formMailEnquiry3Directive&&(window.webApp.formMailOptions.redirectToThankYou.formMailEnquiry3Directive=window.ConfigFormMail.formMailEnquiry3Directive.sThankYou),window.ConfigFormMail.formMailBasicDirective&&(window.webApp.formMailOptions.redirectToThankYou.formMailBasicDirective=window.ConfigFormMail.formMailBasicDirective.sThankYou)));n.webApp=window.webApp;i.get({},"Stock/Website/GetWebsite").then(function(t){n.webApp.oWebsite=t.data;window.webApp.oWebsite=t.data},function(){});IsNullOrEmpty(n.webApp.rootURL)&&console.error("rootURL is empty. please set rootURL value in Layout")}]);ngAWDSApp.config(["$provide","$httpProvider","$cookiesProvider","vcRecaptchaServiceProvider","NotificationProvider",function(n,t,i,r,u){window.RecaptchaSiteKey?r.setSiteKey(window.RecaptchaSiteKey):console.warn("system - no google re-captcha key");u.setOptions({delay:3e3,positionX:"center",classNoti:"shopping-noti"});t.interceptors.push(["$q","$timeout",function(n){return{request:function(t){return t.beforeSend&&t.beforeSend(t),t||n.when(t)},responseError:function(t){return angular.isDefined(t.config.suppressGloablErrorHandeler)&&t.config.suppressGloablErrorHandeler==!0||console.error(t),n.reject(t)}}}]);t.defaults.headers.get||(t.defaults.headers.get={});AWDSApp.util.isBrowserIE()&&(t.defaults.headers.get["If-Modified-Since"]="Sun, 01 Jan 2017 05:00:00 GMT",t.defaults.headers.get["Cache-Control"]="no-cache",t.defaults.headers.get.Pragma="no-cache")}]);navigator.serviceWorker!=null&&navigator.serviceWorker.getRegistrations().then(function(n){for(var t=0;t<n.length;t++)n[t].unregister()});$(function(){$(".btn-filter-farm").click(function(){$(".content-filter-farm").toggleClass("active")});$(".content-filter-farm").click(function(){$(this).removeClass("active")})});ngAWDSApp.directive("convertToLowercase",function(){return{require:"ngModel",link:function(n,t,i,r){var u=function(n){var i,u;return n==undefined&&(n=""),i=n.toLowerCase(),i!==n&&(u=t[0].selectionStart,r.$setViewValue(i),r.$render(),t[0].selectionStart=u,t[0].selectionEnd=u),i};r.$parsers.push(u);u(n[i.ngModel])}}});ngAWDSApp.directive("convertToNumber",function(){return{require:"ngModel",link:function(n,t,i,r){r.$parsers.push(function(n){return n!=null?parseInt(n,10):null});r.$formatters.push(function(n){return n!=null?""+n:null})}}});ngAWDSApp.directive("filterAutocomplete",["$timeout","$q","$compile","$window","$document",function(n,t,i,r,u){var o={itemTemplate:"<p>{{renderItem.Text}}<\/p>",noMatchTemplate:"<span>No results match '{{searchText}}'<\/span>",containerCssClass:null,selectedCssClass:"auto-complete-item-selected",fieldValue:"Value",placeholder:null,searchIconEnable:!0,loadMoreTemplate:"<span> {{renderItems.length}}/{{totalRecords}} Load more<\/span>",loadMoreCallbackEnable:!1,searchTextCssClass:null,searchTextWidth:"auto",dropdownWidth:"auto",dropdownHeight:"auto",minimumChars:1,maxItemsToRender:20,activateOnFocus:!1,data:angular.noop,loadingComplete:angular.noop,ready:angular.noop,search:angular.noop,loadMore:angular.noop},e={RESIZE:"resize",SCROLL:"scroll",CLICK:"click",KEYDOWN:"keydown",FOCUS:"focus",INPUT:"input"},f={TAB:9,BACKSPACE:8,ENTER:13,CTRL:17,ALT:18,ESCAPE:27,LEFTARROW:37,UPARROW:38,RIGHTARROW:39,DOWNARROW:40,DELETE:46,MAC_COMMAND_LEFT:91,MAC_COMMAND_RIGHT:93};return{restrict:"E",replace:!0,scope:{cOptions:"&"},link:function(r,s){function c(n){n=n||{};r.init(angular.extend({},o,n));l();p()}function l(){r.container=a();r.options.containerCssClass&&r.container.addClass(r.options.containerCssClass);r.options.searchTextCssClass&&r.container.find(".search-text-container").addClass(r.options.searchTextCssClass);r.options.searchTextWidth&&r.container.find(".search-text-container input.search-text").width(r.options.searchTextWidth);s.append(r.container);r.elementUL=angular.element(r.container[0].querySelector("ul.auto-complete-results"));r.targetSearchText=angular.element(r.container[0].querySelector("input.search-text"));r.options.searchIconEnable&&(r.targetSearchIcon=angular.element(r.container[0].querySelector(".icon-search")))}function a(){var n=i(v());return n(r)}function v(){var n="";return n+='<div class="auto-complete-container"><div class="search-text-container"><input type="text" class="search-text" ng-model="searchText" placeholder="{{options.placeholder}}" /><i class="glyphicon glyphicon-search icon-search ng-hide" ng-show="options.searchIconEnable"><\/i><\/div>',n+=y(),n+"<\/div>"}function y(){return""+('<ul class="auto-complete-results" ng-show="containerVisible"><li ng-if="renderItems.length" class="item"ng-repeat="renderItem in renderItems"data-index="{{$index}}"ng-class="getSelectedCssClass($index)"ng-click="selectItem($index, true)">'+r.options.itemTemplate+'<\/li><li ng-if="!renderItems.length"class="item no-match">'+r.options.noMatchTemplate+'<\/li><li ng-if="renderItems.length"class="item load-more"ng-click="loadMore()">'+r.options.loadMoreTemplate+"<\/li><\/ul>")}function p(){var n=s.find("input.search-text");n.on(e.FOCUS,function(){r.$evalAsync(function(){r.options.activateOnFocus&&h(n.val(),100)})});n.on(e.INPUT,function(){r.$evalAsync(function(){g(n.val())})});n.on(e.KEYDOWN,function(n){var t=n;r.$evalAsync(function(){d(t)})});u.on(e.CLICK,function(n){var t=n;r.$evalAsync(function(){b(t)})})}function h(t,i){var u=s.find("input.search-text"),f=n(function(){t===u.val()&&r.query(t);n.cancel(f)},i||300)}function w(n){var t=r.container[0];return angular.isFunction(t.contains)&&t.contains(n)?!0:window.jQuery&&angular.isFunction(r.container.has)&&r.container.has(n).length>0?!0:!1}function b(n){if(r.container){if(n.target===r.targetSearchText[0]){n.stopPropagation();return}if(w(n.target)){n.stopPropagation();return}r.autoHide()}}function k(n){return[f.TAB,f.ALT,f.CTRL,f.LEFTARROW,f.RIGHTARROW,f.MAC_COMMAND_LEFT,f.MAC_COMMAND_RIGHT].indexOf(n)!==-1}function d(n){var t=n.charCode||n.keyCode||0,i;if(!k(t))switch(t){case f.UPARROW:r.scrollToPreviousItem();n.stopPropagation();n.preventDefault();break;case f.DOWNARROW:r.scrollToNextItem();n.stopPropagation();n.preventDefault();break;case f.ENTER:r.selectedIndex==-1?r.search():r.selectItem(r.selectedIndex,!0);n.preventDefault();n.stopPropagation();break;case f.BACKSPACE:case f.DELETE:i=s.find("input.search-text");r.removedSearchText(i.val());n.preventDefault();n.stopPropagation();break;case f.ESCAPE:r.restoreOriginalText();r.autoHide();n.preventDefault();n.stopPropagation()}}function g(n){if(r.options.minimumChars===0||n&&n.trim().length!==0&&n.length>=r.options.minimumChars){h(n);return}}n(function(){t.when(r.cOptions()).then(c)})},controller:["$scope","$element","$attrs","$rootScope",function(n,i){function b(){return a(s,h+1)}function a(n,t){var i={searchText:n,pageNumber:t,queryId:++c};return k(i)}function k(i){return s=i.searchText,l=!0,f(n.options.loading),t.when(n.options.data(i),function(t){if(d(i)){e();return}angular.forEach(t.records,function(t){n.renderItems.push(t)});n.totalRecords=t.totalRecords;n.searchText=i.searchText;h=i.pageNumber;n.show();f(n.options.loadingComplete)},function(t){e();f(n.options.loadingComplete,{error:t})}).then(function(){l=!1})}function d(n){return n.queryId!==c}function e(){n.containerVisible&&(n.containerVisible=!1,n.emptyRenderItems(),g(),f(n.options.dropdownHidden))}function g(){s=null;h=0}function v(t){var i,r;if(n.containerVisible){if(n.selectItem(t,!1),i='li[data-index="'+t+'"]',window.jQuery&&window.jQuery.scrollTo){n.elementUL.scrollTo(n.elementUL.find(i));return}r=n.elementUL[0].querySelector(i);r&&(n.elementUL[0].scrollTop=r.offsetTop)}}function f(n,t){if(angular.isFunction(n))try{return n.call(i,t)}catch(r){}}function nt(t){_.isEmpty(t)||angular.forEach(t,function(t,i){o.hasOwnProperty(i)&&(n.options[i]=t)})}function y(t){n.searchText=t}function p(t){var i=n.selectedIndex+t;return i>=n.renderItems.length?-1:i}function tt(){var t=null;t=n.targetSearchText[0].getBoundingClientRect().width+"px";n.container.css({width:t});n.elementUL.css({width:t});n.options.dropdownHeight&&n.options.dropdownHeight!=="auto"&&n.elementUL.css({"max-height":n.options.dropdownHeight});it()}function it(){var i=n.targetSearchText[0].getBoundingClientRect(),t=u[0],e=t.body.scrollTop||t.documentElement.scrollTop||r.pageYOffset,o=t.body.scrollLeft||t.documentElement.scrollLeft||r.pageXOffset,f;n.container.css({left:i.left+o+"px",top:i.top+i.height+e+"px"});f=rt();n.elementUL.css({"z-index":f+1,position:"absolute",background:"wheat"});n.containerVisible=!0}function rt(){return Math.max.apply(null,$.map($("body > *"),function(n){return parseInt($(n).css("z-index"))||1}))}var s=null,c=0,h=0,l=!1,w;n.selectedIndex=-1;n.containerVisible=!1;n.totalRecords=0;n.renderItems=[];n.init=function(t){n.options=t;f(n.options.ready,w)};n.query=function(t){return n.emptyRenderItems(),h=0,a(t,0)};n.selectItem=function(t,i){var r=n.renderItems[t];r&&(n.selectedIndex=t,y(r[n.options.fieldValue]),i&&(e(),f(n.options.itemSelected,{item:r})))};n.search=function(){angular.isFunction(n.options.search)&&(e(),f(n.options.search,{searchText:n.searchText}))};n.loadMore=function(){n.options.loadMoreCallbackEnable?(e(),f(n.options.loadMore,{searchText:n.searchText})):b()};n.getSelectedCssClass=function(t){return t===n.selectedIndex?n.options.selectedCssClass:""};n.emptyRenderItems=function(){n.selectedIndex=-1;n.renderItems=[]};n.restoreOriginalText=function(){s&&y(s)};n.removedSearchText=function(t){t&&t.trim().length!==0||f(n.options.searchTextRemoved,{})};n.scrollToNextItem=function(){var n=p(1);n!==-1&&v(n)};n.scrollToPreviousItem=function(){var n=p(-1);n!==-1&&v(n)};n.show=function(){tt();f(n.options.dropdownShown)};n.autoHide=function(){n.options&&e()};w=function(){return{setOptions:nt}}()}]}}]);ngAWDSApp.directive("filterDropdown",["$timeout",function(){return{restrict:"E",replace:!0,scope:{cNgModel:"=",cOptions:"=",staffDropDown:"="},template:'<div class="ddl-group"><select class="form-control" ng-options="item.Value as displayText(item) for item in cOptions.filterData" ng-model="selectedVal" ng-change="filterChangedIternal()"><\/select><\/div>',link:function(){},controller:["$scope","$element","$attrs","$rootScope",function(n,t,i,r){n.cOptionsDefault={fieldNameInFilter:null,isShowRequiredFilter:!1,isShowDescription:!1,selectedItem:null,filterChanged:function(){}};n.cOptions=angular.merge({},n.cOptionsDefault,n.cOptions);n.displayText=function(t){return n.cOptions.isShowDescription?t.Description:t.Text};n.cOptions.resetFilter=function(){angular.element(t).addClass("loading");n.cOptions.filterData=null;n.cOptions.isShowRequiredFilter=!1};n.cOptions.loadFilter=function(i,u,f,e){if(angular.element(t).addClass("loading"),n.cOptions.filterData=u,angular.isObject(i[n.cOptions.fieldNameInFilter]))n.selectedVal=i[n.cOptions.fieldNameInFilter].Value;else if(n.selectedVal=i[n.cOptions.fieldNameInFilter],angular.isDefined(n.selectedVal))switch(n.cOptions.fieldNameInFilter){case"PageSize":n.selectedVal=n.selectedVal.toString()}n.cOptions.isShowRequiredFilter=e;r.webApp.util.toBool(f)&&(n.cOptions.filterData.length<1?angular.element(t).find("select").hide():angular.element(t).find("select").show());angular.element(t).removeClass("loading")};n.filterChangedIternal=function(){var i=r.webApp.util.hasVal(n.selectedVal),t;if(n.cOptions.selectedItem=null,i)for(t=0;t<n.cOptions.filterData.length;t++)if(n.cOptions.filterData[t].Value==n.selectedVal){n.cOptions.selectedItem=n.cOptions.filterData[t];break}n.cOptions.filterChanged(i,n.selectedVal,n.cOptions.fieldNameInFilter)}}]}}]);ngAWDSApp.directive("filterRange",["$timeout",function(){return{restrict:"E",replace:!0,scope:{cOptions:"="},template:'<div class="row"><div class="col-sm-6 select-padleft"><div class="controls"><select ng-options="item.Value as item.Text for item in cOptions.filterDataMin" ng-model="selectedMin" class="form-control" ng-change="filterChangedIternal()"><option value=""> Min <\/option><\/select><\/div><\/div><div class="col-sm-6 select-padright"><div class="controls"><select ng-options="item.Value as item.Text for item in cOptions.filterDataMax" ng-model="selectedMax" class="form-control" ng-change="filterChangedIternal()"><option value=""> Max <\/option><\/select><\/div><\/div><div class="col-xs-6" ng-if="!cOptions.isAutoRefresh"><div><button ng-click="filterClearIternal()" class="btn-sm btn-clear">Clear<\/button><\/div><\/div><div class="col-xs-6" ng-if="!cOptions.isAutoRefresh"><div><button ng-click="filterUpdateIternal()" class="btn btn-primary btn-sm">Update<\/button><\/div><\/div><div class="col-sm-12" ng-if="isShowRequiredFilter" ><div style="text-align: center">{{cOption.requiredFilterText}}<\/div><\/div><\/div>',controller:["$scope","$element","$attrs","$rootScope",function(n,t,i,r){n.cOptionsDefault={defaultFilter:null,isDeSelectedFilterAllowed:!0,fieldNameInFilter:null,isShowRequiredFilter:!1,isAutoRefresh:!1,requiredFilterText:"Missing Required Filter Text",filterDataMin:[],filterDataMax:[],filterChanged:function(){}};n.cOptions=angular.merge({},n.cOptionsDefault,n.cOptions);n.cOptions.resetFilter=function(){t.parents(".panel.panel-default").find(".panel-heading a").addClass("loading");n.cOptions.filterDataMin=null;n.cOptions.filterDataMax=null;n.cOptions.isShowRequiredFilter=!1};n.cOptions.loadFilter=function(i,u,f,e,o){t.parents(".panel.panel-default").find(".panel-heading a").addClass("loading");i[n.cOptions.fieldNameInFilter]==null&&(i[n.cOptions.fieldNameInFilter]={});n.cOptions.filterDataMin=u;n.cOptions.filterDataMax=f;n.selectedMin=i[n.cOptions.fieldNameInFilter].Min;n.selectedMax=i[n.cOptions.fieldNameInFilter].Max;switch(n.cOptions.fieldNameInFilter){case"YearFilter":case"PriceFilter":angular.isDefined(n.selectedMin)&&(n.selectedMin=n.selectedMin.toString());angular.isDefined(n.selectedMax)&&(n.selectedMax=n.selectedMax.toString())}n.cOptions.isShowRequiredFilter=o;r.webApp.util.toBool(e)&&(n.cOptions.filterDataMin.length<1&&n.cOptions.filterDataMax.length<1?angular.element(t).closest(".panel.panel-default").hide():angular.element(t).closest(".panel.panel-default").show());t.parents(".panel.panel-default").find(".panel-heading a").removeClass("loading")};n.filterChangedIternal=function(){n.cOptions.isAutoRefresh&&n.filterUpdateIternal()};n.filterUpdateIternal=function(){n.cOptions.filterChanged(n.selectedMin,n.selectedMax,n.cOptions.fieldNameInFilter)};n.filterClearIternal=function(){n.selectedMin=null;n.selectedMax=null;n.filterUpdateIternal()}}]}}]);ngAWDSApp.directive("filterSlider",["$timeout",function(){return{restrict:"E",replace:!0,scope:{cNgModel:"=",cOptions:"=",staffDropDown:"="},template:'<div class="slider-group"><rzslider rz-slider-model="iSliderMin"rz-slider-high="iSliderMax"rz-slider-options="cOptions.oSliderOptions"><\/rzslider><\/div>',link:function(){},controller:["$scope","$element","$attrs","$rootScope",function(n,t,i,r){n.cOptionsDefault={defaultFilter:null,isDeSelectedFilterAllowed:!0,fieldNameInFilter:null,isShowRequiredFilter:!1,requiredFilterText:"Missing Required Filter Text",filterChanged:function(){}};n.cOptions=angular.merge({},n.cOptionsDefault,n.cOptions);n.iSliderMin=0;n.iSliderMax=0;n.cOptions.resetFilter=function(){angular.element(t).addClass("loading");n.cOptions.oSliderOptions=null;n.cOptions.isShowRequiredFilter=!1};n.cOptions.loadFilter=function(i,u,f,e){angular.element(t).addClass("loading");n.cOptions.oSliderOptions=u;n.iSliderMin=i[n.cOptions.fieldNameInFilter].Min;n.iSliderMax=i[n.cOptions.fieldNameInFilter].Max;r.webApp.util.hasVal(n.iSliderMax)||(n.iSliderMax=u.ceil);n.iSliderMax>u.ceil&&(n.iSliderMax=u.ceil);n.cOptions.isShowRequiredFilter=e;r.webApp.util.toBool(f)&&(r.webApp.util.hasVal(n.iSliderMax)?angular.element(t).find("select").show():angular.element(t).find("select").hide());angular.element(t).removeClass("loading")};n.$on("slideEnded",function(){n.filterChangedIternal()});n.filterChangedIternal=function(){n.cOptions.filterChanged(n.iSliderMin,n.iSliderMax,n.cOptions.fieldNameInFilter)}}]}}]);ngAWDSApp.directive("filterStandard",["$timeout",function(){return{restrict:"E",replace:!0,scope:{cNgModel:"=",cOptions:"=",staffDropDown:"="},template:'<ul class="list-group"><li class="list-group-item" ng-repeat="item in cOptions.filterData" ng-class="{\'active\': item.Value == selectedVal}" ng-click="filterChangedIternal(true,item)"><div class="checkbox-box"><input type="checkbox" class="checkbox" ng-checked="item.Value == selectedVal"><label class="ckb-label"><\/label><span>{{item.Text}}<\/span> <span>({{item.Count}})<\/span><\/div><\/li><li class="list-group-item" ng-if="isShowRequiredFilter" ><div style="text-align: center">{{cOption.requiredFilterText}}<\/div><\/li><div ng-if="cOptions.filterData.length == 0" style="margin-left:22px;margin-bottom: 5px">no results found<\/div><\/ul>',link:function(){},controller:["$scope","$element","$attrs","$rootScope",function(n,t,i,r){n.cOptionsDefault={defaultFilter:null,isDeSelectedFilterAllowed:!0,fieldNameInFilter:null,isShowRequiredFilter:!1,requiredFilterText:"Missing Required Filter Text",filterChanged:function(){}};n.cOptions=angular.merge({},n.cOptionsDefault,n.cOptions);n.cOptions.resetFilter=function(){t.parents(".panel.panel-default").find(".panel-heading a").addClass("loading");n.cOptions.filterData=null;n.cOptions.isShowRequiredFilter=!1};n.cOptions.loadFilter=function(i,u,f,e){t.parents(".panel.panel-default").find(".panel-heading a").addClass("loading");n.cOptions.filterData=u;n.selectedVal=angular.isObject(i[n.cOptions.fieldNameInFilter])?i[n.cOptions.fieldNameInFilter].Min||i[n.cOptions.fieldNameInFilter].Max:i[n.cOptions.fieldNameInFilter];n.cOptions.isShowRequiredFilter=e;r.webApp.util.toBool(f)&&(n.cOptions.filterData.length<1?angular.element(t).closest(".panel.panel-default").hide():angular.element(t).closest(".panel.panel-default").show());t.parents(".panel.panel-default").find(".panel-heading a").removeClass("loading")};n.filterChangedIternal=function(t,i){t?n.selectedVal=i.Value:r.webApp.util.toBool(n.cOptions.isDeSelectedFilterAllowed)&&(n.selectedVal=null);n.cOptions.filterChanged(t,i,n.cOptions.fieldNameInFilter)}}]}}]);ngAWDSApp.directive("gplaceApiDirective",function(){return{restrict:"EA",scope:{apiParam:"@apiParam",apiKey:"@apiKey"},template:"<span>{{sConent}}<\/span>",controller:["$scope","HttpFactory",function(n){n.apiParam!=null&&n.apiParam!=null||console.error("Minh: GPlaceApi required Param and Key")}]}});ngAWDSApp.directive("ngErrorSrc",function(){return{link:function(n,t,i){t.bind("error",function(){i.src!=i.onErrorSrc&&i.onErrorSrc!=null&&i.$set("src",i.onErrorSrc)})}}});ngAWDSApp.directive("ngRepeatFinish",["$timeout",function(n){return{restrict:"A",link:function(t){t.$last===!0&&n(function(){t.$emit("ngRepeatFinished")})}}}]);ngAWDSApp.directive("numbersQty",function(){return{require:"ngModel",link:function(n,t,i,r){function u(n){if(n){var t=n.replace(/[^0-9]/g,"");return t!==n&&(r.$setViewValue(t),r.$render()),t}return undefined}r.$parsers.push(u)}}});ngAWDSApp.directive("paginationDirective",[function(){return{restrict:"EA",scope:{dataSource:"=source",pageNumber:"=pageNumber",totalPages:"=totalPages",totalRecords:"=totalRecords",onPrevPage:"&",onNextPage:"&",onPage:"&",onResetFilter:"&"},template:'<div class="row justify-content-md-center" ng-if="dataSource.length > 0"><p>Page {{pageNumber}} of {{totalPages}}<\/p><ul class="pagination"><li class="page-item" ng-class="{\'disabled\': pageNumber == 1}"><a class="btn page-link" ng-click="onPrevPage()" tabindex="-1">Prev<\/a><\/li><li ng-repeat="x in lPageNumber" class="page-item" ng-class="{\'active\': x.val == pageNumber, \'disabled\': x.val == \'...\'}"><a class="btn page-link" ng-if="x.val == pageNumber">{{x.val}}<span class="sr-only">(current)<\/span><\/a><a class="btn page-link" ng-if="x.val != pageNumber" ng-click="onPage({page:x.val})" ng-class="{\'disabled\': x.val == \'...\'}">{{x.val}}<\/a><\/li><li class="page-item" ng-class="{\'disabled\': pageNumber == totalPages}"><a class="btn page-link" ng-click="onNextPage()">Next<\/a><\/li><\/ul><\/div><div class="row justify-content-md-center" ng-if="totalRecords != null && dataSource.length < 1"><p>Your search filters have returned 0 results. Please broaden your search.<\/p><p><a class="btn btn-moreDetails" ng-click="onResetFilter()">Reset Filters<\/a><\/p><\/div>',link:function(n){n.resetPageNumber=function(){n.lPageNumber=AWDSApp.util.generatePagination(n.totalRecords,n.totalPages,n.pageNumber)};n.$watch("dataSource",function(t,i){t!=i&&n.resetPageNumber()})}}}]);ngAWDSApp.directive("passwordVerify",function(){return{restrict:"A",require:"?ngModel",link:function(n,t,i,r){if(r){n.$watch(i.ngModel,function(){u()});i.$observe("passwordVerify",function(){u()});var u=function(){var n=r.$viewValue,t=i.passwordVerify;i.required===!0?r.$setValidity("passwordVerify",n===t):r.$setValidity("passwordVerify",!0)}}}}});ngAWDSApp.directive("multipleEmails",function(){return{require:"ngModel",link:function(n,t,i,r){function u(n){var i=n.split(";"),u=/^[a-z0-9!'#$%&*+\/=?^_`{|}~-]+(?:\.[a-z0-9!'#$%&*+\/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-zA-Z]{2,}$/i,f=n.trim()==""||$.map(i,function(n){return n.trim()==""?!0:u.test(n.trim())}),t=!1;return angular.forEach(f,function(n){n===!1&&(t=!0)}),t?(r.$setValidity("multipleEmails",!1),undefined):(r.$setValidity("multipleEmails",!0),n)}t.ready(function(){n.$apply(function(){return u(t.val())})});r.$parsers.unshift(function(n){return u(n)})}}});ngAWDSApp.directive("validUbsCaptcha",["$http","$q","$rootScope","HttpFactory",function(n,t,i,r){return{restrict:"A",require:"ngModel",scope:{recaptcha:"="},link:function(n,i,u,f){f.$asyncValidators.validUbsCaptcha=function(i){if(f.$isEmpty(i))return t.when();n.recaptcha.CaptCode=i;var u=t.defer();return r.post(n.recaptcha,"Stock/EmailProcesser/ValidateUbsCaptcha").then(function(n){n.data?u.resolve():u.reject()},function(n){u.reject(n)}),u.promise}}}}]);ngAWDSApp.factory("breadcrumbsService",["$rootScope",function(n){var t=function(t,i){var r;t=t||[];var f=!0,u=!1,e=i.Value2!==undefined;for(r=0;r<t.length;r++)if(t[r].fieldNameInFilter==i.fieldNameInFilter){f=!1;e?n.webApp.util.isNullOrEmpty(i.Value)&&n.webApp.util.isNullOrEmpty(i.Value2)&&(u=!0):n.webApp.util.isNullOrEmpty(i.Value)&&(u=!0);u?t.removeItemByIndex(r):(t[r].Text=i.Text,t[r].Value=i.Value,t[r].Value2=i.Value2);break}if(f==!0){switch(i.fieldNameInFilter){case"SearchText":i.Sort=1;break;case"Make":i.Sort=2;break;case"Model":i.Sort=3;break;case"Series":i.Sort=4;break;case"Variant":i.Sort=5;break;default:i.Sort=t.getMaxByFieldName("Sort")+1}e?n.webApp.util.hasVal(i.Value)&&n.webApp.util.hasVal(i.Value2)&&t.push(i):n.webApp.util.hasVal(i.Value)&&t.push(i)}return t},i=function(n,t){n=n||[];for(var i=0;i<n.length;i++)if(n[i].fieldNameInFilter==t.fieldNameInFilter){n.removeItemByIndex(i);break}return n.sort(n.sortBy("Sort",!1,parseInt))};return{saveBreadcrumbs:t,removeBreadcrumbs:i}}]);ngAWDSApp.factory("commonFactory",["HttpFactory","$window",function(n){return{getPCodeState:function(){return n.get({},"Stock/Website/GetPCodeState")},getPCode:function(t){return n.get({Suburb:t},"Stock/Website/GetPCode")},getSystemMakes:function(){return n.get({},"Stock/VehicleRequest/GetSystemMakes")},getSystemModels:function(t){return n.get({Make:t},"Stock/VehicleRequest/GetSystemModels")}}}]);ngAWDSApp.factory("CommonServices",[function(){var n=function(n,t,i){var r=[],f=1,e=Math.max(f,i-2),o=Math.min(t,i+2),u;for(e!=f&&(r.push({idx:r.length,val:f+""}),r.push({idx:r.length,val:"..."})),u=e;u<=o;u++)r.push({idx:r.length,val:u+""});return o!=t&&(r.push({idx:r.length,val:"..."}),r.push({idx:r.length,val:t+""})),r};return{generatePagination:n}}]);ngAWDSApp.factory("FormMailFactory",["HttpFactory","$window",function(n){var t="Stock/EmailProcesser/",l=function(t,i){return n.get(t,"Stock/WSStock/GetDataFormSortBy"+i)},i=function(i){return n.get(i,t+"GetUbsCaptcha")},r=function(i){return n.post(i,t+"SendMailBasic")},u=function(i){return n.post(i,t+"SendMailBasicV2")},f=function(i){return n.post(i,t+"SendMailEnquiry")},e=function(i){return n.post(i,t+"SendMailEnquiryV2")},o=function(i){return n.post(i,t+"SendMailSubscribe")},s=function(i){return n.post(i,t+"SendMailWithNewModelMedia")},h=function(i){return n.post(i,t+"SendMailWithNewModelMediaV2")},c=function(i){return n.post(i,t+"ValidateUbsCaptcha")};return{SendMailBasic:r,SendMailBasicV2:u,SendMailEnquiry:f,sendMailEnquiryV2:e,SendMailSubscribe:o,SendMailWithNewModelMedia:s,sendMailWithNewModelMediaV2:h,getUbsCaptcha:i,validateUbsCaptcha:c}}]);ngAWDSApp.factory("FormMailServices",["$rootScope","FormMailFactory","HttpFactory",function(n,t,i){var u=function(){return n.webApp.util.isNullOrEmpty(n.webApp.ga.recaptchaSiteKey)},f=function(i){n.webApp.util.isNullOrEmpty(n.webApp.ga.recaptchaSiteKey)?t.getUbsCaptcha({}).then(function(n){i(n)},function(){}):console.error("Minh: ","cannot reload ubs captcha because RecaptchaSiteKey has value")},e=function(n){console.error("web-error","not found function WSStockAngular/GetStockDetail by vehicleid: "+n)},o=function(n,t,r){i.get({VehicleId:n,FilterId:t},"Stock/WSStockAngular/GetDefaultDataStockDetail").then(function(n){r(n)},function(){})},r=function(t){var i="";return angular.isDefined(n.webApp)&&angular.isDefined(n.webApp.formMailOptions)&&angular.isDefined(n.webApp.formMailOptions)&&angular.isDefined(n.webApp.formMailOptions.redirectToThankYou)?n.webApp.util.isNullOrEmpty(n.webApp.formMailOptions.redirectToThankYou[t])||(i=n.webApp.util.getUrlHasPrefix(n.webApp.formMailOptions.redirectToThankYou[t])):angular.isDefined(n.ConfigFormMail)&&angular.isDefined(n.ConfigFormMail[t])&&(i=n.util.getUrlHasPrefix(n.ConfigFormMail[t].sThankYou)),i},s=function(n,t,i){var u=r(n);u!=""?window.location=u:(angular.isDefined(i)&&i!=""||(i="<strong>We have received your enquiry and will be in touch with you shortly.<\/strong><br /><br />Regards"),t.html(i))};return{reloadUbsCaptcha:f,isLoadedUbsCaptcha:u,getWSStock:e,getWSStockAndOptions:o,getThankYouUri:r,redirectToThankYou:s}}]);ngAWDSApp.factory("HttpFactory",["$q","$http","$window","$rootScope",function(n,t,i,r){var e=function(n,t){return u(n,r.util.getUrlHasPrefix(t))},o=function(n,t){return f(n,r.util.getUrlHasPrefix(t))},s=function(n,t){return c(n,r.util.getUrlHasPrefix(t))},h=function(n,t){return l(n,r.util.getUrlHasPrefix(t))},u=function(i,r){var u=n.defer();return t({method:"GET",url:r,params:i,beforeSend:function(){}}).then(function(n){u.resolve(n)},function(n){u.reject(n)}),u.promise},f=function(i,r){var u=n.defer();return t({method:"POST",url:r,data:i,beforeSend:function(){}}).then(function(n){u.resolve(n)},function(n){u.reject(n)}),u.promise},c=function(i,r){var u=n.defer();return t({method:"POST",url:r,data:$.param(i),headers:{"Content-Type":"application/x-www-form-urlencoded; charset=UTF-8"},beforeSend:function(){}}).then(function(n){u.resolve(n)},function(n){u.reject(n)}),u.promise},l=function(i,r){var u=n.defer();return t({method:"POST",url:r,data:i,headers:{"Content-Type":undefined},beforeSend:function(){}}).then(function(n){u.resolve(n)},function(n){u.reject(n)}),u.promise};return{get:e,getApi:u,post:o,postApi:f,postSerialization:s,upload:h}}]);ngAWDSApp.factory("localstorageFactory",["$window",function(n){return{set:function(t,i){n.localStorage[t]=i},get:function(t,i){return n.localStorage[t]||i||!1},setObject:function(t,i){n.localStorage[t]=JSON.stringify(i)},getObject:function(t,i){return n.localStorage[t]!=undefined?JSON.parse(n.localStorage[t]):i||!1},remove:function(t){n.localStorage.removeItem(t)},clear:function(){n.localStorage.clear()}}}]);ngAWDSApp.factory("SCReviewFactory",["HttpFactory","$window",function(n){var t=function(n){return"Stock/ShoppingReview/"+n},i=function(i){return n.post(i,t("GetDefaultSCRData"))},r=function(i){return n.post(i,t("GetShoppingReviews"))},u=function(i){return n.post(i,t("SaveWriteAReview"))};return{getDefaultData:i,getShoppingReviews:r,saveReview:u}}]);ngAWDSApp.factory("WSPartFactory",["HttpFactory","$window",function(n){var r=function(n){return"Stock/WSPart/"+n},i=function(n){return"Stock/WSPartAngular/"+n},t=function(t,r){return n.post(r,i(t))},u=function(t){return n.get(t,i("GetDefaultDataV2"))},f=function(t){return n.post(t,i("GetParts"))},e=function(n){return t("GetMaxPrice",n)},o=function(n){return t("GetPartGroups",n)},s=function(n){return t("GetPartCategoriesV2",n)},h=function(n){return t("GetPartCategoriesNotExtra",n)},c=function(n){return t("GetPartCategoriesExtra",n)},a=function(n){return t("GetVariants",n)},v=function(t){return n.post(t,r("FormSearch"))},y=function(t){return n.post(t,r("FormSearchByStockNumber"))},l=function(t){return n.post(t,i("SaveGlobalSearchOption"))};return{getDefaultData:u,getPartsList:f,getMaxPrice:e,getPartGroups:o,getPartCategories:s,getPartCategoriesExtra:c,getPartCategoriesNotExtra:h,saveGlobalSearchOption:l}}]);ngAWDSApp.factory("WSStockFactory",["HttpFactory","$window",function(n){var i=function(n){return"Stock/WSStock/"+n},t=function(n){return"Stock/WSStockAngular/"+n},u=function(i){return n.get(i,t("GetDefaultDataCaravan"))},f=function(i){return n.get(i,t("GetDefaultDataVehicle"))},e=function(i){return n.get(i,t("GetDefaultDataMotor"))},o=function(i){return n.get(i,t("GetDefaultDataCar"))},s=function(i){return n.get(i,t("GetDefaultDataAuctionCatalogue"))},h=function(t,r){return n.get(t,i("GetDataFormSearch"+r))},c=function(t){return n.get(t,i("GetStockOptionsByFilterId"))},l=function(){},a=function(i,r){return n.get({VehicleId:i,FilterId:r},t("GetStockDetailV2"))},v=function(i,r,u){n.get({VehicleId:i,FilterId:r},t("GetDefaultDataStockDetail")).then(function(n){u(n)},function(){})},y=function(i){return n.get(i,t("GetAuctionCatalogues"))},p=function(t,r){n.post(t,i("GetMarineAndLeisureQuoteFromStrattonFinance")).then(function(n){r(n)},function(){})},w=function(i){return n.post(i,t("GetStockList"))},b=function(i){return n.post(i,t("GetStockListByAuctionId"))},r=function(i,r){return n.post(r,t(i))},k=function(n){return r("GetMakes",n)},d=function(n){return r("GetModels",n)},g=function(n){return r("GetSeries",n)},nt=function(n){return r("GetVariants",n)},tt=function(t){return n.post(t,i("FormSearch"))},it=function(t){return n.post(t,i("FormSearchByStockNumber"))};return{submitFormSearch:tt,submitFormSearchByStockNumber:it,getDefaultDataCaravan:u,getDefaultDataVehicle:f,getDefaultDataMotor:e,getDefaultDataAuctionCatalogue:s,getDataFormSearch:h,getStockOptionsByFilterId:c,getWSStockDetail:l,getWSStockDetailV2:a,getWSStockAndOptions:v,getStrattonFinance:p,getAuctionCatalogues:y,getStockList:w,getStockListByAuctionId:b,getFilterData:r,getMake:k,getModel:d,getSeries:g,getVariants:nt,getDefaultDataCar:o}}]);ngAWDSApp.factory("WSStockServices",["$rootScope","WSStockFactory",function(n,t){var i=function(n,i){var r=null,u;if(n.Variant!=null)switch(n.Variant){case"caravan":case"pop top":case"poptop":case"campervan":r="caravan";break;case"camper trailer":r="campertrailer";break;default:r=n.Class}u={assetType:r,amountToFinance:n.PriceForProcessing,isNew:n.Type.toLowerCase()=="new",state:n.Registration.State,year:n.YearForProcessing,purchaseSource:"dealer"};t.getStrattonFinance(u,function(n){i(n)})};return{loadCreditOneFinace:i}}]);ngAWDSApp.filter("convertMeterToFeet",["$filter",function(n){return function(t){return n("convertMeterToFeet2")(t,null,!0,null)}}]);ngAWDSApp.filter("convertMeterToFeet2",["$filter",function(n){return function(t,i,r,u){if(AWDSApp.util.isNullOrEmpty(t)||Number(t)<1)return"";AWDSApp.util.isNullOrEmpty(i)&&(i="'");AWDSApp.util.isNullOrEmpty(u)&&(u='"');r=AWDSApp.util.toBool(r);var f=t/.3048,s=Number(f),h=(f-s)*12,e=n("extNumber")(f,i,0),o=r?n("extNumber")(h,u,1):"";return AWDSApp.util.isNullOrEmpty(o)||(e+=0+o),e}}]);ngAWDSApp.filter("extCurrency",["$filter",function(n){return function(t,i,r){return AWDSApp.util.isNullOrEmpty(t)?"":Number(t)<1?"":n("currency")(t,i,r)}}]);ngAWDSApp.filter("extCurrencyZero",["$filter",function(n){return function(t,i,r){var u=n("extCurrency")(t,i,r);return u==""?i+"0":u}}]);ngAWDSApp.filter("extDate",["$rootScope","$filter",function(n,t){return function(n,i,r){return AWDSApp.util.isNullOrEmpty(n)?"":(AWDSApp.util.isNullOrEmpty(i)&&(i="dd/MM/yyyy"),t("date")(n,i,r))}}]);ngAWDSApp.filter("extDateNum",["$rootScope","$filter",function(n,t){return function(i,r,u){return n.webApp.util.isNullOrEmpty(i)?"":(n.webApp.util.isNullOrEmpty(r)&&(r="dd/MM/yyyy"),t("date")(n.webApp.util.formatDateNumberToDate(i),r,u))}}]);ngAWDSApp.filter("extNumber",["$filter",function(n){return function(t,i,r){return AWDSApp.util.isNullOrEmpty(t)?"":Number(t)<1?"":n("number")(t,r)+(i?i:"")}}]);ngAWDSApp.filter("extNumberZero",["$filter",function(n){return function(t,i,r){var u=n("extNumber")(t,i,r);return u==""?"0"+(i?i:""):u}}]);ngAWDSApp.filter("extNumberZeroWithoutComma",["$filter",function(n){return function(t,i,r){var u=n("extNumberZero")(t,i,r);return u.replace(/,/g,"")}}]);ngAWDSApp.filter("toEngineSize",["$filter",function(n){return function(t){return n("extNumberZeroWithoutComma")(t,"cc",0)}}]);ngAWDSApp.filter("toEngineSizeZero",["$filter",function(n){return function(t){var i=n("toEngineSize")(t);return i==""?"0cc":i}}]);ngAWDSApp.filter("toEngineSizeLiter",["$filter","$rootScope",function(n,t){return function(i){return t.webApp.util.isNullOrEmpty(i)?"":n("extNumber")(i,"l",1)}}]);ngAWDSApp.filter("toFuelTypeDescVehicle",["$filter","$rootScope",function(n,t){return function(n){if(t.webApp.util.isNullOrEmpty(n))return"";var i="";switch(n){case"P":i="Petrol";break;case"D":i="Diesel";break;case"U":i="Unleaded";break;case"E":i="Electric";break;case"H":i="Hybrid";break;case"G":i="LPG";break;default:i=n}return i}}]);ngAWDSApp.filter("toKilogram",["$filter",function(n){return function(t){return n("extNumber")(t," kg",0)}}]);ngAWDSApp.filter("toKilogramZero",["$filter",function(n){return function(t){var i=n("toKilogram")(t);return i==""?"0 kg":i}}]);ngAWDSApp.filter("toKilometer",["$filter",function(n){return function(t){return n("extNumber")(t," km",0)}}]);ngAWDSApp.filter("toKilometerZero",["$filter",function(n){return function(t){var i=n("toKilometer")(t);return i==""?"0 km":i}}]);ngAWDSApp.filter("toMeter",["$filter",function(n){return function(t){return n("extNumber")(t," m",2)}}]);ngAWDSApp.filter("toMeter2",["$filter",function(n){return function(t,i){return i=AWDSApp.util.isNullOrEmpty(i)?"m":i,n("extNumber")(t,i,2)}}]);ngAWDSApp.filter("toMeterZero",["$filter",function(n){return function(t,i){i=AWDSApp.util.isNullOrEmpty(i)?"m":i;var r=n("toMeter2")(t,i);return r==""&&(r="0"+i),r}}]);ngAWDSApp.filter("toPrice",["$filter",function(n){return function(t){return n("extCurrency")(t,"$",0)}}]);ngAWDSApp.filter("toPrice2",["$filter",function(n){return function(t){return n("extCurrency")(t,"$",2)}}]);ngAWDSApp.filter("toTransmissionDescVehicle",["$filter","$rootScope",function(n,t){return function(n){var u;if(t.webApp.util.isNullOrEmpty(n))return"";var f="",r=n.split(" "),i=r[r.length-1].toLocaleLowerCase();switch(i){case"man":i="Manual";break;case"c":i="CVT";break;case"s":case"sport":i="Semi-Auto";break;case"automatic":i="auto"}for(u=0;u<r.length-1;u++)f+=r[u]+" ";return f+i}}]);ngAWDSApp.filter("trustAsResourceUrl",["$sce",function(n){return function(t){return n.trustAsResourceUrl(t)}}]);ngAWDSApp.filter("trustAsHtml",["$sce",function(n){return function(t){var i=angular.element("<div />").html(t).text();return n.trustAsHtml(i)}}])