app.service('shareService', function() {
var packedData = [];
var shopIndexKey = 0;
var shopRegister = function(strShopId) {
shopIndexKey = parseInt(strShopId);
packedData[shopIndexKey] = [];
};
var addData = function(keyName, newObj) {
packedData[shopIndexKey][keyName] = newObj;
};
var getData = function(keyName) {
return (typeof packedData[shopIndexKey][keyName] !== 'undefined') ? packedData[shopIndexKey][keyName] : false;
};
var getDataAll = function() {
return packedData;
};
return {
register: shopRegister,
add: addData,
get: getData,
getAll: getDataAll
};
});
app.controller('homeController', function($scope, $rootScope, $location, $route, $timeout, $window, $routeParams, UiFlexImage, PathViewManager, $fallback, share, shareService, $http) {
var vm = this;
UiCustomerBox.listen.me(function(customerData) {
if (customerData == null) {
/* Code */
} else {
/* Code */
}
});
var $GET = function(endPoint, dataSend, callback) {
$http.get('https://infosat.getappeasy.com/store/api/v1/' + endPoint, {
params: dataSend
}).then(function(e) {
callback(e.data);
});
};
/* register share data */
shareService.register(CUR_THEME.shop_id());
// template params
var baseTemplate = CUR_THEME.file_url() + "templates/";
vm.icnPath = CUR_THEME.file_url() + '../../assets/';
vm.imgPath = CUR_THEME.file_url() + 'images/';
vm.pdfPath = CUR_THEME.file_url() + 'file_pdf/';
vm.tplPath = CUR_THEME.file_url() + "templates/tpl/";
vm.phpPath = CUR_THEME.file_url() + "php/";
vm.phpPathsend = CUR_THEME.file_url() + "sendgrid/";
vm.sendGridPath = _ui_share_host + '../sendgrid/',
vm.tplHome = function(path, tplName) {
var templateHtml = "";
if (tplName.indexOf('.html') >= 0) {
templateHtml = tplName.split('.html')[0];
} else {
templateHtml = tplName;
}
return baseTemplate + path + '/' + templateHtml + '.html';
};
vm.thirdPartyApi = 'extensions/devsource/dev.sugarfree/dealer/api.php'; // bidyang
/* Default Page Params */
vm.pageName = 'home';
vm.routeParams = {};
/* Route Pages Params */
/* Route Pages Params */
/* Route Pages Params */
$rootScope.$on('$routeChangeStart', function(event, current, prev, $route) {
//$('html').addClass('noscroll noscroll-long');
var virtualCart = $("#root-virtual-cart");
var virtualCartTypeA = $("#root-virtual-cart-type-a");
var shop_id = CUR_THEME.shop_id();
if (virtualCart) {
virtualCart.css("display", "block");
if (shop_id == 718) {
$('.component-bar').css("display", "block");
}
}
if (virtualCartTypeA) {
virtualCartTypeA.css("display", "block");
}
angular.element('.load-effect').addClass('is-active');
vm.pageName = current.$$route.page;
vm.routeParams = $routeParams;
switch (vm.pageName) {
case 'home':
if (shop_id == 762) {
$location.url('').replace();
}
break;
case 'product-detail':
break;
case 'category-lists':
break;
case 'album':
break;
case 'album-detail':
break;
case 'viewcart':
virtualCart.css("display", "none");
virtualCartTypeA.css("display", "none");
if (shop_id == 718) {
$('.component-bar').css("display", "none");
}
case 'sub-category':
var dataSend = {};
angular.forEach($location.search(), function(v, k) {
dataSend[k] = v;
});
if (typeof dataSend.category !== 'undefined') {
vm.pageCategory = dataSend.category;
vm.getCategoryDetail(dataSend.category);
vm.getCategoryRoot(dataSend.category);
}
break;
default:
// default action
break;
}
});
$rootScope.$on('$routeChangeSuccess', function(event, current, prev) {
vm.pageName = current.$$route.page;
$('html,body').animate({
scrollTop: 0
}, 'slow');
if (vm.pageName !== 'product-detail') {
var clearLoading1 = setTimeout(function() {
angular.element('.load-effect').addClass('de-active');
clearTimeout(clearLoading1);
}, 500);
var clearLoading2 = setTimeout(function() {
angular.element('.load-effect').addClass('loaded');
angular.element('.load-effect').removeClass('is-active de-active');
angular.element('.load-effect').removeClass('loaded');
clearTimeout(clearLoading2);
}, 1500);
}
if (vm.pageName == 'home') {
vm.headerComponentId = "001";
} else {
vm.headerComponentId = "002";
}
if (vm.activateMenuCheck) {
vm.activateMobileMenu('rec15300114', 't228');
}
switch (vm.pageName) {
case 'home':
break;
default:
break;
}
/* Manage Fallback by Falback.js */
$fallback.init();
/* Pixel */
$pixelScript.watch();
if (CUR_THEME.shop_id() == "635") {
/* page cart style (lightmax) */
/*vm.pageCart.get();*/
}
/*vm.pageCart.get();*/
});
/* Start Event Broadcast */
/* Start Event Broadcast */
/* Start Event Broadcast */
$rootScope.$on('makeCarouselBroadcast', function(event, args) {
var dataReceive = args;
var elementName = dataReceive.element_name;
var option = dataReceive.element_option;
if ($(elementName).hasClass('slick-initialized') || $(elementName).hasClass('slick-slider')) {
var a = $(elementName).slick('unslick');
if (a) {
$timeout(function() {
$(elementName).not('.slick-initialized').slick(option);
}, 500);
}
} else {
$timeout(function() {
$(elementName).not('.slick-initialized').slick(option);
}, 500);
}
});
/* End Event Broadcast */
/* End Event Broadcast */
/* End Event Broadcast */
/* Route Pages Application Params */
/* Route Pages Application Params */
/* Route Pages Application Params */
$rootScope.$on('$routeChangeStart', function(event, current, prev, $route) {
angular.element('.load-effect').addClass('is-active');
vm.pageName = current.$$route.page;
vm.routeParams = $routeParams;
var page = vm.getPageName(vm.pageName);
switch (page) {
case 'app':
console.log("ON application")
vm.setHideMenuFooter();
break;
default:
console.log("NOT application")
break;
}
});
vm.trumpComponentCarts = function() {
var controlCart = share.getTrumpComponentCarts();
var component_carts = $('.cover-cards').hasClass('active');
if (!component_carts) {
var component_icon_cart = $("div").hasClass('cover-icon-carts');
if (component_icon_cart) {
controlCart.cart();
}
} else {
var component_icon_cart = $("div").hasClass('cover-icon-carts');
if (component_icon_cart) {
controlCart.load();
}
}
};
vm.getPageName = function(pageName) {
var page = pageName;
var data = page.split("-");
var dataReturn = data[0];
return dataReturn;
};
vm.applicationState = true;
vm.setHideMenuFooter = function() {
vm.applicationState = false;
};
/* Route Pages Application Params */
/* Route Pages Application Params */
/* Route Pages Application Params */
/* Fetch Base Shop Data */
vm.shopSettings = false;
vm.getShopBaseSettings = function() {
vm.shopSettings = false;
if (shareService.get('shop/current') !== false) {
vm.shopSettings = shareService.get('shop/current');
console.log('shop/current: shopSettings : exist', vm.shopSettings);
return;
} else {
GAEAPI.get('shop/current', {}).then(function(e) {
if (e.ok == 1) {
vm.shopSettings = e.data;
shareService.add('shop/current', e.data);
} else {
vm.shopSettings = false;
}
console.log('shop/current: shopSettings', e);
});
}
};
vm.getShopBaseSettings();
/**
* view current routeParams
* @return none
* @return object
*/
vm._isLogout = function() {
var dataSend = {};
GAEAPI.get('customer/logout', dataSend).then(function(output) {
if (output.ok == 1) {
UiCustomerBox.apiGetCustomerData(function() {});
}
});
};
vm._viewRouteParams = function() {
return $routeParams;
};
/**
* Check if object array available for "website application" or "Mobile application"
* @params object array
* return true | false (default)
*/
vm._showWeb = function(objArray) {
var r = false;
for (var i = 0; i < objArray.length; i++) {
if (objArray[i].badge_id == 18) {
r = true;
break;
}
}
return r;
};
vm._showApp = function(objArray) {
var r = false;
for (var i = 0; i < objArray.length; i++) {
if (objArray[i].badge_id == 19) {
r = true;
break;
}
}
return r;
};
/**
* get shop setting
*/
vm.shopDetail = [];
vm.shopFacebook = '';
vm.shopGoogle = '';
vm.shopTwitter = '';
vm.shopInstagram = '';
vm.shopYoutube = '';
vm.shopLine = '';
vm.getShopDetail = function() {
var dataSend = {};
GAEAPI.get('shop/current', dataSend, $scope).then(function(res) {
console.debug("shop/current ----", res);
if (res.ok == 1) {
vm.shopDetail = res.data;
if (vm.shopDetail.shop_extend_data) {
angular.forEach(vm.shopDetail.shop_extend_data, function(v, k) {
if (k == 'facebook_url' && v != '') {
vm.shopFacebook = v;
}
if (k == 'google_url' && v != '') {
vm.shopGoogle = v;
}
if (k == 'twitter_url' && v != '') {
vm.shopTwitter = v;
}
if (k == 'instagram_url' && v != '') {
vm.shopInstagram = v;
}
if (k == 'youtube_url' && v != '') {
vm.shopYoutube = v;
}
if (k == 'line_id' && v != '') {
vm.shopLineTxt = v;
if (v.substring(0, 1) == '@') {
vm.shopLine = 'http://line.me/ti/p/%40' + v.substring(1);
} else {
vm.shopLine = 'http://line.me/ti/p/~' + v;
}
}
});
};
} else {
vm.shopDetail = [];
}
});
};
/*galleryList*/
vm.galleryList = [];
vm.getGalleryList = function() {
var dataSend = {
'cur_page': 1,
'per_page': 100,
'txt_sortby': 'gallery_create_time_DESC',
};
GAEAPI.get('gallery/lists', dataSend, $scope).then(function(res) {
if (res.ok == 1) {
vm.galleryList = res.data.dataList;
console.log("gallery :", vm.galleryList);
}
});
};
vm.getGalleryList();
/*
* make date by momentjs
* @params dateStr (string)
* @return string
*/
vm._makeDate = function(dateStr) {
return (dateStr != "") ? moment(parseInt(dateStr) * 1000).format('LL') : "";
};
/*
*
* when click on mobile menu
* @params element id (string)
* @params class prefix name (string)
* @return event
*/
vm.activateMenuCheck = false;
vm.activateMobileMenu = function(idParent, prefixClass) {
if (!vm.activateMenuCheck) {
angular.element('#' + idParent + ' .' + prefixClass + '__mobile').addClass(prefixClass + '_opened');
angular.element('#' + idParent + ' .' + prefixClass + '__positionfixed').removeClass(prefixClass + '__hidden');
angular.element('#' + idParent + ' .' + prefixClass + '__positionfixed').removeClass(prefixClass + '__beforeready');
vm.activateMenuCheck = true;
} else {
angular.element('#' + idParent + ' .' + prefixClass + '__mobile').removeClass(prefixClass + '_opened');
angular.element('#' + idParent + ' .' + prefixClass + '__positionfixed').addClass(prefixClass + '__hidden');
angular.element('#' + idParent + ' .' + prefixClass + '__positionfixed').addClass(prefixClass + '__beforeready');
vm.activateMenuCheck = false;
}
};
vm.windowOpneBlank = function(url) {
if (url != '') {
window.open(url, '_blank');
}
};
vm.pageGo = function(where, and) {
// alert(where+ and);
vm.mobileClose();
setTimeout(function() {
window.location.href = where + and;
}, 500);
}
vm.mobileOpen = function() {
if (!$('.menyTopMobileDrop').hasClass('active')) {
$('.menyTopMobileDrop').addClass('active');
/* $('body').css('position','fixed'); */
$('body').css('overflow', 'hidden');
}
}
vm.mobileClose = function() {
if ($('.menyTopMobileDrop').hasClass('active')) {
$('.menyTopMobileDrop').removeClass('active');
$('body').css('position', 'relative');
$('body').css('overflow', 'auto');
}
}
vm.unactiveMobileMenu = function() {
$('body').css('position', 'relative');
$('body').css('overflow', 'auto');
if (angular.element('._compoment_header').hasClass('mobile_open_active')) {
angular.element('._compoment_header').removeClass('mobile_open_active');
angular.element('.close').removeClass('active_x');
angular.element('.section').removeClass('active_y');
angular.element('._compoment_header .mobile').removeClass('active');
}
};
/**
* Blog
* Get current blog id for blog-detail page
* @params none
* @return blog_id
*/
vm._blogId = function() {
return $routeParams.blog_id || 0;
};
vm._branchId = function() {
return $routeParams.branch_id || 0;
};
vm._promotionid = function() {
console.log('promotion_id_title', $routeParams);
return $routeParams.promotion_id || 0;
};
vm.f = function() {
console.log('_resultid', $routeParams);
return $routeParams.result_id || 0;
};
/**
* Blog
* Get Blog type list for blog page
* @params none
* @return array
*/
vm._blog_type_list = false;
vm._blog_type_list_load = false;
vm._get_blog_type_list = function() {
vm._clear_blog_type_list();
GAEAPI.get('blog/lists', {
'cur_page': 1,
'per_page': 20,
'txt_sortby': 'blog_title_a-z'
}).then(function(res) {
vm._blog_type_list_load = true;
if (res.ok === 1) {
vm._blog_type_list = res.data.dataList;
}
});
};
vm._clear_blog_type_list = function() {};
vm._get_blog_type_list();
/**
* Page
* Get page list array
* @params none
* @return array
*/
vm._page_lists = [];
vm._page_lists_load = false;
vm._get_page_lists = function() {
vm._clear_page_lists();
var dataSend = {
'cur_page': 1,
'per_page': 20,
'txt_sortby': 'page_oldest_create'
};
GAEAPI.get('page/lists', dataSend).then(function(res) {
vm._page_lists_load = true;
if (res.ok === 1) {
vm._page_lists = res.data.dataList;
angular.forEach($scope._page_lists, function(item, key) {
if (item.page_search_url == "") {
item.page_search_url = item.page_id;
}
});
}
});
};
vm._clear_page_lists = function() {
vm._page_lists = false;
vm._page_lists_load = false;
};
vm._get_page_lists();
vm._page_category = false;
vm._page_category_load = false;
vm._get_page_category = function() {
vm._clear_page_lists();
var txtSortBy = 'referral_name_a-z';
if (CUR_THEME.shop_id() == 635) {
txtSortBy = 'referral_sort_index_asc_name_asc';
}
if (CUR_THEME.shop_id() == 541) {
txtSortBy = 'referral_sort_index_asc_name_asc';
}
if (CUR_THEME.shop_id() == 647) {
txtSortBy = 'referral_sort_index_asc_name_asc';
}
if (CUR_THEME.shop_id() == 477) {
txtSortBy = 'referral_sort_index_asc_name_asc';
}
var dataSend = {
'txt_referral_type_id': 11,
'txt_sortby': txtSortBy,
};
if (CUR_THEME.shop_id() == 646) {
vm._page_category_load = true;
vm._page_category = window.referralMap.data;
console.log("map : from cache php", vm._page_category);
return;
}
GAEAPI.get('referral/map', dataSend).then(function(res) {
vm._page_category_load = true;
if (res.ok === 1) {
vm._page_category = res.data;
console.log("map : ", vm._page_category);
shareService.add('referralMap', res.data);
}
});
};
vm._clear_page_category = function() {
vm._page_category = false;
vm._page_category_load = false;
};
vm._get_page_category();
vm.category_ = false;
vm.get_category_ = function() {
var txt_filter_json = {
'badge_id_array': [18, 16]
};
var dataSend = {
'txt_referral_type_id': 11,
'txt_sortby': 'referral_sort_index_asc_name_asc',
'txt_filter_json': JSON.stringify(txt_filter_json),
};
GAEAPI.get('referral/map', dataSend, $scope).then(function(res) {
if (res.ok === 1) {
vm.category_ = res.data;
if (CUR_THEME.shop_id() == 741) {
for (var i = 0; i < vm.category_.length; i++) {
vm.get_product_dacseediver(vm.category_[i].referral_id);
}
}
}
});
};
vm.get_category_();
/* dacsee catmaplist */
vm.category_dacseediver = false;
vm.get_category_dacseediver = function() {
var dataSend = {
'txt_referral_type_id': 11,
'txt_parent_id': 10249,
'txt_sortby': 'referral_name_a-z',
};
GAEAPI.get('referral/map', dataSend).then(function(res) {
if (res.ok === 1) {
vm.category_dacseediver = res.data;
}
});
};
vm.category_dacseetour = false;
vm.get_category_dacseetour = function() {
// var txt_filter_json = {
// 'badge_id_array': [18]
// };
var dataSend = {
'txt_referral_type_id': 11,
'txt_parent_id': 10250,
'txt_sortby': 'referral_name_a-z',
// 'txt_filter_json': JSON.stringify(txt_filter_json),
};
GAEAPI.get('referral/map', dataSend).then(function(res) {
if (res.ok === 1) {
vm.category_dacseetour = res.data;
}
});
};
vm.product_dacseediver = [];
vm.get_product_dacseediver = function(refid) {
console.log("get_product_dacseediver : ", refid);
vm.product_dacseediver[refid] = [];
var txt_filter_json = {
"referral_id_array": [refid],
"badge_id_array": [16, 18]
};
var dataSend = {
'cur_page': 1,
'per_page': 6,
'txt_filter_json': JSON.stringify(txt_filter_json),
};
console.log("get_product_dacseediver : dataSend : ", dataSend);
GAEAPI.get('product/lists', dataSend).then(function(res) {
if (res.ok === 1) {
vm.product_dacseediver[refid] = res.data.dataList;
console.log("uweywujssdhsd : ", vm.product_dacseediver[refid]);
}
});
// return vm.product_dacseediver;
};
vm.productcat_evo = false;
vm.get_productcat_evo = function() {
var txt_filter_json = {
'badge_id_array': [18],
'referral_id_array': [11646]
};
var dataSend = {
'cur_page': 1,
'per_page': 4,
'txt_filter_json': JSON.stringify(txt_filter_json),
};
GAEAPI.get('product/lists', dataSend, $scope).then(function(res) {
if (res.ok === 1) {
vm.productcat_evo = res.data.dataList;
}
});
};
vm.blog_vito_one = [];
vm.get_blog_vito_one = function() {
var txt_filter_json = {
"blog_id_array": [337],
"badge_id_array": [18]
};
var dataSend = {
'cur_page': 1,
'per_page': 6,
'txt_filter_json': JSON.stringify(txt_filter_json),
// 'txt_filter_json': JSON.stringify(txt_filter_json),
};
GAEAPI.get('post/lists', dataSend).then(function(res) {
if (res.ok === 1) {
vm.blog_vito_one = res.data.dataList;
}
});
};
vm.dataPostLists = [];
vm.getPostListsSet = function(cur_page, per_page, txt_sortby) {
var txt_filter_json = {
'badge_id_array': [18]
}
var dataSend = {
'cur_page': cur_page,
'per_page': per_page,
'txt_sortby': txt_sortby,
'txt_filter_json': JSON.stringify(txt_filter_json)
};
console.log("getPostListsSet : dataSend : ", dataSend);
GAEAPI.get('post/lists', dataSend, $scope).then(function(output) {
console.log("getPostListsSet : output : ", output);
if (output.ok == 1) {
vm.dataPostLists = output.data.dataList;
}
});
}
// vm._makeDate = function(dateStr) {
// return (dateStr != "") ? moment(parseInt(dateStr) * 1000).format('LL') : "";
// };
vm.blog_vito_two = [];
vm.get_blog_vito_two = function() {
var txt_filter_json = {
"blog_id_array": [338],
"badge_id_array": [18]
};
var dataSend = {
'cur_page': 1,
'per_page': 6,
'txt_filter_json': JSON.stringify(txt_filter_json),
// 'txt_filter_json': JSON.stringify(txt_filter_json),
};
GAEAPI.get('post/lists', dataSend).then(function(res) {
if (res.ok === 1) {
vm.blog_vito_two = res.data.dataList;
}
});
};
vm.blog_dacseetour = [];
vm.get_blog_dacseetour = function() {
var txt_filter_json = {
"blog_id_array": [336],
"badge_id_array": [18]
};
var dataSend = {
'cur_page': 1,
'per_page': 6,
'txt_filter_json': JSON.stringify(txt_filter_json),
// 'txt_filter_json': JSON.stringify(txt_filter_json),
};
GAEAPI.get('post/lists', dataSend).then(function(res) {
if (res.ok === 1) {
vm.blog_dacseetour = res.data.dataList;
}
});
};
vm.category_All18 = false;
vm.get_category_All18 = function() {
var txt_filter_json = {
'badge_id_array': [18]
};
var dataSend = {
'txt_referral_type_id': 11,
'txt_sortby': 'referral_sort_index_asc_name_asc',
'txt_filter_json': JSON.stringify(txt_filter_json)
};
GAEAPI.get('referral/map', dataSend, $scope).then(function(res) {
if (res.ok === 1) {
vm.category_All18 = res.data;
console.log("get_category_All18 : ", vm.category_All18, res.data);
}
});
};
vm.get_category_All18();
/*
* Click menu in header component
* @params pathString (string)
* @return event
*/
vm.unViewMobile = function() {
$('body').css('position', 'relative');
$('body').css('overflow', 'auto');
if (angular.element('._compoment_header').hasClass('mobile_open_active')) {
angular.element('._compoment_header').removeClass('mobile_open_active');
}
if (angular.element('.menu-on-mobile-active').hasClass('active')) {
angular.element('.menu-on-mobile-active').removeClass('active');
}
if (angular.element('.container_second_mobile .onActive').hasClass('active')) {
angular.element('.container_second_mobile .onActive').removeClass('active');
}
if (angular.element('.section-mobile-set').hasClass('active')) {
angular.element('.section-mobile-set').removeClass('active');
angular.element('.close').removeClass('active');
}
};
vm.viewMenuFromParent = function(pathString) {
if (angular.element('._compoment_header').hasClass('mobile_open_active')) {
vm.unViewMobile();
$timeout(function() {
if (pathString.indexOf("?") === -1 && pathString.indexOf("&") === -1) {
$location.path(pathString).search({});
} else {
window.location.href = pathString;
}
}, 700);
} else {
if (pathString.indexOf("?") === -1 && pathString.indexOf("&") === -1) {
$location.path(pathString).search({});
} else {
window.location.href = pathString;
}
}
if (angular.element('.menu-on-mobile-active').hasClass('active')) {
vm.unViewMobile();
$timeout(function() {
if (pathString.indexOf("?") === -1 && pathString.indexOf("&") === -1) {
$location.path(pathString).search({});
} else {
window.location.href = pathString;
}
}, 700);
}
if (angular.element('.onActive').hasClass('active')) {
vm.unViewMobile();
$timeout(function() {
if (pathString.indexOf("?") === -1 && pathString.indexOf("&") === -1) {
$location.path(pathString).search({});
} else {
window.location.href = pathString;
}
}, 700);
}
};
vm.headerComponentId = "001";
/* Customer Status */
vm._getMe = {};
vm._isLogin = function() {
if (UiCustomerBox.delegate.get.isLogin()) {
vm._getMe = UiCustomerBox.delegate.get.me();
}
return UiCustomerBox.delegate.get.isLogin();
};
vm._getLogin = function() {
vm.unViewMobile();
return UiCustomerBox.delegate.modal.openLoginForm();
};
vm._getSearch = function(txt) {
vm.unViewMobile();
return UiSearchBox.delegate.modal.open(txt);
};
vm._getInfo = function() {
vm.unViewMobile();
/*return UiCustomerBox.delegate.modal.open();*/
return window.location.href = GURL.base_url() + "login/profile";
};
vm._getLogout = function() {
vm.unViewMobile();
return UiCustomerBox.delegate.doLogOut();
};
vm._cartTotal = function() {
return UiCart.delegate.get.totalAmount() || 0;
};
vm._cartTotalPrice = function() {
var cart_total_product_price = 0;
if (UiCart.delegate.get.cartData()) {
if (UiCart.delegate.get.cartData().cart_total_product_price !== undefined) {
cart_total_product_price = UiCart.delegate.get.cartData().cart_total_product_price;
return cart_total_product_price || 0;
}
}
return UiCart.delegate.get.totalPrice() || 0;
};
vm._modalOpen = function(elementType, enableGuess, skipToCheckout) {
return UiCart.delegate.modal.open();
/*UiCustomerBox.get.isLogin()==false && UiCustomerBox.modal.openLoginForm(); UiCustomerBox.get.isLogin()==true && UiCustomerBox.modal.open();*/
/*if (typeof UiCustomerBox === 'undefined' || UiCustomerBox == undefined) {
return;
}
var delayTrigger = 100;
vm.unViewMobile();
var modalOpenTimer = setTimeout(function () {
return UiCart.delegate.modal.open();
clearTimeout(modalOpenTimer);
if (!UiCustomerBox.delegate.get.isLogin()) {
return UiCustomerBox.delegate.modal.openLoginForm();
} else if (UiCustomerBox.delegate.get.isLogin()) {
return UiCart.delegate.modal.open();
}
}, delayTrigger);*/
};
/*vm._cartTotalPrice = function () {
return UiCart.delegate.get.totalPrice() || 0;
};*/
/**
* Post list
* Get post list array
* @params none
* @return array
*/
vm._homeNews = [];
vm.getHomeNews = function() {
vm._homeNews = [];
var d = {
"cur_page": 1,
"per_page": 20,
"txt_sortby": "post_create_time_DESC"
};
GAEAPI.get('post/lists', d).then(function(e) {
if (e.ok === 1) {
vm._homeNews = e.data.dataList;
}
});
};
vm.getHomeNews();
vm._postData = [];
vm.getPostLists = function(linit) {
vm._postData = [];
var d = {
"cur_page": 1,
"per_page": linit,
"txt_sortby": "post_update_time_DESC"
};
GAEAPI.get('post/lists', d).then(function(e) {
if (e.ok === 1) {
vm._postData = e.data.dataList;
}
});
};
/* zomm camera only */
vm._homeNews_z1 = [];
vm.getHomeNews_z1 = function(id) {
vm._homeNews_z1 = [];
var txt_filter_json = {
'blog_id_array': [id]
};
var d = {
"cur_page": 1,
"per_page": 20,
"txt_sortby": "post_create_time_DESC",
'txt_filter_json': JSON.stringify(txt_filter_json),
};
console.log('TESTESTEST', d);
GAEAPI.get('post/lists', d).then(function(e) {
if (e.ok === 1) {
vm._homeNews_z1 = e.data.dataList;
}
});
};
vm._homeNews_z2 = [];
vm.getHomeNews_z2 = function(id) {
vm._homeNews_z2 = [];
var txt_filter_json = {
'blog_id_array': [id]
};
var d = {
"cur_page": 1,
"per_page": 20,
"txt_sortby": "post_create_time_DESC",
'txt_filter_json': JSON.stringify(txt_filter_json),
};
console.log('TESTESTEST', d);
GAEAPI.get('post/lists', d).then(function(e) {
if (e.ok === 1) {
vm._homeNews_z2 = e.data.dataList;
}
});
};
vm._homeFeatureNews = [];
vm.getHomeNewsFeature = function() {
vm._homeFeatureNews = [];
var txt_filter_json = {
'badge_id_array': [18, 16]
};
var d = {
"cur_page": 1,
"per_page": 20,
"txt_sortby": "post_create_time_DESC",
'txt_filter_json': JSON.stringify(txt_filter_json),
};
GAEAPI.get('post/lists', d).then(function(e) {
if (e.ok === 1) {
vm._homeFeatureNews = e.data.dataList;
}
});
};
vm.getHomeNewsFeature();
/**
* Brand Lists
* Get Brand list array
* @params none
* @return array
*/
vm._brandList = [];
vm.getBrandList = function() {
vm._brandList = [];
var d = {
"txt_referral_type_id": 12,
"cur_page": 1,
"per_page": 30
};
GAEAPI.get('referral/lists', d).then(function(e) {
if (e.ok === 1) {
vm._brandList = e.data.dataList;
}
});
};
vm.getBrandList();
vm._CatList = [];
vm.getCatList = function() {
vm._CatList = [];
var d = {
"txt_referral_type_id": 11,
"cur_page": 1,
"per_page": 30
};
GAEAPI.get('referral/lists', d).then(function(e) {
if (e.ok === 1) {
vm._CatList = e.data.dataList;
}
});
};
vm.FeatureCatList = [];
vm.getFeatureCatList = function() {
vm.FeatureCatList = [];
var txt_filter_json = {
'badge_id_array': [16]
};
var d = {
"txt_referral_type_id": 11,
"cur_page": 1,
"per_page": 30,
'txt_filter_json': JSON.stringify(txt_filter_json),
};
GAEAPI.get('referral/lists', d).then(function(e) {
if (e.ok === 1) {
vm.FeatureCatList = e.data.dataList;
}
});
};
vm.getFeatureCatList();
vm.dataReferralists = [];
vm.getReferralists = function(txt_referral_type_id, cur_page, per_page, badge_id_array) {
var txt_filter_json = {
'badge_id_array': badge_id_array
};
var dataSend = {
"txt_referral_type_id": txt_referral_type_id,
"cur_page": cur_page,
"per_page": per_page,
'txt_filter_json': JSON.stringify(txt_filter_json),
};
GAEAPI.get('referral/lists', dataSend).then(function(output) {
if (output.ok == 1) {
console.log("getReferralists : output : ", output);
vm.dataReferralists = output.data.dataList;
}
});
};
/*
sent email register partner
@parmams $event (from html)
@return none
*/
vm.registerPartner = function($event) {
var submit = true;
// $($event.currentTarget).closest('form').find('.required').each(function () {
// if ($(this).val() == '') {
// $(this).closest('.form-group').find('.error').addClass('active');
// submit = false;
// } else {
// $(this).closest('.form-group').find('.error').removeClass('active');
// }
// });
// $($event.currentTarget).closest('form').find('.required').each(function () {
// if ($(this).val() == '') {
// $('html,body').animate({
// scrollTop: $(this).offset().top - 160
// }, 'slow');
// submit = false;
// return false;
// }
// });
// $($event.currentTarget).closest('form').find('#email').each(function () {
// if(vm.isEmail($(this).val()) || $(this).val() == ''){
// console.log($(this).val());
// $(this).closest('.form-group').find('.error1').removeClass('active');
// } else {
// $(this).closest('.form-group').find('.error1').addClass('active');
// console.log($(this).val());
// submit = false;
// }
// });
$($event.currentTarget).closest('form').find('[required]').each(function() {
if ($(this).val() == '') {
$(this).closest('.form_block').find('.after').addClass('error');
$(this).closest('.form_block').find('.round').addClass('error');
} else {
$(this).closest('.form-group').find('span').removeClass('error');
}
});
$($event.currentTarget).closest('form').find('[required]').each(function() {
if ($(this).val() == '') {
$('html,body').animate({
scrollTop: $(this).offset().top - 160
}, 'slow');
submit = false;
return false;
}
});
// if(!(vm.isEmail($('#contact_form input[name="email"]').val()))){
// $("[name='email']").addClass('error');
// }else{
// $("[name='email']").removeClass('error');
// }
var isPass = false;
if (vm.isEmail($('#register_partner input[name="email"]').val())) {
isPass = true;
}
// if(!(parseInt($('#register_partner input[name=age]').val()) > 0)){
// $("[name='age']").addClass('error');
// }else{
// $("[name='age']").removeClass('error');
// }
// if(!(parseInt($('#register_partner input[name=phone]').val()) > 0)){
// $("[name='phone']").addClass('error');
// }else{
// $("[name='phone']").removeClass('error');
// }
if (!(vm.isEmail($('#register_partner input[name="email"]').val()))) {
$("[name='email']").addClass('error');
} else {
$("[name='email']").removeClass('error');
}
var formData = new FormData($($event.currentTarget).closest('form')[0]);
if (CUR_THEME.shop_id() == 552) {
formData.append('input_owner_name', 'duckypackprint');
formData.append('input_owner_contact', 'dkpackprint@gmail.com,web.getappeasy@gmail.com');
} else {
return;
}
if (submit && isPass) {
$.ajax({
url: vm.sendGridPath + 'send-email-register-partner.php',
method: 'POST',
data: formData,
dataType: "json",
cache: false,
contentType: false,
processData: false,
success: function(data, textStatus, jqXHR) {
console.log("registerPartner", data);
if (data == 1) {
window.location.href = 'register-partner-done';
} else {
alert("error");
}
},
error: function(jqXHR, textStatus, errorThrown) {
console.log('ERRORS: ' + textStatus);
}
});
} else {
console.log("registerPartner", submit);
}
};
vm.sent_datajoin = false;
vm.joinus = function($event) {
var submit = true;
console.log("joinus : event : ", $event);
$($event.currentTarget).closest('form').find('[required]').each(function() {
if ($(this).val() == '') {
$('html,body').animate({
scrollTop: $(this).offset().top - 160
}, 'slow');
submit = false;
return false;
}
});
$($event.currentTarget).closest('form').find('[required]').each(function() {
if ($(this).val() == '') {
$(this).closest('.form_block').find('.after').addClass('error');
$(this).closest('.form_block').find('.round').addClass('error');
submit = false;
} else {
$(this).closest('.form-group').find('span').removeClass('error');
}
});
if (!vm.isEmail($('input[name="email"]').val())) {
$('input[name="email"]').addClass("error");
submit = false;
}
if (!vm.isMobile($('input[name="phone"]').val())) {
$('input[name="phone"]').addClass("error");
submit = false;
}
var formData = new FormData($($event.currentTarget).closest('form')[0]);
if (submit) {
$.ajax({
url: vm.sendGridPath + 'send-email-joinus.php',
method: 'POST',
data: formData,
cache: false,
contentType: false,
processData: false,
success: function(data, textStatus, jqXHR) {
console.log("asayshajshajshajsahsajsa :", data, textStatus, jqXHR);
if (data == 1) {
// window.location.href = 'register-done';
vm.sent_datajoin = true;
$('.register-join-us').css('display', 'none');
} else {
alert('กรุณติดต่อเจ้าหน้าที่');
}
},
error: function(jqXHR, textStatus, errorThrown) {
console.log('ERRORS: ' + textStatus);
}
});
}
};
vm.isMobile = function(inputString) {
var re = /^(([0-9]{8,10}))$/;
return re.test(inputString);
};
vm.isEmail = function(inputString) {
var re = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
return re.test(inputString);
};
vm._web_home = false;
vm.minibanner_image = [];
vm.topbanner_image = [];
vm.mainbanner_image = [];
vm.secondary_image = [];
vm.getDataBadgeId = function(badge_id, badge_array, callback) {
var state = false;
for (var i = 0; i < badge_array.length; i++) {
if (badge_array[i].badge_id == badge_id) {
state = true;
break;
}
}
callback(state);
};
vm.getSortBanner = function(banner_array, callback) {
var original = banner_array;
var desktop = [];
var mobile = [];
for (var i = 0; i < banner_array.length; i++) {
vm.getDataBadgeId(18, banner_array[i].banner_badge, function(state) {
if (state) {
desktop.push(banner_array[i]);
}
});
vm.getDataBadgeId(19, banner_array[i].banner_badge, function(state) {
if (state) {
mobile.push(banner_array[i]);
}
});
}
callback(original, desktop, mobile);
}
vm._get_web_home = function() {
vm._web_home = false;
GAEAPI.get('web/home', {}).then(function(res) {
if (res.ok === 1) {
vm._web_home = res.data;
vm.getSortBanner(vm._web_home.mini_banner.banner_array, function(original, desktop, mobile) {
vm.minibanner_image = original;
vm.minibanner_image_mobile = mobile;
vm.minibanner_image_desktop = desktop;
});
vm.topbanner_image = vm._web_home.top_page_banner.banner_array;
vm.bottombanner_image = vm._web_home.bottom_page_banner.banner_array;
vm.mainbanner_image = vm._web_home.main_banner_master.banner_array;
vm.secondary_image = vm._web_home.secondary_carousel.banner_array;
vm.mainbanner_image_nm = vm._web_home.main_banner.banner_array;
vm._web_home = true;
}
});
};
vm._get_web_home();
vm.showBadgeId = function(badgeid, objArray) {
var dataReturn = false;
for (var i = 0; i < objArray.length; i++) {
if (objArray[i].badge_id == badgeid) {
dataReturn = true;
break;
}
}
return dataReturn;
};
vm._page_contact = [];
vm._get_page_contact = function() {
GAEAPI.get('shop/current', {}).then(function(res) {
if (res.ok === 1) {
var datetime = new Date();
var year = datetime.getFullYear();
vm.copyRightTxt = '© ' + year + ' ' + res.data.shop_name;
vm._page_contact = res.data.shop_extend_data;
vm.address_page = res.data.shop_extend_data.contact_address;
console.log('shop/current : address :', vm.address);
vm.tel_page = res.data.shop_extend_data.phone;
if (vm.tel_page !== '' && typeof vm.tel_page !== 'undefined') {
vm.tel_page_split = vm.tel_page.split(",");
vm.tel1_page = '';
vm.tel2_page = '';
if (vm.tel_page_split.length > 0) {
vm.tel1_page = vm.tel_page_split[0];
}
if (vm.tel_page_split.length > 1) {
vm.tel2_page = vm.tel_page_split[1];
}
}
}
});
};
vm._get_page_contact();
vm.displayTelCode = function(telString) {
if (telString.indexOf("-")) {
var a = telString.split("-");
var b = a.join("").trim();
} else {
var b = telString.trim();
}
return b.substr(1, b.length);
};
vm.cut_0 = function(tel) {
vm.tel_cut = tel.substring(1);
return vm.tel_cut;
};
/*--New version--Contact start*/
vm.datacontact = [];
vm.getdatacontact = function() {
GAEAPI.get('shop/current', {}).then(function(res) {
if (res.ok === 1) {
vm.datacontact = res.data;
console.log("shop/current: datacontact", vm.datacontact);
vm.getsubAddress(vm.datacontact.shop_extend_data.address);
vm.getsubPhone(vm.datacontact.shop_extend_data.phone);
vm.getsubEmail(vm.datacontact.shop_extend_data.mail);
}
});
};
vm.getdatacontact();
vm.getsubAddress = function(Address) {
vm.address_page = Address;
console.log('address_page', vm.address_page);
if (vm.address_page !== '' && typeof vm.address_page !== 'undefined') {
vm.address_page_split = vm.address_page.split("_");
console.log('address_page_split', vm.address_page_split);
vm.address1_page = '';
vm.address2_page = '';
if (vm.address_page_split.length > 0) {
vm.address1_page = vm.address_page_split[0];
}
if (vm.address_page_split.length > 1) {
vm.address2_page = vm.address_page_split[1];
}
}
};
vm.getsubPhone = function(Phone) {
vm.phone_page = Phone;
console.log('phone_page', vm.phone_page);
if (vm.phone_page !== '' && typeof vm.phone_page !== 'undefined') {
vm.phone_page_split = vm.phone_page.split(",");
console.log('phone_page_split', vm.phone_page_split);
vm.phone1_page = '';
vm.phone2_page = '';
if (vm.phone_page_split.length > 0) {
vm.phone1_page_sub = vm.phone_page_split[0].substring(1);
vm.phone1_page = vm.phone_page_split[0];
}
if (vm.phone_page_split.length > 1) {
vm.phone2_page_sub = vm.phone_page_split[1].substring(1);
vm.phone2_page = vm.phone_page_split[1];
}
}
};
vm.getsubEmail = function(Email) {
vm.mail_page = Email;
console.log('mail_page', vm.mail_page);
if (vm.mail_page !== '' && typeof vm.mail_page !== 'undefined') {
vm.mail_page_split = vm.mail_page.split(",");
console.log('mail_page_split', vm.mail_page_split);
vm.mail1_page = '';
vm.mail2_page = '';
if (vm.mail_page_split.length > 0) {
vm.mail1_page_sub = vm.mail_page_split[0].substring(1);
vm.mail1_page = vm.mail_page_split[0];
}
if (vm.mail_page_split.length > 1) {
vm.mail2_page_sub = vm.mail_page_split[1].substring(1);
vm.mail2_page = vm.mail_page_split[1];
}
}
};
/*--New version--Contact end*/
vm._shop_video = [];
vm._video_link = [];
vm._get_shop_video = function() {
GAEAPI.get('shop/current', {}).then(function(res) {
if (res.ok === 1) {
vm._shop_video = res.data.shop_video_image;
vm.video_link = res.data.shop_video_link;
vm.video_em = res.data.shop_video_embed_code;
}
});
};
vm._get_shop_video();
/* send email to job */
vm.complain = function($event) {
var submit = true;
/*$($event.currentTarget).closest('form').find('.required').each(function() {
if ($(this).hasClass('is-check')) {
if (!$(this).find('input').is(':checked')) {
$(this).find('.error').addClass('active');
submit = false;
} else {
$(this).find('.error').removeClass('active');
}
} else {
if ($(this).val() == '') {
$(this).closest('.form-group').find('.error').addClass('active');
submit = false;
} else {
$(this).closest('.form-group').find('.error').removeClass('active');
}
}
});
$($event.currentTarget).closest('form').find('.required').each(function() {
if ($(this).hasClass('is-check')) {
if (!$(this).find('input').is(':checked')) {
$('html,body').animate({
scrollTop: $(this).offset().top - 100
}, 'slow');
submit = false;
return false;
}
} else {
if ($(this).val() == '') {
$('html,body').animate({
scrollTop: $(this).offset().top - 160
}, 'slow');
submit = false;
return false;
}
}
});*/
$($event.currentTarget).closest('form').find('[required]').each(function() {
if ($(this).val() == '') {
$(this).closest('.form_block').find('.after').addClass('error');
$(this).closest('.form_block').find('.round').addClass('error');
$(this).closest('.form_block_control').find('.round').addClass('error');
$(this).closest('.form_block_control .select').find('.after').addClass('error');
} else {
$(this).closest('.form-group').find('span').removeClass('error');
}
});
$($event.currentTarget).closest('form').find('[required]').each(function() {
if ($(this).val() == '') {
$('html,body').animate({
scrollTop: $(this).offset().top - 160
}, 'slow');
submit = false;
return false;
}
});
var isPass = false;
if (parseInt($('#complainForm input[name=phone]').val()) > 0 && parseInt($('#complainForm input[name=age]').val()) > 0 && vm.isEmail($('#complainForm input[name="email"]').val())) {
isPass = true;
}
if (!(parseInt($('#complainForm input[name=age]').val()) > 0)) {
$("[name='age']").addClass('error');
} else {
$("[name='age']").removeClass('error');
}
if (!(parseInt($('#complainForm input[name=phone]').val()) > 0)) {
$("[name='phone']").addClass('error');
} else {
$("[name='phone']").removeClass('error');
}
if (!(vm.isEmail($('#complainForm input[name="email"]').val()))) {
$("[name='email']").addClass('error');
} else {
$("[name='email']").removeClass('error');
}
var formData = new FormData($($event.currentTarget).closest('form')[0]);
if (CUR_THEME.shop_id() == 552) {
formData.append('input_owner_name', 'duckypackprint');
formData.append('input_owner_contact', 'dkpackprint@gmail.com,web.getappeasy@gmail.com');
} else {
return;
}
if (submit && isPass) {
$.ajax({
url: vm.sendGridPath + 'send-email-job.php',
method: 'POST',
data: formData,
dataType: "json",
cache: false,
contentType: false,
processData: false,
success: function(data, textStatus, jqXHR) {
console.log('data:dfjdkfdjd', data);
// console.log('textStatus: ',textStatus);
// console.log('jqXHR: ',jqXHR);
if (data == 1) {
window.location.href = 'job-done';
} else {
alert("error");
}
},
error: function(jqXHR, textStatus, errorThrown) {
console.log('textStatus: ', textStatus);
console.log('jqXHR: ', jqXHR);
console.log('ERRORS: ' + errorThrown);
alert("กรุณาลองใหม่อีกครั้ง");
return;
}
});
} else {
alert("ตรวจสอบอายุและเบอร์โทร(ตัวเลขเท่านั้น) หรือ อีเมลให้ถูกต้อง");
}
};
/* Product list ? */
vm.productList = [];
vm.getProductList = function() {
var txt_filter_json = {
'badge_id_array': [18]
};
var dataSend = {
'cur_page': 1,
'per_page': 4,
'txt_sortby': 'product_lastest_create',
'txt_filter_json': JSON.stringify(txt_filter_json)
};
GAEAPI.get('product/lists', dataSend).then(function(e) {
if (e.ok === 1) {
vm.productList = e.data.dataList;
}
});
};
vm.changeTabContent = function($event, dataIn) {
var this_ = $($event.currentTarget);
vm.badge_pl = dataIn;
if (this_.hasClass('active')) {
return false;
} else {
if (dataIn == 72) {
this_.closest('section').find('.-tab ul .active1').addClass('active');
this_.closest('section').find('.-tab ul .active2').removeClass('active');
this_.closest('section').find('.-tab ul .active3').removeClass('active');
} else if (dataIn == 74) {
this_.closest('section').find('.-tab ul .active2').addClass('active');
this_.closest('section').find('.-tab ul .active1').removeClass('active');
this_.closest('section').find('.-tab ul .active3').removeClass('active');
} else {
this_.closest('section').find('.-tab ul .active3').addClass('active');
this_.closest('section').find('.-tab ul .active1').removeClass('active');
this_.closest('section').find('.-tab ul .active2').removeClass('active');
}
this_.closest('section').find('.-tab ul li a').removeClass('active');
this_.addClass('active');
// this_.addClass('active');
this_.closest('section').find('.-content').removeClass('opacity');
$timeout(function() {
this_.closest('section').find('.-content').removeClass('active');
if (dataIn == 'all') {
this_.closest('section').find('.-content').addClass('active');
} else {
this_.closest('section').find('.-content[data-id=' + dataIn + ']').addClass('active');
}
}, 350);
$timeout(function() {
if (dataIn == 'all') {
this_.closest('section').find('.-content').addClass('opacity');
} else {
this_.closest('section').find('.-content[data-id=' + dataIn + ']').addClass('opacity');
}
}, 450);
}
};
vm.changeTabContent2 = function($event, dataIn) {
var this_ = $($event.currentTarget);
vm.badge_pl = dataIn;
if (this_.hasClass('active')) {
return false;
} else {
if (dataIn != "") {
this_.closest('section').find('.-tab ul .active1').addClass('active');
this_.closest('section').find('.-tab ul .active2').removeClass('active');
this_.closest('section').find('.-tab ul .active3').removeClass('active');
}
this_.closest('section').find('.-tab ul li a').removeClass('active');
this_.addClass('active');
// this_.addClass('active');
this_.closest('section').find('.-content').removeClass('opacity');
$timeout(function() {
this_.closest('section').find('.-content').removeClass('active');
if (dataIn == 'all') {
this_.closest('section').find('.-content').addClass('active');
} else {
this_.closest('section.feature').find('.-content[data-id=' + dataIn + ']').addClass('active');
}
}, 350);
$timeout(function() {
if (dataIn == 'all') {
this_.closest('section').find('.-content').addClass('opacity');
} else {
this_.closest('section').find('.-content[data-id=' + dataIn + ']').addClass('opacity');
}
}, 450);
}
};
vm.checkSeo = function() {
return (GURL.isHtml5Mode()) ? true : false;
};
vm.titleUrl = function(str) {
var s = str.replace(/[^a-zA-Zก-๙0-9 ]/g, "").split(" ").join("-").replace("--", "-");
return s;
};
vm._productFeatureList = [];
vm._getProductFeature = function(limis, sortby) {
var jsonFilter = {
'badge_id_array': [16, 18]
};
var dataSend = {
'cur_page': 1,
'per_page': limis,
'txt_sortby': sortby,
'txt_filter_json': JSON.stringify(jsonFilter)
};
GAEAPI.get('product/lists', dataSend, $scope).then(function(e) {
console.log("_getProductFeature : e ", e);
if (e.ok == 1) {
vm._productFeatureList = e.data.dataList;
}
});
};
vm._productList = [];
vm._getProductList = function(sort) {
var jsonFilter = {
'badge_id_array': [18]
};
var dataSend = {
'cur_page': 1,
'per_page': 100,
'txt_sortby': sort,
'txt_filter_json': JSON.stringify(jsonFilter)
};
GAEAPI.get('product/lists', dataSend).then(function(e) {
if (e.ok == 1) {
vm._productList = e.data.dataList;
}
});
};
vm._productListAll = [];
vm._getProductListAll = function() {
var jsonFilter = {
'badge_id_array': [18]
};
var dataSend = {
'cur_page': 1,
'per_page': 100,
'txt_sortby': 'referral_sort_index_asc_name_asc',
'txt_filter_json': JSON.stringify(jsonFilter)
};
GAEAPI.get('product/lists', dataSend).then(function(e) {
if (e.ok == 1) {
for (var i = 0; i < e.data.dataList.length; i++) {
if (e.data.dataList[i].product_discount.length != 0) {
vm._productListAll.push(e.data.dataList[i]);
}
}
console.log("spdosdpsidpsdisodi :", vm._productListAll);
}
});
};
// vm._getProductListAll();
vm.getTimeNow = [];
vm._getTimeNow = function() {
var d = new Date();
var n = d.toDateString();
vm.getTimeNow = n.split(" ");
/*console.log('getTimeNow',vm.getTimeNow);*/
};
vm._makeDatenow = function() {
var d = new Date();
return (d != "") ? moment(d).format('LL') : "";
};
// vm._makeDatenow();
/* Build String title url */
vm.buildTitleUrl = function(str) {
var s = str.replace(/[^a-zA-Zก-๙0-9 ]/g, "").split(" ").join("-").replace("--", "-");
return s;
};
vm.viewLink = function(i) {
var a = i;
if (a.indexOf('http') == -1) {
return 'http://' + i;
}
return i;
};
vm.album_lists = false;
vm.album_detail_lists = false;
vm._getAlbumList = function(per_page, txt_sortby) {
vm.album_lists = false;
var dataSend = {
'cur_page': 1,
'per_page': per_page,
'txt_sortby': txt_sortby
};
GAEAPI.get('image_group/lists', dataSend).then(function(e) {
if (e.ok === 1) {
vm.album_lists = e.data.dataList;
}
});
console.log('album_lists_data', vm.album_lists);
};
vm.getRandomNumber = function(start, end) {
return Math.floor(Math.random() * end) + start;
};
vm.windowsWidth = function() {
return $(window).width();
};
vm.windowsHeight = function() {
return $(window).height();
};
/* Optimize image size by device pixel
* @params {size} (integer) prefer size
* @params {image_url} (string) original image source link
* @params {image_width} (string) original image width
* @return string
*/
vm.viewOptimizeImage = function(size, image_url, image_width) {
if (window.devicePixelRatio >= 2 || parseInt(image_width) <= size) {
return image_url;
}
var a = image_url.split("/"),
b = a[a.length - 1];
a[a.length - 1] = 't' + size + '_' + b;
return a.join("/");
};
vm.calendar_img = [];
vm.dataImageLists = [];
vm.dataImageListsLoad = false;
vm.getcalendar_img = function(image_group_id_array, cur_page, per_page) {
var jsonFilter = {
'image_group_id_array': [image_group_id_array]
};
var dataSend = {
'cur_page': cur_page,
'per_page': per_page,
'txt_filter_json': JSON.stringify(jsonFilter)
};
GAEAPI.get('image/lists', dataSend).then(function(output) {
vm.dataImageListsLoad = true;
if (output.ok == 1) {
vm.dataImageLists = output.data.dataList;
vm.calendar_img = output.data.dataList[0];
}
});
};
vm.img_byalbum_id_main = function() {
var getFunction = {
imageUrl: function(size, image_url) {
var url = image_url.split("/"),
length_url = url[url.length - 1];
url[url.length - 1] = size + '_' + length_url;
return url.join("/");
},
resizeImageUrl: function(output, callback) {
var _self = this;
for (var i = 0; i <= output.length; i++) {
if (i < output.length) {
output[i].image_url = _self.imageUrl('t300', output[i].image_url);
} else {
callback(output);
}
}
}
}
return getFunction;
};
vm.img_byalbum_id = [];
vm.get_img_byalbum_id = function(albumid) {
var jsonFilter = {
'image_group_id_array': [albumid]
};
var dataSend = {
'cur_page': 1,
'per_page': 20,
'txt_filter_json': JSON.stringify(jsonFilter)
};
GAEAPI.get('image/lists', dataSend, $scope).then(function(res) {
if (res.ok === 1) {
vm.img_byalbum_id_main().resizeImageUrl(res.data.dataList, function(output) {
vm.img_byalbum_id = output;
});
}
});
};
/* referal result in ttc custom */
/* fet album iambeauty */
vm.iambeauty_img = [];
vm.getiambeauty_img = function() {
var jsonFilter = {
'image_group_id_array': [685]
};
var dataSend = {
'cur_page': 1,
'per_page': 100,
'txt_filter_json': JSON.stringify(jsonFilter)
};
GAEAPI.get('image/lists', dataSend).then(function(res) {
if (res.ok === 1) {
vm.iambeauty_img = res.data.dataList[0];
}
});
};
vm._custom_ref_ttc_data = [];
vm._custom_ref_ttc = function(id) {
console.log("_custom_ref_ttc : id : ", id);
vm._custom_ref_ttc_data = [];
var dataSend = {
'txt_referral_type_id': 11,
'txt_parent_id': id,
'txt_sortby': 'referral_oldest_create',
};
GAEAPI.get('referral/map', dataSend).then(function(res) {
vm._page_category_load = true;
if (res.ok === 1) {
// vm._custom_ref_ttc_data = res.data;
vm._custom_ref_ttc_data = (res.ok == 1) ? res.data : [];
var temp_ttc = [];
for (var i = 0; i < res.data.length; i++) {
temp_ttc.push(res.data[i].referral_id);
}
ref_tcc_productArray = res.data;
getproductForRef(0, function() {
// alert("complete!");
console.log("getproductForRef : ref_tcc_productArray: ", ref_tcc_productArray);
});
}
});
};
var ref_tcc_productArray = [];
function getproductForRef(index, callback) {
if (ref_tcc_productArray.length <= index) {
if (callback) {
callback();
}
return;
}
var albumData = ref_tcc_productArray[index];
var image_group_id = albumData.referral_id;
var dataSend = {
'txt_referral_type_id': 11,
'txt_parent_id': image_group_id,
'txt_sortby': 'referral_oldest_create',
// 'txt_filter_json': JSON.stringify({"referral_id_array_in": [image_group_id]})
};
console.log("referral/map : dataSend : ", dataSend);
GAEAPI.get('referral/map', dataSend, $scope).then(function(res) {
console.log("map/lists : res : ", res);
if (res.ok == 1) {
albumData.category_array = res.data;
// vm._custom_ref_ttc_data = res.data;
// vm._custom_ref_ttc_data = (res.ok == 1) ? res.data : [];
}
ref_tcc_productArray_last = res.data;
getproductForRef_last(0, function() {
// alert("complete!");
console.log("getproductForRef_last : ref_tcc_productArray_last: ", ref_tcc_productArray_last);
getproductForRef((index + 1), callback);
});
vm._custom_ref_ttc_data = ref_tcc_productArray;
// getproductForRef((index + 1), callback);
});
}
var ref_tcc_productArray_last = [];
function getproductForRef_last(index, callback) {
if (ref_tcc_productArray_last.length <= index) {
if (callback) {
callback();
}
return;
}
var albumData_last = ref_tcc_productArray_last[index];
// console.log("makeCarouselBroadcastsds :",albumData_last);
var image_group_last = albumData_last.referral_id;
var dataSend = {
'cur_page': 1,
'per_page': 20,
'txt_sortby': 'product_oldest_create',
'txt_filter_json': JSON.stringify({
"referral_id_array_in": [image_group_last]
})
};
console.log("product/lists : dataSend : ", dataSend);
GAEAPI.get('product/lists', dataSend, $scope).then(function(res) {
console.log("image/lists : res : ", res);
if (res.ok == 1) {
albumData_last.product_array = res.data.dataList;
}
// vm._custom_ref_ttc_data = ref_tcc_productArray_last;
getproductForRef_last((index + 1), callback);
});
}
vm.setdispay = function(imgid) {
document.getElementById(imgid).style.display = 'block';
$('body').css('overflow', 'hidden');
};
vm.containerwidth = function(a) {
return angular.element(a).width();
};
/* Event when windows is loaded*/
$scope.windowLoaded = false;
angular.element($window).bind('load', function() {
$scope.windowLoaded = true;
});
/* get product list by badge */
vm.productListByBadge = [];
vm.getProductListByBadge = function(badgeId) {
vm.productListByBadge[badgeId] = [];
var dataSend = {
'cur_page': 1,
'per_page': 16,
'txt_sortby': 'referral_sort_index_asc_name_asc',
'txt_filter_json': JSON.stringify({
'badge_id_array': [18, badgeId]
})
};
GAEAPI.get('product/lists', dataSend, $scope).then(function(e) {
console.log("getProductListByBadge", dataSend, e);
if (e.ok === 1 && e.data.dataList.length > 0) {
vm.productListByBadge[badgeId] = e.data.dataList;
console.log("id_bade_product :", vm.productListByBadge[72]);
}
});
};
/* shop branch */
vm._branch_lists = false;
vm._branch_lists_load = false;
vm._get_branch_lists = function() {
vm._clear_page_lists();
var dataSend = {
'cur_page': 1,
'per_page': 20,
};
GAEAPI.get('shop_branch/lists', dataSend).then(function(res) {
vm._branch_lists_load = true;
if (res.ok === 1) {
vm._branch_lists = res.data.dataList;
}
});
};
vm._get_branch_lists();
vm._promotion_lists = false;
vm._promotion_lists_load = false;
vm._get_promotion_lists = function() {
vm._clear_page_lists();
var dataSend = {
'cur_page': 1,
'per_page': 20,
};
GAEAPI.get('promotion/lists', dataSend).then(function(res) {
vm._promotion_lists_load = true;
if (res.ok === 1) {
vm._promotion_lists = res.data.dataList;
}
});
};
vm._get_promotion_lists();
vm.dataPromotionLists = [];
vm.getPromotionLists = function(cur_page, per_page, txt_badge_id, txt_sortby, type_number) {
var dataSend = {
"cur_page": cur_page,
"per_page": per_page,
"txt_badge_id": txt_badge_id,
"txt_sortby": txt_sortby,
"txt_type_number": type_number
};
console.log("getPromotionLists : dataSend : ", dataSend);
GAEAPI.get('promotion/lists', dataSend, $scope).then(function(output) {
console.log("getPromotionLists : output : ", output);
if (output.ok == 1) {
vm.dataPromotionLists = output.data.dataList;
}
});
};
/* vm.promotion_listState = {
load: false,
done: false
};
vm.get_promotion_lists5 = function(){
vm.promotion_listState = {
load: true,
done: false
};
var dataSend = {
'cur_page': 1,
'per_page': 20,
'txt_sortby': 'promotion_lastest_create',
'txt_badge_id': 18,
'txt_filter_json': JSON.stringify({
'type_number': 7
})
};
$GET('promotion/lists', dataSend, function(e) {
if (e.ok == 1 && e.data.dataList.length > 0) {
vm.promotion_list = e.data.dataList;
}
vm.promotion_listState = {
load: false,
done: true
};
console.log("promotion list : type 5", vm.promotion_list);
});
}; */
vm._promotion_lists_type7 = false;
vm._promotion_lists_load_7 = false;
vm._get_promotion_lists_type7 = function() {
// vm._clear_page_lists();
var dataSend = {
'cur_page': 1,
'per_page': 20,
'txt_badge_id': 18,
'txt_filter_json': JSON.stringify({
'type_number': 7
})
};
GAEAPI.get('promotion/lists', dataSend).then(function(res) {
vm._promotion_lists_load_7 = true;
if (res.ok === 1) {
vm._promotion_lists_type7 = res.data.dataList;
}
});
};
vm._get_promotion_lists_type7();
vm.displayImage = function(image_url, prefix) {
return (typeof image_url !== 'undefined') ? GAEAPI.getGaeImageUrl(image_url, prefix) : '';
}
vm.newLoginregister = function(name) {
/* window.location.href = GURL.base_url() + name; */
$location.url(name).replace();
};
vm.categoryList = [];
vm.categoryListFail = false;
vm.getCategoryList = function() {
if (typeof window.referralMap !== 'undefined' && parseInt(CUR_THEME.shop_id()) == 646) {
vm.categoryListFail = false;
vm.categoryList = window.referralMap.data;
return;
}
var dataSend = {
'txt_referral_type_id': 11,
'txt_sortby': 'referral_sort_index_asc_name_asc',
"txt_filter_json": JSON.stringify({
"badge_id_array": [18]
})
};
GAEAPI.get('referral/map', dataSend, $scope).then(function(res) {
if (res.ok == 1) {
console.log("getCategoryList referral/map : ", res);
if (res.data.length > 0) {
vm.categoryListFail = false;
vm.categoryList = res.data;
} else {
vm.categoryListFail = true;
}
} else {
vm.categoryListFail = true;
}
});
};
vm.getCategoryList();
vm.categoryDetail = [];
vm.categoryDetailFail = false;
vm.getCategoryDetail = function(catID) {
var dataSend = {
'txt_referral_id': catID,
'txt_sortby': 'referral_sort_index_asc_name_asc',
};
GAEAPI.get('referral/id_map', dataSend, $scope).then(function(res) {
if (res.ok == 1) {
vm.categoryDetailFail = false;
vm.categoryDetail = res.data;
} else {
vm.categoryDetailFail = true;
$window.location.href = 'home';
}
});
}
vm.categoryRoot = [];
vm.categoryRootFail = false;
vm.getCategoryRoot = function(catID) {
var dataSend = {
'txt_referral_id': catID,
'txt_is_lookup': 0,
};
GAEAPI.get('referral/relation', dataSend, $scope).then(function(res) {
if (res.ok == 1) {
vm.categoryRootFail = false;
vm.categoryRoot = res.data;
} else {
vm.categoryRootFail = true;
$window.location.href = '#/';
}
});
}
vm.categoryList_gygy = [];
vm.categoryListFail_gygy = false;
vm.getCategoryList_gygy = function() {
var dataSend = {
'txt_referral_type_id': 11,
'txt_sortby': 'referral_sort_index_asc_name_asc',
};
GAEAPI.get('referral/map', dataSend, $scope).then(function(res) {
if (res.ok == 1) {
if (res.data.length > 0) {
vm.categoryListFail_gygy = false;
vm.categoryList_gygy = res.data;
} else {
vm.categoryListFail_gygy = true;
}
} else {
vm.categoryListFail_gygy = true;
}
});
};
/* collection list */
vm._collectionlist = [];
vm._getCollectionList = function() {
var dataSend = {
'cur_page': 1,
'per_page': 10
};
GAEAPI.get('collection/lists', dataSend).then(function(res) {
if (res.ok === 1) {
vm._collectionlist = res.data.dataList;
}
});
};
/* vito video home page */
vm._homevideolist = [];
vm._getHomeVideoList = function() {
var j = {
'badge_id_array': [18]
};
var dataSend = {
'cur_page': 1,
'per_page': 3,
'txt_filter_json': JSON.stringify(j)
};
GAEAPI.get('video/lists', dataSend).then(function(res) {
if (res.ok === 1) {
vm._homevideolist = res.data.dataList;
}
});
};
/* album custom flash mall */
vm.album_img1 = [];
vm.gethomealbum_img1 = function(id, limit) {
var jsonFilter = {
'image_group_id_array': [id]
};
var dataSend = {
'cur_page': 1,
'per_page': limit,
'txt_filter_json': JSON.stringify(jsonFilter)
};
GAEAPI.get('image/lists', dataSend).then(function(res) {
if (res.ok === 1) {
vm.album_img1 = res.data.dataList;
}
});
};
vm.album_img2 = [];
vm.gethomealbum_img2 = function(id, limit) {
var jsonFilter = {
'image_group_id_array': [id]
};
var dataSend = {
'cur_page': 1,
'per_page': limit,
'txt_filter_json': JSON.stringify(jsonFilter)
};
GAEAPI.get('image/lists', dataSend).then(function(res) {
if (res.ok === 1) {
vm.album_img2 = res.data.dataList;
}
});
};
vm.album_img3 = [];
vm.gethomealbum_img3 = function(id, limit) {
var jsonFilter = {
'image_group_id_array': [id]
};
var dataSend = {
'cur_page': 1,
'per_page': limit,
'txt_filter_json': JSON.stringify(jsonFilter)
};
GAEAPI.get('image/lists', dataSend).then(function(res) {
if (res.ok === 1) {
vm.album_img3 = res.data.dataList[0];
}
});
};
/* flash mall */
vm.set_alert = function(mme) {
$(".yyy_" + mme).css("display", "block");
};
vm.slick = function(elem, xs, sm, md, lg) {
var carousel = $(elem);
carousel.css('height', '0');
carousel.css('opacity', '0');
var getinlg = parseInt(lg);
var getinmd = parseInt(md);
var getinsm = parseInt(sm);
var getinxs = parseInt(xs);
setTimeout(function() {
var is_dark;
carousel.not('.slick-initialized').slick({
dots: false,
arrows: false,
animate: false,
autoplay: true,
centerMode: false,
variableWidth: false,
autoplaySpeed: 8000,
slidesToShow: getinlg,
slidesToScroll: 1,
infinite: true,
speed: 600,
responsive: [{
breakpoint: 1200,
settings: {
slidesToShow: getinmd,
}
}, {
breakpoint: 991,
settings: {
slidesToShow: getinsm,
}
}, {
breakpoint: 767,
settings: {
slidesToShow: getinxs,
}
}]
}).closest('section').addClass('active');
carousel.css('height', 'auto');
carousel.css('opacity', '1');
}, 1000);
};
vm.mkCarousel = function(elem) {
$('.featureproduct_home .recommend').css('height', '0');
$('.featureproduct_home .recommend').css('opacity', '0');
// console.log("mkCarousel : ", $scope._slidestoshowlarge, $scope._slidestoshowmedium, $scope._slidestoshowsmall, $scope._slidestoshowextrasmall);
setTimeout(function() {
var carousel = $(elem + '[data-id=' + vm._key() + ']');
var is_dark;
carousel.not('.slick-initialized').slick({
dots: false,
arrows: true,
autoplay: true,
autoplaySpeed: 4000,
slidesToShow: 4,
slidesToScroll: 1,
infinite: true,
speed: 600,
prevArrow: '',
nextArrow: '
',
responsive: [{
breakpoint: 1200,
settings: {
slidesToShow: 4,
}
}, {
breakpoint: 991,
settings: {
slidesToShow: 3,
}
}, {
breakpoint: 767,
settings: {
slidesToShow: 2,
}
}, {
breakpoint: 500,
settings: {
slidesToShow: 1,
}
}]
}).closest('section').addClass('active');
$('.featureproduct_home .recommend').css('height', 'auto');
$('.featureproduct_home .recommend').css('opacity', '1');
}, 1500);
};
vm._uniqueKey = '';
vm._key = function() {
if (vm._uniqueKey === '') {
vm._uniqueKey = Math.floor((Math.random() * 9999) + 1000);
return vm._uniqueKey;
} else {
return vm._uniqueKey;
}
};
/*---------------------- dealer special -----------------------*/
vm.viewUrlSearch = function(paramsName) {
if (paramsName === 'search_type') {
return $location.search().search_type || '';
}
if (paramsName === 'size_width') {
return $location.search().size_width || '';
}
if (paramsName === 'size_series') {
return $location.search().size_series || '';
}
if (paramsName === 'size_diameter') {
return $location.search().size_diameter || '';
}
if (paramsName === 'car_name') {
return $location.search().car_name || '';
}
if (paramsName === 'car_series') {
return $location.search().car_series || '';
}
if (paramsName === 'car_model') {
return $location.search().car_model || '';
}
if (paramsName === 'model') {
return $location.search().model || '';
}
if (paramsName === 'q') {
return $location.search().q || '';
}
if (paramsName === 'page') {
return $location.search().page || '';
}
return '';
};
vm.dealerListsAll = [];
vm.dealerListsAll_Done = false;
vm.filterColData = vm._viewRouteParams().col1 || 'all';
vm.filterCol2Data = vm._viewRouteParams().col2 || 'all';
vm.temp_dealerListsAll = [];
vm.getDealerListsAll = function(page, row1, row2) {
console.log('getDealerListsAll : start', row1, row2);
vm.dealerListsAll_Done = false;
/* vm.pagination_dealer = {};
vm.pagination_dealer.cur_page = 0;
vm.pagination_dealer.per_page = 0;
vm.pagination_dealer.result_rows = 0;
vm.pagination_dealer.total_rows = 0;
vm.pagination_dealer.max_page = 0;
vm.pagination_dealer.prev_page = 0;
vm.pagination_dealer.next_page = 0;
vm.pagination_dealer.page_array = []; */
vm.dealerListsAll = [];
vm.temp_dealerListsAll = [];
var dataSend = {
'type': 'dealer_lists_all_mol',
'shop_id': 722,
'per_page': 100,
'page': (page != undefined && page != "") ? page : 1,
'q': ''
};
if (vm.viewUrlSearch('q') != '') {
dataSend.q = vm.viewUrlSearch('q');
}
GAEAPI.directNativeAjax(vm.thirdPartyApi, {
params: dataSend
}).then(function(res) {
$scope.$apply(function() {
console.log('getDealerListsAll', dataSend, res);
// vm.dealerListsAll_Done = true;
if (res.data.data_lists.length > 0) {
vm.dealerListsAll_Done = true;
vm.dealerListsAll = res.data.data_lists;
if (row1 != undefined && row2 != undefined) {
for (var i = 0; i <= vm.dealerListsAll.length; i++) {
if (row2 == vm.dealerListsAll[i].dealer_service_array[0].service_title && row1 == vm.dealerListsAll[i].dealer_service_array[1].service_title) {
vm.temp_dealerListsAll.push(vm.dealerListsAll[i]);
}
}
vm.dealerListsAll_Done = true;
} else {
vm.temp_dealerListsAll = res.data.data_lists;
vm.dealerListsAll_Done = true;
}
/* console.log("sdjsjfhdjfhd :", vm.temp_dealerListsAll); */
}
});
});
};
vm.promotionLinkByType = function(dataObject) {
console.log("promotionLinkByType", dataObject);
if (dataObject.promotion_type_number == 7) {
if (dataObject.promotion_pdf.length) {
// window.location.href = dataObject.promotion_pdf[0].file_url;
window.open(dataObject.promotion_pdf[0].file_url, '_blank');
return;
} else if (dataObject.promotion_image.length) {
window.open(dataObject.promotion_image[0].image_url, '_blank');
// window.location.href = dataObject.promotion_image[0].image_url;
return;
}
}
};
vm.changefilterCol2Data_test = function(index1, index2) {
// alert(index1,index2)
if (CUR_THEME.shop_id() == 722) {
if (index1 == 'all' || index2 == 'all') {
$('.red_fill').css('opacity', '1');
} else {
$('.red_fill').css('opacity', '0');
vm.getDealerListsAll('', index1, index2);
}
}
};
vm.changefilterCol2Data_test();
/* deal list */
vm.data_deal_list = [];
vm.all_data_deal_list = [];
vm.getDataDeal = function() {
vm.data_deal_list = [];
var j = {
'badge_id_array': [18]
};
var d = {
'cur_page': 1,
'per_page': 12,
'txt_filter_json': JSON.stringify(j)
};
GAEAPI.get('deal/lists', d).then(function(e) {
if (e.ok == 1) {
vm.data_deal_list = e.data.dataList;
console.log("dealsLists 1:", vm.data_deal_list);
var date_now = new Date();
var date_dif_start = [];
var date_dif_end = [];
var time_year = [];
var time_mount = [];
var time_date = [];
var time_hr = [];
var time_mi = [];
var time_se = [];
var time_year_end = [];
var time_mount_end = [];
var time_date_end = [];
var time_hr_end = [];
var time_mi_end = [];
var time_se_end = [];
var timeDifference_start = [];
var timeDifference_end = [];
for (var i = 0; i < vm.data_deal_list.length; i++) {
time_year[i] = GAEAPI.time.dateFormat("YYYY", vm.data_deal_list[i].product_lifetime.lifetime_start_time);
time_mount[i] = GAEAPI.time.dateFormat("M", vm.data_deal_list[i].product_lifetime.lifetime_start_time);
time_date[i] = GAEAPI.time.dateFormat("D", vm.data_deal_list[i].product_lifetime.lifetime_start_time);
time_hr[i] = GAEAPI.time.dateFormat("H", vm.data_deal_list[i].product_lifetime.lifetime_start_time);
time_mi[i] = GAEAPI.time.dateFormat("m", vm.data_deal_list[i].product_lifetime.lifetime_start_time);
time_se[i] = GAEAPI.time.dateFormat("s", vm.data_deal_list[i].product_lifetime.lifetime_start_time);
time_year_end[i] = GAEAPI.time.dateFormat("YYYY", vm.data_deal_list[i].product_lifetime.lifetime_end_time);
time_mount_end[i] = GAEAPI.time.dateFormat("M", vm.data_deal_list[i].product_lifetime.lifetime_end_time);
time_date_end[i] = GAEAPI.time.dateFormat("D", vm.data_deal_list[i].product_lifetime.lifetime_end_time);
time_hr_end[i] = GAEAPI.time.dateFormat("H", vm.data_deal_list[i].product_lifetime.lifetime_end_time);
time_mi_end[i] = GAEAPI.time.dateFormat("m", vm.data_deal_list[i].product_lifetime.lifetime_end_time);
time_se_end[i] = GAEAPI.time.dateFormat("s", vm.data_deal_list[i].product_lifetime.lifetime_end_time);
date_dif_start[i] = new Date(time_year[i], time_mount[i] - 1, time_date[i], time_hr[i], time_mi[i], time_se[i], 0);
date_dif_end[i] = new Date(time_year_end[i], time_mount_end[i] - 1, time_date_end[i], time_hr_end[i], time_mi_end[i], time_se_end[i], 0);
timeDifference_start[i] = date_now.getTime() - date_dif_start[i].getTime();
timeDifference_end[i] = date_dif_end[i].getTime() - date_now.getTime();
console.log("hr : mi : se =", time_hr_end[i], time_mi_end[i], time_se_end[i]);
console.log("dealtestrew1 :", timeDifference_start[i]);
console.log("hr : dealtestrew2 :", timeDifference_end[i]);
if (timeDifference_start[i] > 0 && timeDifference_end[i] > 2000) {
vm.all_data_deal_list.push(vm.data_deal_list[i]);
}
}
// $scope.timeCountStart2($scope.all_data);
console.log("dealsLists", vm.all_data_deal_list);
}
});
};
vm.getDataDeal();
vm.Path_change = function() {
// alert(" 1 :" +vm.filterColData +" and " + vm.filterCol2Data);
var path = {
col1: vm.filterColData,
/* parent category of this category */
col2: vm.filterCol2Data,
/* product in this category/filter cat */
};
var strHref_mol = 'distributor';
if (typeof path.col1 !== 'undefined' && path.col1 !== "") {
strHref_mol += '?col1=' + path.col1;
}
if (typeof path.col2 !== 'undefined' && path.col2 !== "") {
strHref_mol += '&col2=' + path.col2;
}
if (path.col2 == 'all' || path.col1 == 'all') {
return;
} else {
// alert(strHref_mol);
window.location.href = strHref_mol;
// vm.getDealerListsAll();
// $location.url(strHref).replace();
// $scope.$apply();
}
// $location.url(strHref).replace();
// $scope.$apply();
};
vm.loadView = function(strPath) {
return strPath;
};
/* CART PAGE Function */
/* CART PAGE Function */
/* CART PAGE Function */
vm.cartPromotionId = 0;
vm.state = false;
vm.pageCartData = false;
vm.timerCart = 0;
vm.cartTotalItems = 0;
vm.cartTotalDiscount = 0;
vm.cartGetTime = 0;
vm.cartUpdateTimer = {
total: 0,
up: 0,
down: 0,
kill: 0
};
vm.cartCurrentPromotionData = false;
vm.pageCart = {
_get: function(isCallback) {
var self = this;
vm.state = false;
console.log("pageCartData : start (0) ");
GAEAPI.get('cart/current', {}).then(function(e) {
console.log("pageCartData : start (1) ", e);
vm.cartGetTime = $timeout(function() {
$timeout.cancel(vm.cartGetTime);
console.log("pageCartData : start (1-$timeout-after) ", e);
vm.pageCartData = e.data;
vm.state = true;
if (e.ok === 1) {
if (e.data.cart_row_array.length > 0) {
self.calculateTotal();
self.getPromotion();
}
if (isCallback != undefined && typeof isCallback !== 'undefined') {
isCallback(e);
}
} else {}
}, 100);
});
},
calculateTotal: function() {
var self = this;
var t = 0;
if (vm.pageCartData) {
for (var i = 0; i < vm.pageCartData.cart_row_array.length; i++) {
t = t + parseInt(vm.pageCartData.cart_row_array[i].amount);
}
vm.cartTotalItems = t;
vm.cartTotalDiscount = parseInt(vm.pageCartData.cart_total_order_discount);
self.savePromotionTextAnimate();
}
},
calculateDiscountTotal: function() {
/* dont use */
/* dont use */
/* dont use */
var t = 0;
if (vm.pageCartData) {
if (!vm.pageCartData.cart_promotion.length) {
vm.cartTotalDiscount = 0;
return;
}
var promotionDataDiscount = vm.pageCartData.cart_promotion[0].discount_data;
if (promotionDataDiscount.length > 0) {
if (parseInt(promotionDataDiscount[0].discount_price) > 0) {
vm.cartTotalDiscount = parseInt(promotionDataDiscount[0].discount_price);
}
}
}
},
get: function() {
/* redirect to this function instead */
return this._get();
/* dont use */
/* dont use */
/* dont use */
console.log("pageCartData : start");
var self = this;
var tttt = setInterval(function() {
if (UiCart.delegate.get.cartData() != undefined && UiCart.delegate.get.cartData() != null) {
clearInterval(tttt);
var test = false;
if (test) {
UiCart.delegate.product.add(81290, 50, function() {
var t = setInterval(function() {
if (!UiCart.delegate.product.isProgress(81290)) {
clearInterval(t);
$scope.$apply(function() {
vm.pageCartData = UiCart.delegate.get.cartData();
vm.state = true;
});
console.log("pageCartData 2", vm.pageCartData);
self.getPromotion();
}
}, 500);
});
} else {
$scope.$apply(function() {
vm.pageCartData = UiCart.delegate.get.cartData();
vm.state = true;
console.log("pageCartData 2", vm.pageCartData);
self.getPromotion();
});
}
} else {
console.log("pageCartData : still loading...", UiCart.delegate.get.cartData());
}
}, 500);
},
qtyUp: function(productId, idx) {
var _new_qtn = idx + 1;
/* call api to update */
this.updateApiQty(productId, _new_qtn);
},
updateApiQty: function(productId, qty) {
var self = this;
var dataSend = {
'txt_product_id': parseInt(productId),
'txt_amount': parseInt(qty),
'txt_cart_id': parseInt(vm.pageCartData.cart_id)
};
vm.state = false;
GAEAPI.post('cart/product_update', dataSend).then(function(e) {
console.log("pageCart : update", dataSend, e);
$timeout(function() {
vm.pageCartData = e.data;
vm.state = true;
self.calculateTotal();
}, 100);
});
},
qtuDown: function(productId, idx) {
var _new_qtn = idx - 1;
if (_new_qtn >= 1) {
/* call api to update */
this.updateApiQty(productId, _new_qtn);
}
},
killProduct: function(productId, idx) {
this.updateApiQty(productId, 0);
},
checkoutProduct: function() {
if (!vm.pageCartData) {
return;
}
if (vm.pageCartData.cart_row_array.length <= 0) {
return;
}
var self = this;
var strRetrun = 'checkout?pdata=';
var strArray = [];
var data_all = vm.pageCartData.cart_row_array;
for (var i = 0; i < data_all.length; i++) {
strArray.push(data_all[i].object_id + '-' + data_all[i].amount);
}
window.location.href = strRetrun + strArray.join(',') + self.getPromotionLink();
},
getPromotion: function() {
var getPromotionId = function(id, callback) {
var dataSend = {
'txt_promotion_id': id
};
var requestUrl = GURL.base_api_url() + 'promotion/id';
requestUrl += "?txt_promotion_id=" + id;
GAEAPI.get('promotion/id', dataSend).then(function(e) {
if (typeof callback != undefined) {
callback(e);
}
});
};
var showWeb = function(objArray) {
var r = false;
for (var i = 0; i < objArray.length; i++) {
if (parseInt(objArray[i].badge_id) === 18) {
r = true;
break;
}
}
return r;
};
var checkPromo = function(buy, sub) {
if (buy.length && sub.length) {
return true;
}
return false;
};
var dataSend = {
'cur_page': 1,
'per_page': 1,
'txt_filter_json': JSON.stringify({
"type_number": 6
})
};
var self = this;
var requestUrl = GURL.base_api_url() + 'promotion/lists';
requestUrl += "?cur_page=1";
requestUrl += "&per_page=1";
requestUrl += "&txt_filter_json=" + JSON.stringify({
"type_number": 6
});
console.log("pageCartData : promotion start (0) ");
vm.cartCurrentPromotionData = false;
GAEAPI.get('promotion/lists', dataSend).then(function(responseList) {
console.log("pageCartData : promotion list (1) ", responseList);
if (responseList.ok == 1 && responseList.data.dataList.length > 0) {
getPromotionId(responseList.data.dataList[0].promotion_id, function(e) {
console.log("pageCartData : promotion id (2) ", e);
if (e.ok != 1 && !showWeb(e.data.promotion_badge)) {
vm.state = true;
return false;
}
/* continue promotion */
self.savePromotion(e.data);
});
}
});
},
savePromotion: function(data) {
var self = this;
/* check if no promotion -> add current promotion */
vm.promoTimF = 0;
vm.promoTimS = 0;
vm.cartCurrentPromotionData = data; /* e.data */
if (vm.cartPromotionId == 0) {
var dataSend = {
'txt_promotion_id': parseInt(data.promotion_id),
'txt_cart_id': parseInt(vm.pageCartData.cart_id)
};
GAEAPI.post('cart/cart_promotion_save', dataSend).then(function(e) {
vm.promoTimF = $timeout(function() {
console.log("pageCartData : savePromotion (3)", e);
vm.state = false;
if (e.ok == 1) {
vm.pageCartData = false;
vm.cartPromotionId = data.promotion_id;
var dataCartAfterPromoSave = {};
if (e.data.length > 0) {
dataCartAfterPromoSave.txt_cart_id = dataSend.cart_id;
}
GAEAPI.get('cart/current', dataCartAfterPromoSave).then(function(c) {
vm.promoTimS = $timeout(function() {
vm.pageCartData = c.data;
vm.state = true;
console.log("pageCartData : cart/current (4)", c);
self.calculateTotal();
}, 100);
});
} else {
vm.cartPromotionId = 0;
vm.state = true;
}
}, 100);
});
} else {
self.calculateTotal();
}
},
getPromotionLink: function() {
var str = "";
if (vm.cartPromotionId != 0 && vm.pageCartData) {
str += "&cart_id=" + vm.pageCartData.cart_id + '&promotion_id=' + vm.cartPromotionId;
}
return str;
},
savePromotionTextAnimate: function() {
console.log("savePromotionTextAnimate", vm.cartCurrentPromotionData);
var buildPriceDistance = function(subTotalPrice, promotionPrice) {
return parseInt(subTotalPrice) - parseInt(promotionPrice)
};
var buildHeadPromotionText = function(discountObj) {
if (parseInt(discountObj.percent) > 0) {
return discountObj.percent + "% discount.";
}
return discountObj.price + 'THB discount.';
};
if (vm.cartCurrentPromotionData) {
console.log("savePromotionTextAnimate : pass 0");
/* check if buy condition exist */
if (vm.cartCurrentPromotionData.promotion_row_display.buy.order.length > 0) {
console.log("savePromotionTextAnimate : pass 1");
/* check if sub condition exist */
if (vm.cartCurrentPromotionData.promotion_row_display.sub.order.length > 0) {
console.log("savePromotionTextAnimate : pass 2");
var orderObj = vm.cartCurrentPromotionData.promotion_row_display.buy.order[0];
var discountObj = vm.cartCurrentPromotionData.promotion_row_display.sub.order[0];
var priceToStartDiscount = parseFloat(orderObj.price);
var priceDistanceCheck = buildPriceDistance(vm.pageCartData.cart_subtotal_price, priceToStartDiscount);
var textDiscount = buildHeadPromotionText(discountObj);
var percentDistance = 0;
vm.cartPromoPriceFinal = priceToStartDiscount;
console.log("savePromotionTextAnimate : cartPromoPriceFinal", vm.cartPromoPriceFinal);
if (priceDistanceCheck >= 0) {
/* promotion active */
vm.cartPromoNumber = 0;
vm.cartPromoText = 'You get ' + textDiscount;
percentDistance = 100;
} else {
/* promotion not active */
vm.cartPromoNumber = priceDistanceCheck;
vm.cartPromoText = ' away from ' + textDiscount;
percentDistance = parseInt(vm.pageCartData.cart_subtotal_price) * 100 / parseInt(orderObj.price);
}
var _s = $timeout(function() {
$('.promotionTextDisplay').show();
$timeout.cancel(_s);
var _ss = $timeout(function() {
$timeout.cancel(_ss);
if (vm.cartPromoNumber >= 0) {
$('.progress-promo-percent').css('width', percentDistance + '%');
} else {
$('.progress-promo-percent').css('width', percentDistance + '%');
}
}, 1000);
}, 500);
}
}
}
},
numberPositive: function(n) {
return Math.abs(n);
}
};
vm.home_about_data = false;
vm.get_about = function() {
if (!vm.home_about_data) {
GAEAPI.get('shop/current', {}, $scope).then(function(e) {
if (e.ok === 1) {
vm.home_about_data = e.data.shop_aboutus;
}
});
}
}
vm.get_about();
vm.form_submit = function($event) {
var submit = true;
$($event.currentTarget).closest('form').find('[required]').each(function() {
if ($(this).val() == '') {
$(this).closest('.form_block').find('.after').addClass('error');
$(this).closest('.form_block').find('.round').addClass('error');
submit = false;
} else {
$(this).closest('.form-group').find('span').removeClass('error');
}
});
var isPass = false;
if (submit) {
console.log("sjfuksdfhrusygfkusrh : ", $('#contact_form input[name="qtyoil"]').val());
// var printContents = document.getElementById('contact_form').innerHTML;
// var popupWin = window.open('', '_blank', 'width=300,height=300');
// popupWin.document.open();
// popupWin.document.write('