Rambler's Top100
Главная
Новости
Статьи
Форумы
Книги
Коды
Сообщество
Блоги
О нас
 

Логин

Email:
  Пароль:

Войти
Зарегистрироваться
Забыл пароль

Поиск

 Искать :
 
Вперед

Книги по теме

Искать:
в:
Порядок:

Исходник

Автор:

Max Pro

 
Название:

Доступ к ASPxComboBox из Яваскрипта: ломаем дальше методом полного анализа объекта (элемент управления из библиотеки Developer Express, диапазон версий 7.2.x.x ... 7.3.x.x)

Дата: 11 January 2008
Описание: Предыдущий быстрый способ взлома хотя и работает, но некрасив и малофункционален. Поэтому я приглашаю тусовку не останавливаться на достигнутом и попытаться доломать проклятых буржуев до конца. В этом нам поможет так называемый метод полного анализа объекта - Яваскрипт позволяет разложить любой объект по косточкам - единственное надо применять его точечно чтобы не утонуть в море информации. 
  Разместить ссылку на этот исходник в форуме вы можете вставив в текст сообщения следующую строку: [CODEPOST ID=222]Доступ к ASPxComboBox из Яваскрипта: ломаем дальше методом полного анализа объекта (элемент управления из библиотеки Developer Express, диапазон версий 7.2.x.x ... 7.3.x.x)[/CODEPOST]
Оценка: Проголосовало 7 посетителей, средняя оценка 2.14
Оценить:
  1 В чём состоит способ полного анализа объекта? Это цикл for(var name in Объект).
  2 
  3 1. Создаём обработчик события SelectedIndexChanged:
  4 
  5 <dxe:ASPxComboBox ID="ASPxComboBox1" runat="server" CssFilePath="~/App_Themes/Glass/{0}/styles.css"
  6 	CssPostfix="Glass" ImageFolder="~/App_Themes/Glass/{0}/" Width="100%" ValueType="System.String">
  7 	<ValidationSettings>
  8 		<ErrorFrameStyle ImageSpacing="4px">
  9 			<ErrorTextPaddings PaddingLeft="4px" />
 10 		</ErrorFrameStyle>
 11 		<ErrorImage Height="14px" Url="~/App_Themes/Glass/Editors/edtError.png" Width="14px" />
 12 	</ValidationSettings>
 13 	<ClientSideEvents SelectedIndexChanged="function(s, e) 
 14 	{
 15 		var names='';
 16 		var i=0;
 17 		for(var name in s)
 18 		{
 19 			i++;
 20 			names+='='+i+'='+'\n'+name+'='+s[name]+'\n';
 21 		}
 22 		document.getElementById('TextBox1').innerHTML=names;
 23 	}" />
 24 </dxe:ASPxComboBox>
 25 
 26 Ну и зацениваем содержимое TextBox1. Там, как Вы догадываетесь, много интересного, но самое интересное вот это:
 27 
 28 name=ASPxComboBox1
 29 
 30 А это означает, что в любом месте Яваскрипта можно обращаться к комбобоксу напрямую по имени ASPxComboBox1.
 31 
 32 2. Продолжаем взлом. Добавляем в обработчик первоначальной загрузки цикл for(var name in ASPxComboBox1):
 33 
 34 // Функция первоначальной загрузки
 35 function fLoad()
 36 {
 37 	...
 38 	var names='';
 39 	var i=0;
 40 	for(var name in ASPxComboBox1)
 41 	{
 42 		i++;
 43 		names+='='+i+'='+'\n'+name+'='+ASPxComboBox1[name]+'\n';
 44 	}
 45 	document.getElementById('TextBox1').innerHTML=names;
 46 	...
 47 }
 48 
 49 Сравниваем объекты s и ASPxComboBox1. Почти совпадают. У s 274 подобъекта, а у ASPxComboBox1 - 271.
 50 
 51 3. Анализируем, проверяем на практике и делаем выводы.
 52 
 53 Соответствие DropDownList -> ASPxComboBox
 54 document.getElementById("DropDownList1") соответствует ASPxComboBox1
 55 .selectedIndex соответствует .GetSelectedIndex или .GetListBoxControl().GetSelectedIndexInternal()
 56 .options соответствует .GetItem()
 57 .options[i].value соответствует .GetItem(i).value
 58 .options[i].text соответствует .GetItem(i).text
 59 Обратите внимание на круглые скобки. Это не опечатка - Девэксп решил заново изобрести велосипед и запендюрил функции вместо массивов - ничего не поделаешь.
 60 
 61 4. Кроме гетеров имеются соответствующие сетеры. Полный список подобъектов, выводимый методом полного анализа for(var name in ASPxComboBox1), приводится ниже:
 62 
 63 =1=
 64 constructor=function () {
 65     if (ret.preparing) {
 66         return delete ret.preparing;
 67     }
 68     if (ret.constr) {
 69         this.constructor = ret;
 70         ret.constr.apply(this, arguments);
 71     }
 72 }
 73 =2=
 74 name=ASPxComboBox1
 75 =3=
 76 uniqueID=ASPxComboBox1
 77 =4=
 78 autoPostBack=false
 79 =5=
 80 callBack=function (arg) {
 81     WebForm_DoCallback("ASPxComboBox1", arg, aspxCallback, "ASPxComboBox1", aspxCallbackError, true);
 82 }
 83 =6=
 84 allowMultipleCallbacks=false
 85 =7=
 86 requestCount=0
 87 =8=
 88 isInitialized=false
 89 =9=
 90 leadingAfterInitCall=false
 91 =10=
 92 sizeCorrectedOnce=false
 93 =11=
 94 serverEvents=
 95 =12=
 96 mainElement=null
 97 =13=
 98 Init=[object Object]
 99 =14=
100 BeginCallback=[object Object]
101 =15=
102 EndCallback=[object Object]
103 =16=
104 inputElement=null
105 =17=
106 convertEmptyStringToNull=true
107 =18=
108 widthCorrectionRequired=false
109 =19=
110 heightCorrectionRequired=false
111 =20=
112 initialErrorText=
113 =21=
114 causesValidation=false
115 =22=
116 validationGroup=
117 =23=
118 sendPostBackWithValidation=null
119 =24=
120 customValidationEnabled=false
121 =25=
122 validationPatterns=null
123 =26=
124 setFocusOnError=false
125 =27=
126 errorDisplayMode=it
127 =28=
128 errorText=
129 =29=
130 isValid=true
131 =30=
132 errorImageIsAssigned=false
133 =31=
134 GotFocus=[object Object]
135 =32=
136 LostFocus=[object Object]
137 =33=
138 Validation=[object Object]
139 =34=
140 ValueChanged=[object Object]
141 =35=
142 KeyDown=[object Object]
143 =36=
144 KeyPress=[object Object]
145 =37=
146 KeyUp=[object Object]
147 =38=
148 TextChanged=[object Object]
149 =39=
150 ButtonClick=[object Object]
151 =40=
152 DropDown=[object Object]
153 =41=
154 CloseUp=[object Object]
155 =42=
156 ddHeightCache=-10000
157 =43=
158 ddWidthCache=-10000
159 =44=
160 dropDownButtonIndex=-1
161 =45=
162 droppedDown=false
163 =46=
164 lastSuccessText=
165 =47=
166 SelectedIndexChanged=[object Object]
167 =48=
168 filterTimerId=-1
169 =49=
170 lbEventLockCount=0
171 =50=
172 isCallbackMode=false
173 =51=
174 isPerformCallback=false
175 =52=
176 changeSelectAfterCallback=0
177 =53=
178 isFilterEnabled=false
179 =54=
180 isEnterLocked=false
181 =55=
182 filter=
183 =56=
184 isToolBarItem=false
185 =57=
186 isDropDownListStyle=true
187 =58=
188 dropDownHeight=
189 =59=
190 dropDownWidth=
191 =60=
192 listBox=null
193 =61=
194 lastSuccessValue=
195 =62=
196 islastSuccessValueInit=false
197 =63=
198 Initialize=function () {
199     var lb = this.GetListBoxControl();
200     if (_aspxIsExists(lb)) {
201         lb.ownerName = this.name;
202     }
203     var mainElement = this.GetMainElement();
204     var input = this.FindInputElement();
205     var ddbutton = this.GetDropDownButton();
206     if (_aspxIsExists(ddbutton)) {
207         _aspxAttachEventToElement(ddbutton, "mousemove", _aspxCBDDButtonMMove);
208     }
209     if (this.isFilterEnabled) {
210         _aspxAttachEventToElement(input, "keyup", _aspxCBKeyUp);
211     }
212     if (this.isDropDownListStyle && __aspxIE) {
213         _aspxPreventElementDragAndSelect(mainElement, true);
214         _aspxPreventElementDragAndSelect(input, true);
215         if (_aspxIsExists(ddbutton)) {
216             _aspxPreventElementDragAndSelect(ddbutton, true);
217         }
218     }
219     if (this.isToolBarItem) {
220         mainElement.unselectable = "on";
221         input.unselectable = "on";
222         input.offsetParent.unselectable = "on";
223         if (_aspxIsExists(ddbutton)) {
224             ddbutton.unselectable = "on";
225         }
226         if (_aspxIsExists(lb)) {
227             var table = lb.GetListTable();
228             for (var i = 0; i < table.rows.length; i++) {
229                 for (var j = 0; j < table.rows[i].cells.length; j++) {
230                     table.rows[i].cells[j].unselectable = "on";
231                 }
232             }
233         }
234     }
235     this.RemoveRaisePSValidationFromListBox();
236     this.RedirectStandardValidators();
237     this.UpdateValueInput();
238     this.InitDropDownSize();
239     ASPxClientDropDownEdit.prototype.Initialize.call(this);
240 }
241 =64=
242 CorrectSize=function (checkSizeCorrectedFlag) {
243     if (checkSizeCorrectedFlag && this.sizeCorrectedOnce ||
244         !this.IsVisible()) {
245         return;
246     }
247     ASPxClientEdit.prototype.CorrectSize.call(this, checkSizeCorrectedFlag);
248     this.ddHeightCache = __aspxInvalidDimension;
249     this.ddWidthCache = __aspxInvalidDimension;
250 }
251 =65=
252 EnableStyleControllerForDDButton=function () {
253     var element = this.GetDropDownButton();
254     if (_aspxIsExists(element)) {
255         var controller = aspxGetStateController();
256         this.ReplaceElementControlStyleItem(controller.hoverItems, element, this.ddButtonHoverStyle);
257         this.ReplaceElementControlStyleItem(controller.pressedItems, element, this.ddButtonPressedStyle);
258         this.ReplaceElementControlStyleItem(controller.selectedItems, element, this.ddButtonSelectedStyle);
259     }
260 }
261 =66=
262 DisableStyleControllerForDDButton=function () {
263     var element = this.GetDropDownButton();
264     if (_aspxIsExists(element)) {
265         var controller = aspxGetStateController();
266         this.ddButtonHoverStyle = this.ReplaceElementControlStyleItem(controller.hoverItems, element, null);
267         this.ddButtonPressedStyle = this.ReplaceElementControlStyleItem(controller.pressedItems, element, null);
268         this.ddButtonSelectedStyle = this.ReplaceElementControlStyleItem(controller.selectedItems, element, null);
269     }
270 }
271 =67=
272 ReplaceElementControlStyleItem=function (items, element, newStyleItem) {
273     var styleItem = items[element.id];
274     items[element.id] = newStyleItem;
275     return styleItem;
276 }
277 =68=
278 RemoveRaisePSValidationFromListBox=function () {
279     var listBox = this.GetListBoxControl();
280     if (_aspxIsExists(listBox)) {
281         listBox.RaisePersonalStandardValidation = function () {};
282     }
283 }
284 =69=
285 RedirectStandardValidators=function () {
286     var valueInput = this.GetValueInput();
287     if (_aspxIsExistsElement(valueInput) &&
288         _aspxIsExists(valueInput.Validators)) {
289         for (var i = 0; i < valueInput.Validators.length; i++) {
290             valueInput.Validators[i].controltovalidate = valueInput.id;
291         }
292     }
293 }
294 =70=
295 DropDownButtonPush=function () {
296     if (__aspxIE || __aspxOpera) {
297         this.DropDownButtonPushCommon();
298     } else {
299         this.DropDownButtonPushMozilla();
300     }
301 }
302 =71=
303 DropDownButtonPop=function () {
304     if (__aspxIE || __aspxOpera) {
305         this.DropDownButtonPopCommon();
306     } else {
307         this.DropDownButtonPopMozilla();
308     }
309 }
310 =72=
311 DropDownButtonPushCommon=function () {
312     if (this.droppedDown) {
313         return;
314     }
315     var buttonElement = this.GetDropDownButton();
316     if (_aspxIsExists(buttonElement)) {
317         var controller = aspxGetStateController();
318         controller.SetCurrentHoverElement(null);
319         var element = controller.GetPressedElement(buttonElement);
320         if (_aspxIsExists(element)) {
321             controller.DoSetPressedState(element);
322         }
323     }
324 }
325 =73=
326 DropDownButtonPopCommon=function () {
327     if (!this.droppedDown) {
328         return;
329     }
330     var buttonElement = this.GetDropDownButton();
331     if (_aspxIsExists(buttonElement)) {
332         var controller = aspxGetStateController();
333         var element = controller.GetPressedElement(buttonElement);
334         if (_aspxIsExists(element)) {
335             controller.DoClearPressedState(element);
336         }
337     }
338 }
339 =74=
340 DropDownButtonPushMozilla=function () {
341     if (this.droppedDown) {
342         return;
343     }
344     this.DisableStyleControllerForDDButton();
345     var controller = aspxGetStateController();
346     controller.savedCurrentPressedElement = null;
347 }
348 =75=
349 DropDownButtonPopMozilla=function () {
350     if (!this.droppedDown) {
351         return;
352     }
353     this.EnableStyleControllerForDDButton();
354     var controller = aspxGetStateController();
355     var buttonElement = this.GetDropDownButton();
356     if (_aspxIsExists(buttonElement)) {
357         var element = controller.GetPressedElement(buttonElement);
358         if (_aspxIsExists(element)) {
359             controller.DoClearPressedState(element);
360         }
361         controller.currentPressedElement = null;
362         element = controller.GetHoverElement(buttonElement);
363         if (_aspxIsExists(element)) {
364             controller.SetCurrentHoverElement(element);
365         }
366     }
367 }
368 =76=
369 FindItemIndexByText=function (lb, text) {
370     if (!_aspxIsExists(lb)) {
371         return;
372     }
373     for (var i = 0; i < lb.GetItemCount(); i++) {
374         if (lb.GetItem(i).text == text) {
375             return i;
376         }
377     }
378     return -1;
379 }
380 =77=
381 GetValueInputToValidate=function () {
382     return this.GetValueInput();
383 }
384 =78=
385 GetValueInput=function () {
386     return document.getElementById(this.name + "_" + __aspxCCValueInputSuffix);
387 }
388 =79=
389 GetListBoxControl=function () {
390     if (!_aspxIsExistsElement(this.listBox)) {
391         var name = this.GetDropDownInnerControlName(__aspxListBoxNameSuffix);
392         this.listBox = aspxGetControlCollection().Get(name);
393     }
394     return this.listBox;
395 }
396 =80=
397 GetListBoxScrollDivElement=function () {
398     return this.GetListBoxControl().GetScrollDivElement();
399 }
400 =81=
401 GetDropDownHeight=function () {
402     return this.ddHeightCache != __aspxInvalidDimension ? this.ddHeightCache : this.InitListBoxHeight();
403 }
404 =82=
405 GetDropDownWidth=function () {
406     return this.ddWidthCache != __aspxInvalidDimension ? this.ddWidthCache : this.InitListBoxWidth();
407 }
408 =83=
409 SetText=function (text) {
410     var lb = this.GetListBoxControl();
411     var index = this.FindItemIndexByText(lb, text);
412     this.SelectIndex(index);
413     this.SetTextInternal(text);
414     this.lastSuccessText = text;
415     this.lastSuccessValue = index >= 0 ? lb.GetValue() : text;
416     this.islastSuccessValueInit = true;
417 }
418 =84=
419 GetValue=function () {
420     return this.islastSuccessValueInit ? this.lastSuccessValue : this.GetValueInternal();
421 }
422 =85=
423 GetValueInternal=function () {
424     var text = ASPxClientDropDownEdit.prototype.GetValue.call(this);
425     var lb = this.GetListBoxControl();
426     if (_aspxIsExists(lb)) {
427         var index = this.FindItemIndexByText(lb, text);
428         lb.SelectIndex(index, false);
429         if (index != -1) {
430             return lb.GetValue();
431         }
432     }
433     return text;
434 }
435 =86=
436 SetValue=function (value) {
437     var lb = this.GetListBoxControl();
438     lb.SetValue(value);
439     var item = lb.GetSelectedItem();
440     var text = _aspxIsExists(item) ? item.text : value;
441     this.SetTextInternal(text);
442     this.lastSuccessText = text;
443     this.lastSuccessValue = item != null ? item.value : text;
444     this.islastSuccessValueInit = true;
445     this.UpdateValueInput();
446 }
447 =87=
448 UpdateValueInput=function () {
449     var input = this.GetValueInput();
450     var value = this.GetValue();
451     input.value = value != null ? value : "";
452 }
453 =88=
454 CollectionChanged=function () {
455     if (this.GetListBoxControl().APILockCount == 0) {
456         this.InitDropDownSize();
457     }
458 }
459 =89=
460 InitDropDownSize=function () {
461     var pc = this.GetPopupControl();
462     if (_aspxIsExists(pc) && this.IsDisplayed()) {
463         var pcwElement = pc.GetWindowElement(-1);
464         if (_aspxIsExistsElement(pcwElement)) {
465             var isPcwDisplayad = _aspxGetElementDisplay(pcwElement);
466             if (!isPcwDisplayad) {
467                 pc.SetWindowDisplay(-1, true);
468             }
469             this.ddHeightCache = this.InitListBoxHeight();
470             this.ddWidthCache = this.InitListBoxWidth();
471             pc.SetSize(this.ddWidthCache, this.ddHeightCache);
472             if (!isPcwDisplayad) {
473                 pc.SetWindowDisplay(-1, false);
474             }
475         }
476     }
477 }
478 =90=
479 InitListBoxHeight=function () {
480     var lbScrollDiv = this.GetListBoxScrollDivElement();
481     var height = this.dropDownHeight;
482     var lb = this.GetListBoxControl();
483     var lbHeight = 0;
484     if (height == "") {
485         var listHeight = lb.GetListTableHeight();
486         var count = lb.GetItemCount();
487         if (count > 7) {
488             height = listHeight / count * 7 + "px";
489         } else {
490             height = count == 0 ? "0px" : listHeight + "px";
491         }
492         lbScrollDiv.style.height = height;
493         lbHeight = lbScrollDiv.offsetHeight;
494     } else {
495         var lbMainElement = lb.GetMainElement();
496         lbMainElement.style.height = "0px";
497         lbScrollDiv.style.height = "0px";
498         lbMainElement.style.height = height;
499         var trueLbOffsetHeight = lbMainElement.offsetHeight;
500         var trueLbClientHeight = lbMainElement.clientHeight;
501         lbScrollDiv.style.height = lbMainElement.clientHeight + "px";
502         lbHeightCorrection = lbMainElement.offsetHeight - trueLbOffsetHeight;
503         lbScrollDiv.style.height = trueLbClientHeight - lbHeightCorrection + "px";
504         lbHeight = lbMainElement.offsetHeight;
505     }
506     lb.InitializePageSize();
507     return lbHeight;
508 }
509 =91=
510 InitListBoxWidth=function () {
511     var mainElement = this.GetMainElement();
512     var lb = this.GetListBoxControl();
513     var lbMainElement = lb.GetMainElement();
514     var lbScrollDiv = this.GetListBoxScrollDivElement();
515     var lbTable = lb.GetListTable();
516     lbMainElement.style.width = "";
517     lbScrollDiv.style.width = "100%";
518     if (this.dropDownWidth != "") {
519         lbMainElement.style.width = this.dropDownWidth;
520         lbScrollDiv.style.width = lbMainElement.clientWidth + "px";
521         var difference = lbTable.offsetWidth - lbScrollDiv.clientWidth;
522         if (!__aspxIE && difference > 0) {
523             lbMainElement.style.width = lbMainElement.offsetWidth + difference + "px";
524             lbScrollDiv.style.width = lbMainElement.clientWidth + "px";
525         }
526     } else {
527         var pc = this.GetPopupControl();
528         var width = lbTable.offsetWidth;
529         var scrollWidth = lb.GetVerticalScrollBarWidth();
530         var isBrowserPutScrollOnContent = !__aspxIE || __aspxIE55;
531         var isBrowserAbleAnimScroll = !__aspxMozilla || __aspxFirefox || !pc.enableAnimation;
532         if (isBrowserPutScrollOnContent && isBrowserAbleAnimScroll) {
533             width += scrollWidth;
534         }
535         lbScrollDiv.style.width = width + "px";
536         if (__aspxFirefox &&
537             lbMainElement.offsetWidth < lbScrollDiv.offsetWidth) {
538             lbMainElement.style.width = "0%";
539         }
540         var widthDifference = mainElement.offsetWidth - lbMainElement.offsetWidth;
541         if (widthDifference > 0) {
542             lbScrollDiv.style.width = width + widthDifference + "px";
543             var twoBorderSize = lbMainElement.offsetWidth - lbMainElement.clientWidth;
544             lbMainElement.style.width = width + widthDifference + twoBorderSize + "px";
545         }
546     }
547     return lbScrollDiv.offsetWidth;
548 }
549 =92=
550 SelectIndex=function (index) {
551     var lb = this.GetListBoxControl();
552     var isSelectionChanged = lb.SelectIndex(index, false);
553     var item = lb.GetSelectedItem();
554     var text = item != null ? item.text : "";
555     if (isSelectionChanged) {
556         this.SetTextInternal(text);
557         this.lastSuccessText = text;
558         this.lastSuccessValue = item != null ? item.value : text;
559         this.islastSuccessValueInit = true;
560     }
561     return isSelectionChanged;
562 }
563 =93=
564 SelectIndexSilent=function (lb, index) {
565     this.lbEventLockCount++;
566     lb.SelectIndexInternal(index);
567     this.lbEventLockCount--;
568 }
569 =94=
570 SelectInputText=function () {
571     var input = this.GetInputElement();
572     _aspxSetInputSelection(input, 0, input.value.length);
573 }
574 =95=
575 ShowDropDownArea=function (isRaiseEvent) {
576     var lb = this.GetListBoxControl();
577     if (!_aspxIsExists(lb) || lb.GetItemCount() == 0) {
578         return;
579     }
580     var pc = this.GetPopupControl();
581     ASPxClientDropDownEdit.prototype.ShowDropDownArea.call(this, isRaiseEvent);
582     if (__aspxMozilla && pc.enableAnimation) {
583         this.DisableLBDivOverflow();
584         window.setTimeout(_aspxCBMozillaOverflowOn, pc.animationMaxDelay / 2, this.name);
585     }
586     var text = ASPxClientDropDownEdit.prototype.GetValue.call(this);
587     var lbItem = lb.GetSelectedItem();
588     var lbText = lbItem != null ? lbItem.text : "";
589     if (text != lbText && text != null && lbText != "") {
590         var newSelectedIndex = this.FindItemIndexByText(lb, text);
591         lb.SelectIndex(newSelectedIndex, false);
592     }
593     lb.EnsureSelectedItemVisible();
594     lb.CallbackSpaceInit();
595 }
596 =96=
597 HideDropDownArea=function (isRaiseEvent) {
598     this.DropDownButtonPop();
599     this.FilteringStop();
600     ASPxClientDropDownEdit.prototype.HideDropDownArea.call(this, isRaiseEvent);
601 }
602 =97=
603 EnableLBDivOverflow=function () {
604     var divElement = this.GetListBoxScrollDivElement();
605     divElement.style.overflow = "auto";
606 }
607 =98=
608 DisableLBDivOverflow=function () {
609     var divElement = this.GetListBoxScrollDivElement();
610     divElement.style.overflow = "hidden";
611 }
612 =99=
613 OnFiltering=function (evt) {
614     if (this.isFilterEnabled &&
615         evt.keyCode != 16 && !evt.ctrlKey && !evt.altKey) {
616         _aspxClearTimer(this.filterTimerId);
617         var input = this.FindInputElement();
618         var newFilter = input.value.toLowerCase();
619         if (evt.keyCode == 8 &&
620             _aspxHasInputSelection(input) && newFilter == this.filter) {
621             this.FilteringBackspace(false);
622         } else if (this.IsFilterKeycode(evt.keyCode)) {
623             this.FilterByTimer();
624         }
625     }
626 }
627 =100=
628 FilterByTimer=function () {
629     this.isEnterLocked = true;
630     this.filterTimerId = _aspxSetTimeout("_aspxCBFilterByTimer('" + this.name + "')", 100);
631 }
632 =101=
633 EnshureShowDropDownArea=function () {
634     if (!this.droppedDown) {
635         this.ShowDropDownArea(true);
636     }
637 }
638 =102=
639 Filtering=function () {
640     var input = this.FindInputElement();
641     var newFilter = input.value.toLowerCase();
642     if (this.filter != newFilter || this.isDropDownListStyle) {
643         this.filter = newFilter;
644         this.EnshureShowDropDownArea();
645         if (this.isCallbackMode) {
646             this.FilteringOnServer();
647         } else {
648             this.FilteringOnClient(input);
649         }
650     } else {
651         this.isEnterLocked = false;
652     }
653 }
654 =103=
655 FilteringBackspace=function (isBefore) {
656     if (this.isFilterEnabled) {
657         var input = this.FindInputElement();
658         if (!isBefore) {
659             var text = input.value;
660             var newInput = text.substring(0, text.length - 1);
661             input.value = newInput;
662             this.FilterByTimer();
663         }
664         return _aspxHasInputSelection(input);
665     }
666     return false;
667 }
668 =104=
669 GetCallbackArguments=function () {
670     var args = this.GetCallbackArgumentsChild();
671     if (this.isCallbackMode) {
672         args += this.GetCallbackArgumentsInternal();
673     }
674     return args;
675 }
676 =105=
677 GetCallbackArgumentsInternal=function () {
678     var args = "";
679     if (this.filter != "") {
680         args = this.GetCallbackArgumentFilter(this.filter);
681     }
682     return args;
683 }
684 =106=
685 GetCallbackArgumentFilter=function (value) {
686     var callbackPrefix = this.isDropDownListStyle ? __aspxCorrectFilterCallbackPrefix : __aspxLoadFilteredItemsCallbackPrefix;
687     return this.FormatCallbackArg(callbackPrefix, value);
688 }
689 =107=
690 GetCallbackArgumentsChild=function () {
691     var lb = this.GetListBoxControl();
692     return lb.GetCallbackArguments();
693 }
694 =108=
695 FilteringOnServer=function () {
696     if (!this.InCallback()) {
697         this.GetListBoxControl().ClearItems();
698         this.SendCallback();
699     }
700 }
701 =109=
702 FilteringOnClient=function (input) {
703     var filter = this.filter.toLowerCase();
704     var lb = this.GetListBoxControl();
705     var listTable = lb.GetListTable();
706     var count = lb.GetItemCount();
707     var text = "";
708     var isSatisfy = false;
709     var isFirstSatisfyItemFinded = false;
710     if (this.isDropDownListStyle) {
711         var coincide = new Array(count);
712         var maxCoincide = 0;
713         for (var i = count - 1; i >= 0; i--) {
714             coincide[i] = this.GetCoincideCharCount(lb.GetItem(i).text.toLowerCase(), filter);
715             if (coincide[i] > maxCoincide) {
716                 maxCoincide = coincide[i];
717             }
718         }
719         filter = filter.substr(0, maxCoincide);
720         this.GetInputElement().value = filter;
721     }
722     for (var i = 0; i < count; i++) {
723         text = lb.GetItem(i).text;
724         isSatisfy = this.isDropDownListStyle ? coincide[i] == maxCoincide : text.toLowerCase().indexOf(filter) == 0;
725         _aspxSetElementDisplay(listTable.rows[i], isSatisfy);
726         if (!isFirstSatisfyItemFinded && isSatisfy) {
727             var isTextClearing = !this.isDropDownListStyle &&
728                 this.filter == "" && this.filter != text;
729             if (!isTextClearing) {
730                 this.FilteringHighlightComplitedText(i, text);
731             }
732             this.SelectIndexSilent(lb, isTextClearing ? -1 : i);
733             isFirstSatisfyItemFinded = true;
734         }
735     }
736     if (this.isDropDownListStyle) {
737         this.filter = filter;
738     }
739     if (!isFirstSatisfyItemFinded) {
740         this.HideDropDownArea(true);
741     }
742     this.isEnterLocked = false;
743 }
744 =110=
745 GetCoincideCharCount=function (text, filter) {
746     while (filter != "" && text.indexOf(filter) != 0) {
747         filter = filter.slice(0, -1);
748     }
749     return filter.length;
750 }
751 =111=
752 FilteringHighlightComplitedText=function (index, filterItemText) {
753     var lb = this.GetListBoxControl();
754     var input = this.FindInputElement();
755     var text = input.value;
756     var valueLenght = text.length;
757     var itemTextLenght = filterItemText.length;
758     input.value = filterItemText;
759     _aspxSetInputSelection(input, valueLenght, itemTextLenght);
760 }
761 =112=
762 FilteringStop=function () {
763     if (this.isFilterEnabled) {
764         this.isEnterLocked = false;
765         if (!this.isCallbackMode) {
766             this.FilteringStopClient();
767         }
768     }
769 }
770 =113=
771 FilteringStopClient=function () {
772     var lb = this.GetListBoxControl();
773     var listTable = lb.GetListTable();
774     var count = lb.GetItemCount();
775     for (var i = 0; i < count; i++) {
776         _aspxSetElementDisplay(listTable.rows[i], true);
777     }
778 }
779 =114=
780 IsFilterKeycode=function (keyCode) {
781     return keyCode == 8 || keyCode == 32 || keyCode > 45;
782 }
783 =115=
784 ShowLoadingPanel=function () {
785     var lb = this.GetListBoxControl();
786     var loadingParentElement = lb.GetScrollDivElement().parentNode;
787     this.loadingDivElement = this.CreateLoadingDiv(loadingParentElement);
788     this.loadingPanelElement = this.CreateLoadingPanelWithAbsolutePosition(loadingParentElement, loadingParentElement);
789 }
790 =116=
791 HideLoadingPanel=function () {
792     if (_aspxIsExistsElement(this.loadingPanelElement)) {
793         this.loadingPanelElement.parentNode.removeChild(this.loadingPanelElement);
794         this.loadingPanelElement = null;
795     }
796     if (_aspxIsExistsElement(this.loadingDivElement)) {
797         this.loadingDivElement.parentNode.removeChild(this.loadingDivElement);
798         this.loadingDivElement = null;
799     }
800 }
801 =117=
802 FormatCallbackArg=function (prefix, arg) {
803     if (arg == null) {
804         return "";
805     }
806     if (!_aspxIsExists(arg.length) && _aspxIsExists(arg.value)) {
807         arg = arg.value;
808     }
809     if (arg == null || arg == "") {
810         return "";
811     }
812     return prefix + "|" + arg.length + ";" + arg + ";";
813 }
814 =118=
815 OnAfterCallback=function () {
816     this.CollectionChanged();
817     this.HideLoadingPanel();
818     this.isPerformCallback = false;
819 }
820 =119=
821 OnCallback=function (result) {
822     this.GetListBoxControl().OnCallback(result);
823     this.OnCallbackInternal(result);
824     this.OnAfterCallback();
825 }
826 =120=
827 OnCallbackError=function (result) {
828     this.GetListBoxControl().OnCallbackError(result);
829     this.OnAfterCallback();
830 }
831 =121=
832 OnCallbackInternal=function (result) {
833     this.OnFilterCallback(result);
834     if (this.changeSelectAfterCallback > 0) {
835         var lb = this.GetListBoxControl();
836         this.SelectNeighbourInternal(lb, lb.GetSelectedIndexInternal() + this.changeSelectAfterCallback);
837         this.changeSelectAfterCallback = 0;
838     }
839 }
840 =122=
841 OnFilterCallback=function (result) {
842     var lb = this.GetListBoxControl();
843     if (lb.GetItemCount() > 0) {
844         var firstItemText = lb.GetItem(0).text;
845         var isTextClearing = !this.isDropDownListStyle &&
846             this.filter == "" && this.filter != firstItemText;
847         if (!isTextClearing) {
848             var isFilterRollBack = this.CheckForFilterRollback(lb, firstItemText);
849             var isNonFilterChangingCallback = lb.GetSelectedItem() == null;
850             if (isFilterRollBack || isNonFilterChangingCallback) {
851                 this.FilteringHighlightComplitedText(0, firstItemText);
852                 this.SelectIndexSilent(lb, 0);
853             }
854         }
855         if (!this.isPerformCallback) {
856             this.EnshureShowDropDownArea();
857         }
858     } else {
859         this.HideDropDownArea(true);
860     }
861     this.isEnterLocked = false;
862 }
863 =123=
864 CheckForFilterRollback=function (lb, firstItemText) {
865     var isHasCorrection = false;
866     var filter = this.filter.toLowerCase();
867     firstItemText = firstItemText.toLowerCase();
868     while (firstItemText.substring(0, filter.length).toLowerCase() != filter) {
869         filter = filter.slice(0, -1);
870         isHasCorrection = true;
871     }
872     if (isHasCorrection) {
873         this.filter = this.filter.substring(0, filter.length);
874         this.FindInputElement().value = this.filter;
875     }
876     return isHasCorrection;
877 }
878 =124=
879 SendCallback=function () {
880     this.ShowLoadingPanel();
881     argument = this.GetCallbackArguments();
882     this.CreateCallback(argument);
883 }
884 =125=
885 SelectNeighbour=function (step) {
886     if (this.isToolBarItem && !this.droppedDown) {
887         return;
888     }
889     var lb = this.GetListBoxControl();
890     var listTable = lb.GetListTable();
891     var index = lb.GetSelectedIndexInternal();
892     var count = lb.GetItemCount();
893     if (count > 0) {
894         var isFirstPageDown = index == -1 && step == lb.scrollPageSize;
895         var newIndex = isFirstPageDown ? step : this.GetNeighbourIndex(listTable.rows, count, index, step);
896         this.SelectNeighbourInternal(lb, newIndex);
897         lb.ScrollToItemVisible(newIndex);
898     }
899 }
900 =126=
901 SelectNeighbourInternal=function (lb, index) {
902     if (this.droppedDown) {
903         this.SelectIndexSilent(lb, index);
904         this.SetTextInternal(lb.GetItem(index).text);
905     } else {
906         lb.SelectIndexInternal(index);
907     }
908 }
909 =127=
910 GetNeighbourIndex=function (rows, count, startIndex, step) {
911     var newIndex = startIndex + step;
912     if (this.isFilterEnabled && !this.isCallbackMode) {
913         var stepOne = step > 0 ? 1 : -1;
914         var outermostVisibleIndex = startIndex;
915         for (var index = startIndex + stepOne;; index += stepOne) {
916             if (index < 0 || count <= index) {
917                 newIndex = outermostVisibleIndex;
918                 break;
919             }
920             if (_aspxGetElementDisplay(rows[index])) {
921                 outermostVisibleIndex = index;
922                 if (index == newIndex) {
923                     break;
924                 }
925             } else {
926                 newIndex += stepOne;
927             }
928         }
929     }
930     if (step < 0 && newIndex < 0 || step < - count) {
931         newIndex = 0;
932     }
933     if (step > 0 && newIndex >= count || step > count) {
934         if (this.isCallbackMode) {
935             var lb = this.GetListBoxControl();
936             var bottomSpaser = lb.GetBottomScrollSpacingElement();
937             if (_aspxGetElementDisplay(bottomSpaser)) {
938                 this.changeSelectAfterCallback = 1;
939                 lb.LoadNextItemsOnCallback();
940             }
941         }
942         newIndex = count - 1;
943     }
944     return newIndex;
945 }
946 =128=
947 OnKBSKeyDown=function (evt) {
948     if (evt.keyCode != 16) {
949         _aspxClearTimer(this.filterTimerId);
950     }
951     return false;
952 }
953 =129=
954 OnArrowUp=function (evt) {
955     var isProcessed = ASPxClientDropDownEdit.prototype.OnArrowUp.call(this, evt);
956     if (!isProcessed) {
957         this.SelectNeighbour(-1);
958     }
959     return true;
960 }
961 =130=
962 OnArrowDown=function (evt) {
963     var isProcessed = ASPxClientDropDownEdit.prototype.OnArrowDown.call(this, evt);
964     if (!isProcessed) {
965         this.SelectNeighbour(1);
966     }
967     return true;
968 }
969 =131=
970 OnPageUp=function () {
971     return this.OnPageButtonDown(false);
972 }
973 =132=
974 OnPageDown=function () {
975     return this.OnPageButtonDown(true);
976 }
977 =133=
978 OnPageButtonDown=function (isDown) {
979     var lb = this.GetListBoxControl();
980     if (_aspxIsExists(lb)) {
981         var direction = isDown ? 1 : -1;
982         this.SelectNeighbour(lb.scrollPageSize * direction);
983     }
984     return true;
985 }
986 =134=
987 OnHomeKeyDown=function (evt) {
988     return this.OnHomeEndKeyDown(evt, true);
989 }
990 =135=
991 OnEndKeyDown=function (evt) {
992     return this.OnHomeEndKeyDown(evt, false);
993 }
994 =136=
995 OnHomeEndKeyDown=function (evt, isHome) {
996     var input = this.GetValueInput();
997     if (input.readOnly || evt.ctrlKey) {
998         var lb = this.GetListBoxControl();
999         var count = lb.GetItemCount();
1000         this.SelectNeighbour(isHome ? - count : count);
1001         return true;
1002     }
1003     return false;
1004 }
1005 =137=
1006 OnEnter=function () {
1007     if (!this.isEnterLocked) {
1008         this.OnApplyChangesInternal();
1009         this.HideDropDownArea(true);
1010     }
1011     return true;
1012 }
1013 =138=
1014 OnApplyChanges=function () {
1015     if (this.isDropDownListStyle && !this.isFilterEnabled) {
1016         return;
1017     }
1018     this.OnApplyChangesInternal();
1019 }
1020 =139=
1021 OnApplyChangesInternal=function () {
1022     var text = this.FindInputElement().value;
1023     var isChanged = this.lastSuccessText != text;
1024     if (isChanged) {
1025         var lb = this.GetListBoxControl();
1026         if (this.isDropDownListStyle &&
1027             this.FindItemIndexByText(lb, text) < 0) {
1028             var lbItem = lb.GetSelectedItem();
1029             text = lbItem != null ? lbItem.text : this.lastSuccessText;
1030         }
1031     }
1032     this.SetText(text);
1033     if (isChanged) {
1034         this.OnChange();
1035     }
1036 }
1037 =140=
1038 OnButtonClick=function (number) {
1039     if (number != this.dropDownButtonIndex) {
1040         this.HideDropDownArea(true);
1041     }
1042     ASPxClientButtonEditBase.prototype.OnButtonClick.call(this, number);
1043 }
1044 =141=
1045 OnCancelChanges=function () {
1046     ASPxClientDropDownEdit.prototype.OnCancelChanges.call(this);
1047     var lb = this.GetListBoxControl();
1048     var index = this.FindItemIndexByText(lb, this.lastSuccessText);
1049     this.SelectIndexSilent(lb, index);
1050 }
1051 =142=
1052 OnChange=function () {
1053     this.UpdateValueInput();
1054     this.RaisePersonalStandardValidation();
1055     this.OnValueChanged();
1056 }
1057 =143=
1058 OnCloseUp=function (evt) {
1059     var evt = _aspxGetEvent(evt);
1060     if (__aspxFirefox &&
1061         evt.type == "mouseup" && _aspxGetEventSource(evt).tagName == "DIV") {
1062         return;
1063     }
1064     ASPxClientDropDownEdit.prototype.OnCloseUp.call(this, evt);
1065 }
1066 =144=
1067 OnDDButtonMouseMove=function (evt) {
1068     return this.droppedDown ? _aspxCancelBubble(evt) : true;
1069 }
1070 =145=
1071 OnDocumentMouseDown=function () {
1072     this.OnCancelChanges();
1073     ASPxClientDropDownEdit.prototype.OnDocumentMouseDown.call(this);
1074 }
1075 =146=
1076 OnDocumentMouseUp=function () {
1077     this.DropDownButtonPop();
1078 }
1079 =147=
1080 OnDropDown=function (evt) {
1081     this.SetFocus();
1082     var lb = this.GetListBoxControl();
1083     if (lb.GetItemCount() > 0) {
1084         this.OnDropDownInternal(evt);
1085     }
1086     return true;
1087 }
1088 =148=
1089 OnDropDownInternal=function (evt) {
1090     if (!this.droppedDown) {
1091         this.DropDownButtonPush();
1092     }
1093     return ASPxClientDropDownEdit.prototype.OnDropDown.call(this, evt);
1094 }
1095 =149=
1096 OnItemClick=function () {
1097     this.OnSelectChanged();
1098     this.OnClick();
1099 }
1100 =150=
1101 OnListBoxClick=function (evt) {
1102     if (!this.InCallback()) {
1103         this.OnApplyChangesInternal();
1104         this.OnCloseUp(evt);
1105     }
1106 }
1107 =151=
1108 OnMouseWheel=function (evt) {
1109     if (!this.droppedDown) {
1110         var wheelDelta = _aspxGetWheelDelta(evt);
1111         if (wheelDelta > 0) {
1112             this.SelectNeighbour(-1);
1113         } else if (wheelDelta < 0) {
1114             this.SelectNeighbour(1);
1115         }
1116         return _aspxPreventEvent(evt);
1117     }
1118 }
1119 =152=
1120 OnSetFocus=function (isFocused) {
1121     if (isFocused && this.isFilterEnabled && !this.isToolBarItem) {
1122         this.SelectInputText();
1123     }
1124     aspxGetDropDownCollection().SetFocusedDropDownName(isFocused ? this.name : "");
1125 }
1126 =153=
1127 OnSelectChanged=function () {
1128     if (this.lbEventLockCount > 0) {
1129         return;
1130     }
1131     var lb = this.GetListBoxControl();
1132     var item = lb.GetSelectedItem();
1133     var text = item != null ? item.text : "";
1134     this.lastSuccessText = text;
1135     this.lastSuccessValue = item != null ? item.value : text;
1136     this.islastSuccessValueInit = true;
1137     this.SetTextInternal(text);
1138     this.OnChange();
1139     if (!this.isToolBarItem) {
1140         this.SelectInputElement();
1141     } else {
1142         this.SetFocus();
1143     }
1144 }
1145 =154=
1146 OnTextChanged=function () {
1147     if (this.isFilterEnabled && (!this.isDropDownListStyle || __aspxOpera)) {
1148         this.OnCancelChanges();
1149     } else {
1150         ASPxClientDropDownEdit.prototype.OnTextChanged.call(this);
1151     }
1152 }
1153 =155=
1154 ParseValue=function () {
1155     this.SetText(ASPxClientButtonEditBase.prototype.GetValue.call(this));
1156     this.OnChange();
1157 }
1158 =156=
1159 RaiseValueChangedEvent=function () {
1160     var processOnServer = ASPxClientTextEdit.prototype.RaiseValueChangedEvent.call(this);
1161     if (_aspxIsExists(this.RaiseSelectedIndexChanged)) {
1162         processOnServer = this.RaiseSelectedIndexChanged() || processOnServer;
1163     }
1164     return processOnServer;
1165 }
1166 =157=
1167 RaiseSelectedIndexChanged=function () {
1168     var processOnServer = this.autoPostBack;
1169     if (!this.SelectedIndexChanged.IsEmpty()) {
1170         var args = new ASPxClientProcessingModeEventArgs(processOnServer);
1171         this.SelectedIndexChanged.FireEvent(this, args);
1172         processOnServer = args.processOnServer;
1173     }
1174     return processOnServer;
1175 }
1176 =158=
1177 AddItem=function (text, value, imageUrl) {
1178     var index = this.GetListBoxControl().AddItem(text, value, imageUrl);
1179     this.CollectionChanged();
1180     return index;
1181 }
1182 =159=
1183 InsertItem=function (index, text, value, imageUrl) {
1184     this.GetListBoxControl().InsertItem(index, text, value, imageUrl);
1185     this.CollectionChanged();
1186 }
1187 =160=
1188 RemoveItem=function (index) {
1189     this.GetListBoxControl().RemoveItem(index);
1190     this.CollectionChanged();
1191 }
1192 =161=
1193 ClearItems=function () {
1194     this.GetListBoxControl().ClearItems();
1195     this.ClearItemsInternal();
1196 }
1197 =162=
1198 BeginUpdate=function () {
1199     this.GetListBoxControl().BeginUpdate();
1200 }
1201 =163=
1202 EndUpdate=function () {
1203     this.GetListBoxControl().EndUpdate();
1204     this.CollectionChanged();
1205 }
1206 =164=
1207 MakeItemVisible=function (index) {
1208     var lb = this.GetListBoxControl();
1209     lb.MakeItemVisible(index);
1210 }
1211 =165=
1212 GetItem=function (index) {
1213     return this.GetListBoxControl().GetItem(index);
1214 }
1215 =166=
1216 GetItemCount=function () {
1217     return this.GetListBoxControl().GetItemCount();
1218 }
1219 =167=
1220 GetSelectedIndex=function () {
1221     return this.GetListBoxControl().GetSelectedIndexInternal();
1222 }
1223 =168=
1224 SetSelectedIndex=function (index) {
1225     this.SelectIndex(index);
1226 }
1227 =169=
1228 GetSelectedItem=function () {
1229     var lb = this.GetListBoxControl();
1230     var index = lb.GetSelectedIndexInternal();
1231     return lb.GetItem(index);
1232 }
1233 =170=
1234 SetSelectedItem=function (item) {
1235     var index = item != null ? item.index : -1;
1236     this.SelectIndex(index);
1237 }
1238 =171=
1239 GetText=function () {
1240     return this.lastSuccessText;
1241 }
1242 =172=
1243 PerformCallback=function (arg) {
1244     this.isPerformCallback = true;
1245     this.ClearItemsInternal();
1246     this.GetListBoxControl().PerformCallback(arg);
1247 }
1248 =173=
1249 ClearItemsInternal=function () {
1250     this.SetValue(null);
1251     this.CollectionChanged();
1252     var lbScrollDiv = this.GetListBoxScrollDivElement();
1253     if (_aspxIsExists(lbScrollDiv)) {
1254         lbScrollDiv.scrollTop = "0px";
1255     }
1256 }
1257 =174=
1258 InitKeyboardInput=function () {
1259     var kbInput = this.GetInputElement();
1260     if (_aspxIsExistsElement(kbInput)) {
1261         _aspxAttachKBSupportEventsToElement(kbInput, this.name);
1262         this.lastSuccessText = kbInput.value;
1263     }
1264 }
1265 =175=
1266 AssignClientAttributes=function () {
1267     var element = this.GetDropDownButton();
1268     if (_aspxIsExistsElement(element)) {
1269         _aspxPreventElementDragAndSelect(element, true);
1270     }
1271     var mainElement = this.GetMainElement();
1272     if (_aspxIsExistsElement(mainElement)) {
1273         _aspxAttachEventToElement(mainElement, "click", _aspxCreateEventHandlerFunction("aspxDDMainElementClick", this.name, true));
1274     }
1275 }
1276 =176=
1277 GetDropDownButton=function () {
1278     return this.GetButton(this.dropDownButtonIndex);
1279 }
1280 =177=
1281 GetPopupControl=function () {
1282     return aspxGetControlCollection().Get(this.name + __aspxDropDownNameSuffix);
1283 }
1284 =178=
1285 GetDropDownInnerControlName=function (suffix) {
1286     var pc = this.GetPopupControl();
1287     if (_aspxIsExists(pc)) {
1288         return this.GetPopupControl().name + suffix;
1289     }
1290     return "";
1291 }
1292 =179=
1293 ProcessInternalButtonClick=function (number) {
1294     return this.dropDownButtonIndex == number;
1295 }
1296 =180=
1297 ToggleDropDown=function () {
1298     this.OnApplyChanges();
1299     if (this.droppedDown) {
1300         this.HideDropDownArea(true);
1301     } else {
1302         this.ShowDropDownArea(true);
1303     }
1304 }
1305 =181=
1306 SetTextInternal=function (text) {
1307     if (!this.readOnly) {
1308         ASPxClientButtonEditBase.prototype.SetValue.call(this, text);
1309     }
1310 }
1311 =182=
1312 OnValueChanged=function () {
1313     this.lastSuccessText = this.FindInputElement().value;
1314     ASPxClientEdit.prototype.OnValueChanged.call(this);
1315 }
1316 =183=
1317 OnClick=function () {
1318     this.SetFocus();
1319 }
1320 =184=
1321 OnEscape=function () {
1322     this.OnCancelChanges();
1323     this.HideDropDownArea(true);
1324     return true;
1325 }
1326 =185=
1327 RaiseCloseUp=function () {
1328     if (!this.CloseUp.IsEmpty()) {
1329         var args = new ASPxClientEventArgs;
1330         this.CloseUp.FireEvent(this, args);
1331     }
1332 }
1333 =186=
1334 RaiseDropDown=function () {
1335     if (!this.DropDown.IsEmpty()) {
1336         var args = new ASPxClientEventArgs;
1337         this.DropDown.FireEvent(this, args);
1338     }
1339 }
1340 =187=
1341 ShowDropDown=function () {
1342     this.ShowDropDownArea(false);
1343 }
1344 =188=
1345 HideDropDown=function () {
1346     this.HideDropDownArea(false);
1347 }
1348 =189=
1349 GetButton=function (number) {
1350     return _aspxGetElementById(this.name + __aspxBESuffix + number);
1351 }
1352 =190=
1353 SelectInputElement=function () {
1354     var element = this.GetInputElement();
1355     if (_aspxIsExistsElement(element)) {
1356         element.focus();
1357         element.select();
1358     }
1359 }
1360 =191=
1361 RaiseButtonClick=function (number) {
1362     var processOnServer = this.autoPostBack || this.IsServerEventAssigned("ButtonClick");
1363     if (!this.ButtonClick.IsEmpty()) {
1364         var args = new ASPxClientButtonEditClickEventArgs(processOnServer, number);
1365         this.ButtonClick.FireEvent(this, args);
1366         processOnServer = args.processOnServer;
1367     }
1368     return processOnServer;
1369 }
1370 =192=
1371 FindInputElement=function () {
1372     return _aspxGetElementById(this.name + __aspxTEInputSuffix);
1373 }
1374 =193=
1375 SetSelectionInInput=function (startPos, endPos) {
1376     var inputElement = this.GetInputElement();
1377     if (__aspxIE) {
1378         var range = inputElement.createTextRange();
1379         range.collapse(true);
1380         range.moveStart("character", startPos);
1381         range.moveEnd("character", endPos - startPos);
1382         range.select();
1383     } else {
1384         inputElement.setSelectionRange(startPos, endPos);
1385     }
1386 }
1387 =194=
1388 CollapseControl=function (checkSizeCorrectedFlag) {
1389     if (checkSizeCorrectedFlag && this.sizeCorrectedOnce) {
1390         return;
1391     }
1392     var mainElement = this.GetMainElement();
1393     if (!_aspxIsExistsElement(mainElement)) {
1394         return;
1395     }
1396     var mainElementCurStyle = _aspxGetCurrentStyle(mainElement);
1397     if (_aspxIsExistsElement(mainElement) &&
1398         this.widthCorrectionRequired &&
1399         mainElementCurStyle.width != "" &&
1400         mainElementCurStyle.width != "auto") {
1401         this.GetInputElement().style.width = "0";
1402     }
1403 }
1404 =195=
1405 CorrectEditorWidth=function () {
1406     var inputElement = this.GetInputElement();
1407     _aspxSetOffsetWidth(inputElement, _aspxGetClearClientWidth(_aspxFindOffsetParent(inputElement)));
1408 }
1409 =196=
1410 UnstretchInputElement=function () {
1411     var inputElement = this.GetInputElement();
1412     var mainElement = this.GetMainElement();
1413     var mainElementCurStyle = _aspxGetCurrentStyle(mainElement);
1414     if (_aspxIsExistsElement(mainElement) &&
1415         _aspxIsExistsElement(inputElement) &&
1416         inputElement.style.width == "100%" &&
1417         (mainElementCurStyle.width == "" ||
1418         mainElementCurStyle.width == "auto")) {
1419         inputElement.style.width = "";
1420     }
1421 }
1422 =197=
1423 OnKeyDown=function (evt) {
1424     if (_aspxIsExists(this.RaiseKeyDown)) {
1425         this.RaiseKeyDown(evt);
1426     }
1427 }
1428 =198=
1429 OnKeyPress=function (evt) {
1430     if (_aspxIsExists(this.RaiseKeyPress)) {
1431         this.RaiseKeyPress(evt);
1432     }
1433 }
1434 =199=
1435 OnKeyUp=function (evt) {
1436     if (_aspxIsExists(this.RaiseKeyUp)) {
1437         this.RaiseKeyUp(evt);
1438     }
1439 }
1440 =200=
1441 RaiseTextChanged=function () {
1442     var processOnServer = this.autoPostBack;
1443     if (!this.TextChanged.IsEmpty()) {
1444         var args = new ASPxClientProcessingModeEventArgs(processOnServer);
1445         this.TextChanged.FireEvent(this, args);
1446         processOnServer = args.processOnServer;
1447     }
1448     return processOnServer;
1449 }
1450 =201=
1451 SelectAll=function () {
1452     this.SetSelection(0, -1, false);
1453 }
1454 =202=
1455 SetCaretPosition=function (pos) {
1456     if (pos == -1) {
1457         pos = this.GetText().length;
1458     }
1459     this.SetSelection(pos, pos, true);
1460 }
1461 =203=
1462 SetSelection=function (startPos, endPos, scrollToSelection) {
1463     var textLen = this.GetText().length;
1464     if (endPos == -1 || endPos > textLen) {
1465         endPos = textLen;
1466     }
1467     if (startPos > textLen) {
1468         startPos = textLen;
1469     }
1470     if (startPos > endPos) {
1471         return;
1472     }
1473     this.SetSelectionInInput(startPos, endPos);
1474     var inputElement = this.FindInputElement();
1475     if (scrollToSelection &&
1476         inputElement.tagName.toUpperCase() == "TEXTAREA") {
1477         var scrollHeight = inputElement.scrollHeight;
1478         var approxCaretPos = startPos;
1479         var scrollTop = Math.max(Math.round(approxCaretPos / textLen * scrollHeight - inputElement.clientHeight / 2), 0);
1480         inputElement.scrollTop = scrollTop;
1481     }
1482 }
1483 =204=
1484 AfterInitialize=function () {
1485     this.CorrectSize(__aspxCheckSizeCorrectedFlag);
1486     this.constructor.prototype.AfterInitialize.call(this);
1487 }
1488 =205=
1489 GetElementBySuffix=function (suffix) {
1490     return _aspxGetElementById(this.name + suffix);
1491 }
1492 =206=
1493 GetErrorImage=function () {
1494     return this.GetElementBySuffix(__aspxErrorImageSuffix);
1495 }
1496 =207=
1497 GetErrorTextCell=function () {
1498     return this.GetElementBySuffix(this.errorImageIsAssigned ? __aspxErrorTextCellSuffix : __aspxErrorCellSuffix);
1499 }
1500 =208=
1501 GetExternalTable=function () {
1502     return this.GetElementBySuffix(__aspxExternalTableSuffix);
1503 }
1504 =209=
1505 GetInputElement=function () {
1506     if (!_aspxIsExistsElement(this.inputElement)) {
1507         this.inputElement = this.FindInputElement();
1508     }
1509     return this.inputElement;
1510 }
1511 =210=
1512 IsDisplayed=function () {
1513     var element = this.GetMainElement();
1514     while (element != null && element.tagName != "BODY") {
1515         if (!_aspxGetElementDisplay(element)) {
1516             return false;
1517         }
1518         element = _aspxGetParentNode(element);
1519     }
1520     return true;
1521 }
1522 =211=
1523 IsVisible=function () {
1524     return this.IsElementInVisibleContainer(this.GetMainElement());
1525 }
1526 =212=
1527 IsElementInVisibleContainer=function (element) {
1528     var curElement = element;
1529     while (_aspxIsExists(curElement) &&
1530         _aspxIsExists(curElement.tagName) && curElement.tagName != "BODY") {
1531         if (curElement.getAttribute("errorFrame") != "errorFrame") {
1532             if (_aspxIsExists(curElement.style.display) &&
1533                 curElement.style.display == "none" ||
1534                 _aspxIsExists(curElement.style.visibility) &&
1535                 curElement.style.visibility == "hidden") {
1536                 return false;
1537             }
1538         }
1539         curElement = curElement.parentNode;
1540     }
1541     return true;
1542 }
1543 =213=
1544 CorrectEditorHeight=function () {
1545 }
1546 =214=
1547 OnFocus=function () {
1548     if (!this.isInitialized) {
1549         return;
1550     }
1551     if (_aspxIsExists(this.RaiseFocus)) {
1552         this.RaiseFocus();
1553     }
1554 }
1555 =215=
1556 OnLostFocus=function () {
1557     if (!this.isInitialized) {
1558         return;
1559     }
1560     if (_aspxIsExists(this.RaiseLostFocus)) {
1561         this.RaiseLostFocus();
1562     }
1563     this.SetFocusOnError();
1564 }
1565 =216=
1566 OnValidation=function () {
1567     if (!this.isInitialized ||
1568         !this.customValidationEnabled || !this.IsVisible()) {
1569         return;
1570     }
1571     this.errorText = this.initialErrorText;
1572     this.isValid = true;
1573     this.ValidateWithPatterns();
1574     if (_aspxIsExists(this.RaiseValidation)) {
1575         this.RaiseValidation();
1576     }
1577     this.UpdateErrorFrame();
1578 }
1579 =217=
1580 RaisePersonalStandardValidation=function () {
1581     if (_aspxIsFunction(window.ValidatorOnChange)) {
1582         var inputElement = this.GetValueInputToValidate();
1583         if (_aspxIsExists(inputElement.Validators)) {
1584             window.ValidatorOnChange({srcElement:inputElement});
1585         }
1586     }
1587 }
1588 =218=
1589 RaiseValidationInternal=function () {
1590     if (this.autoPostBack && this.causesValidation) {
1591         return ASPxClientEdit.ValidateGroup(this.validationGroup);
1592     } else {
1593         this.OnValidation();
1594         return this.isValid;
1595     }
1596 }
1597 =219=
1598 SendPostBackInternal=function (postBackArg) {
1599     if (_aspxIsFunction(this.sendPostBackWithValidation)) {
1600         this.sendPostBackWithValidation(postBackArg);
1601     } else {
1602         this.SendPostBack(postBackArg);
1603     }
1604 }
1605 =220=
1606 SetElementToBeFocused=function () {
1607     var input = this.GetInputElement();
1608     if (_aspxIsExistsElement(input) &&
1609         _aspxIsExists(input.focus) && this.IsVisible()) {
1610         __aspxInvalidEditorElementToBeFocused = input;
1611     }
1612 }
1613 =221=
1614 SetFocus=function () {
1615     var inputElement = this.FindInputElement();
1616     if (_aspxGetActiveElement() != inputElement &&
1617         _aspxIsEditorFocusable(inputElement)) {
1618         _aspxSetFocus(inputElement);
1619     }
1620 }
1621 =222=
1622 SetFocusOnError=function () {
1623     var input = this.GetInputElement();
1624     if (__aspxInvalidEditorElementToBeFocused == input) {
1625         input.focus();
1626         __aspxInvalidEditorElementToBeFocused = null;
1627     }
1628 }
1629 =223=
1630 UpdateErrorFrame=function () {
1631     var externalTable = this.GetExternalTable();
1632     if (this.isValid) {
1633         externalTable.style.visibility = "hidden";
1634     } else {
1635         this.UpdateErrorCellContent();
1636         externalTable.style.visibility = "visible";
1637         if (this.setFocusOnError &&
1638             __aspxInvalidEditorElementToBeFocused == null) {
1639             this.SetElementToBeFocused();
1640         }
1641     }
1642 }
1643 =224=
1644 UpdateErrorCellContent=function () {
1645     if (this.errorDisplayMode.indexOf("t") > -1) {
1646         this.UpdateErrorText();
1647     }
1648     if (this.errorDisplayMode == "i") {
1649         this.UpdateErrorImage();
1650     }
1651 }
1652 =225=
1653 UpdateErrorImage=function () {
1654     var image = this.GetErrorImage();
1655     if (_aspxIsExistsElement(image)) {
1656         image.alt = this.errorText;
1657         image.title = this.errorText;
1658     } else {
1659         this.UpdateErrorText();
1660     }
1661 }
1662 =226=
1663 UpdateErrorText=function () {
1664     var errorTextCell = this.GetErrorTextCell();
1665     if (_aspxIsExistsElement(errorTextCell)) {
1666         if (_aspxIsExistsElement(errorTextCell.firstChild)) {
1667             errorTextCell.replaceChild(document.createTextNode(this.errorText), errorTextCell.firstChild);
1668         } else {
1669             errorTextCell.appendChild(document.createTextNode(this.errorText));
1670         }
1671     }
1672 }
1673 =227=
1674 ValidateWithPatterns=function () {
1675     if (this.validationPatterns != null) {
1676         var value = this.GetValue();
1677         for (var i = 0; i < this.validationPatterns.length; i++) {
1678             var validator = this.validationPatterns[i];
1679             if (!validator.EvaluateIsValid(value)) {
1680                 this.isValid = false;
1681                 this.errorText = validator.errorText;
1682                 return;
1683             }
1684         }
1685     }
1686 }
1687 =228=
1688 Focus=function () {
1689     this.SetFocus();
1690 }
1691 =229=
1692 GetIsValid=function () {
1693     return this.isValid;
1694 }
1695 =230=
1696 GetErrorText=function () {
1697     return this.errorText;
1698 }
1699 =231=
1700 RaiseFocus=function () {
1701     if (!this.GotFocus.IsEmpty()) {
1702         var args = new ASPxClientEventArgs;
1703         this.GotFocus.FireEvent(this, args);
1704     }
1705 }
1706 =232=
1707 RaiseLostFocus=function () {
1708     if (!this.LostFocus.IsEmpty()) {
1709         var args = new ASPxClientEventArgs;
1710         this.LostFocus.FireEvent(this, args);
1711     }
1712 }
1713 =233=
1714 RaiseValidation=function () {
1715     if (this.customValidationEnabled && !this.Validation.IsEmpty()) {
1716         var currentValue = this.GetValue();
1717         var args = new ASPxClientEditValidationEventArgs(currentValue, this.errorText, this.isValid);
1718         this.Validation.FireEvent(this, args);
1719         this.errorText = args.errorText;
1720         this.isValid = args.isValid;
1721         if (currentValue != args.value) {
1722             this.SetValue(args.value);
1723         }
1724     }
1725 }
1726 =234=
1727 RaiseValueChanged=function () {
1728     var processOnServer = this.autoPostBack;
1729     if (!this.ValueChanged.IsEmpty()) {
1730         var args = new ASPxClientProcessingModeEventArgs(processOnServer);
1731         this.ValueChanged.FireEvent(this, args);
1732         processOnServer = args.processOnServer;
1733     }
1734     return processOnServer;
1735 }
1736 =235=
1737 SetIsValid=function (isValid) {
1738     if (this.customValidationEnabled) {
1739         this.isValid = isValid;
1740         this.UpdateErrorFrame();
1741     }
1742 }
1743 =236=
1744 SetErrorText=function (errorText) {
1745     if (this.customValidationEnabled) {
1746         this.errorText = errorText;
1747         this.UpdateErrorFrame();
1748     }
1749 }
1750 =237=
1751 Validate=function () {
1752     this.ParseValue();
1753     this.OnValidation();
1754 }
1755 =238=
1756 RaiseKeyDown=function (evt) {
1757     if (!this.KeyDown.IsEmpty()) {
1758         var args = new ASPxClientEditKeyEventArgs(evt);
1759         this.KeyDown.FireEvent(this, args);
1760     }
1761 }
1762 =239=
1763 RaiseKeyPress=function (evt) {
1764     if (!this.KeyPress.IsEmpty()) {
1765         var args = new ASPxClientEditKeyEventArgs(evt);
1766         this.KeyPress.FireEvent(this, args);
1767     }
1768 }
1769 =240=
1770 RaiseKeyUp=function (evt) {
1771     if (!this.KeyUp.IsEmpty()) {
1772         var args = new ASPxClientEditKeyEventArgs(evt);
1773         this.KeyUp.FireEvent(this, args);
1774     }
1775 }
1776 =241=
1777 GetValueString=function () {
1778     var value = this.GetValue();
1779     return value == null ? null : value.toString();
1780 }
1781 =242=
1782 InitializeCallBackData=function () {
1783 }
1784 =243=
1785 RegisterServerEventAssigned=function (eventNames) {
1786     for (var i = 0; i < eventNames.length; i++) {
1787         this.serverEvents[eventNames[i]] = true;
1788     }
1789 }
1790 =244=
1791 IsServerEventAssigned=function (eventName) {
1792     return _aspxIsExists(this.serverEvents[eventName]);
1793 }
1794 =245=
1795 GetChild=function (idPostfix) {
1796     var mainElement = this.GetMainElement();
1797     return _aspxIsExists(mainElement) ? _aspxGetChildById(this.GetMainElement(), this.name + idPostfix) : null;
1798 }
1799 =246=
1800 GetItemElementName=function (element) {
1801     var name = "";
1802     if (_aspxIsExists(element.id)) {
1803         name = element.id.substring(this.name.length + 1);
1804     }
1805     return name;
1806 }
1807 =247=
1808 GetLinkElement=function (element) {
1809     if (element != null) {
1810         if (element.tagName.toUpperCase() == "A") {
1811             return element;
1812         } else {
1813             return _aspxGetChildByTagName(element, "A", 0);
1814         }
1815     }
1816     return null;
1817 }
1818 =248=
1819 GetMainElement=function () {
1820     if (!_aspxIsExistsElement(this.mainElement)) {
1821         this.mainElement = _aspxGetElementById(this.name);
1822     }
1823     return this.mainElement;
1824 }
1825 =249=
1826 OnControlClick=function (clickedElement, htmlEvent) {
1827 }
1828 =250=
1829 GetLoadingPanelElement=function () {
1830     return _aspxGetElementById(this.name + "_LP");
1831 }
1832 =251=
1833 CreateLoadingPanelClone=function (element, parentElement) {
1834     var cloneElement = element.cloneNode(true);
1835     cloneElement.id = element.id + "V";
1836     parentElement.appendChild(cloneElement);
1837     return cloneElement;
1838 }
1839 =252=
1840 CreateLoadingPanelInsideContainer=function (parentElement) {
1841     if (parentElement == null) {
1842         return;
1843     }
1844     var element = this.GetLoadingPanelElement();
1845     if (element != null) {
1846         var itemsTable = _aspxGetChildByTagName(parentElement, "TABLE", 0);
1847         var width = itemsTable != null ? itemsTable.offsetWidth : parentElement.clientWidth;
1848         var height = itemsTable != null ? itemsTable.offsetHeight : parentElement.clientHeight;
1849         parentElement.innerHTML = "";
1850         var table = document.createElement("TABLE");
1851         parentElement.appendChild(table);
1852         table.border = 0;
1853         table.cellPadding = 0;
1854         table.cellSpacing = 0;
1855         table.style.height = height + "px";
1856         table.style.width = width + "px";
1857         var tbody = document.createElement("TBODY");
1858         table.appendChild(tbody);
1859         var tr = document.createElement("TR");
1860         tbody.appendChild(tr);
1861         var td = document.createElement("TD");
1862         tr.appendChild(td);
1863         td.align = "center";
1864         td.vAlign = "middle";
1865         element = this.CreateLoadingPanelClone(element, td);
1866         _aspxSetElementDisplay(element, true);
1867         return element;
1868     } else {
1869         parentElement.innerHTML = " ";
1870     }
1871     return null;
1872 }
1873 =253=
1874 CreateLoadingPanelWithAbsolutePosition=function (parentElement, offsetElement) {
1875     if (parentElement == null) {
1876         return;
1877     }
1878     if (!_aspxIsExists(offsetElement)) {
1879         offsetElement = parentElement;
1880     }
1881     var element = this.GetLoadingPanelElement();
1882     if (element != null) {
1883         element = this.CreateLoadingPanelClone(element, parentElement);
1884         element.style.position = "absolute";
1885         _aspxSetElementDisplay(element, true);
1886         this.SetLoadingPanelLocation(offsetElement, element);
1887         return element;
1888     }
1889     return null;
1890 }
1891 =254=
1892 CreateLoadingPanelInline=function (parentElement) {
1893     if (parentElement == null) {
1894         return;
1895     }
1896     var element = this.GetLoadingPanelElement();
1897     if (element != null) {
1898         element = this.CreateLoadingPanelClone(element, parentElement);
1899         _aspxSetElementDisplay(element, true);
1900         return element;
1901     }
1902     return null;
1903 }
1904 =255=
1905 SetLoadingPanelLocation=function (element, loadingPanel) {
1906     var ptX = this.GetElementScrollLocationAndSize(_aspxGetAbsoluteX(element), element.offsetWidth, _aspxGetDocumentScrollLeft(), _aspxGetDocumentClientWidth());
1907     var ptY = this.GetElementScrollLocationAndSize(_aspxGetAbsoluteY(element), element.offsetHeight, _aspxGetDocumentScrollTop(), _aspxGetDocumentClientHeight());
1908     loadingPanel.style.left = ptX.pos + (ptX.size - loadingPanel.offsetWidth) / 2 - _aspxGetOffset(element, true) + "px";
1909     loadingPanel.style.top = ptY.pos + (ptY.size - loadingPanel.offsetHeight) / 2 - _aspxGetOffset(element, false) + "px";
1910 }
1911 =256=
1912 GetElementScrollLocationAndSize=function (abs, size, scrollPos, scrollSize) {
1913     var pt = new Object;
1914     pt.pos = abs;
1915     pt.size = size;
1916     if (abs < scrollPos + scrollSize) {
1917         if (abs < scrollPos) {
1918             pt.pos = scrollPos;
1919             pt.size -= scrollPos - abs;
1920         }
1921         if (pt.size + pt.pos > scrollPos + scrollSize) {
1922             pt.size = scrollSize - (pt.pos - scrollPos);
1923         }
1924     }
1925     return pt;
1926 }
1927 =257=
1928 GetLoadingDiv=function () {
1929     return _aspxGetElementById(this.name + "_LD");
1930 }
1931 =258=
1932 CreateLoadingDiv=function (parentElement, offsetElement) {
1933     if (parentElement == null) {
1934         return;
1935     }
1936     if (!_aspxIsExists(offsetElement)) {
1937         offsetElement = parentElement;
1938     }
1939     var div = this.GetLoadingDiv();
1940     if (div != null) {
1941         div = div.cloneNode(true);
1942         parentElement.appendChild(div);
1943         div.style.position = "absolute";
1944         div.style.left = _aspxGetRelevantX(offsetElement, parentElement) + "px";
1945         div.style.top = _aspxGetRelevantY(offsetElement, parentElement) + "px";
1946         div.style.width = offsetElement.offsetWidth + "px";
1947         div.style.height = offsetElement.offsetHeight + "px";
1948         _aspxSetElementDisplay(div, true);
1949         return div;
1950     }
1951     return null;
1952 }
1953 =259=
1954 InCallback=function () {
1955     return this.requestCount > 0;
1956 }
1957 =260=
1958 DoBeginCallback=function (command) {
1959     if (_aspxIsExists(this.RaiseBeginCallback)) {
1960         if (!_aspxIsExists(command)) {
1961             command = "";
1962         }
1963         this.RaiseBeginCallback(command);
1964     }
1965     if (_aspxIsExists(WebForm_InitCallback)) {
1966         __theFormPostData = "";
1967         __theFormPostCollection = new Array;
1968         this.ClearPostBackEventInput("__EVENTTARGET");
1969         this.ClearPostBackEventInput("__EVENTARGUMENT");
1970         WebForm_InitCallback();
1971     }
1972 }
1973 =261=
1974 ClearPostBackEventInput=function (id) {
1975     var element = _aspxGetElementById(id);
1976     if (element != null) {
1977         element.value = "";
1978     }
1979 }
1980 =262=
1981 CreateCallback=function (arg, command) {
1982     if (!this.CanCreateCallback()) {
1983         return;
1984     }
1985     this.requestCount++;
1986     this.DoBeginCallback(command);
1987     this.callBack(arg);
1988 }
1989 =263=
1990 CanCreateCallback=function () {
1991     return this.allowMultipleCallbacks || !this.InCallback();
1992 }
1993 =264=
1994 DoEndCallback=function () {
1995     _aspxSetTimeout(_aspxProcessScripts, 1);
1996     _aspxSetTimeout(_aspxProcessLinks, 1);
1997     if (_aspxIsExists(this.RaiseEndCallback)) {
1998         this.RaiseEndCallback();
1999     }
2000 }
2001 =265=
2002 DoCallback=function (result) {
2003     this.requestCount--;
2004     if (result.indexOf(__aspxCallBackErrorPrefix) > -1) {
2005         this.DoCallbackError(result);
2006     } else {
2007         this.OnCallback(result);
2008     }
2009     this.DoEndCallback();
2010 }
2011 =266=
2012 DoCallbackError=function (result) {
2013     var pos = result.indexOf(__aspxCallBackErrorPrefix);
2014     if (pos > -1) {
2015         result = result.substr(pos + __aspxCallBackErrorPrefix.length);
2016     } else {
2017         result = "A server error has occurred while a callBack has being processed on the server.";
2018     }
2019     this.OnCallbackError(result);
2020 }
2021 =267=
2022 DoControlClick=function (evt) {
2023     var clickedElement = __aspxIE ? evt.srcElement : evt.target;
2024     this.OnControlClick(clickedElement, evt);
2025 }
2026 =268=
2027 SendPostBack=function (params) {
2028     __doPostBack(this.uniqueID, params);
2029 }
2030 =269=
2031 RaiseInit=function () {
2032     if (!this.Init.IsEmpty()) {
2033         var args = new ASPxClientEventArgs;
2034         this.Init.FireEvent(this, args);
2035     }
2036 }
2037 =270=
2038 RaiseBeginCallback=function () {
2039     if (!this.BeginCallback.IsEmpty()) {
2040         var args = new ASPxClientEventArgs;
2041         this.BeginCallback.FireEvent(this, args);
2042     }
2043 }
2044 =271=
2045 RaiseEndCallback=function () {
2046     if (!this.EndCallback.IsEmpty()) {
2047         var args = new ASPxClientEventArgs;
2048         this.EndCallback.FireEvent(this, args);
2049     }
2050 }
2051 
Вернуться к списку исходников в категории Общие вопросы программирования на ASP.NET
 
Наш Киев

Apartments for Rent

Rambler's Top100
Рейтинг@Mail.ru
Идея: Dimon aka Manowar Программирование: Dimon aka Manowar Дизайн: Dan Lebedev
Хостинг от компании Parking.ru
Карта сайта