<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="dns-prefetch" href="//maps.googleapis.com">
<link rel="dns-prefetch" href="//maps.gstatic.com">
<link rel="dns-prefetch" href="//mts0.googleapis.com">
<link rel="dns-prefetch" href="//mts1.googleapis.com">
<meta name="language" content="en" />
<meta name="alexaVerifyID" content="h4ax1R6syCDULPL4hs1ylznERjo" />
<link rel="shortcut icon" type="image/x-icon" href="/favicon.ico" />
<link rel="stylesheet" type="text/css" href="/themes/proxima/css/flags32.css" />
<link rel="stylesheet" type="text/css" href="/1707202933/themes/proxima/css/styles.min.css" />
<script type="text/javascript" src="/assets/26237b19/jquery.min.js"></script>
<script type="text/javascript" src="/1707202933/themes/proxima/js/bootstrap.min.js"></script>
<script type="text/javascript" src="/1707202933/themes/proxima/js/gc.min.js"></script>
<title>BUILT-IN PRO : </title>
<meta name="description" content="BUILT-IN PRO is one of the largest companies specializing in kitchen appliances, that has been in the consumer electronics industry for over 30 years. We have... " />
<meta property="og:url" content="https://globalcatalog.com/builtinpro.hk/en" />
<meta property="og:type" content="website" />
<meta property="og:title" content="BUILT-IN PRO : " />
<meta property="og:description" content="BUILT-IN PRO is one of the largest companies specializing in kitchen appliances, that has been in the consumer electronics industry for over 30 years. We have branches in different regions, with our back office in Kwun Tong. We provide high-quality products for distribution, premium services, and... " />
<meta property="og:image" content="https://globalcatalog.com/asset/showImage/1229882" />
<link rel="alternate" href="https://globalcatalog.com/builtinpro.hk/af" hreflang="af" />
<link rel="alternate" href="https://globalcatalog.com/builtinpro.hk/sq" hreflang="sq" />
<link rel="alternate" href="https://globalcatalog.com/builtinpro.hk/ar" hreflang="ar" />
<link rel="alternate" href="https://globalcatalog.com/builtinpro.hk/az" hreflang="az" />
<link rel="alternate" href="https://globalcatalog.com/builtinpro.hk/hy" hreflang="hy" />
<link rel="alternate" href="https://globalcatalog.com/builtinpro.hk/bn" hreflang="bn" />
<link rel="alternate" href="https://globalcatalog.com/builtinpro.hk/be" hreflang="be" />
<link rel="alternate" href="https://globalcatalog.com/builtinpro.hk/bg" hreflang="bg" />
<link rel="alternate" href="https://globalcatalog.com/builtinpro.hk/ca" hreflang="ca" />
<link rel="alternate" href="https://globalcatalog.com/builtinpro.hk/zh" hreflang="zh-CN" />
<link rel="alternate" href="https://globalcatalog.com/builtinpro.hk/tw" hreflang="zh-TW" />
<link rel="alternate" href="https://globalcatalog.com/builtinpro.hk/hr" hreflang="hr" />
<link rel="alternate" href="https://globalcatalog.com/builtinpro.hk/cs" hreflang="cs" />
<link rel="alternate" href="https://globalcatalog.com/builtinpro.hk/da" hreflang="da" />
<link rel="alternate" href="https://globalcatalog.com/builtinpro.hk/nl" hreflang="nl" />
<link rel="alternate" href="https://globalcatalog.com/builtinpro.hk/en" hreflang="en" />
<link rel="alternate" href="https://globalcatalog.com/builtinpro.hk/en" hreflang="x-default" />
<link rel="alternate" href="https://globalcatalog.com/builtinpro.hk/et" hreflang="et" />
<link rel="alternate" href="https://globalcatalog.com/builtinpro.hk/fil" hreflang="fil" />
<link rel="alternate" href="https://globalcatalog.com/builtinpro.hk/fi" hreflang="fi" />
<link rel="alternate" href="https://globalcatalog.com/builtinpro.hk/fr" hreflang="fr" />
<link rel="alternate" href="https://globalcatalog.com/builtinpro.hk/ka" hreflang="ka" />
<link rel="alternate" href="https://globalcatalog.com/builtinpro.hk/de" hreflang="de" />
<link rel="alternate" href="https://globalcatalog.com/builtinpro.hk/el" hreflang="el" />
<link rel="alternate" href="https://globalcatalog.com/builtinpro.hk/he" hreflang="he" />
<link rel="alternate" href="https://globalcatalog.com/builtinpro.hk/hi" hreflang="hi" />
<link rel="alternate" href="https://globalcatalog.com/builtinpro.hk/hu" hreflang="hu" />
<link rel="alternate" href="https://globalcatalog.com/builtinpro.hk/is" hreflang="is" />
<link rel="alternate" href="https://globalcatalog.com/builtinpro.hk/id" hreflang="id" />
<link rel="alternate" href="https://globalcatalog.com/builtinpro.hk/ga" hreflang="ga" />
<link rel="alternate" href="https://globalcatalog.com/builtinpro.hk/it" hreflang="it" />
<link rel="alternate" href="https://globalcatalog.com/builtinpro.hk/ja" hreflang="ja" />
<link rel="alternate" href="https://globalcatalog.com/builtinpro.hk/ko" hreflang="ko" />
<link rel="alternate" href="https://globalcatalog.com/builtinpro.hk/lv" hreflang="lv" />
<link rel="alternate" href="https://globalcatalog.com/builtinpro.hk/lt" hreflang="lt" />
<link rel="alternate" href="https://globalcatalog.com/builtinpro.hk/mk" hreflang="mk" />
<link rel="alternate" href="https://globalcatalog.com/builtinpro.hk/ms" hreflang="ms" />
<link rel="alternate" href="https://globalcatalog.com/builtinpro.hk/mt" hreflang="mt" />
<link rel="alternate" href="https://globalcatalog.com/builtinpro.hk/nb" hreflang="nb" />
<link rel="alternate" href="https://globalcatalog.com/builtinpro.hk/fa" hreflang="fa" />
<link rel="alternate" href="https://globalcatalog.com/builtinpro.hk/pl" hreflang="pl" />
<link rel="alternate" href="https://globalcatalog.com/builtinpro.hk/pt" hreflang="pt" />
<link rel="alternate" href="https://globalcatalog.com/builtinpro.hk/ro" hreflang="ro" />
<link rel="alternate" href="https://globalcatalog.com/builtinpro.hk/ru" hreflang="ru" />
<link rel="alternate" href="https://globalcatalog.com/builtinpro.hk/sr" hreflang="sr" />
<link rel="alternate" href="https://globalcatalog.com/builtinpro.hk/sk" hreflang="sk" />
<link rel="alternate" href="https://globalcatalog.com/builtinpro.hk/sl" hreflang="sl" />
<link rel="alternate" href="https://globalcatalog.com/builtinpro.hk/es" hreflang="es" />
<link rel="alternate" href="https://globalcatalog.com/builtinpro.hk/sw" hreflang="sw" />
<link rel="alternate" href="https://globalcatalog.com/builtinpro.hk/sv" hreflang="sv" />
<link rel="alternate" href="https://globalcatalog.com/builtinpro.hk/ta" hreflang="ta" />
<link rel="alternate" href="https://globalcatalog.com/builtinpro.hk/te" hreflang="te" />
<link rel="alternate" href="https://globalcatalog.com/builtinpro.hk/th" hreflang="th" />
<link rel="alternate" href="https://globalcatalog.com/builtinpro.hk/tr" hreflang="tr" />
<link rel="alternate" href="https://globalcatalog.com/builtinpro.hk/uk" hreflang="uk" />
<link rel="alternate" href="https://globalcatalog.com/builtinpro.hk/ur" hreflang="ur" />
<link rel="alternate" href="https://globalcatalog.com/builtinpro.hk/vi" hreflang="vi" />
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=G-KR0NYMYJ5P"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'G-KR0NYMYJ5P');
</script>
</head>
<body data-spy="scroll" data-target=".navbar">
<!--noscript>
<style type="text/css">
.pageContent {display:none;}
.noscriptmsg {width: 50%; padding: 20px;}
</style>
<div class="noscriptmsg">
<h4>JavaScript must be enabled in order for you to use GlobalCatalog.</h4>
<p>It seems JavaScript is either disabled or not supported by your browser. Please, enable JavaScript by changing your browser settings, then try again.</p>
</div>
</noscript-->
<div id="wrapper" class="profile-page pageContent">
<script type="text/javascript">
/*<![CDATA[*/
function split(val) {
return val.split(/,\s*/);
}
function extractLast(term) {
return split(term).pop();
}
/*]]>*/
</script>
<div class="logo navbar navbar-fixed-top"><div class="navbar-inner"><div class="container"><a class="btn btn-navbar" data-toggle="collapse" data-target="#yii_bootstrap_collapse_0"><span class="icon-bar"></span><span class="icon-bar"></span><span class="icon-bar"></span></a><a href="/" class="brand"><img src="/themes/proxima/images/logoSm.png"/></a><div class="nav-collapse" id="yii_bootstrap_collapse_0"><ul class="pull-right dropdown-toggle language-dropdown nav" id="yw10"><li onclick="_gaq.push(['_trackEvent', 'Top Menu Links', 'Click', 'Language']);" class="dropdown"><a class="dropdown-toggle" data-toggle="dropdown" href="#">Language: English <span class="caret"></span></a><ul id="yw11" class="dropdown-menu"><li title="Afrikaans"><a tabindex="-1" href="/builtinpro.hk/af">Afrikaans</a></li><li title="Albanian"><a tabindex="-1" href="/builtinpro.hk/sq">Shqiptar</a></li><li title="Arabic"><a tabindex="-1" href="/builtinpro.hk/ar">عربي</a></li><li title="Azeri"><a tabindex="-1" href="/builtinpro.hk/az">آذربایجان دیلی</a></li><li title="Armenian"><a tabindex="-1" href="/builtinpro.hk/hy">Հայերէն</a></li><li title="Bengali"><a tabindex="-1" href="/builtinpro.hk/bn">বাংলা</a></li><li title="Belarusian"><a tabindex="-1" href="/builtinpro.hk/be">Беларускія</a></li><li title="Bulgarian"><a tabindex="-1" href="/builtinpro.hk/bg">Български</a></li><li title="Catalan"><a tabindex="-1" href="/builtinpro.hk/ca">Català</a></li><li title="Simplified Chinese"><a tabindex="-1" href="/builtinpro.hk/zh">简体</a></li><li title="Traditional Chinese"><a tabindex="-1" href="/builtinpro.hk/tw">繁體</a></li><li title="Croatian"><a tabindex="-1" href="/builtinpro.hk/hr">Hrvatski</a></li><li title="Czech"><a tabindex="-1" href="/builtinpro.hk/cs">Čeština</a></li><li title="Danish"><a tabindex="-1" href="/builtinpro.hk/da">Dansk</a></li><li title="Dutch"><a tabindex="-1" href="/builtinpro.hk/nl">Nederlands</a></li><li title="English"><a tabindex="-1" href="/builtinpro.hk/en">English</a></li><li title="Estonian"><a tabindex="-1" href="/builtinpro.hk/et">Eesti keel</a></li><li title="Filipino"><a tabindex="-1" href="/builtinpro.hk/fil">Filipino</a></li><li title="Finnish"><a tabindex="-1" href="/builtinpro.hk/fi">Suomi</a></li><li title="French"><a tabindex="-1" href="/builtinpro.hk/fr">Français</a></li><li title="Georgian"><a tabindex="-1" href="/builtinpro.hk/ka">ქართული</a></li><li title="German"><a tabindex="-1" href="/builtinpro.hk/de">Deutsch</a></li><li title="Greek"><a tabindex="-1" href="/builtinpro.hk/el">Eλληνική</a></li><li title="Hebrew"><a tabindex="-1" href="/builtinpro.hk/he">עִבְרִית</a></li><li title="Hindi"><a tabindex="-1" href="/builtinpro.hk/hi">मानक हिन्दी</a></li><li title="Hungarian"><a tabindex="-1" href="/builtinpro.hk/hu">Magyar</a></li><li title="Icelandic"><a tabindex="-1" href="/builtinpro.hk/is">Íslenska</a></li><li title="Indonesian"><a tabindex="-1" href="/builtinpro.hk/id">Bahasa Indonesia</a></li><li title="Irish"><a tabindex="-1" href="/builtinpro.hk/ga">Irish</a></li><li title="Italian"><a tabindex="-1" href="/builtinpro.hk/it">Italiano</a></li><li title="Japanese"><a tabindex="-1" href="/builtinpro.hk/ja">日本語</a></li><li title="Korean"><a tabindex="-1" href="/builtinpro.hk/ko">한국어</a></li><li title="Latvian"><a tabindex="-1" href="/builtinpro.hk/lv">Latviešu</a></li><li title="Lithuanian"><a tabindex="-1" href="/builtinpro.hk/lt">Lietuviù</a></li><li title="Macedonian"><a tabindex="-1" href="/builtinpro.hk/mk">Македонски</a></li><li title="Malay"><a tabindex="-1" href="/builtinpro.hk/ms">بهاس ملايو</a></li><li title="Maltese"><a tabindex="-1" href="/builtinpro.hk/mt">Malti</a></li><li title="Norwegian Bokmål"><a tabindex="-1" href="/builtinpro.hk/nb">Norsk</a></li><li title="Persian"><a tabindex="-1" href="/builtinpro.hk/fa">فارسی</a></li><li title="Polish"><a tabindex="-1" href="/builtinpro.hk/pl">Polski</a></li><li title="Portuguese"><a tabindex="-1" href="/builtinpro.hk/pt">Português</a></li><li title="Romanian"><a tabindex="-1" href="/builtinpro.hk/ro">Română</a></li><li title="Russian"><a tabindex="-1" href="/builtinpro.hk/ru">Pусский</a></li><li title="Serbian"><a tabindex="-1" href="/builtinpro.hk/sr">Cрпски</a></li><li title="Slovak"><a tabindex="-1" href="/builtinpro.hk/sk">Slovenčina</a></li><li title="Slovenian"><a tabindex="-1" href="/builtinpro.hk/sl">Slovenščina</a></li><li title="Spanish"><a tabindex="-1" href="/builtinpro.hk/es">Español</a></li><li title="Swahili"><a tabindex="-1" href="/builtinpro.hk/sw">Kiswahili</a></li><li title="Swedish"><a tabindex="-1" href="/builtinpro.hk/sv">Svenska</a></li><li title="Tamil"><a tabindex="-1" href="/builtinpro.hk/ta">தமிழ்</a></li><li title="Telugu"><a tabindex="-1" href="/builtinpro.hk/te">తెలుగు</a></li><li title="Thai"><a tabindex="-1" href="/builtinpro.hk/th">ภาษาไทย</a></li><li title="Turkish"><a tabindex="-1" href="/builtinpro.hk/tr">Türkçe</a></li><li title="Ukrainian"><a tabindex="-1" href="/builtinpro.hk/uk">Українськи</a></li><li title="Urdu"><a tabindex="-1" href="/builtinpro.hk/ur">اردو</a></li><li title="Vietnamese"><a tabindex="-1" href="/builtinpro.hk/vi">Việt</a></li></ul></li></ul><form class="navbar-search pull-left" action="/search/view"><input id="navSearchBar" autocomplete="off" data-provide="typeahead" name="q" type="text" class="search-query span3" placeholder="Search for products and services" /></form><ul class="pull-right dropdown-toggle nav" id="yw12"><li onclick="_gaq.push(['_trackEvent', 'Top Menu Links', 'Click', 'Sign Up']);"><a href="/signup">Get started, it's free!</a></li><li onclick="_gaq.push(['_trackEvent', 'Top Menu Links', 'Click', 'Login']);"><a href="/login">Sign In</a></li></ul></div></div></div></div>
<div class="container row-fluid" id="page">
<div class="companyProfile">
<div class="row">
<div class="span12">
<div id="inquiryModal" class="modal inquiryModal hide fade" tabindex="-1" role="dialog" data-remote="true">
<div class="modal-border">
<div class="modal-header">
<a class="close-modal closeIcon" data-dismiss="modal" onclick="$('#inquiryModal .error-div').hide();"></a>
<center>
<h2 class="inquiryDialogTitle">Contact Us</h2>
<h3>Submit Your Inquiry</h3>
</center>
</div><form class="form-vertical" id="modal-contact-form" action="/builtinpro.hk/en" method="post"><div class="modal-body">
<div class="form">
<p class="note">Fields with <span class="required">*</span> are required.</p><div class="error-div alert alert-block alert-error" style="display:none;"></div><div class="leftHalf"><div class="textLeft" style="display:inline-block;"><label for="ContactForm_firstName" class="required">First name <span class="required">*</span></label><input autofocus="autofocus" id="inquiryModal-firstName" name="ContactForm[firstName]" type="text" /></div></div><div class="rightHalf" style="width: 50%; text-align: right;"><div class="textLeft" style="display:inline-block;"><label for="ContactForm_lastName" class="required">Last name <span class="required">*</span></label><input class="" id="inquiryModal-lastName" name="ContactForm[lastName]" type="text" /></div></div><label for="ContactForm_email" class="required">Email <span class="required">*</span></label><input style="width: 100%" id="inquiryModal-email" name="ContactForm[email]" type="text" /><input id="inquiryModal-subject" name="ContactForm[subject]" type="hidden" /><input id="inquiryModal-source" type="hidden" value="modal" name="Source" /><label for="ContactForm_body" class="required">Message <span class="required">*</span></label><textarea rows="4" class="" style="width: 100%" id="inquiryModal-body" name="ContactForm[body]"></textarea><label for="ContactForm_verifyCode">Verification Code</label><div><img id="yw8" src="/company/captcha?v=667fb7dfa04e3" alt="" /><input class="captcha right" name="ContactForm[verifyCode]" id="ContactForm_verifyCode" type="text" /></div></div><!-- form -->
</div><div class="modal-footer"><button id="submitButton_inquiryModal" class="btn btn-primary" type="submit" name="yt0">Submit</button><a class="close-modal btn" data-dismiss="modal" onclick="$("#inquiryModal .error-div").hide();" href="#">Close</a></div></div></div><!-- inquiryModal --></form><div id="followModal" class="modal hide fade formDialog" tabindex="-1" role="dialog">
<div class="modal-border"><div class="modal-header">
<a id="followModalCloseButton" class="close-modal closeIcon" data-dismiss="modal" onclick="$('#followModal .error-div').hide();"></a>
<h2 id="dialogTitle">Follow company<img id="loader-followModal" class="uiLoadingIndicator hidden img" src="/themes/proxima/images/loading372727.gif" alt=""></h2>
</div><form class="form-vertical" id="followmodal-form" action="/builtinpro.hk/en" method="post"><div class="modal-body"><div class="form"><div class="content-box">
<div class="content-fields">
<div class="alert alert-block alert-error" id="followmodal-form_es_" style="display:none"><p>Please fix the following input errors:</p>
<ul><li>dummy</li></ul></div><div class="control-group"><input type="hidden" value="9491741" name="CompanyId" id="CompanyId" /><input type="hidden" value="1" name="Reset" id="Reset" /><div class="followAll"><input value="0" id="Categories_all" type="checkbox" name="All[]" data-toggle="toggle" data-size="small" data-on=" " data-off=" "> <span for="Categories_all">Select all</span></div></div> </div>
</div>
</div></div><div class="modal-footer form-actions"><button id="followModalSubmitButton" class="ajaxSubmitBtn btn btn-primary" name="yt1" type="button">Save</button><button id="followModalCancelButton" class="btn" data-dismiss="modal" name="yt2" type="button">Cancel</button></div></form></div></div><div id="companyHeader" class="frame largeRoundCorners clearCornersTop"><div class="headerImage"><div itemscope itemtype="http://schema.org/Organization"><div class="headerInside"><div class="companyName jtextfill" style="height:90px;"><h1><a href="/builtinpro.hk"><span itemprop="name">BUILT-IN PRO </span></a></h1></div><div class="companyLogoAndContact mediumRoundCorners largeShadow f32"><div class="companyLogoBox frame smallRoundCorners"><div itemprop="logo" class="companyLogo" style="background: url(https://globalcatalog.com/asset/showThumb/1229882/built-in-pro-logo.png) center center no-repeat; background-size: contain;"></div></div><div class="companyContact"><div class="ribbon right"><span class="flag hk"></span></div><ul class="right"><div itemprop="address" itemscope itemtype="http://schema.org/PostalAddress"><li title="Kwun Tong"><span itemprop="streetAddress">Kwun Tong</span></li><li title="Hong Kong, "><span itemprop="addressLocality">Hong Kong</span>, <span itemprop="postalCode"></span></li><li title="Hong Kong"><span itemprop="addressCountry">Hong Kong</span></li></div><li title="23044092"><span class="indent">Tel:</span><span class="telephone" itemprop="telephone">23044092</span></li><li title=""><span class="indent">Fax:</span><span class="faxNumber inactive" itemprop="faxNumber"> ---.---.-----</span></li><li title="https://www.builtinpro.hk"><span class="indent">Url:</span><a class="websiteUrl" href="https://www.builtinpro.hk" target="_blank" rel="nofollow" itemprop="url">https://www.builtinpro.hk</a></li></ul></div></div></div></div></div><div class="companyHeaderInsideBottom"><div class="headerInside"><div class="headerControlBar"><div class="headerControls"><a class="inquiryBtn btn" data-toggle="modal" data-target="#inquiryModal" href="#">Message</a></div><div class="socialMediaLinks"><a id="socialMediaLinkFacebook" href="https://www.facebook.com/builtinpro/" target="_blank" class="icons-socialmedia icon-facebook"></a><a id="socialMediaLinkTwitter" href="https://twitter.com/" target="_blank" class="icons-socialmedia icon-twitter inactive"></a><a id="socialMediaLinkLinkedIn" href="https://www.linkedin.com/company/builtinpro" target="_blank" class="icons-socialmedia icon-linkedin"></a><a id="socialMediaLinkYouTube" href="https://www.youtube.com/@builtinpro" target="_blank" class="icons-socialmedia icon-youtube"></a><a id="socialMediaLinkInstagram" href="https://www.instagram.com/builtinpro.hk/" target="_blank" class="icons-socialmedia icon-instagram"></a><a id="socialMediaLinkPinterest" href="https://pinterest.com/" target="_blank" class="icons-socialmedia icon-pinterest inactive"></a></div></div></div></div></div><!-- companyHeader --> </div>
</div>
<div class="row pinned-container">
<div class="span12">
<div class="firstColumn">
<div id="sidebar" class="pinned frame mediumRoundCorners smallShadow">
<div class="inside smallRoundCorners">
<ul class="operations nav nav-list" id="yw9"><li class="nav-header">COMPANY PROFILE</li><li class="active"><a href="/builtinpro.hk"><i class="icon-home"></i> Home<i class="icon-chevron-right right"></i></a></li><li><a href="/builtinpro.hk/en/about"><i class="icon-book"></i> About Us<i class="icon-chevron-right right"></i></a></li><li><a href="/company/events/9491741?identifier=builtinpro.hk&lang=en&page=events"><i class="icon-calendar"></i> Events<i class="icon-chevron-right right"></i></a></li><li><a href="/builtinpro.hk/en/markets"><i class="icon-globe"></i> Trade & Markets<i class="icon-chevron-right right"></i></a></li><li><a href="/builtinpro.hk/en/contact"><i class="icon-pencil"></i> Contact<i class="icon-chevron-right right"></i></a></li></ul> </div>
</div><!-- sidebar -->
</div>
<div class="secondColumn">
<div id="content">
<div id="companyView" class="newsfeed">
<div class="view frame mediumRoundCorners smallShadow" style="background-color: #fff">
<div class="inside smallRoundCorners">
<!--ul class="breadcrumb">
<li><a href="/builtinpro.hk/en">BUILT-IN PRO </a><span class="divider">/</span></li>
<li class="active">Home</li></ul-->
<div id="blueBanner4" class="hidden">
<div class="slide-out-div blueBanner-v3">
<a class="handle" href="https://globalcatalog.com/signup">Content</a>
<h1>Seeing is believing!</h1>
<div class="inside">
<p class="subtitle">You found this company profile listed on <a href="https://globalcatalog.com/signup">Global Catalog</a>, so we’re confident <b>buyers WILL find your business</b>, too. All you need to do is sign up!</p>
<p class="subtitle">You will be seen <b>for FREE by thousands of active buyers </b> from across the globe, searching <a href="https://globalcatalog.com/signup">Global Catalog</a> every day for companies just like yours.</p>
<div class="signup">
<a href="https://globalcatalog.com/signup" class="btn btn-primary btn-large" onclick="_gaq.push(['_trackEvent', 'Company Profile', 'Blue Banner', 'V3-LEFT-SIGNUP'])"">Sign up</a>
<p>It's FREE and always will be.</p>
</div>
</div>
</div></div>
<h1>Home</h1>
<div class="description-short bottomBorder">
<div class="description">
<div id="companyDescriptionBox" class="data smallRoundCorners"><div class="formUnit"><div class="form"><div id="languageModal" class="modal hide fade" tabindex="-1" role="dialog" data-remote="true">
<div class="modal-border">
<div class="modal-header">
<a class="close-modal closeIcon" data-dismiss="modal" onclick="$('#languageModal .error-div').hide();"></a>
<h2 id="inquiryDialogTitle">Select language:</h2>
</div><div class="modal-body"><select class="span3" autofocus="autofocus" name="languageSelect_languageModal" id="languageSelect_languageModal">
<option value="1">Afrikaans</option>
<option value="2">Albanian</option>
<option value="3">Arabic</option>
<option value="4">Azeri</option>
<option value="5">Armenian</option>
<option value="6">Bengali</option>
<option value="7">Belarusian</option>
<option value="8">Bulgarian</option>
<option value="9">Catalan</option>
<option value="10">Simplified Chinese</option>
<option value="11">Traditional Chinese</option>
<option value="12">Croatian</option>
<option value="13">Czech</option>
<option value="14">Danish</option>
<option value="15">Dutch</option>
<option value="16" selected="selected">English</option>
<option value="17">Estonian</option>
<option value="18">Filipino</option>
<option value="19">Finnish</option>
<option value="20">French</option>
<option value="21">Georgian</option>
<option value="22">German</option>
<option value="23">Greek</option>
<option value="24">Hebrew</option>
<option value="25">Hindi</option>
<option value="26">Hungarian</option>
<option value="27">Icelandic</option>
<option value="28">Indonesian</option>
<option value="29">Irish</option>
<option value="30">Italian</option>
<option value="31">Japanese</option>
<option value="32">Korean</option>
<option value="33">Latvian</option>
<option value="34">Lithuanian</option>
<option value="35">Macedonian</option>
<option value="36">Malay</option>
<option value="37">Maltese</option>
<option value="38">Norwegian Bokmål</option>
<option value="39">Persian</option>
<option value="40">Polish</option>
<option value="41">Portuguese</option>
<option value="42">Romanian</option>
<option value="43">Russian</option>
<option value="44">Serbian</option>
<option value="45">Slovak</option>
<option value="46">Slovenian</option>
<option value="47">Spanish</option>
<option value="48">Swahili</option>
<option value="49">Swedish</option>
<option value="50">Tamil</option>
<option value="51">Telugu</option>
<option value="52">Thai</option>
<option value="53">Turkish</option>
<option value="54">Ukrainian</option>
<option value="55">Urdu</option>
<option value="56">Vietnamese</option>
</select><input type="hidden" class="modal-result"></div><div class="modal-footer"><a id="selectButton_languageModal" class="close-modal btn btn-primary" data-dismiss="modal">Select</a><a id="closeButton_languageModal" class="close-modal btn" data-dismiss="modal" href="#">Close</a></div></div></div><!-- inquiryModal -->
<div class="data-header">
<h3>Description<img id="loader-companyDescriptionBox" class="uiLoadingIndicator img hidden" src="/themes/proxima/images/loading372727.gif" alt=""></h3>
</div>
<div class="data-content">
<div class="inside">
<div class="view-section">
<div class="view-group"> <div id="companyDescription" class="description-content ">
<p>BUILT-IN PRO is one of the largest companies specializing in kitchen appliances, that has been in the consumer electronics industry for over 30 years. We have branches in different regions, with our back office in Kwun Tong. We provide high-quality products for distribution, premium services, and delivery services, along with exclusive promotions, all aimed at meeting and exceeding our customer's expectations. BUILT-IN PRO now have an immediate vacancy for candidates who are seeking challenges and opportunities for advancements. We offer excellent fringe benefits and attractive development prospect to the right candidates.</p> </div>
</div>
</div>
</div>
</div></div></div></div> </div>
<a class="right" style="position: absolute; bottom: 5px; right: 15px;" href="/builtinpro.hk/en/about">Read More »</a>
</div>
<div class="clear"></div>
<div class="clear"></div>
<!-- features products -->
<br />
<div class="featuredProducts smallRoundCorners">
<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<!-- Company Profile - Featured Box 1 -->
<ins class="adsbygoogle"
style="display:inline-block;width:300px;height:250px"
data-ad-client="ca-pub-2558538670494525"
data-ad-slot="4378653090"></ins>
<!-- Company Profile - Featured Box 2 -->
<ins class="adsbygoogle"
style="display:inline-block;width:300px;height:250px;float:right"
data-ad-client="ca-pub-2558538670494525"
data-ad-slot="2762319092"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>
</div>
</div>
</div>
<br />
<br />
<div class="">
<h1>Timeline</h1>
<div id="imageModal" class="modal messageModal hide fade" tabindex="-1" role="dialog">
<div class="modal-border">
<div class="modal-header"><a class="close-modal closeIcon" data-dismiss="modal" onclick="$('#imageModal .error-div').hide();"></a></div><div class="modal-body"><img id="imageModalImage" src="" /></div><div class="modal-footer"><a id="closeButton_imageModal" class="close-modal btn btn-info" data-dismiss="modal" href="#">Close</a></div></div></div>
<div id="templates-timelineWidget" class="hidden"><div id="yw0"><div class="post sociallinkUpdateEventWidget frame mediumRoundCorners smallShadow"><div class="post-header"><a href="/{{companyIdentifier}}"><div class="companyLogo" style="background: url(https://globalcatalog.com/asset/showThumb/{{logoId}}) center center no-repeat; background-size: contain;"></div></a><div class="content" style="display: inline-block"><h3><a href="/{{companyIdentifier}}">{{companyName}}</a> {{title}}</h3></div></div><div class="post-body"><a id="socialMediaLinkFacebook-{{eventId}}" href="{{facebookLink}}" target="_blank" class="socialMediaLinkFacebook icons-socialmedia icon-facebook inactive"></a><a id="socialMediaLinkTwitter-{{eventId}}" href="{{twitterLink}}" target="_blank" class="socialMediaLinkTwitter icons-socialmedia icon-twitter inactive"></a><a id="socialMediaLinkLinkedIn-{{eventId}}" href="{{linkedInLink}}" target="_blank" class="socialMediaLinkLinkedIn icons-socialmedia icon-linkedin inactive"></a><a id="socialMediaLinkYouTube-{{eventId}}" href="{{youTubeLink}}" target="_blank" class="socialMediaLinkYouTube icons-socialmedia icon-youtube inactive"></a><a id="socialMediaLinkInstagram-{{eventId}}" href="{{instagramLink}}" target="_blank" class="socialMediaLinkInstagram icons-socialmedia icon-instagram inactive"></a><a id="socialMediaLinkPinterest-{{eventId}}" href="{{pinterestLink}}" target="_blank" class="socialMediaLinkPinterest icons-socialmedia icon-pinterest inactive"></a></div><div class="post-footer"></div></div></div><div id="yw1"><div class="post websiteUpdateEventWidget frame mediumRoundCorners smallShadow"><div class="post-header"><a href="/{{companyIdentifier}}"><div class="companyLogo" style="background: url(https://globalcatalog.com/asset/showThumb/{{logoId}}) center center no-repeat; background-size: contain;"></div></a><div class="content" style="display: inline-block"><h3><a href="/{{companyIdentifier}}">{{companyName}}</a> {{title}}</h3></div></div><div class="post-body"><h2>Visit our website @ <a href="{{website}}">{{website}}</a></h2></div><div class="post-footer"></div></div></div><div id="yw2"><div class="post addressUpdateEventWidget frame mediumRoundCorners smallShadow"><div class="post-header"><a href="/{{companyIdentifier}}"><div class="companyLogo" style="background: url(https://globalcatalog.com/asset/showThumb/{{logoId}}) center center no-repeat; background-size: contain;"></div></a><div class="content" style="display: inline-block"><h3><a href="/{{companyIdentifier}}">{{companyName}}</a> {{title}}</h3></div></div><div class="post-body"><p>Our new location address: </p><h4 class="newAddress">{{street}}, {{city}}, {{state}}, {{postalCode}}, {{country}}</h4></div><div class="post-footer"></div></div></div><div id="yw3"><div class="post productEventWidget frame mediumRoundCorners smallShadow"><div class="post-header"><a href="/{{companyIdentifier}}"><div class="companyLogo" style="background: url(https://globalcatalog.com/asset/showThumb/{{logoId}}) center center no-repeat; background-size: contain;"></div></a><div class="content" style="display: inline-block"><h3><a href="/{{companyIdentifier}}">{{companyName}}</a> {{title}}</h3></div></div><div class="post-body"><div class="product"><div class="product-image"><div class="product-price hidden"><div class="product-price-original hidden"><sup class="symbol">{{symbol}}</sup><span class="value">{{oldPrice}}</span><sup class="units">{{currency}}</sup></div><h2><sup class="symbol">{{symbol}}</sup><span class="value">{{price}}</span><sup class="units">{{currency}}</sup></h2></div><div class="product-price-change hidden"><span class="onsale">SALE</span><span class="value change"></span><sup>%</sup></div><a href="/{{companyIdentifier}}/{{productUrl}}-pro{{productId}}"><img src="/asset/showImage/{{imageId}}" /></a></div><div class="product-text"><div class="product-name"><a href="/{{companyIdentifier}}/{{productUrl}}-pro{{productId}}"><h2>{{name}}</h2></a></div></div></div></div><div class="post-footer"></div></div></div><div id="yw4"><div class="post companyEventWidget frame mediumRoundCorners smallShadow"><div class="post-header"><a href="/{{companyIdentifier}}"><div class="companyLogo" style="background: url(https://globalcatalog.com/asset/showThumb/{{logoId}}) center center no-repeat; background-size: contain;"></div></a><div class="content" style="display: inline-block"><h3><a href="/{{companyIdentifier}}">{{companyName}}</a> {{title}}</h3></div></div><div class="post-body"><div class="product"><div class="product-image"><a id="event{{eventId}}-ImageLink" class="hidden" href=""><img src="" /></a></div><div class="product-text"><div class="product-name"><h2>{{name}}</h2></div><div class="more product-description"><p>{{description}}</p></div></div></div></div><div class="post-footer"></div></div></div></div><div id="timelineWidget" class="timeline"><div id="event1973805" class="addressUpdate"><div id="yw5"><div class="post addressUpdateEventWidget frame mediumRoundCorners smallShadow"><div class="post-header"><a href="/builtinpro.hk"><div class="companyLogo" style="background: url(https://globalcatalog.com/asset/showThumb/1229882) center center no-repeat; background-size: contain;"></div></a><div class="content" style="display: inline-block"><h3><a href="/builtinpro.hk">BUILT-IN PRO </a> updated address</h3></div></div><div class="post-body"><p>Our new location address: </p><h4 class="newAddress">Kwun Tong, Hong Kong, {{state}}, , Hong Kong</h4></div><div class="post-footer"></div></div></div></div><div id="event1973806" class="websiteUpdate"><div id="yw6"><div class="post websiteUpdateEventWidget frame mediumRoundCorners smallShadow"><div class="post-header"><a href="/builtinpro.hk"><div class="companyLogo" style="background: url(https://globalcatalog.com/asset/showThumb/1229882) center center no-repeat; background-size: contain;"></div></a><div class="content" style="display: inline-block"><h3><a href="/builtinpro.hk">BUILT-IN PRO </a> updated website</h3></div></div><div class="post-body"><h2>Visit our website @ <a href="https://www.builtinpro.hk">https://www.builtinpro.hk</a></h2></div><div class="post-footer"></div></div></div></div><div id="event1973804" class="socialLinkUpdate"><div id="yw7"><div class="post sociallinkUpdateEventWidget frame mediumRoundCorners smallShadow"><div class="post-header"><a href="/builtinpro.hk"><div class="companyLogo" style="background: url(https://globalcatalog.com/asset/showThumb/1229882) center center no-repeat; background-size: contain;"></div></a><div class="content" style="display: inline-block"><h3><a href="/builtinpro.hk">BUILT-IN PRO </a> updated social links</h3></div></div><div class="post-body"><a id="socialMediaLinkFacebook-1973804" href="https://www.facebook.com/builtinpro/" target="_blank" class="socialMediaLinkFacebook icons-socialmedia icon-facebook inactive"></a><a id="socialMediaLinkTwitter-1973804" href="" target="_blank" class="socialMediaLinkTwitter icons-socialmedia icon-twitter inactive"></a><a id="socialMediaLinkLinkedIn-1973804" href="{{linkedInLink}}" target="_blank" class="socialMediaLinkLinkedIn icons-socialmedia icon-linkedin inactive"></a><a id="socialMediaLinkYouTube-1973804" href="{{youTubeLink}}" target="_blank" class="socialMediaLinkYouTube icons-socialmedia icon-youtube inactive"></a><a id="socialMediaLinkInstagram-1973804" href="{{instagramLink}}" target="_blank" class="socialMediaLinkInstagram icons-socialmedia icon-instagram inactive"></a><a id="socialMediaLinkPinterest-1973804" href="" target="_blank" class="socialMediaLinkPinterest icons-socialmedia icon-pinterest inactive"></a></div><div class="post-footer"></div></div></div></div></div></div>
</div><!-- companyView --> </div><!-- content -->
</div>
</div>
</div>
<div class="clear"></div>
</div><!-- page --></div><!-- companyProfile -->
<div class="push-page"></div>
</div><!-- wrap -->
<div id="footer" class="footer-page pageContent">
<div class="container">
<ul id="footernav">
<li><a href="/builtinpro.hk">Home</a></li>
<li><a href="/builtinpro.hk/en/about">About Us</a></li>
<li><a href="/builtinpro.hk/en/products">Products</a></li>
<li><a href="/builtinpro.hk/en/services">Services</a></li>
<li><a href="/builtinpro.hk/en/markets">Trade & Markets</a></li>
<li><a href="/builtinpro.hk/en/contact">Contact</a></li>
</ul>
<p class="copyright">© 2024 <a href="/">GlobalCatalog Inc.</a></p>
<br />
<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<!-- Company Profile - Featured Products -->
<ins class="adsbygoogle"
style="display:block"
data-ad-client="ca-pub-2558538670494525"
data-ad-slot="2811508295"
data-ad-format="auto"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>
</div><!-- footer container -->
</div><!-- footer -->
<script type="text/javascript" src="/themes/proxima/js/jquery.pin.js"></script>
<script type="text/javascript">
/*<![CDATA[*/
// $(".pinned").pin({
// minWidth: 940
// });
console.log("pinning elements.");
$(".pinned").pin({containerSelector: ".pinned-container", minWidth: 940});
// $(window).scroll(function(){
// if ($(window).scrollTop() >= 160) {
// $('#sidebar').css({position:'fixed', width: '200px', top: '50px'});
// //$('.secondColumn').css({marginLeft: '224px'});
// $('.secondColumn').css({marginLeft: '224px'});
// }
// else {
// $('#sidebar').css({position:'relative', width: '200px', top:0});
// $('.secondColumn').css({marginLeft: '25px'});
// }
// });
jQuery(function($) {
$.globalcatalog.loginRequiredAjaxResponse = "GC_LOGIN_REQUIRED";
$.globalcatalog.location.countryId = 1079;
$.globalcatalog.location.countryCode = "US";
$.globalcatalog.location.countryName = "United States";
$.globalcatalog.languageId =16;
$.globalcatalog.languages = []; $.globalcatalog.languages[1] = {"Name" : "Afrikaans", "Translation" : "Afrikaans", "Code" : "af"};$.globalcatalog.languages[2] = {"Name" : "Albanian", "Translation" : "Albanian", "Code" : "sq"};$.globalcatalog.languages[3] = {"Name" : "Arabic", "Translation" : "Arabic", "Code" : "ar"};$.globalcatalog.languages[4] = {"Name" : "Azerbaijani", "Translation" : "Azeri", "Code" : "az"};$.globalcatalog.languages[5] = {"Name" : "Armenian", "Translation" : "Armenian", "Code" : "hy"};$.globalcatalog.languages[6] = {"Name" : "Bengali", "Translation" : "Bengali", "Code" : "bn"};$.globalcatalog.languages[7] = {"Name" : "Belarusian", "Translation" : "Belarusian", "Code" : "be"};$.globalcatalog.languages[8] = {"Name" : "Bulgarian", "Translation" : "Bulgarian", "Code" : "bg"};$.globalcatalog.languages[9] = {"Name" : "Catalan", "Translation" : "Catalan", "Code" : "ca"};$.globalcatalog.languages[10] = {"Name" : "ChineseSimplified", "Translation" : "Simplified Chinese", "Code" : "zh-CN"};$.globalcatalog.languages[11] = {"Name" : "ChineseTraditional", "Translation" : "Traditional Chinese", "Code" : "zh-TW"};$.globalcatalog.languages[12] = {"Name" : "Croatian", "Translation" : "Croatian", "Code" : "hr"};$.globalcatalog.languages[13] = {"Name" : "Czech", "Translation" : "Czech", "Code" : "cs"};$.globalcatalog.languages[14] = {"Name" : "Danish", "Translation" : "Danish", "Code" : "da"};$.globalcatalog.languages[15] = {"Name" : "Dutch", "Translation" : "Dutch", "Code" : "nl"};$.globalcatalog.languages[16] = {"Name" : "English", "Translation" : "English", "Code" : "en"};$.globalcatalog.languages[17] = {"Name" : "Estonian", "Translation" : "Estonian", "Code" : "et"};$.globalcatalog.languages[18] = {"Name" : "Filipino", "Translation" : "Filipino", "Code" : "fil"};$.globalcatalog.languages[19] = {"Name" : "Finnish", "Translation" : "Finnish", "Code" : "fi"};$.globalcatalog.languages[20] = {"Name" : "French", "Translation" : "French", "Code" : "fr"};$.globalcatalog.languages[21] = {"Name" : "Georgian", "Translation" : "Georgian", "Code" : "ka"};$.globalcatalog.languages[22] = {"Name" : "German", "Translation" : "German", "Code" : "de"};$.globalcatalog.languages[23] = {"Name" : "Greek", "Translation" : "Greek", "Code" : "el"};$.globalcatalog.languages[24] = {"Name" : "Hebrew", "Translation" : "Hebrew", "Code" : "he"};$.globalcatalog.languages[25] = {"Name" : "Hindi", "Translation" : "Hindi", "Code" : "hi"};$.globalcatalog.languages[26] = {"Name" : "Hungarian", "Translation" : "Hungarian", "Code" : "hu"};$.globalcatalog.languages[27] = {"Name" : "Icelandic", "Translation" : "Icelandic", "Code" : "is"};$.globalcatalog.languages[28] = {"Name" : "Indonesian", "Translation" : "Indonesian", "Code" : "id"};$.globalcatalog.languages[29] = {"Name" : "Irish", "Translation" : "Irish", "Code" : "ga"};$.globalcatalog.languages[30] = {"Name" : "Italian", "Translation" : "Italian", "Code" : "it"};$.globalcatalog.languages[31] = {"Name" : "Japanese", "Translation" : "Japanese", "Code" : "ja"};$.globalcatalog.languages[32] = {"Name" : "Korean", "Translation" : "Korean", "Code" : "ko"};$.globalcatalog.languages[33] = {"Name" : "Latvian", "Translation" : "Latvian", "Code" : "lv"};$.globalcatalog.languages[34] = {"Name" : "Lithuanian", "Translation" : "Lithuanian", "Code" : "lt"};$.globalcatalog.languages[35] = {"Name" : "Macedonian", "Translation" : "Macedonian", "Code" : "mk"};$.globalcatalog.languages[36] = {"Name" : "Malay", "Translation" : "Malay", "Code" : "ms"};$.globalcatalog.languages[37] = {"Name" : "Maltese", "Translation" : "Maltese", "Code" : "mt"};$.globalcatalog.languages[38] = {"Name" : "Norwegian", "Translation" : "Norwegian Bokmål", "Code" : "nb"};$.globalcatalog.languages[39] = {"Name" : "Persian", "Translation" : "Persian", "Code" : "fa"};$.globalcatalog.languages[40] = {"Name" : "Polish", "Translation" : "Polish", "Code" : "pl"};$.globalcatalog.languages[41] = {"Name" : "Portuguese", "Translation" : "Portuguese", "Code" : "pt"};$.globalcatalog.languages[42] = {"Name" : "Romanian", "Translation" : "Romanian", "Code" : "ro"};$.globalcatalog.languages[43] = {"Name" : "Russian", "Translation" : "Russian", "Code" : "ru"};$.globalcatalog.languages[44] = {"Name" : "Serbian", "Translation" : "Serbian", "Code" : "sr"};$.globalcatalog.languages[45] = {"Name" : "Slovak", "Translation" : "Slovak", "Code" : "sk"};$.globalcatalog.languages[46] = {"Name" : "Slovenian", "Translation" : "Slovenian", "Code" : "sl"};$.globalcatalog.languages[47] = {"Name" : "Spanish", "Translation" : "Spanish", "Code" : "es"};$.globalcatalog.languages[48] = {"Name" : "Swahili", "Translation" : "Swahili", "Code" : "sw"};$.globalcatalog.languages[49] = {"Name" : "Swedish", "Translation" : "Swedish", "Code" : "sv"};$.globalcatalog.languages[50] = {"Name" : "Tamil", "Translation" : "Tamil", "Code" : "ta"};$.globalcatalog.languages[51] = {"Name" : "Telugu", "Translation" : "Telugu", "Code" : "te"};$.globalcatalog.languages[52] = {"Name" : "Thai", "Translation" : "Thai", "Code" : "th"};$.globalcatalog.languages[53] = {"Name" : "Turkish", "Translation" : "Turkish", "Code" : "tr"};$.globalcatalog.languages[54] = {"Name" : "Ukrainian", "Translation" : "Ukrainian", "Code" : "uk"};$.globalcatalog.languages[55] = {"Name" : "Urdu", "Translation" : "Urdu", "Code" : "ur"};$.globalcatalog.languages[56] = {"Name" : "Vietnamese", "Translation" : "Vietnamese", "Code" : "vi"};
var bb = $("#blueBanner4");
$(bb).removeClass("hidden")
$(".slide-out-div", bb).tabSlideOut({
tabHandle: ".handle", //class of the element that will become your tab
pathToTabImage: "/themes/proxima/images/blueBanner/signupBb_v3.png", //path to the image for the tab *required*
imageHeight: "189px", //height of tab image *required*
imageWidth: "50px", //width of tab image *required*
tabLocation: "left", //side of screen where tab lives, top, right, bottom, or left
speed: 600, //speed of animation
action: "click", //options: "click" or "hover", action to trigger animation
topPos: "130px", //position from the top/ use if tabLocation is left or right
leftPos: "20px", //position from left/ use if tabLocation is bottom or top
autoCloseDelay: 14000,
fixedPosition: true, //options: true makes it stick(fixed position) on scroll
onLoadSlideOut: true,
onLoadSlideOutDelay: "6000"
});
_gaq.push(['_trackEvent', 'Company Profile', 'Blue Banner', 'V3-LEFT-SHOW'])
$('#descriptionLanguageTabs .tab a').click(function (e) {e.preventDefault();$(this).tab('show');});
$('#descriptionLanguageTabs_Plus a').click(function (e) {
e.preventDefault();
$('#languageModal .modal-result').removeAttr('value');
$('#languageModal').modal({show: true});
});
function onLanguageRemoveClick() {
var tab = $(this).closest('li');
var tabContent = $(this).parent().attr('href');
if($(tab).hasClass('active'))
{
var parent = $(tab).parent();
$(tab).remove();
$(tabContent).remove();
var firstSibling = $(parent).find('li:first-child');
$(firstSibling).addClass('active');
$($('a', firstSibling).attr('href')).addClass('active in');
}
else
{
$(tab).remove();
$(tabContent).remove();
}
return false;
}
$('#descriptionLanguageTabs').on('click', '.icon-remove', onLanguageRemoveClick);
$('#descriptionLanguageTabs .icon-remove').on('click', onLanguageRemoveClick);
$("#languageModal").on("shown", function () {$("input:text:visible:first", this).focus();});
$("#selectButton_languageModal").on("click", function(event) {
var selectedLanguageId = $("#languageSelect_languageModal").val();
$("#languageModal .modal-result").attr("value", selectedLanguageId).attr("language", $.globalcatalog.languages[selectedLanguageId]["Name"]).attr("translation", $.globalcatalog.languages[selectedLanguageId]["Translation"]);
$("#languageModal .error-div").hide();});
$("#closeButton_languageModal").on("click", function(event) {
$("#languageModal .modal-result").removeAttr("value"); $("#languageModal .error-div").hide();
});
$('#languageModal').bind('hide', function() {onDescriptionLanguageDialogHide(this, '16');});
$("#okButton_imageModal").on("click", function(event) {
var result = true;
console.log("imageModal dialog CLOSE button pressed.");
// stop event propagation when user clicks on any link (button)
if(!result)
{
event.stopPropagation();
}
else
{
$("#imageModal .error-div").hide();
}
});
!function ($) {
"use strict"; // jshint ;_;
var TimelineWidget = function (element, options) {
this.init("timelineWidget", element, options)
}
TimelineWidget.prototype = {
constructor: TimelineWidget
, init: function (type, element, options) {
// config
this.type = type
this.$element = $(element)
this.id = this.$element.attr("id");
this.options = this.getOptions(options)
this.enabled = true
this.html = ""
//this.data = [];
this.companyId = 9491741;
this.eventTypes = {"1":"addressUpdate","2":"socialLinkUpdate","3":"websiteUpdate","4":"messageNew","5":"messageUpdate","6":"productNew","7":"productUpdate","8":"productPriceChange","9":"productDelete","10":"categoryNew","11":"categoryDelete","12":"companyEvent","13":"serviceNew","14":"serviceUpdate","15":"servicePriceChange","16":"serviceDelete"};
this.userGroups = {"1":"Public","2":"Company","3":"Department","4":"Only Me","5":"Custom"};
this.eventType = null
if(this.options.eventType != "undefined")
this.eventType = this.options.eventType
var time = moment();
this.topEventTime = moment("2023-11-15 04:28:53");
this.bottomEventTime = moment("2023-11-15 04:26:16");
this.processedEventTime = null;
this.bottomReached = false;
this.DIRECTION_UP = 1;
this.DIRECTION_DOWN = 2;
this.eventTitles = {"2":"updated social links","3":"updated website","1":"updated address","6":"added a new product","7":"updated product information","8":"changed the price of a product","9":"removed a product","13":"added a new service","14":"updated service information","15":"changed the price of a service","16":"removed a service","12":"announced a new event","10":"added a category","11":"removed a category"};
// console.log("initial reference times: " + moment(this.topEventTime).format("YYYY-MM-DD HH:mm:ss") + ", " + moment(this.bottomEventTime).format("YYYY-MM-DD HH:mm:ss"));
// var dt = new Date();
// var time = dt.getHours() + ":" + dt.getMinutes() + ":" + dt.getSeconds();
// this.fetchNews(moment().format("YYYY-MM-DD HH:mm:ss [GMT]ZZ"), 10, this.DIRECTION_DOWN);
console.info(type + " [" + this.$element.attr("id") + "] created");
}
, update: function (direction) {
if(direction == this.DIRECTION_UP)
{
this.topRefresh(this, this.DIRECTION_UP);
}
else
{
this.bottomRefresh(this, this.DIRECTION_DOWN);
}
}
, reset: function () {
var time = moment(moment.utc(new Date()));
this.topEventTime = time;
this.bottomEventTime = null;
this.processedEventTime = null;
this.bottomReached = false;
this.$element.html("");
this.fetchNews(time.format("YYYY-MM-DD HH:mm:ss"), 10, this.DIRECTION_DOWN);
}
, setEventTypes: function(values) {
this.eventType = values;
}
, setCompanies: function(values) {
this.companyId = values;
}
, updateTimeline: function (events, direction) {
var that = this
$.each(events, function(i,item)
{
var time = moment(item.UpdateTime);
if(that.topEventTime == null || that.topEventTime < time)
{
that.topEventTime = time;
console.log("top time: " + moment(that.topEventTime).format("YYYY-MM-DD HH:mm:ss"));
}
else
{
if(direction == that.DIRECTION_UP)
{
console.log("---> exit: top time");
return;
}
}
if(that.bottomEventTime == null || that.bottomEventTime > time)
{
that.bottomEventTime = time;
console.log("bottom time: " + moment(that.bottomEventTime).format("YYYY-MM-DD HH:mm:ss"));
}
else
{
if(direction == that.DIRECTION_DOWN)
{
console.log("---> exit: bottom time");
return;
}
}
var html = "";
if(that.eventTypes[item.TypeId] == "addressUpdate")
html = "<div id=\"event" + item.Id + "\" class=\"sociallinkUpdate hidden\">Address update at " + item.UpdateTime + "<br /></div>";
if(that.eventTypes[item.TypeId] == "websiteUpdate")
html = "<div id=\"event" + item.Id + "\" class=\"websiteUpdate hidden\">Website update at " + item.UpdateTime + "<br /></div>";
if(that.eventTypes[item.TypeId] == "socialLinkUpdate")
html = "<div id=\"event" + item.Id + "\" class=\"sociallinkUpdate hidden\">Social links update at " + item.UpdateTime + "<br /></div>";
if(that.eventTypes[item.TypeId] == "productNew" || that.eventTypes[item.TypeId] == "serviceNew")
html = "<div id=\"event" + item.Id + "\" class=\"newProduct hidden\">New product added at " + item.UpdateTime + "<br /></div>";
if(that.eventTypes[item.TypeId] == "productPriceChange" || that.eventTypes[item.TypeId] == "servicePriceChange")
html = "<div id=\"event" + item.Id + "\" class=\"productPriceChange hidden\">Product price changed at " + item.UpdateTime + "<br /></div>";
if(that.eventTypes[item.TypeId] == "companyEvent")
html = "<div id=\"event" + item.Id + "\" class=\"productPriceChange hidden\">Company event posted at " + item.UpdateTime + "<br /></div>";
//html = html + item.Id + "<br /><br />";
switch(direction)
{
case that.DIRECTION_UP:
$(that.$element).prepend(html);
break;
case that.DIRECTION_DOWN:
$(that.$element).append(html);
break;
}
// http://www.digitoffee.com/programming/get-local-time-utc-using-moment-js/94/
var day = moment(item.UpdateTime).format("MMMM DD, YYYY @ HH:mm");
if(that.eventTypes[item.TypeId] == "socialLinkUpdate")
{
$("#event" + item.Id).sociallinkUpdateEventWidget({
context: {
eventId:item.Id,
eventTypeId:item.TypeId,
companyId:item.CompanyId,
companyName:item.LocalName,
companyIdentifier:item.Identifier,
title:that.eventTitles[item.TypeId],
logoId:item.LogoId,
time:day,
facebookLink:item.Facebook,
twitterLink:item.Twitter,
googlePlusLink:item.GooglePlus,
pinterestLink:item.Pinterest,
youTubeLink:item.YouTube,
instagramLink:item.Instagram,
linkedInLink:item.LinkedIn,
},
}).fadeIn("slow");
}
if(that.eventTypes[item.TypeId] == "websiteUpdate")
$("#event" + item.Id).websiteUpdateEventWidget({
context: {
eventId:item.Id,
eventTypeId:item.TypeId,
companyId:item.CompanyId,
companyName:item.LocalName,
companyIdentifier:item.Identifier,
title:that.eventTitles[item.TypeId],
logoId:item.LogoId,
website:item.Website,
time:day,
},
}).fadeIn("slow");
if(that.eventTypes[item.TypeId] == "addressUpdate")
{
$("#event" + item.Id).addressUpdateEventWidget({
context: {
eventId:item.Id,
eventTypeId:item.TypeId,
companyId:item.CompanyId,
companyName:item.LocalName,
companyIdentifier:item.Identifier,
title:that.eventTitles[item.TypeId],
logoId:item.LogoId,
time:day,
street:item.LocalStreet1,
city:item.LocalCity,
state:item.State,
postalCode:item.PostalCode,
country:item.Country,
latitude:item.Latitude,
longitude:item.Longitude,
},
}).fadeIn("slow");
}
if(that.eventTypes[item.TypeId] == "productNew" || that.eventTypes[item.TypeId] == "serviceNew")
{
var productName = (item.English == null ? item.English : item.English);
$("#event" + item.Id).productEventWidget({
context: {
eventId:item.Id,
eventTypeId:item.TypeId,
companyId:item.CompanyId,
companyName:item.LocalName,
companyIdentifier:item.Identifier,
title:that.eventTitles[item.TypeId],
logoId:item.LogoId,
name:productName,
productId:item.ProductId,
productUrl:stringToUrl(productName, "-", 240),
price:new Number(that.removeCents(item.Price)).toLocaleString(),
symbol:item.Symbol,
currency:item.IsoAlphabeticCode,
imageId:item.ImageId,
time:day,
},
}).fadeIn("slow");
}
if(that.eventTypes[item.TypeId] == "productPriceChange" || that.eventTypes[item.TypeId] == "servicePriceChange")
{
var productName = (item.English == null ? item.English : item.English);
$("#event" + item.Id).productEventWidget({
context: {
eventId:item.Id,
eventTypeId:item.TypeId,
companyId:item.CompanyId,
companyName:item.LocalName,
companyIdentifier:item.Identifier,
title:that.eventTitles[item.TypeId],
logoId:item.LogoId,
name:productName,
productId:item.ProductId,
productUrl:stringToUrl(productName, "-", 240),
price:new Number(that.removeCents(item.ProductNewPrice)).toLocaleString(),
oldPrice:new Number(that.removeCents(item.ProductOldPrice)).toLocaleString(),
symbol:item.Symbol,
currency:item.IsoAlphabeticCode,
imageId:item.ImageId,
time:day,
},
}).fadeIn("slow");
}
if(that.eventTypes[item.TypeId] == "companyEvent")
$("#event" + item.Id).companyEventWidget({
context: {
eventId:item.Id,
eventTypeId:item.TypeId,
companyId:item.CompanyId,
companyName:item.LocalName,
companyIdentifier:item.Identifier,
logoId:item.LogoId,
title:that.eventTitles[item.TypeId],
imageId:item.CompanyEventImageId,
start:item.CompanyEventStartTime,
name:item.CompanyEventName,
description:item.CompanyEventDescription,
time:day,
},
}).fadeIn("slow");
});
}
, removeCents: function (price) {
var floatPrice = parseFloat(price)
var intPrice = floatPrice.toFixed(0)
if(intPrice < floatPrice)
return floatPrice
else
return intPrice
}
, fetchNews: function (time, items, direction) {
var that = this
var types = null
var companies = 9491741
if(this.eventType != null)
if($.isArray(this.eventType))
types = this.eventType.join()
else
types = this.eventType
if(this.companyId != null)
if($.isArray(this.companyId))
companies = this.companyId.join()
else
companies = this.companyId
$.ajax({
type: "POST",
data: {t: time, i: items, c: companies, d: direction, p: types},
url: "/networking/timeline",
success: function(data) {
if (data == "GC_LOGIN_REQUIRED") {
window.location.href = "/login";
}
else
{
var obj = $.parseJSON(data);
if(obj.status=="success") {
that.processedEventTime = moment(obj.time);
console.log("received: " + obj.msg.length);
that.updateTimeline(obj.msg, direction);
}
}
}
})
}
, topRefresh: function (source, pos) {
//MMMM Do YYYY, h:mm:ss a
console.log("times: " + moment(source.processedEventTime).format("YYYY-MM-DD HH:mm:ss") + ", " + moment(source.topEventTime).format("YYYY-MM-DD HH:mm:ss"));
if(source.topEventTime != null && source.processedEventTime != source.topEventTime)
{
//console.log(source.processedEventTime == source.topEventTime);
source.fetchNews(moment(source.topEventTime).format("YYYY-MM-DD HH:mm:ss"), 10, source.DIRECTION_UP);
}
}
, bottomRefresh: function (source, pos) {
//MMMM Do YYYY, h:mm:ss a
//console.log("companyId: " + source.companyId);
console.log("times: " + moment(source.processedEventTime).format("YYYY-MM-DD HH:mm:ss") + ", " + moment(source.bottomEventTime).format("YYYY-MM-DD HH:mm:ss"));
if(source.bottomEventTime != null && source.processedEventTime != source.bottomEventTime)
{
//console.log(source.processedEventTime == source.bottomEventTime);
source.fetchNews(moment(source.bottomEventTime).format("YYYY-MM-DD HH:mm:ss"), 10, source.DIRECTION_DOWN);
}
}
, getOptions: function (options) {
options = $.extend({}, $.fn[this.type].defaults, options, this.$element.data())
return options
}
, enable: function () {
this.enabled = true
}
, disable: function () {
this.enabled = false
}
, toggleEnabled: function () {
this.enabled = !this.enabled
}
, destroy: function () {
this.hide().$element.off( + this.type).removeData(this.type)
}
}
var old = $.fn.timelineWidget
$.fn.timelineWidget = function ( option ) {
return this.each(function () {
var $this = $(this)
, data = $this.data("timelineWidget")
, options = typeof option == "object" && option
if (!data) $this.data("timelineWidget", (data = new TimelineWidget(this, options)))
if (typeof option == "string") data[option]()
})
}
$.fn.timelineWidget.Constructor = TimelineWidget
$.fn.timelineWidget.defaults = {
selector: false
, context: ""
}
$.fn.timelineWidget.noConflict = function () {
$.fn.timelineWidget = old
return this
}
// typeahead - company name filter
var typeaheadItems = [];
var userId = null;
$(".typeahead", $(content)).typeahead({
delay: 0,
minLength: 1,
showAnim: "fold",
select: function(event, item){ $("#companySearchBar").val(item.item.value); $(this).parents("form").submit(); },
source: function(query, process) {
//alert(query);
$.getJSON("/company/autoCompleteFollowedCompany",
{
q: extractLast(query), uId: userId
},
function(data) {
if(data == undefined) {
return;
}
var newData = [];
$.each(data, function(){
if(this.label != undefined)
{
newData.push(this.label);
typeaheadItems[this.label] = this.value;
}
});
return process(newData);
}
);
},
matcher: function(item) {return ~item.toLowerCase().indexOf(this.query.toLowerCase());},
highlighter: function (item) {
var query = this.query.replace(/[\-\[\]{}()*+?.,\\^$|#\s]/g, "\$&")
return "<strong>" + item.replace(new RegExp("(?![^&;]+;)(?!<[^<>]*)(" + query + ")(?![^<>]*>)(?![^&;]+;)", "gi"), "</strong>$1<strong>") + "</strong>"
},
updater: function (selectedName) {
var selectedValue = typeaheadItems[selectedName];
var element = $("#companySearchBar").parent().parent().parent();
if(companyFilters.indexOf(selectedValue) == -1)
{
$(element).find(".event-filter-choices").show().append(closeElement("company", selectedValue, selectedName));
companyFilters.push(selectedValue);
if(companyFilters.length > 0)
$("#timelineWidget").data("timelineWidget").setCompanies(companyFilters);
else
$("#timelineWidget").data("timelineWidget").setCompanies(null);
$("#timelineWidget").data("timelineWidget").reset();
}
return "";
},
});
$(document.body).on("click", ".filter-choice-close", function() {
var closeElement = $(this).parent();
if($(closeElement).hasClass("filter-event"))
{
var eventType = $(closeElement).attr("data-id");
var index = eventFilters.indexOf(eventType);
if(index != -1)
eventFilters.splice(index, 1);
$("#eventType").focus();
if(eventFilters.length > 0)
$("#timelineWidget").data("timelineWidget").setEventTypes(eventFilters);
else
$("#timelineWidget").data("timelineWidget").setEventTypes(null);
$("#timelineWidget").data("timelineWidget").reset();
}
if($(closeElement).hasClass("filter-company"))
{
var eventType = $(closeElement).attr("data-id");
var index = companyFilters.indexOf(eventType);
if(index != -1)
companyFilters.splice(index, 1);
$("#companySearchBar").focus();
if(companyFilters.length > 0)
$("#timelineWidget").data("timelineWidget").setCompanies(companyFilters);
else
$("#timelineWidget").data("timelineWidget").setCompanies(null);
$("#timelineWidget").data("timelineWidget").reset();
}
$(closeElement).remove();
// TODO: refresh newsfeed / timeline with new filters
});
// create timeline
var timelineWidget = $("#timelineWidget").timelineWidget({});
}(window.jQuery)
!function ($) {
"use strict"; // jshint ;_;
var TemplateWidget = function (element, options) {
this.init("templateWidget", element, options)
}
TemplateWidget.prototype = {
constructor: TemplateWidget
, init: function (type, element, options) {
// config
this.type = type
this.$element = $(element)
this.id = this.$element.attr("id");
this.options = this.getOptions(options)
this.enabled = true
this.context = this.options.context
this.html = ""
this.htmlTemplate = ""
//this.data = [];
this.preRendered = this.context.preRendered
if(this.preRendered !== "undefined" && !this.preRendered)
{
this.template()
this.populate()
this.render()
}
console.info(type + " [" + this.$element.attr("id") + "] created");
}
, template: function() {
this.htmlTemplate = "<div id=\"yw7\"><div class=\"post sociallinkUpdateEventWidget frame mediumRoundCorners smallShadow\"><div class=\"post-header\"><a href=\"/{{companyIdentifier}}\"><div class=\"companyLogo\" style=\"background: url(https://globalcatalog.com/asset/showThumb/{{logoId}}) center center no-repeat; background-size: contain;\"></div></a><div class=\"content\" style=\"display: inline-block\"><h3><a href=\"/{{companyIdentifier}}\">{{companyName}}</a> {{title}}</h3></div></div><div class=\"post-body\"><a id=\"socialMediaLinkFacebook-{{eventId}}\" href=\"{{facebookLink}}\" target=\"_blank\" class=\"socialMediaLinkFacebook icons-socialmedia icon-facebook inactive\"></a><a id=\"socialMediaLinkTwitter-{{eventId}}\" href=\"{{twitterLink}}\" target=\"_blank\" class=\"socialMediaLinkTwitter icons-socialmedia icon-twitter inactive\"></a><a id=\"socialMediaLinkLinkedIn-{{eventId}}\" href=\"{{linkedInLink}}\" target=\"_blank\" class=\"socialMediaLinkLinkedIn icons-socialmedia icon-linkedin inactive\"></a><a id=\"socialMediaLinkYouTube-{{eventId}}\" href=\"{{youTubeLink}}\" target=\"_blank\" class=\"socialMediaLinkYouTube icons-socialmedia icon-youtube inactive\"></a><a id=\"socialMediaLinkInstagram-{{eventId}}\" href=\"{{instagramLink}}\" target=\"_blank\" class=\"socialMediaLinkInstagram icons-socialmedia icon-instagram inactive\"></a><a id=\"socialMediaLinkPinterest-{{eventId}}\" href=\"{{pinterestLink}}\" target=\"_blank\" class=\"socialMediaLinkPinterest icons-socialmedia icon-pinterest inactive\"></a></div><div class=\"post-footer\"></div></div></div>"
}
, populate: function() {
var that = this
this.html = this.htmlTemplate
$.each(this.context, function(i,item) {
console.log("replacing [" + i + "] with [" + item + "]")
var find = "{{" + i + "}}"
var re = new RegExp(find, "g");
that.html = that.html.replace(re, item)
})
}
, render: function() {
this.$element.html(this.html)
}
, getOptions: function (options) {
options = $.extend({}, $.fn[this.type].defaults, options, this.$element.data())
return options
}
, enable: function () {
this.enabled = true
}
, disable: function () {
this.enabled = false
}
, toggleEnabled: function () {
this.enabled = !this.enabled
}
, destroy: function () {
this.hide().$element.off( + this.type).removeData(this.type)
}
}
var old = $.fn.templateWidget
$.fn.templateWidget = function ( option ) {
return this.each(function () {
var $this = $(this)
, data = $this.data("templateWidget")
, options = typeof option == "object" && option
if (!data) $this.data("templateWidget", (data = new TemplateWidget(this, options)))
if (typeof option == "string") data[option]()
})
}
$.fn.templateWidget.Constructor = TemplateWidget
$.fn.templateWidget.defaults = {
selector: false
, context: ""
}
$.fn.templateWidget.noConflict = function () {
$.fn.templateWidget = old
return this
}
}(window.jQuery)
!function ($) {
"use strict"; // jshint ;_;
var TimelineEventWidget = function (element, options) {
this.init("timelineEventWidget", element, options)
}
TimelineEventWidget.prototype = $.extend({}, $.fn.templateWidget.Constructor.prototype, {
constructor: TimelineEventWidget
, init: function (type, element, options) {
$.fn.templateWidget.Constructor.prototype.init.call(this, type, element, options)
this.localizeTimestamps()
}
, localizeTimestamps: function() {
var that = this
// utc server time to local time
$.each($(".utcTime", this.$element), function(i, item) {
$(item).html(that.timeToLocal($(item).html(), "MMMM DD, YYYY @ HH:mm"))
})
}
// convert utc time to local time
, timeToLocal: function(utcTime, format) {
var timeStamp = moment.utc(utcTime, format).toDate()
return moment(timeStamp).format(format)
}
})
var old = $.fn.timelineEventWidget
$.fn.timelineEventWidget = function ( option ) {
return this.each(function () {
var $this = $(this)
, data = $this.data("timelineEventWidget")
, options = typeof option == "object" && option
if (!data) $this.data("timelineEventWidget", (data = new TimelineEventWidget(this, options)))
if (typeof option == "string") data[option]()
})
}
$.fn.timelineEventWidget.Constructor = TimelineEventWidget
$.fn.timelineEventWidget.defaults = {
selector: false
, context: ""
}
$.fn.timelineEventWidget.noConflict = function () {
$.fn.timelineEventWidget = old
return this
}
//
// menu callbacks
//
function parseMenuItemData(item) {
var data = {}
$.each($(item).parent().get(0).attributes, function() {
//console.log("---> attribute: " + this.name + " = " + this.value)
if(this.name.startsWith("data-"))
data[this.name.replace("data-", "").replace(/-/g, " ").toTitleCase().replace(/\s+/g, "")] = this.value
})
return data
}
$(document).on("click", ".menu-delete", function(event) {
event.preventDefault();
console.log("event clicked: " + $(event.target).attr("data-event-id"));
var data = parseMenuItemData(event.target);
var url = "https://globalcatalog.com/networking/delete";
var eventElement = $("#event" + data["EventId"]);
var successCallback = function(data) {
$(eventElement)
.stop(true, true)
.animate({
height:"toggle",
opacity:"toggle"
},500, function() {$(eventElement).remove()});
}
ajaxRequest(url, data, successCallback);
})
$(document).on("click", ".menu-unfollow", function(event) {
event.preventDefault();
console.log("event clicked: " + $(event.target).attr("data-event-id"));
var data = parseMenuItemData(event.target)
var url = "https://globalcatalog.com/networking/unfollow";
var successCallback = function(data) {
// unfollow and reload all events in the timeline / newsfeed
$("#timelineWidget").data("timelineWidget").reset();
}
ajaxRequest(url, data, successCallback);
})
}(window.jQuery)
!function ($) {
"use strict"; // jshint ;_;
var SociallinkUpdateEventWidget = function (element, options) {
this.init("sociallinkUpdateEventWidget", element, options)
}
SociallinkUpdateEventWidget.prototype = $.extend({}, $.fn.timelineEventWidget.Constructor.prototype, {
constructor: SociallinkUpdateEventWidget
, init: function (type, element, options) {
$.fn.timelineEventWidget.Constructor.prototype.init.call(this, type, element, options)
this.activeLinks()
}
, activeLinks: function() {
var fbLink = $(".socialMediaLinkFacebook", this.$element)
if($(fbLink).length > 0 && $(fbLink).attr("href").length > 0)
$(fbLink).removeClass("inactive");
var twLink = $(".socialMediaLinkTwitter", this.$element)
if($(twLink).length > 0 && $(twLink).attr("href").length > 0)
$(twLink).removeClass("inactive");
var gpLink = $(".socialMediaLinkGooglePlus", this.$element)
if($(gpLink).length > 0 && $(gpLink).attr("href").length > 0)
$(gpLink).removeClass("inactive");
var ptLink = $(".socialMediaLinkPinterest", this.$element)
if($(ptLink).length > 0 && $(ptLink).attr("href").length > 0)
$(ptLink).removeClass("inactive");
var ytLink = $(".socialMediaLinkYouTube", this.$element)
if($(ytLink).length > 0 && $(ytLink).attr("href").length > 0)
$(ytLink).removeClass("inactive");
var igLink = $(".socialMediaLinkInstagram", this.$element)
if($(igLink).length > 0 && $(igLink).attr("href").length > 0)
$(igLink).removeClass("inactive");
var inLink = $(".socialMediaLinkLinkedIn", this.$element)
if($(inLink).length > 0 && $(inLink).attr("href").length > 0)
$(inLink).removeClass("inactive"); }
, template: function() {
this.htmlTemplate = "<div id=\"yw7\"><div class=\"post sociallinkUpdateEventWidget frame mediumRoundCorners smallShadow\"><div class=\"post-header\"><a href=\"/{{companyIdentifier}}\"><div class=\"companyLogo\" style=\"background: url(https://globalcatalog.com/asset/showThumb/{{logoId}}) center center no-repeat; background-size: contain;\"></div></a><div class=\"content\" style=\"display: inline-block\"><h3><a href=\"/{{companyIdentifier}}\">{{companyName}}</a> {{title}}</h3></div></div><div class=\"post-body\"><a id=\"socialMediaLinkFacebook-{{eventId}}\" href=\"{{facebookLink}}\" target=\"_blank\" class=\"socialMediaLinkFacebook icons-socialmedia icon-facebook inactive\"></a><a id=\"socialMediaLinkTwitter-{{eventId}}\" href=\"{{twitterLink}}\" target=\"_blank\" class=\"socialMediaLinkTwitter icons-socialmedia icon-twitter inactive\"></a><a id=\"socialMediaLinkLinkedIn-{{eventId}}\" href=\"{{linkedInLink}}\" target=\"_blank\" class=\"socialMediaLinkLinkedIn icons-socialmedia icon-linkedin inactive\"></a><a id=\"socialMediaLinkYouTube-{{eventId}}\" href=\"{{youTubeLink}}\" target=\"_blank\" class=\"socialMediaLinkYouTube icons-socialmedia icon-youtube inactive\"></a><a id=\"socialMediaLinkInstagram-{{eventId}}\" href=\"{{instagramLink}}\" target=\"_blank\" class=\"socialMediaLinkInstagram icons-socialmedia icon-instagram inactive\"></a><a id=\"socialMediaLinkPinterest-{{eventId}}\" href=\"{{pinterestLink}}\" target=\"_blank\" class=\"socialMediaLinkPinterest icons-socialmedia icon-pinterest inactive\"></a></div><div class=\"post-footer\"></div></div></div>"
}
})
var old = $.fn.sociallinkUpdateEventWidget
$.fn.sociallinkUpdateEventWidget = function ( option ) {
return this.each(function () {
var $this = $(this)
, data = $this.data("sociallinkUpdateEventWidget")
, options = typeof option == "object" && option
if (!data) $this.data("sociallinkUpdateEventWidget", (data = new SociallinkUpdateEventWidget(this, options)))
if (typeof option == "string") data[option]()
})
}
$.fn.sociallinkUpdateEventWidget.Constructor = SociallinkUpdateEventWidget
$.fn.sociallinkUpdateEventWidget.defaults = {
selector: false
, context: ""
}
$.fn.sociallinkUpdateEventWidget.noConflict = function () {
$.fn.sociallinkUpdateEventWidget = old
return this
}
}(window.jQuery)
!function ($) {
$("#yw0").sociallinkUpdateEventWidget({
context:{"id":"sociallinkUpdateEventWidget","scriptOnly":true,"eventName":"SociallinkUpdate"},
});
}(window.jQuery)
!function ($) {
"use strict"; // jshint ;_;
var WebsiteUpdateEventWidget = function (element, options) {
this.init("websiteUpdateEventWidget", element, options)
}
WebsiteUpdateEventWidget.prototype = $.extend({}, $.fn.timelineEventWidget.Constructor.prototype, {
constructor: WebsiteUpdateEventWidget
, init: function (type, element, options) {
$.fn.timelineEventWidget.Constructor.prototype.init.call(this, type, element, options)
}
, template: function() {
this.htmlTemplate = "<div id=\"yw6\"><div class=\"post websiteUpdateEventWidget frame mediumRoundCorners smallShadow\"><div class=\"post-header\"><a href=\"/{{companyIdentifier}}\"><div class=\"companyLogo\" style=\"background: url(https://globalcatalog.com/asset/showThumb/{{logoId}}) center center no-repeat; background-size: contain;\"></div></a><div class=\"content\" style=\"display: inline-block\"><h3><a href=\"/{{companyIdentifier}}\">{{companyName}}</a> {{title}}</h3></div></div><div class=\"post-body\"><h2>Visit our website @ <a href=\"{{website}}\">{{website}}</a></h2></div><div class=\"post-footer\"></div></div></div>"
}
})
var old = $.fn.websiteUpdateEventWidget
$.fn.websiteUpdateEventWidget = function ( option ) {
return this.each(function () {
var $this = $(this)
, data = $this.data("websiteUpdateEventWidget")
, options = typeof option == "object" && option
if (!data) $this.data("websiteUpdateEventWidget", (data = new WebsiteUpdateEventWidget(this, options)))
if (typeof option == "string") data[option]()
})
}
$.fn.websiteUpdateEventWidget.Constructor = WebsiteUpdateEventWidget
$.fn.websiteUpdateEventWidget.defaults = {
selector: false
, context: ""
}
$.fn.websiteUpdateEventWidget.noConflict = function () {
$.fn.websiteUpdateEventWidget = old
return this
}
}(window.jQuery)
!function ($) {
$("#yw1").websiteUpdateEventWidget({
context:{"id":"websiteUpdateEventWidget","scriptOnly":true,"eventName":"WebsiteUpdate"},
});
}(window.jQuery)
!function ($) {
"use strict"; // jshint ;_;
var AddressUpdateEventWidget = function (element, options) {
this.init("addressUpdateEventWidget", element, options)
}
AddressUpdateEventWidget.prototype = $.extend({}, $.fn.timelineEventWidget.Constructor.prototype, {
constructor: AddressUpdateEventWidget
, init: function (type, element, options) {
$.fn.timelineEventWidget.Constructor.prototype.init.call(this, type, element, options);
this.street = this.context.street
this.city = this.context.city
this.state = this.context.state
this.postalCode = this.context.postalCode
this.country = this.context.country
this.latitude = this.context.latitude
this.longitude = this.context.longitude
// NOTE: the display of map might have something to do with the timing of display (maybe the map-canvas element does not exist yet?)
// if($("#map-canvas-" + this.options.context.eventId).length > 0)
// this.showMap()
}
, template: function() {
this.htmlTemplate = "<div id=\"yw5\"><div class=\"post addressUpdateEventWidget frame mediumRoundCorners smallShadow\"><div class=\"post-header\"><a href=\"/{{companyIdentifier}}\"><div class=\"companyLogo\" style=\"background: url(https://globalcatalog.com/asset/showThumb/{{logoId}}) center center no-repeat; background-size: contain;\"></div></a><div class=\"content\" style=\"display: inline-block\"><h3><a href=\"/{{companyIdentifier}}\">{{companyName}}</a> {{title}}</h3></div></div><div class=\"post-body\"><p>Our new location address: </p><h4 class=\"newAddress\">{{street}}, {{city}}, {{state}}, {{postalCode}}, {{country}}</h4></div><div class=\"post-footer\"></div></div></div>"
}
, showMap: function () {
var latitude = -34.397
var longitude = 150.644
if(this.latitude != null && this.longitude)
{
latitude = this.latitude
longitude = this.longitude
}
try
{
var latlng = new google.maps.LatLng(latitude, longitude);
window.geocoder = new google.maps.Geocoder();
window.mapOptions = {
center: latlng,
zoom: 15,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var address = this.street + ","
if(this.state != null)
address = address + this.state + ","
if(this.postalCode != null)
address = address + this.postalCode + ","
address = address + this.country
loadMap(geocoder, mapOptions, address, "map-canvas-" + this.options.context.eventId);
}
catch(e)
{
console.log("google maps not available");
$(".map-canvas", this.element).html("<span class=\"unavailable\">We are sorry!<br />The map is not available.</span>");
}
}
})
var old = $.fn.addressUpdateEventWidget
$.fn.addressUpdateEventWidget = function ( option ) {
return this.each(function () {
var $this = $(this)
, data = $this.data("addressUpdateEventWidget")
, options = typeof option == "object" && option
if (!data) $this.data("addressUpdateEventWidget", (data = new AddressUpdateEventWidget(this, options)))
if (typeof option == "string") data[option]()
})
}
$.fn.addressUpdateEventWidget.Constructor = AddressUpdateEventWidget
$.fn.addressUpdateEventWidget.defaults = {
selector: false
, context: ""
}
$.fn.addressUpdateEventWidget.noConflict = function () {
$.fn.addressUpdateEventWidget = old
return this
}
}(window.jQuery)
!function ($) {
$("#yw2").addressUpdateEventWidget({
context:{"id":"addressUpdateEventWidget","scriptOnly":true,"eventName":"AddressUpdate"},
});
}(window.jQuery)
!function ($) {
"use strict"; // jshint ;_;
var ProductEventWidget = function (element, options) {
this.init("productEventWidget", element, options)
}
ProductEventWidget.prototype = $.extend({}, $.fn.timelineEventWidget.Constructor.prototype, {
constructor: ProductEventWidget
, init: function (type, element, options) {
switch(parseInt(options.context.eventTypeId))
{
case 6:
case 7:
case 8:
case 9:
options.context["typeAbbrev"] = "pro";
break;
case 13:
case 14:
case 15:
case 16:
options.context["typeAbbrev"] = "ser";
break;
}
$.fn.timelineEventWidget.Constructor.prototype.init.call(this, type, element, options)
this.showPriceChange()
}
, showPriceChange: function() {
var currentPrice = parseFloat(this.options.context.price)
// hide price tag if price not set or 0
if(currentPrice <= 0)
{
$(".product-price", this.$element).addClass("hidden");
}
else
{
$(".product-price", this.$element).removeClass("hidden");
}
// do not show price change if old price not defined
if(typeof this.options.context.oldPrice !== "undefined")
{
var oldPrice = parseFloat(this.options.context.oldPrice)
if(oldPrice > 0 && currentPrice > 0)
{
$(".product-price-original", this.$element).show()
if(currentPrice < oldPrice)
{
//console.log(new Number(100000).toLocaleString())
$(".product-price-change", this.$element).find(".change").html("-" + ((oldPrice - currentPrice) / oldPrice * 100).toFixed(0))
$(".product-price-change", this.$element).show()
}
}
}
}
, template: function() {
this.htmlTemplate = "<div id=\"yw3\"><div class=\"post productEventWidget frame mediumRoundCorners smallShadow\"><div class=\"post-header\"><a href=\"/{{companyIdentifier}}\"><div class=\"companyLogo\" style=\"background: url(https://globalcatalog.com/asset/showThumb/{{logoId}}) center center no-repeat; background-size: contain;\"></div></a><div class=\"content\" style=\"display: inline-block\"><h3><a href=\"/{{companyIdentifier}}\">{{companyName}}</a> {{title}}</h3></div></div><div class=\"post-body\"><div class=\"product\"><div class=\"product-image\"><div class=\"product-price hidden\"><div class=\"product-price-original hidden\"><sup class=\"symbol\">{{symbol}}</sup><span class=\"value\">{{oldPrice}}</span><sup class=\"units\">{{currency}}</sup></div><h2><sup class=\"symbol\">{{symbol}}</sup><span class=\"value\">{{price}}</span><sup class=\"units\">{{currency}}</sup></h2></div><div class=\"product-price-change hidden\"><span class=\"onsale\">SALE</span><span class=\"value change\"></span><sup>%</sup></div><a href=\"/{{companyIdentifier}}/{{productUrl}}-{{typeAbbrev}}{{productId}}\"><img src=\"/asset/showImage/{{imageId}}\" /></a></div><div class=\"product-text\"><div class=\"product-name\"><a href=\"/{{companyIdentifier}}/{{productUrl}}-{{typeAbbrev}}{{productId}}\"><h2>{{name}}</h2></a></div></div></div></div><div class=\"post-footer\"></div></div></div>"
}
})
var old = $.fn.productEventWidget
$.fn.productEventWidget = function ( option ) {
return this.each(function () {
var $this = $(this)
, data = $this.data("productEventWidget")
, options = typeof option == "object" && option
if (!data) $this.data("productEventWidget", (data = new ProductEventWidget(this, options)))
if (typeof option == "string") data[option]()
})
}
$.fn.productEventWidget.Constructor = ProductEventWidget
$.fn.productEventWidget.defaults = {
selector: false
, context: ""
}
$.fn.productEventWidget.noConflict = function () {
$.fn.productEventWidget = old
return this
}
}(window.jQuery)
!function ($) {
$("#yw3").productEventWidget({
context:{"id":"productEventWidget","scriptOnly":true,"typeAbbrev":"pro","eventName":"Product"},
});
}(window.jQuery)
!function ($) {
"use strict"; // jshint ;_;
var CompanyEventWidget = function (element, options) {
this.init("companyEventWidget", element, options)
}
CompanyEventWidget.prototype = $.extend({}, $.fn.timelineEventWidget.Constructor.prototype, {
constructor: CompanyEventWidget
, init: function (type, element, options) {
$.fn.timelineEventWidget.Constructor.prototype.init.call(this, type, element, options)
var imageLink = $("#event" + this.options.context.eventId + "-ImageLink");
if(this.options.context.imageId !== "undefined" && this.options.context.imageId !== null)
{
$("img", imageLink).attr("src", "/asset/showImage/" + this.options.context.imageId);
$(imageLink).show()
$(imageLink).on("click", function() {
$("#imageModal img").attr("src", $("img", this).attr("src"));
$("#imageModal").modal("show");
return false;
});
}
}
, template: function() {
this.htmlTemplate = "<div id=\"yw4\"><div class=\"post companyEventWidget frame mediumRoundCorners smallShadow\"><div class=\"post-header\"><a href=\"/{{companyIdentifier}}\"><div class=\"companyLogo\" style=\"background: url(https://globalcatalog.com/asset/showThumb/{{logoId}}) center center no-repeat; background-size: contain;\"></div></a><div class=\"content\" style=\"display: inline-block\"><h3><a href=\"/{{companyIdentifier}}\">{{companyName}}</a> {{title}}</h3></div></div><div class=\"post-body\"><div class=\"product\"><div class=\"product-image\"><a id=\"event{{eventId}}-ImageLink\" class=\"hidden\" href=\"\"><img src=\"\" /></a></div><div class=\"product-text\"><div class=\"product-name\"><h2>{{name}}</h2></div><div class=\"more product-description\"><p>{{description}}</p></div></div></div></div><div class=\"post-footer\"></div></div></div>"
}
})
var old = $.fn.companyEventWidget
$.fn.companyEventWidget = function ( option ) {
return this.each(function () {
var $this = $(this)
, data = $this.data("companyEventWidget")
, options = typeof option == "object" && option
if (!data) $this.data("companyEventWidget", (data = new CompanyEventWidget(this, options)))
if (typeof option == "string") data[option]()
})
}
$.fn.companyEventWidget.Constructor = CompanyEventWidget
$.fn.companyEventWidget.defaults = {
selector: false
, context: ""
}
$.fn.companyEventWidget.noConflict = function () {
$.fn.companyEventWidget = old
return this
}
}(window.jQuery)
// http://jedfoster.com/Readmore.js/
$(".more").each(function() {
$(this).readmore({
moreLink: "<a href=\"#\" class=\"read-more-link\">Read More »</a>",
lessLink: "<a href=\"#\" class=\"read-less-link\">Close</a>",
collapsedHeight: 56,
speed: 200,
});
})
!function ($) {
$("#yw4").companyEventWidget({
context:{"id":"companyEventWidget","scriptOnly":true,"eventName":"Company"},
});
}(window.jQuery)
!function ($) {
$("#yw5").addressUpdateEventWidget({
context:{"preRendered":true,"id":"addressUpdateEventWidget-1973805","eventId":1973805,"companyId":9491741,"companyName":"BUILT-IN PRO ","companyIdentifier":"builtinpro.hk","time":"November 15, 2023 @ 04:28","logoId":1229882,"title":"updated address","street":"Kwun Tong","city":"Hong Kong","state":null,"postalCode":"","country":"Hong Kong","latitude":null,"longitude":null,"eventName":"AddressUpdate"},
});
}(window.jQuery)
!function ($) {
$("#yw6").websiteUpdateEventWidget({
context:{"preRendered":true,"id":"websiteUpdateEventWidget-1973806","eventId":1973806,"companyId":9491741,"companyName":"BUILT-IN PRO ","companyIdentifier":"builtinpro.hk","time":"November 15, 2023 @ 04:28","logoId":1229882,"title":"updated website","website":"https:\/\/www.builtinpro.hk","eventName":"WebsiteUpdate"},
});
}(window.jQuery)
!function ($) {
$("#yw7").sociallinkUpdateEventWidget({
context:{"preRendered":true,"id":"sociallinkUpdateEventWidget-1973804","eventId":1973804,"companyId":9491741,"companyName":"BUILT-IN PRO ","companyIdentifier":"builtinpro.hk","time":"November 15, 2023 @ 04:26","logoId":1229882,"title":"updated social links","facebookLink":"https:\/\/www.facebook.com\/builtinpro\/","twitterLink":"","googlePlusLink":"","pinterestLink":"","eventName":"SociallinkUpdate"},
});
}(window.jQuery)
if($("#inquiryModal-firstName").length > 0)
$("#inquiryModal").on("shown", function () {$("input:text:visible:first", this).focus();});
else
$("#inquiryModal").on("shown", function () {$("textarea:visible:first", this).focus();});
jQuery('#yw8').after("<a id=\"yw8_button\" href=\"\/company\/captcha?refresh=1\">Get a new code<\/a>");
jQuery(document).on('click', '#yw8_button', function(){
jQuery.ajax({
url: "\/company\/captcha?refresh=1",
dataType: 'json',
cache: false,
success: function(data) {
jQuery('#yw8').attr('src', data['url']);
jQuery('body').data('captcha.hash', [data['hash1'], data['hash2']]);
}
});
return false;
});
jQuery('body').on('click','#submitButton_inquiryModal',function(){jQuery.ajax({'type':'POST','success':function(data){
var obj = $.parseJSON(data);
if(obj.result=="success")
{
$("#submitButton_inquiryModal").hide();
$("#inquiryModal .error-div").hide();
$("#inquiryModal .error-div").html("");
var origHtml = $("#inquiryModal .modal-body").html();
$("#inquiryModal .modal-body").hide().html("<h2>" + obj.message + "</h2>").fadeIn("fast");
setTimeout(function(){
$("#inquiryModal").modal("hide");
$("#inquiryModal .modal-body").html(origHtml);
$("#submitButton_inquiryModal").show();
},1400);;
}
else
{
$("#inquiryModal .error-div").show();
$("#inquiryModal .error-div").html("");
var errors = "";
$.each(obj, function(index, value) {
errors = errors + value + "<br />";
});
$("#inquiryModal .error-div").html(errors);
// reload captcha
$("#yw0_button").click();
}
},'url':'\x2Fcompany\x2Fcontact\x2F9491741','cache':false,'data':jQuery(this).parents("form").serialize()});return false;});
$(document).on("follow", function(e) {
console.log("follow event - " + e.categoryIds + ", " + e.time.toLocaleString());
var that = $("#Categories");
$.each(e.categoryIds, function(i, categoryId) {
$("[value=\"" + categoryId + "\"]", that).attr("checked", true);
});
});
$(document).on("unfollow", function(e) {
console.log("unfollow event - " + e.categoryIds + ", " + e.time.toLocaleString());
var that = $("#Categories");
$.each(e.categoryIds, function(i, categoryId) {
$("[value=\"" + categoryId + "\"]", that).attr("checked", false);
});
});
function toggleAll(element)
{
console.log("toggle all");
if($(element).is(":checked"))
$.each($("input[name=\"Categories[]\"]", $(element).parent().parent().parent()), function() {
if($(this).attr("id") != $(element).attr("id"))
{
//console.log($(this).attr("id"));
$(this).bootstrapToggle("on");
}
});
else
$.each($("input[name=\"Categories[]\"]", $(element).parent().parent().parent()), function() {
if($(this).attr("id") != $(element).attr("id"))
{
//console.log("removing checked: " + $(this).attr("id"));
$(this).bootstrapToggle("off");
}
});
}
$("#Categories_all").on("change", function(e) {
toggleAll($(this));
return false;
});
function onUpdate_followModal() {
var that = $("#Categories");
var follow = [];
var unfollow = [];
$.each($("input", that), function(i, item) {
if($(item).attr("checked"))
follow.push($(item).attr("value"));
else
unfollow.push($(item).attr("value"));
});
$.event.trigger({
type: "follow",
categoryIds: follow,
time: new Date()
});
$.event.trigger({
type: "unfollow",
categoryIds: unfollow,
time: new Date()
});
}
$("#followModal input:text:visible:first").on("shown", function () {$("input:text:visible:first", this).focus(); });
$("#followModal").formDialog({
updateAction: "/networking/follow",
updateCallback: onUpdate_followModal,
cancelCallback: null,
loginUrl: "https://globalcatalog.com/login",
loginRequiredResponse: "GC_LOGIN_REQUIRED",
loader: true
});
categoryTypeaheadItems = [];
$("#navSearchBar").typeahead({
delay: 0,
minLength: 1,
showAnim: "fold",
select: function(event, item){ $("#navSearchBar").val(item.item.value); $(this).parents("form").submit(); },
source: function(query, process) {
$.getJSON("/search/autoComplete",
{
term: extractLast(query)
},
function(data) {
if(data == undefined) {
return;
}
var newData = [];
$.each(data, function(){
if(this.label != undefined)
{
newData.push(this.label);
categoryTypeaheadItems[this.label] = this.id;
}
});
return process(newData);
});
},
matcher: function(item) {return true;}, // match everything that the search engine returns
highlighter: function (item) {
var query = this.query.replace(/[\-\[\]{}()*+?.,\\^$|#\s]/g, "\$&")
return "<strong>" + item.replace(new RegExp("(?![^&;]+;)(?!<[^<>]*)(" + query + ")(?![^<>]*>)(?![^&;]+;)", "gi"), "</strong>$1<strong>") + "</strong>"
},
updater: function(item) {
this.$element[0].value = item;
this.$element[0].form.submit();
return item;
}
});
jQuery('#yii_bootstrap_collapse_0').collapse({'parent':false,'toggle':false});
});
/*]]>*/
</script>
</body>
</html>