1var g_assistHeight = 150; 2var g_processQueue = new Array(); 3var g_textAssistantHash = new Array(); 4var g_timeoutId; 5var g_isKeyDown = false; 6var g_count = 0; 7var g_quickOrderUid = ''; 8var g_isMessageBoxVisible = false; 9var g_isCtrlDown = false; 10var g_isLoggedIn = false; 11var g_mbTimeoutId = 0; 12var g_totalQuantity = 0; 13var g_isRewardBoard = false; 14//+ Binds a text box to Text Assistant 15function BindTextBoxToTextAssist(textBoxId, assistDivId, assistType, minChar, dependencies, keyUpHandler) { 16 try { 17 g_textAssistantHash[textBoxId] = new TextAssistant(textBoxId, assistDivId); 18 $('#' + textBoxId).bind('focus', function() { 19 if (g_processQueue.length > 0) { 20 g_processQueue.pop(); 21 } 22 g_processQueue.push(new Array(textBoxId, assistDivId, assistType, minChar, dependencies)); 23 g_timeoutId = setTimeout(ProcessQueue, 500); 24 }); 25 $('#' + textBoxId).bind('blur', function() { 26 if ($('#' + assistDivId).css('display') == 'block') { 27 setTimeout(function() { HideAssistDiv(assistDivId); }, 250); 28 } 29 if (g_processQueue.length > 0) { 30 g_processQueue.pop(); 31 } 32 clearTimeout(g_timeoutId); 33 }); 34 $('#' + textBoxId).bind('keyup', function(e) { 35 if (e.which == 17) { 36 g_isCtrlDown = false; 37 } 38 if ((e.which != 38) && (e.which != 40) && (e.which != 13)) { 39 if (keyUpHandler) { 40 if (keyUpHandler(textBoxId, e.which) == true) { 41 g_isKeyDown = true; 42 } 43 } else { 44 g_isKeyDown = true; 45 } 46 } 47 }); 48 $('#' + textBoxId).keydown(function(e) { 49 return TextAssistant_KeyDownHandler(textBoxId, e); 50 }); 51 } catch (e) { 52 } 53} 54 55function ProcessQueue() { 56 if (g_processQueue.length == 0) { 57 return; 58 } 59 g_count++; 60 if (g_isKeyDown == true) { 61 TextAssistHandler(g_processQueue[0][0], g_processQueue[0][1], g_processQueue[0][2], g_processQueue[0][3], g_processQueue[0][4]); 62 g_isKeyDown = false; 63 } 64 g_timeoutId = setTimeout(ProcessQueue, 500); 65} 66 67function TextAssistHandler(id, divId, type, minLength, dependencies) { 68 var assistUrl = '/QuickOrder/TextAssist.asp'; 69 var text = document.getElementById(id).value; 70 var isDivVisible = ($('#' + divId).css('display') == 'block') ? true : false; 71 var textAssist = g_textAssistantHash[id]; 72 //+ 73 if (text.length < minLength) { 74 if (isDivVisible == true) { 75 HideAssistDiv(divId); 76 } 77 return; 78 } 79 var url = assistUrl; 80 url += '?Type=' + escape(type) + '&Text=' + escape(text) + '&IdS=' + g_idS; 81 if (IsArray(dependencies) == true) { 82 var dependenciesList = ''; 83 for (var i = 0; i < dependencies.length; i++) { 84 url += '&' + dependencies[i] + '=' + escape(document.getElementById(dependencies[i]).value) 85 } 86 } 87 document.getElementById(divId).innerHTML = ''; 88 if (textAssist.request != null) { 89 textAssist.request.abort(); 90 textAssist.request = null; 91 } 92 textAssist.request = $.ajax({ 93 type: "GET", 94 url: url, 95 complete: function() { 96 textAssist.request = null; 97 }, 98 success: function(data) { 99 if (data.length > 0) { 100 var items = data.split('|'); 101 textAssist.clear(); 102 for (var i = 0; i < items.length; i++) { 103 textAssist.addItem(items[i]); 104 } 105 textAssist.updateDiv(); 106 if (isDivVisible == false) { 107 ShowAssistDiv(divId, id); 108 } 109 } else { 110 if (isDivVisible == true) { 111 HideAssistDiv(divId); 112 } 113 } 114 } 115 }); 116} 117 118function SetTextValue(id, value) { 119 document.getElementById(id).value = value; 120 g_isKeyDown = true; 121 if ((id == 'ProductName') || (id == 'Sku')) { 122 SetItemInfo(); 123 } 124 if (id == 'AccountContact') { 125 SetAccountInfo(); 126 } 127 document.getElementById(id).focus(); 128} 129 130function SetItemInfo(callBack) { 131 if ((document.getElementById('Sku').value == '') && (document.getElementById('ProductName').value == '')) { 132 return; 133 } 134 document.getElementById('PhotoPreviewDiv').style.display = 'none'; 135 document.getElementById('QuickOrderLoadingDiv').style.display = 'block'; 136 $.get('/QuickOrder/Data.asp?Request=GetProductInfo&Sku=' + escape(document.getElementById('Sku').value) + '&Name=' + escape(document.getElementById('ProductName').value) + '&IdS=' + g_idS, function(data) { 137 document.getElementById('QuickOrderLoadingDiv').style.display = 'none'; 138 if (data.length > 0) { 139 var info = data.split('|'); 140 document.getElementById('Sku').value = info[0]; 141 document.getElementById('ProductName').value = info[1]; 142 document.getElementById('InStockStatusDiv').innerHTML = info[2]; 143 document.getElementById('ProductImageDiv').style.display = 'block'; 144 var isInactive = (info[11] == '0'); 145 if (isInactive) { 146 MessageBox('The product you\'ve entered is no longer active.', 10000); 147 return; 148 } 149 var height = 0; 150 try { 151 var image = new Image(); 152 image.src = '/_Sku/' + info[0] + 't.jpg'; 153 height = image.height; 154 } catch (e) { 155 } 156 document.getElementById('ProductImageDiv').innerHTML = '<a href="/QuickOrder/Data.asp?Request=ProductImage&Sku=' + info[0] + '&height=500&~=" id="ProductImage" class="jTip" name="Product Image"><img src="/_Sku/' + info[0] + 't.jpg" border="0" style="margin-top:' + (Math.round(((75 - height) / 2))) + 'px;" /></a>'; 157 document.getElementById('Qty_Each').style.display = (info[3] == 0) ? 'none' : ''; 158 document.getElementById('Qty_Inner').style.display = (info[4] == 0) ? 'none' : ''; 159 document.getElementById('Qty_Case').style.display = (info[5] == 0) ? 'none' : ''; 160 document.getElementById('Qty_Each_Label').style.display = (info[3] == 0) ? 'none' : ''; 161 document.getElementById('Qty_Inner_Label').style.display = (info[4] == 0) ? 'none' : ''; 162 document.getElementById('Qty_Case_Label').style.display = (info[5] == 0) ? 'none' : ''; 163 document.getElementById('EachUnitPrice').innerHTML = (info[3] == 0) ? '' : info[7]; 164 document.getElementById('InnerUnitPrice').innerHTML = (info[4] == 0) ? '' : info[8]; 165 document.getElementById('CaseUnitPrice').innerHTML = (info[5] == 0) ? '' : info[9]; 166 document.getElementById('CurrencyExchange').innerHTML = info[10]; 167 JT_init(); 168 $('#ProductImage').click(function(e) { 169 ProductPopup('', info[6]); 170 return false; 171 }); 172 //+ 173 var id = ''; 174 if (g_isRewardBoard == true) { 175 id = 'Student'; 176 } else if (info[3] == 1) { 177 id = 'Qty_Each'; 178 } else if (info[4] == 1) { 179 id = 'Qty_Inner'; 180 } else if (info[5] == 1) { 181 id = 'Qty_Case'; 182 } 183 if (id != '') { 184 document.getElementById(id).focus(); 185 } 186 $('#Qty_Each, #Qty_Inner, #Qty_Case').bind('keydown', function(event) { 187 return qtyKeyDown(event); 188 }); 189 } else { 190 document.getElementById('InStockStatusDiv').innerHTML = ''; 191 document.getElementById('ProductImageDiv').innerHTML = ''; 192 document.getElementById('CurrencyExchange').innerHTML = ''; 193 document.getElementById('PhotoPreviewDiv').style.display = 'block'; 194 document.getElementById('Sku').focus(); 195 document.getElementById('Sku').setSelectionRange(0, document.getElementById('Sku').value.length); 196 } 197 if (callBack) { 198 callBack(); 199 } 200 }); 201} 202 203function SetAccountInfo(callBack) { 204 $.get('/QuickOrder/Data.asp?Request=GetAccountInfo&Account=' + escape(document.getElementById('Account').value) + '&AccountContact=' + escape(document.getElementById('AccountContact').value) + '&Uid=' + g_quickOrderUid + '&IdS=' + g_idS, function(data) { 205 if (data.length > 0) { 206 var info = data.split('|'); 207 document.getElementById('Account').value = info[0]; 208 document.getElementById('AccountContact').value = info[1]; 209 if (g_quickOrderUid == '') { 210 if (info[2] == 'E') { 211 MessageBox('Error while trying to create your quick order. Please try again later.'); 212 if (document.getElementById('LauncCartActionDiv').style.display != 'none') { 213 $('#LaunchCartActionDiv').slideUp(250); 214 } 215 } else { 216 g_quickOrderUid = info[3]; 217 $('#LaunchCartActionDiv').slideDown(250); 218 } 219 } 220 } 221 if (callBack) { 222 callBack(); 223 } 224 }); 225} 226 227function HideAssistDiv(id) { 228 $('#' + id).animate({ height: '0px' }, 250, function() { 229 $('#' + id).css({ height: '0px', display: 'none' }); 230 }); 231} 232 233function ShowAssistDiv(id, textId) { 234 var height = (g_textAssistantHash[textId].divHeight > g_assistHeight) ? g_assistHeight : g_textAssistantHash[textId].divHeight; 235 $('#' + id).css({ display: 'none' }); 236 $('#' + id).animate({ height: height + 'px' }, 250, function() { 237 $('#' + id).css({ height: 'auto', display: 'block' }); 238 $('#' + id).css({ height: height + 'px', display: 'block' }); 239 if (g_textAssistantHash[textId].divHeight > g_assistHeight) { 240 $('#' + id).css({ overflow: 'scroll' }); 241 } else { 242 $('#' + id).css({ overflow: 'visible' }); 243 } 244 }); 245} 246 247function IsArray() { 248 if (arguments[0] == null) { 249 return false; 250 } 251 if (typeof arguments[0] == 'object') { 252 var criterion = arguments[0].constructor.toString().match(/array/i); 253 return (criterion != null); 254 } 255 return false; 256} 257 258function ClearProductEntryForm() { 259 document.getElementById('Sku').value = ''; 260 document.getElementById('ProductName').value = ''; 261 document.getElementById('Qty_Each').value = ''; 262 document.getElementById('Qty_Inner').value = ''; 263 document.getElementById('Qty_Case').value = ''; 264 document.getElementById('InStockStatusDiv').innerHTML = ''; 265 document.getElementById('ProductImageDiv').innerHTML = ''; 266 $('#Qty_Each').unbind('keydown'); 267 $('#Qty_Inner').unbind('keydown'); 268 $('#Qty_Case').unbind('keydown'); 269 document.getElementById('Qty_Each_Label').style.display = 'none'; 270 document.getElementById('Qty_Inner_Label').style.display = 'none'; 271 document.getElementById('Qty_Case_Label').style.display = 'none'; 272 document.getElementById('Qty_Each').style.display = 'none'; 273 document.getElementById('Qty_Inner').style.display = 'none'; 274 document.getElementById('Qty_Case').style.display = 'none'; 275 document.getElementById('Qty_Each').value = ''; 276 document.getElementById('Qty_Inner').value = ''; 277 document.getElementById('Qty_Case').value = ''; 278 document.getElementById('EachUnitPrice').innerHTML = ''; 279 document.getElementById('InnerUnitPrice').innerHTML = ''; 280 document.getElementById('CaseUnitPrice').innerHTML = ''; 281 document.getElementById('PhotoPreviewDiv').style.display = 'block'; 282 document.getElementById('CurrencyExchange').innerHTML = ''; 283 if (g_isRewardBoard == true) { 284 document.getElementById('Student').value = ''; 285 } 286} 287 288function ClearForm() { 289 ClearProductEntryForm(); 290 g_quickOrderUid = ''; 291 document.getElementById('Account').value = ''; 292 document.getElementById('AccountContact').value = ''; 293 if (document.getElementById('LauncCartActionDiv').style.display != 'none') { 294 $('#LauncCartActionDiv').slideUp(250); 295 } 296 UpdateItemList(); 297} 298 299function AddProduct() { 300 if (g_quickOrderUid == '') { 301 MessageBox('You have not created a quick order header yet. Please make sure the account data is filled in correctly above.'); 302 return; 303 } 304 if (document.getElementById('Sku').value == '') { 305 MessageBox('You have not selected a product to add.', 2000); 306 return; 307 }
308 if ((g_isRewardBoard == true) && (document.getElementById('Student').value == '')) { 309 MessageBox('You have not entered a student name.', 2000); 310 return; 311 } 312 var studentName = ((g_isRewardBoard == true) ? document.getElementById('Student').value : ''); 313 $.get('/QuickOrder/Data.asp?Request=AddProduct&Sku=' + escape(document.getElementById('Sku').value) + '&QtyEach=' + escape(document.getElementById('Qty_Each').value) + '&QtyInner=' + escape(document.getElementById('Qty_Inner').value) + '&QtyCase=' + escape(document.getElementById('Qty_Case').value) + '&Student=' + studentName + '&Uid=' + g_quickOrderUid + '&IdS=' + g_idS, function(data) { 314 if (data.length > 0) { 315 var response = data.split('|'); 316 if (response[0] == 'E') { 317 MessageBox('Error: ' + response[1]); 318 if (document.getElementById('Qty_Case').style.display != 'none') { 319 document.getElementById('Qty_Case').focus(); 320 } else { 321 document.getElementById('Sku').focus(); 322 } 323 } else { 324 document.getElementById('Sku').focus(); 325 MessageBox('Product successfully added. Just a moment...'); 326 ClearProductEntryForm(); 327 UpdateItemList(function() { 328 }); 329 } 330 } 331 }); 332} 333 334function EditProduct(sku, student) { 335 ClearProductEntryForm(); 336 document.getElementById('PhotoPreviewDiv').style.display = 'none'; 337 document.getElementById('QuickOrderLoadingDiv').style.display = 'block'; 338 $.get('/QuickOrder/Data.asp?Request=EditProduct&Sku=' + escape(sku) + '&Student=' + escape(student) + '&Uid=' + g_quickOrderUid + '&IdS=' + g_idS, function(data) { 339 if (data.length > 0) { 340 document.getElementById('AddProductActionDiv').style.display = 'none'; 341 document.getElementById('UpdateProductActionDiv').style.display = ''; 342 var info = data.split('|'); 343 var height = 0; 344 try { 345 var image = new Image(); 346 image.src = '/_Sku/' + info[0] + 't.jpg'; 347 height = image.height; 348 } catch (e) { 349 } 350 document.getElementById('Sku').value = info[0]; 351 document.getElementById('ProductName').value = info[1]; 352 document.getElementById('InStockStatusDiv').innerHTML = info[2]; 353 document.getElementById('ProductImageDiv').style.display = 'block'; 354 document.getElementById('ProductImageDiv').innerHTML = '<a href="/QuickOrder/Data.asp?Request=ProductImage&Sku=' + info[0] + '&height=500&~=" id="ProductImage" class="jTip" name="Product Image"><img src="/_Sku/' + info[0] + 't.jpg" border="0" style="margin-top:' + (Math.round(((75 - height) / 2))) + 'px;" /></a>'; 355 document.getElementById('Qty_Each').style.display = (info[3] == 0) ? 'none' : ''; 356 document.getElementById('Qty_Inner').style.display = (info[4] == 0) ? 'none' : ''; 357 document.getElementById('Qty_Case').style.display = (info[5] == 0) ? 'none' : ''; 358 document.getElementById('Qty_Each_Label').style.display = (info[3] == 0) ? 'none' : ''; 359 document.getElementById('Qty_Inner_Label').style.display = (info[4] == 0) ? 'none' : ''; 360 document.getElementById('Qty_Case_Label').style.display = (info[5] == 0) ? 'none' : ''; 361 document.getElementById('EachUnitPrice').innerHTML = (info[3] == 0) ? '' : info[10]; 362 document.getElementById('InnerUnitPrice').innerHTML = (info[4] == 0) ? '' : info[11]; 363 document.getElementById('CaseUnitPrice').innerHTML = (info[5] == 0) ? '' : info[12]; 364 document.getElementById('CurrencyExchange').innerHTML = info[13]; 365 if (g_isRewardBoard == true) { 366 document.getElementById('Student').value = info[14]; 367 document.getElementById('Student').disabled = true; 368 } 369 document.getElementById('Sku').disabled = true; 370 document.getElementById('ProductName').disabled = true; 371 JT_init(); 372 $('#ProductImage').click(function(e) { 373 ProductPopup('', info[6]); 374 return false; 375 }); 376 //+ 377 var id = ''; 378 if (info[3] == 1) { 379 id = 'Qty_Each'; 380 } else if (info[4] == 1) { 381 id = 'Qty_Inner'; 382 } else if (info[5] == 1) { 383 id = 'Qty_Case'; 384 } 385 $('#Qty_Each, #Qty_Inner, #Qty_Case').bind('keydown', function(event) { 386 return qtyUpdateKeyDown(event); 387 }); 388 //+ 7-9 389 document.getElementById('Qty_Each').value = info[7]; 390 document.getElementById('Qty_Inner').value = info[8]; 391 document.getElementById('Qty_Case').value = info[9]; 392 if (id != '') { 393 document.getElementById(id).focus(); 394 } 395 } else { 396 document.getElementById('InStockStatusDiv').innerHTML = ''; 397 document.getElementById('ProductImageDiv').innerHTML = ''; 398 document.getElementById('PhotoPreviewDiv').style.display = 'block'; 399 } 400 document.getElementById('QuickOrderLoadingDiv').style.display = 'none'; 401 }); 402} 403 404function UpdateProduct() { 405 if (g_quickOrderUid == '') { 406 MessageBox('You have not created a quick order header yet. Please make sure the account data is filled in correctly above.'); 407 return; 408 }
409 var studentName = ((g_isRewardBoard == true) ? document.getElementById('Student').value : ''); 410 $.get('/QuickOrder/Data.asp?Request=UpdateProduct&Sku=' + escape(document.getElementById('Sku').value) + '&QtyEach=' + escape(document.getElementById('Qty_Each').value) + '&QtyInner=' + escape(document.getElementById('Qty_Inner').value) + '&QtyCase=' + escape(document.getElementById('Qty_Case').value) + '&Student=' + escape(studentName) + '&Uid=' + g_quickOrderUid + '&IdS=' + g_idS, function(data) { 411 if (data.length > 0) { 412 var response = data.split('|'); 413 if (response[0] == 'E') { 414 MessageBox('Error: ' + response[1]); 415 document.getElementById('Qty_Case').focus(); 416 } else { 417 MessageBox('Item Updated'); 418 ClearProductEntryForm(); 419 document.getElementById('AddProductActionDiv').style.display = ''; 420 document.getElementById('UpdateProductActionDiv').style.display = 'none'; 421 document.getElementById('Sku').disabled = false; 422 document.getElementById('ProductName').disabled = false; 423 if (g_isRewardBoard == true) { 424 document.getElementById('Student').disabled = false; 425 } 426 document.getElementById('Sku').focus(); 427 UpdateItemList(function() { 428 }); 429 } 430 } 431 }); 432} 433 434function RemoveProduct(sku, student) { 435 $.get('/QuickOrder/Data.asp?Request=RemoveProduct&Sku=' + escape(sku) + '&Student=' + escape(student) + '&Uid=' + g_quickOrderUid + '&IdS=' + g_idS, function(data) { 436 UpdateItemList(); 437 }); 438} 439 440function UpdateItemList(callBack) { 441 $('#ItemList').slideUp(250, function() { 442 $.get('/QuickOrder/Data.asp?Request=ItemList&Uid=' + g_quickOrderUid + '&IdS=' + g_idS, function(data) { 443 var pos = data.indexOf('TotalQty:'); 444 var posEnd = data.indexOf(' ', pos + 11); 445 var qty = data.substring(pos + 10, posEnd) 446 g_totalQuantity = parseInt(qty); 447 document.getElementById('ItemList').innerHTML = data; 448 JT_init(); 449 $('#ItemList').slideDown(250, function() { 450 if (callBack) { 451 callBack(); 452 } 453 }); 454 }); 455 }); 456} 457 458function SetDebug(value) { 459 document.getElementById('debug').innerHTML = value; 460} 461 462function MessageBox(msg, delay) { 463 if (g_isMessageBoxVisible == true) { 464 return; 465 } 466 document.getElementById('MessageBoxDiv_Content').innerHTML = msg; 467 try { 468 g_isMessageBoxVisible = true; 469 var wndSize = GetWindowSize(); 470 var offsetY = ScrollOffset(); 471 var posX = ($(document).width() / 2) - ($('#MessageBoxDiv').width() / 2); 472 var posY = ((wndSize.height) / 2) - ($('#MessageBoxDiv').height() / 2) + offsetY; 473 $('#MessageBoxDiv').css({ top: posY + 'px', left: posX + 'px' }); 474 ShowOverlay('MessageBoxDiv', function() { 475 $(document).bind('click', CloseMessageBox); 476 g_mbTimeoutId = setTimeout(function() { 477 CloseMessageBox(); 478 }, (delay) ? delay : 2000); 479 }); 480 } catch (e) { 481 } 482} 483 484function CloseMessageBox() { 485 window.clearTimeout(g_mbTimeoutId); 486 $(document).unbind('click', CloseMessageBox); 487 HideOverlay('MessageBoxDiv'); 488 g_isMessageBoxVisible = false; 489} 490 491function GetWindowSize() { 492 var width = 0; 493 var height = 0; 494 if (typeof (window.innerWidth) == 'number') { 495 //+ Not IE 496 width = window.innerWidth; 497 height = window.innerHeight; 498 } else if (document.documentElement && (document.documentElement.clientWidth || document.documentElement.clientHeight)) { 499 //+ IE 6+ in 'standards compliant mode' 500 width = document.documentElement.clientWidth; 501 height = document.documentElement.clientHeight; 502 } else if (document.body && (document.body.clientWidth || document.body.clientHeight)) { 503 //+ IE 4 compatible 504 width = document.body.clientWidth; 505 height = document.body.clientHeight; 506 } 507 return { width: width, height: height }; 508} 509 510function Product_KeyUpHandler(id, keyCode) { 511 switch (keyCode) { 512 //+ Backspace 513 case 8: 514 //+ Del 515 case 46: 516 if (document.getElementById(id).value == '') { 517 ClearProductEntryForm(); 518 } 519 break; 520 //+ Left 521 case 37: 522 document.getElementById('Sku').focus(); 523 return false; 524 //+ Right 525 case 39: 526 document.getElementById('ProductName').focus(); 527 return false; 528 } 529 return true; 530} 531 532function CompleteQuickOrder() { 533 if (g_isLoggedIn == false) { 534 MessageBox("Ooops! You need to login to an account to perform this function. Please login, then try again.", 4000); 535 return; 536 } 537 //+ to prevent beforeunload dialog 538 g_totalQuantity = 0; 539 var o = document.Form_Engine; 540 o.Action.value = 'Checkout'; 541 o.submit(); 542} 543 544//- TextAssistant -// 545function TextAssistant_KeyDownHandler(id, e) { 546 var textAssist = g_textAssistantHash[id]; 547 var keyCode = e.which; 548 switch (keyCode) { 549 //+ Ctrl 550 case 17: 551 g_isCtrlDown = true; 552 return true; 553 //+ Up 554 case 38: 555 if (textAssist.selectedIndex > 0) { 556 textAssist.selectedIndex -= 1; 557 textAssist.updateDiv(); 558 } 559 return false; 560 //+ Down 561 case 40: 562 if (textAssist.selectedIndex < textAssist.items.length - 1) { 563 textAssist.selectedIndex += 1;
564 textAssist.updateDiv(); 565 } 566 return false; 567 case 9: 568 if (textAssist.selectedIndex > -1) { 569 textAssist.setItem(); 570 } 571 return true; 572 //+ Enter 573 case 13: 574 if (g_isCtrlDown == false) { 575 textAssist.setItem(); 576 } else { 577 if (confirm('Are you really sure you would like to add these items to your cart?') == true) { 578 CompleteQuickOrder(); 579 } 580 } 581 return false; 582 } 583 return true; 584} 585 586function TextAssistant(id, divId) { 587 this.id = id; 588 this.divId = divId; 589 this.selectedIndex = -1; 590 this.items = new Array(); 591 this.divHeight = 0; 592 this.request = null; 593} 594 595TextAssistant.prototype.clear = function() { 596 this.items.length = 0; 597 this.selectedIndex = -1; 598} 599 600TextAssistant.prototype.updateDiv = function() { 601 if ((this.items.length == 1) && (document.getElementById(this.id).value == '')) { 602 this.selectedIndex = 0; 603 this.setItem(); 604 return; 605 } 606 var html = ''; 607 for (var i = 0; i < this.items.length; i++) { 608 html += '<a href="#" onclick="SetTextValue(\'' + this.id + '\', \'' + this.items[i] + '\'); return false;" id="' + this.divId + '_' + i + '" class="TextAssistEntry' + ((this.selectedIndex == i) ? 'Selected' : ((i % 2 == 0) ? 'Alt' : '')) + '">' + this.items[i] + '</a>'; 609 } 610 var div = document.getElementById(this.divId); 611 $('#ItemList').append('<div id="' + this.divId + '_Temp" style=""position: absolute; display: none;""></div>'); 612 $('#' + this.divId + '_Temp').css({ width: ($('#' + this.id).width()) + 'px' }); 613 document.getElementById(this.divId + '_Temp').innerHTML = html; 614 this.divHeight = parseInt($('#' + this.divId + '_Temp').height()); 615 var divHeight = this.divHeight; 616 $('#' + this.divId + '_Temp').remove(); 617 div.innerHTML = html; 618 var padding = (this.divHeight > g_assistHeight) ? 20 : 0; 619 $(div).css({ width: ($('#' + this.id).width() + padding) + 'px' }); 620 var height = (divHeight > g_assistHeight) ? g_assistHeight : divHeight; 621 if (height != $(div).height()) { 622 $(div).animate({ height: height + 'px' }, 250, function() { 623 $(div).css({ height: height + 'px', display: 'block' }); 624 if (divHeight >= g_assistHeight) { 625 $(div).css({ overflow: 'scroll' }); 626 } else { 627 $(div).css({ overflow: 'visible' }); 628 } 629 }); 630 } 631 if (this.selectedIndex > -1) { 632 var entry = document.getElementById(this.divId + '_' + this.selectedIndex); 633 var newHeight = $(div).height() - 20; 634 var scrollPos = div.scrollTop; 635 var offset = entry.offsetTop; 636 if (offset < scrollPos) { 637 div.scrollTop = offset; 638 } 639 if (offset > scrollPos + newHeight) { 640 div.scrollTop = (offset + $(entry).height()) - newHeight; 641 } 642 } 643} 644 645TextAssistant.prototype.addItem = function(value) { 646 this.items.push(value); 647} 648 649TextAssistant.prototype.setItem = function() { 650 if (this.selectedIndex == -1) { 651 return; 652 } 653 SetTextValue(this.id, this.items[this.selectedIndex]); 654 this.clear(); 655} 656 657function QuickOrder_OnBeforeUnLoad(event) { 658 if (g_totalQuantity == 0) { 659 return; 660 } 661 return 'Your Quick Order Form will be cleared.'; 662}
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.