1// GOO_OPE_PRJ-17826 Start Ì䤤¹ç¤ï¤»Á÷¿®»þ¤ÎCV¥¤¥Ù¥ó¥È¤òÂоݼÖξ¤´¤È¤Ëȯ²Ð¤¹¤ë¡Ê¥«¡¼¥È¤Î¼Öξ=cart¡¢¤¢¤ï¤»¤Æ¸«ÀѤê¤Ç¥Á¥§¥Ã¥¯¤·¤¿¼Öξ=recommend¡Ë 2function sendEstimateCvEvents(eventName, cartClientIds) { 3 var ids = String(cartClientIds || '').split(','); 4 for (var i = 0; i < ids.length; i++) { 5 var cartClientId = ids[i].trim(); 6 if (!cartClientId) { continue; } 7 gtag('event', eventName, { 'position': 'form_bottom', 'detail': 'submit', 'link_type': 'button', 'cv_client_id': cartClientId, 'car_source': 'cart' }); 8 } 9 var recommendCheckboxes = document.querySelectorAll('.checkbox_recommend_estimate'); 10 for (var j = 0; j < recommendCheckboxes.length; j++) { 11 if (!recommendCheckboxes[j].checked) { continue; } 12 // GOO_OPE_PRJ-17994: checkboxes inside .p-recommend-section--favorite are car_source='favorite' 13 var isFavorite = !!recommendCheckboxes[j].closest('.p-recommend-section--favorite'); 14 gtag('event', eventName, { 'position': 'form_bottom', 'detail': 'submit', 'link_type': 'button', 'cv_client_id': recommendCheckboxes[j].getAttribute('data-client-id') || '', 'car_source': isFavorite ? 'favorite' : 'recommend' }); 15 } 16} 17// GOO_OPE_PRJ-17826 End 18 19/** 20 * ¸½ºß¸«ÀѤâ¤êÃæ¤Î¥µ¥¤¥È¼±ÊÌ»Ò 21 * 22 */ 23var estimate_site_from = $.cookie('from_site_key'); 24 25/** 26 * EstimateCart¥¯¥é¥¹ 27 * 28 */ 29function EstimateCart() 30{ 31 if (this instanceof EstimateCart) { 32 this.CART_COOKIE_PRIFIX = 'estimate_cart_'; 33 this.LOAN_COOKIE_PRIFIX = '_loan_'; 34 this.CART_MAX = 10; 35 this.COOKIE_SAVE_TIME = 36000000; // 10 * 60 * 60 * 1000 36 this.COOKIE_SAVE_PATH = '/'; 37 this.COOKIE_INDEX_STOCK_ID = 0; 38 this.COOKIE_INDEX_PRE_C = 1; 39 this.COOKIE_INDEX_SITE_FROM = 2; 40 this.COOKIE_INDEX_BAITAI = 3; 41 this.COOKIE_INDEX_MSG_FLG = 4; 42 this.SITE_FROM_GROUP = { 43// ex) "W": "G", ..... GooWORLD¤Î¸«ÀѤâ¤êʪ·ï¤òGoo-net¤ÈƱ°ì¤ÎCookie¤Ë´ÉÍý¤¹¤ë¾ì¹ç 44 }; 45 this.SITE_FROM = _getSiteFrom(this.SITE_FROM_GROUP); 46 this.SPECIFIED_COOKIE_PRIFIX = '_'; 47 48 if ( document.getElementById('loan_name') != null && document.getElementById('loan_name').value != '' ) { 49 var loan_name = document.getElementById('loan_name').value; 50 this.COOKIE_NAME = loan_name + this.LOAN_COOKIE_PRIFIX + this.SITE_FROM; 51 } else if (document.getElementById('est_specific') != null && document.getElementById('est_specific').value != '' ) { 52 var est_specific = document.getElementById('est_specific').value; 53 this.COOKIE_NAME = est_specific + this.SPECIFIED_COOKIE_PRIFIX + this.SITE_FROM; 54 } else if (document.getElementById('est_epack') != null && document.getElementById('est_epack').value != '') { 55 var est_epack = document.getElementById('est_epack').value; 56 this.COOKIE_NAME = this.CART_COOKIE_PRIFIX + 'E_' + this.SITE_FROM; 57 } else { 58 this.COOKIE_NAME = this.CART_COOKIE_PRIFIX + this.SITE_FROM; 59 } 60 61 } else { 62 return new EstimateCart(); 63 } 64} 65/** 66 * _getSiteFrom 67 * 68 * @param siteFromGroup 69 * @return siteFrom 70 */ 71function _getSiteFrom(siteFromGroup) 72{ 73 var siteFrom = estimate_site_from; 74 if (siteFrom == '') { 75 siteFrom = 'G'; 76 } 77 for (var key in siteFromGroup) { 78 if (key == siteFrom) { 79 siteFrom = siteFromGroup[key]; 80 } 81 } 82 83 return siteFrom; 84} 85/** 86 * _getOldSiteFrom 87 * 88 * @param siteFrom 89 * @param siteFromGroup 90 * @return oldSiteFrom 91 */ 92function _getOldSiteFrom(siteFrom, siteFromGroup) 93{ 94 // ËÜÍè¤ÏHTML¤«¤é¼èÆÀ 95 var oldSiteFrom = [siteFrom]; 96 97 for (var key in siteFromGroup) { 98 if (siteFromGroup[key] == siteFrom) { 99 var existFlag = false; 100 for (var k in oldSiteFrom) { 101 if (oldSiteFrom[k] == key) { 102 existFlag = true; 103 break; 104 } 105 } 106 if (existFlag == false) { 107 oldSiteFrom.push(key); 108 } 109 } 110 } 111 112 return oldSiteFrom; 113} 114/** 115 * _mergeOldCookie 116 * 117 * @todo ¥ê¥ê¡¼¥¹¸å10»þ´Ö·Ð²á¤·¤¿¤éºï½ü 118 * @param siteFrom 119 * @param siteFromGroup 120 * @param newCookieData 121 * @return object mergeData 122 */ 123function _mergeOldCookie(siteFrom, siteFromGroup, newCookieData, newCookieName, newCookieSaveTime, newCookieSavePath) 124{ 125 var oldSiteFrom = _getOldSiteFrom(siteFrom, siteFromGroup); 126 var OLD_CART_COOKIE_PRIFIX = 'cart_'; 127 var OLD_CART_MAX = 10; 128 var OLD_COOKIE_SAVE_PATH = '/'; 129 var OLD_COOKIE_INDEX_STOCK_ID = 0; 130 var OLD_COOKIE_INDEX_PRE_C = 1; 131 var OLD_COOKIE_INDEX_SITE_FROM = 2; 132 var OLD_COOKIE_INDEX_BAITAI = 3; 133 var OLD_COOKIE_INDEX_MSG_FLG = 4; 134 135 var mergeData = {}; 136 var oldCookieCount = 0; 137 var mergeCount = 0; 138 139 for (var i = 1; i <= OLD_CART_MAX; i++) { 140 var strNum = ('0' + i).slice(-2); 141 var oldCookieName = OLD_CART_COOKIE_PRIFIX + strNum; 142 var data = $.cookie(oldCookieName); 143 if (data != null) { 144 var isTarget = false;
145 146 data = data.split(","); 147 148 for (var j in oldSiteFrom) { 149 if (oldSiteFrom[j] == data[OLD_COOKIE_INDEX_SITE_FROM]) { 150 isTarget = true; 151 break; 152 } 153 } 154 155 if (isTarget 156 && data[OLD_COOKIE_INDEX_STOCK_ID] != null 157 && data[OLD_COOKIE_INDEX_PRE_C] != null 158 && data[OLD_COOKIE_INDEX_SITE_FROM] != null 159 ) { 160 if (data[OLD_COOKIE_INDEX_BAITAI] == null) { 161 data[OLD_COOKIE_INDEX_BAITAI] = ''; 162 } 163 if (data[OLD_COOKIE_INDEX_MSG_FLG] == null) { 164 data[OLD_COOKIE_INDEX_MSG_FLG] = ''; 165 } 166 oldCookieDataStr = '{'; 167 oldCookieDataStr += '"' + OLD_COOKIE_INDEX_STOCK_ID + '":"' + data[OLD_COOKIE_INDEX_STOCK_ID] + '",'; 168 oldCookieDataStr += '"' + OLD_COOKIE_INDEX_PRE_C + '":"' + data[OLD_COOKIE_INDEX_PRE_C] + '",'; 169 oldCookieDataStr += '"' + OLD_COOKIE_INDEX_SITE_FROM + '":"' + data[OLD_COOKIE_INDEX_SITE_FROM] + '",'; 170 oldCookieDataStr += '"' + OLD_COOKIE_INDEX_BAITAI + '":"' + data[OLD_COOKIE_INDEX_BAITAI] + '",'; 171 oldCookieDataStr += '"' + OLD_COOKIE_INDEX_MSG_FLG + '":"' + data[OLD_COOKIE_INDEX_MSG_FLG] + '"'; 172 oldCookieDataStr += '}'; 173 oldCookieDataObj = eval('(' + oldCookieDataStr + ')'); 174 175 mergeData[oldCookieCount] = oldCookieDataObj; 176 oldCookieCount++; 177 178 // µìCookie¤òºï½ü¤¹¤ë 179 $.cookie(oldCookieName, "", { path: OLD_COOKIE_SAVE_PATH, expires: -1 }); 180 } 181 } 182 } 183 184 // ¹¹¿·ÂоݤεìCookie¤¬Â¸ºß¤¹¤ë 185 if (oldCookieCount > 0) { 186 mergeCount = oldCookieCount; 187 $.each(newCookieData, function (i, val) { 188 if (mergeCount >= OLD_CART_MAX) { 189 return false; 190 } 191 var isMerge = true; 192 $.each(mergeData, function (j, val2) { 193 if (val2[OLD_COOKIE_INDEX_STOCK_ID] == val[OLD_COOKIE_INDEX_STOCK_ID]) { 194 isMerge = false; 195 return false; 196 } 197 }); 198 if (isMerge) { 199 mergeData[mergeCount] = val; 200 mergeCount++; 201 } 202 }); 203 204 // Cookie¤ò¹¹¿· 205 // - ËÜÅö¤ÏEstimateCart.prototype.putData()¤ò»È¤¤¤¿¤¤¤¬¡¢ 206 // ¥¯¥é¥¹¥á¥½¥Ã¥É¤ÎÃæ¤Ç¥¯¥é¥¹¥á¥½¥Ã¥É¤ò¸Æ¤ó¤ÀºÝ¤Îµóư¤¬É԰¤ʤΤǡ¢ 207 // ¾éŤÀ¤¬¤³¤Î¥á¥½¥Ã¥É¤ÎÃæ¤ËCookie¹¹¿·½èÍý¤òÆþ¤ì¤ë¡£ 208 var cookieData = mergeData; 209 var date = new Date(); 210 var contain = ''; 211 date.setTime(date.getTime() + newCookieSaveTime); 212 213 for (var keyString in cookieData) { 214 if (cookieData[keyString] == '[object Object]') { 215 contain += '"' + keyString + '":{'; 216 for (var keyString2 in cookieData[keyString]) { 217 contain += '"' + keyString2 + '":"' + cookieData[keyString][keyString2] + '",'; 218 } 219 contain = contain.slice(0, -1); 220 contain += '},'; 221 } else { 222 contain = ''; 223 break; 224 } 225 } 226 if (contain != '') { 227 contain = contain.slice(0, -1); 228 cookieData = '{' + contain + '}'; 229 } else { 230 cookieData = ''; 231 } 232 $.cookie(newCookieName, cookieData, { expires: date, path: newCookieSavePath }); 233 234 } else { 235 mergeData = newCookieData; 236 } 237 238 return mergeData; 239} 240/** 241 * getData 242 * 243 * @return object data 244 */ 245EstimateCart.prototype.getData = function getData() 246{ 247 var cookieName = this.COOKIE_NAME; 248 var data = {}; 249 250 if ($.cookie(cookieName) != null) { 251 data = eval('(' + $.cookie(cookieName) + ')'); 252 } 253 254 // @todo ¥ê¥ê¡¼¥¹¸å10»þ´Ö·Ð²á¤·¤¿¤éºï½ü 255 // µì¥«¡¼¥È¾ðÊó¤ò¿·¥«¡¼¥È¾ðÊó¤Ø°Ü¹Ô 256 data = _mergeOldCookie(this.SITE_FROM, this.SITE_FROM_GROUP, data, this.COOKIE_NAME, this.COOKIE_SAVE_TIME, this.COOKIE_SAVE_PATH); 257 258 return data; 259}; 260/** 261 * putData 262 * 263 * @param cookieData 264 * @return void 265 */ 266EstimateCart.prototype.putData = function putData(cookieData) 267{ 268 var cookieName = this.COOKIE_NAME; 269 var date = new Date(); 270 var contain = ''; 271 272 date.setTime(date.getTime() + this.COOKIE_SAVE_TIME); 273 274 for (var keyString in cookieData) { 275 if (cookieData[keyString] == '[object Object]') {
276 contain += '"' + keyString + '":{'; 277 for (var keyString2 in cookieData[keyString]) { 278 contain += '"' + keyString2 + '":"' + cookieData[keyString][keyString2] + '",'; 279 } 280 contain = contain.slice(0, -1); 281 contain += '},'; 282 } else { 283 contain = ''; 284 break; 285 } 286 } 287 if (contain != '') { 288 contain = contain.slice(0, -1); 289 cookieData = '{' + contain + '}'; 290 } else { 291 cookieData = '{}'; 292 } 293 $.cookie(cookieName, cookieData, { expires: date, path: this.COOKIE_SAVE_PATH }); 294}; 295 296 297/** 298 * deleteEstimateCratOne 299 * 300 * @param string targetNo ºï½üÂоݥ«¡¼¥ÈÈÖ¹æ(01,02,03,04¡¦¡¦¡¦) 301 * @return void 302 */ 303function deleteEstimateCartOne(targetNo) 304{ 305 var EC = new EstimateCart(); 306 var data = EC.getData(); 307 var newData = {}; 308 var skipCount = 0; 309 var targetIndex = parseInt(targetNo, '10') - 1; 310 var delStockId = data[targetIndex][0]; 311 312 $.each(data, function (i, val) { 313 i = parseInt(i, '10'); 314 if (i != targetIndex) { 315 newData[i - skipCount] = val; 316 } else { 317 skipCount++; 318 } 319 }); 320 321 var AnotherEC = new EstimateCart(); 322 if (EC.COOKIE_NAME == "estimate_cart_G") { 323 AnotherEC.COOKIE_NAME = "estimate_cart_E_G"; 324 } else if (EC.COOKIE_NAME == "estimate_cart_E_G") { 325 AnotherEC.COOKIE_NAME = "estimate_cart_G"; 326 } else { 327 AnotherEC.COOKIE_NAME = null; 328 } 329 330 if (AnotherEC.COOKIE_NAME !== null) { 331 var anotherData = AnotherEC.getData(); 332 var newAnotherData = {}; 333 var j = 0; 334 $.each(anotherData, function (i, val) { 335 if (val[0] != delStockId) { 336 newAnotherData[j++] = val; 337 } 338 }); 339 AnotherEC.putData(newAnotherData); 340 } 341 342 EC.putData(newData); 343 344 // Delete the vehicle's customize information from the local storey 345 if (typeof delStoreCustomize === 'function') { 346 delStoreCustomize(delStockId); 347 } 348} 349 350 351/** 352 * deleteEstimateCartAll 353 * 354 * @return void 355 */ 356function deleteEstimateCartAll() 357{ 358 var EC = new EstimateCart(); 359 var data = {}; 360 361 EC.putData(data); 362} 363 364 365/** 366 * vanishEstimateCart 367 * 368 * @return void 369 */ 370function vanishEstimateCart() 371{ 372 var EC = new EstimateCart(); 373 374 $.cookie(EC.COOKIE_NAME, "", { path: EC.COOKIE_SAVE_PATH, expires: -1 }); 375} 376 377 378/** 379 * getRecord 380 * 381 * @param string targetNo ¼èÆÀÂоݥ«¡¼¥ÈÈÖ¹æ(01,02,03,04¡¦¡¦¡¦) 382 * @return targetRecord 383 */ 384function getEstimateCartOne(targetNo) 385{ 386 var EC = new EstimateCart(); 387 var data = EC.getData(); 388 var targetRecord = {}; 389 var targetIndex = parseInt(targetNo, '10') - 1; 390 var estCartCount = getEstimateCartCount(); 391 if (estCartCount != 0) { 392 if (targetIndex >= 0 && targetIndex < estCartCount) { 393 targetRecord = data[targetIndex]; 394 } 395 } 396 397 return targetRecord; 398} 399 400 401/** 402 * getEstimateCartCount 403 * 404 * @return integer estCartCount 405 */ 406function getEstimateCartCount() 407{ 408 var EC = new EstimateCart(); 409 var data = EC.getData(); 410 var dataKeys = $.map(data, function(value, key) { 411 return key; 412 }); 413 var estCartCount = dataKeys.length; 414 415 return estCartCount; 416} 417 418/** 419 * ¡Ö¼«Ê¬¤Ç¥ª¥×¥·¥ç¥ó¤òÁªÂò¡×Äɲà 420 */ 421function inputNewCheckfn() { 422 const inputNewCheck = document.querySelectorAll('#new_cart.cart_estimate_new input[type="checkbox"]'); 423 inputNewCheck.forEach(item => { 424 item.parentElement.classList.toggle('active', item.checked); 425 item.addEventListener('change', function () { 426 item.parentElement.classList.toggle('active', item.checked); 427 }) 428 }) 429}
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.