var __aspxInvalidDimension = -10000; var __aspxInvalidPosition = -10000; var __aspxAbsoluteLeftPosition = -10000; var __aspxAbsoluteRightPosition = 10000; var __aspxMenuZIndex = 21998; var __aspxPopupControlZIndex = 11998; var /* const */ __aspxCheckSizeCorrectedFlag = true; var __aspxCallbackSeparator = ":"; var __aspxItemIndexSeparator = "i"; var __aspxCallbackResultPrefix = "/*^^^DX^^^*/"; var __aspxItemClassName = "dxi"; var __aspxHTMLLoaded = false; var __aspxEmptyAttributeValue = new Object(); var __aspxEmptyCachedValue = new Object(); var __aspxCachedRules = new Object(); var __aspxDateFormatInfo = { twoDigitYearMax: 2029, ts: ":", ds: "/", am: "AM", pm: "PM" }; var ASPxKeyConsts = { // TODO Refactor rename ASPxKeyConsts to ASPxKey (becuase of function) KEY_F1 :112, KEY_F2 :113, KEY_F3 :114, KEY_F4 :115, KEY_F5 :116, KEY_F6 :117, KEY_F7 :118, KEY_F8 :119, KEY_F9 :120, KEY_F10 :121, KEY_F11 :122, KEY_F12 :123, KEY_CTRL :17, KEY_SHIFT :16, KEY_ALT :18, KEY_ENTER :13, KEY_HOME :36, KEY_END :35, KEY_LEFT :37, KEY_RIGHT :39, KEY_UP :38, KEY_DOWN :40, KEY_PAGEUP :33, KEY_PAGEDOWN :34, KEY_ESC :27, KEY_SPACE :32, KEY_TAB :9, KEY_ENTER :13, KEY_BACK :8, KEY_DELETE :46, KEY_INSERT :45, KEY_CONTEXT_MENU :93, IsCharacter: function(keyCode){ return keyCode > this.KEY_INSERT; // It must by > 45 } }; function _aspxGetActiveElement() { try{ return document.activeElement; } catch(e) { } return null; } // Browsers var __aspxAgent = navigator.userAgent.toLowerCase(); var __aspxOpera = (__aspxAgent.indexOf("opera") > -1); var __aspxOpera9 = (__aspxAgent.indexOf("opera/9") > -1 || __aspxAgent.indexOf("opera 9") > -1); var __aspxSafari = __aspxAgent.indexOf("safari") > -1; var __aspxSafari3 = __aspxSafari && __aspxAgent.indexOf("version/3") > -1; var __aspxSafariMacOS = __aspxSafari && __aspxAgent.indexOf("macintosh") > -1; var __aspxIE = (__aspxAgent.indexOf("msie") > -1 && !__aspxOpera); var __aspxIE55 = (__aspxAgent.indexOf("5.5") > -1 && __aspxIE); var __aspxIE7 = (__aspxAgent.indexOf("7.") > -1 && __aspxIE); var __aspxNotIEOperaSafari = !__aspxSafari && !__aspxIE && !__aspxOpera; var __aspxFirefox = (__aspxAgent.indexOf("firefox") > -1) && __aspxNotIEOperaSafari; var __aspxFirefox3 = (__aspxAgent.indexOf("firefox/3.") > -1) && __aspxNotIEOperaSafari; var __aspxMozilla = (__aspxAgent.indexOf("mozilla") > -1) && __aspxNotIEOperaSafari; var __aspxNetscape = (__aspxAgent.indexOf("netscape") > -1) && __aspxNotIEOperaSafari; var __aspxNS = __aspxFirefox || __aspxMozilla || __aspxNetscape; // Array function _aspxArrayPush(array, element){ if(_aspxIsExists(array.push)) array.push(element); else array[array.length] = element; } function _aspxArrayInsert(array, element, position){ if(0 <= position && position < array.length){ for(var i = array.length; i > position; i --) array[i] = array[i - 1]; array[position] = element; } else _aspxArrayPush(array, element); } function _aspxArrayRemove(array, element){ var index = _aspxArrayIndexOf(array, element); if(index > -1) _aspxArrayRemoveAt(array, index); } function _aspxArrayRemoveAt(array, index){ if(index >= 0 && index < array.length){ for(var i = index; i < array.length - 1; i++) array[i] = array[i + 1]; array.pop(); } } function _aspxArrayClear(array){ while(array.length > 0) array.pop(); } function _aspxArrayIndexOf(array, element){ for(var i = 0; i < array.length; i++){ if(array[i] == element) return i; } return -1; } function _aspxCreateHashTableFromArray(array) { var hash = []; for(var i = 0; i < array.length; i++) hash[array[i]] = 1; return hash; } var __aspxDefaultBinarySearchComparer = function(arrayElement, value) { if(arrayElement == value) return 0; else return arrayElement < value ? -1 : 1; }; function _aspxArrayBinarySearch(array, value, binarySearchComparer, startIndex, length) { if(!_aspxIsExists(binarySearchComparer)) binarySearchComparer = __aspxDefaultBinarySearchComparer; if(!_aspxIsExists(startIndex)) startIndex = 0; if(!_aspxIsExists(length)) length = array.length - startIndex; var endIndex = (startIndex + length) - 1; while (startIndex <= endIndex) { var middle = (startIndex + ((endIndex - startIndex) >> 1)); var compareResult = binarySearchComparer(array[middle], value); if (compareResult == 0) return middle; if (compareResult < 0) startIndex = middle + 1; else endIndex = middle - 1; } return -(startIndex + 1); } function _aspxApplyReplacement(text, replecementTable) { for(var i = 0; i < replecementTable.length; i++) { var replacement = replecementTable[i]; text = text.replace(replacement[0], replacement[1]); } return text; } // ** Keyboard support utils ** // for ex. CTRL+SHIFT+Z function _aspxParseShortcutString(shortcutString) { var isCtrlKey = false; var isShiftKey = false; var isAltKey = false; var keyCode = null; var shcKeys = shortcutString.toString().split("+"); if (shcKeys.length > 0) { for (var i = 0; i < shcKeys.length; i++) { var key = _aspxTrim(shcKeys[i].toUpperCase()); switch (key) { case "CTRL": isCtrlKey = true; break; case "SHIFT": isShiftKey = true; break; case "ALT": isAltKey = true; break; case "F1": keyCode = ASPxKeyConsts.KEY_F1; break; case "F2": keyCode = ASPxKeyConsts.KEY_F2; break; case "F3": keyCode = ASPxKeyConsts.KEY_F3; break; case "F4": keyCode = ASPxKeyConsts.KEY_F4; break; case "F5": keyCode = ASPxKeyConsts.KEY_F5; break; case "F6": keyCode = ASPxKeyConsts.KEY_F6; break; case "F7": keyCode = ASPxKeyConsts.KEY_F7; break; case "F8": keyCode = ASPxKeyConsts.KEY_F8; break; case "F9": keyCode = ASPxKeyConsts.KEY_F9; break; case "F10": keyCode = ASPxKeyConsts.KEY_F10; break; case "F11": keyCode = ASPxKeyConsts.KEY_F11; break; case "F12": keyCode = ASPxKeyConsts.KEY_F12; break; case "ENTER": keyCode = ASPxKeyConsts.KEY_ENTER; break; case "HOME": keyCode = ASPxKeyConsts.KEY_HOME; break; case "END": keyCode = ASPxKeyConsts.KEY_END; break; case "LEFT": keyCode = ASPxKeyConsts.KEY_LEFT; break; case "RIGHT": keyCode = ASPxKeyConsts.KEY_RIGHT; break; case "UP": keyCode = ASPxKeyConsts.KEY_UP; break; case "DOWN": keyCode = ASPxKeyConsts.KEY_DOWN; break; case "PAGEUP": keyCode = ASPxKeyConsts.KEY_PAGEUP; break; case "PAGEDOWN": keyCode = ASPxKeyConsts.KEY_PAGEDOWN; break; case "SPACE": keyCode = ASPxKeyConsts.KEY_SPACE; break; case "TAB": keyCode = ASPxKeyConsts.KEY_TAB; break; case "BACK": keyCode = ASPxKeyConsts.KEY_BACK; break; case "CONTEXT": keyCode = ASPxKeyConsts.KEY_CONTEXT_MENU; break; case "ESCAPE": case "ESC": keyCode = ASPxKeyConsts.KEY_ESC; break; case "DELETE": case "DEL": keyCode = ASPxKeyConsts.KEY_DELETE; break; case "INSERT": case "INS": keyCode = ASPxKeyConsts.KEY_INSERT; break; case "PLUS": keyCode = "+".charCodeAt(0); break; default: keyCode = key.charCodeAt(0); break; } } } else alert("Shortcut is incorrect"); return _aspxGetShortcutCode(keyCode, isCtrlKey, isShiftKey, isAltKey); } function _aspxGetShortcutCode(keyCode, isCtrlKey, isShiftKey, isAltKey) { var value = keyCode & 0xFFFF; var flags = 0; flags |= (isCtrlKey ? 1 << 0 : 0); flags |= (isShiftKey ? 1 << 2 : 0); flags |= (isAltKey ? 1 << 4 : 0); value |= (flags << 16); return value; } var ASPxImageUtils = { IsAlphaFilterNeed: function(src){ return (__aspxIE && !__aspxIE7 && this.IsPng(src)); }, IsPng: function(src){ return src.slice(-3).toLowerCase() == "png"; }, GetImageFilterStyle: function(src){ return "progid:DXImageTransform.Microsoft.AlphaImageLoader(src=" + src + ", sizingMethod=scale)"; }, GetImageSrc: function (image){ if(_aspxIsAlphaFilterUsed(image)){ // TODO move _aspxIsAlphaFilterUsed to ASPxImageUtils var filter = image.style.filter; var regSrc = new RegExp("src=", "g"); var regPng = new RegExp(".png", "g"); var beginIndex = regSrc.exec(filter).lastIndex; var endIndex = regPng.exec(filter).lastIndex; return filter.substring(beginIndex, endIndex); } return image.src; }, SetImageSrc: function(image, src){ var isAlphaFilterNeed = this.IsAlphaFilterNeed(src); if(isAlphaFilterNeed){ image.src = __dxSpaceImageUrl; image.style.filter = this.GetImageFilterStyle(src); } else { image.src = src; image.style.filter = ""; } }, SetSize: function(image, width, height){ image.style.width = width + "px"; image.style.height = height + "px"; }, GetSize: function(image, isWidth){ return (isWidth ? image.offsetWidth : image.offsetHeight); } }; // StringBuilder ASPxStringBuilder = _aspxCreateClass(null, { constructor: function(str) { this.Initialize(); if (str != null) this.Append(str); }, Append: function(str) { this.value = null; this.length += (this.parts[this.partsCount++] = String(str)).length; return this; }, Clear: function() { this.Initialize(); }, Initialize: function() { this.parts = [ ]; this.partsCount = 0; this.length = 0; this.value = null; }, ToString: function() { if (this.value != null) return this.value; var aggregate = this.parts.join(''); this.partsCount = (this.parts = [ aggregate ]).length; this.length = aggregate.length; return (this.value = aggregate); } }); // Timer function _aspxSetTimeout(callString, timeout){ return window.setTimeout(callString, timeout); } function _aspxClearTimer(timerID){ if(timerID > -1) window.clearTimeout(timerID); return -1; } // Interval function _aspxSetInterval(callString, interval){ return window.setInterval(callString, interval); } function _aspxClearInterval(timerID){ if(timerID > -1) window.clearInterval(timerID); return -1; } // Utils // [Victor] The simple innerHTML property assignation doesn't affect the node // inner HTML in IE when the insertable markup begins with the SCRIPT tag (or // any other "special processing"-tags like STYLE and LINK function _aspxSetInnerHtml(element, html) { element.innerHTML = " " + html; element.removeChild(element.firstChild); } function _aspxGetInnerText(container) { if (__aspxMozilla) return container.textContent; else if (__aspxSafari) { var filter = _aspxGetHtml2PlainTextFilter(); filter.innerHTML = container.innerHTML; _aspxSetElementDisplay(filter, true); var innerText = filter.innerText; _aspxSetElementDisplay(filter, false); return innerText; } else return container.innerText; } var __aspxHtml2PlainTextFilter = null; function _aspxGetHtml2PlainTextFilter() { if (__aspxHtml2PlainTextFilter == null) { __aspxHtml2PlainTextFilter = document.createElement("DIV"); __aspxHtml2PlainTextFilter.style.width = "0"; __aspxHtml2PlainTextFilter.style.height = "0"; _aspxSetElementDisplay(__aspxHtml2PlainTextFilter, false); document.body.appendChild(__aspxHtml2PlainTextFilter); } return __aspxHtml2PlainTextFilter; } function _aspxCreateHiddenField(name, id) { var input = document.createElement("INPUT"); input.setAttribute("type", "hidden"); if(_aspxIsExists(name)) input.setAttribute("name", name); if(_aspxIsExists(id)) input.setAttribute("id", id); return input; } function _aspxCloneObject(srcObject) { if(typeof(srcObject) != 'object') return srcObject; if (srcObject == null) return srcObject; var newObject = new Object(); for(var i in srcObject) newObject[i] = srcObject[i]; return newObject; } function _aspxIsExistsType(type){ return (type != "undefined"); } function _aspxIsExists(obj){ return (typeof(obj) != "undefined") && (obj != null); } function _aspxIsFunction(obj){ return typeof(obj) == "function"; } function _aspxGetDefinedValue(value, defaultValue){ return (typeof(value) != "undefined") ? value : defaultValue; } function _aspxGetKeyCode(srcEvt) { return __aspxNS ? srcEvt.which : srcEvt.keyCode; } function _aspxSetInputSelection(input, startPos, endPos){ startPos = _aspxGetDefinedValue(startPos, 0); endPos = _aspxGetDefinedValue(endPos, input.value.length); if (__aspxIE) { var range = input.createTextRange(); range.collapse(true); range.moveStart("character", startPos); range.moveEnd("character", endPos - startPos); range.select(); } else input.setSelectionRange(startPos, endPos); } function _aspxHasInputSelection(input){ var selectionStart = 0; var selectionEnd = 0; if(__aspxIE){ var curRange = document.selection.createRange(); var copyRange = curRange.duplicate(); curRange.move('character', - input.value.length); curRange.setEndPoint('EndToStart', copyRange); var selectionStart = curRange.text.length; var selectionEnd = selectionStart + copyRange.text.length; } else{ selectionStart = input.selectionStart; selectionEnd = input.selectionEnd; } return (selectionStart == selectionEnd); } function _aspxPreventElementDragAndSelect(element, isSkipMouseMove){ if(__aspxIE){ _aspxAttachEventToElement(element, "selectstart", new function(){ return false;}); if(!isSkipMouseMove) _aspxAttachEventToElement(element, "mousemove", _aspxClearSelectionOnMouseMove); _aspxAttachEventToElement(element, "dragstart", _aspxPreventDragStart); } } function _aspxSetElementAsUnselectable(element, isWithChild) { if (_aspxIsExists(element) && (element.nodeType == 1)) { _aspxSetElementAsUnselectableInternal(element); if(isWithChild === true){ for(var j = 0; j < element.childNodes.length; j ++) _aspxSetElementAsUnselectable(element.childNodes[j]); } } } function _aspxSetElementAsUnselectableInternal(element) { element.unselectable = "on"; if (!__aspxIE) element.onmousedown = new function(){ return false;}; } function _aspxClearSelection(){ try{ if (_aspxIsExists(window.getSelection)){ if (__aspxSafari) window.getSelection().collapse(); else window.getSelection().removeAllRanges(); } else if (_aspxIsExists(document.selection)){ if(_aspxIsExists(document.selection.empty)) document.selection.empty(); else if(_aspxIsExists(document.selection.clear)) document.selection.clear(); } } catch(e){ } } function _aspxClearSelectionOnMouseMove(evt){ if (!__aspxIE || (evt.button != 0)) _aspxClearSelection(); } function _aspxPreventDragStart(evt){ evt = _aspxGetEvent(evt); var element = _aspxGetEventSource(evt); element.releaseCapture(); return false; } function _aspxGetElementById(id){ if(_aspxIsExists(document.getElementById)) return document.getElementById(id); else return document.all[id]; } function _aspxGetParentNode(element){ return element.parentNode; } function _aspxGetIsParent(parentElement, element){ while(element != null){ if(element.tagName == "BODY") return false; if(element == parentElement) return true; element = element.parentNode; } return false; } function _aspxGetParentById(element, id){ element = element.parentNode; while(element != null){ if(element.id == id) return element; element = element.parentNode; } return null; } function _aspxGetParentByTagName(element, tagName) { tagName = tagName.toUpperCase(); while(element != null) { var name = ""; if (element.tagName) name = element.tagName.toUpperCase(); if(name == "BODY") return null; if(name == tagName) return element; element = element.parentNode; } return null; } function _aspxGetParentByClassName(element, className) { while(element != null) { if(element.tagName.toUpperCase() == "BODY") return null; if(element.className.indexOf(className) != -1) return element; element = element.parentNode; } return null; } function _aspxGetParentByTagNameAndAttributeValue(element, tagName, attrName, attrValue) { tagName = tagName.toUpperCase(); while(element != null) { var name = ""; if (element.tagName) name = element.tagName.toUpperCase(); if(name == "BODY") return null; if((name == tagName) && _aspxIsExists(element[attrName]) && (element[attrName] == attrValue)) return element; element = element.parentNode; } return null; } function _aspxGetChildById(element, id){ if(!__aspxIE) return _aspxGetElementById(id); else{ var element = element.all[id]; if(!_aspxIsExists(element)) return null; else if(!_aspxIsExists(element.length)) // fix two element with the same name and id return element; else return _aspxGetElementById(id); } } function _aspxGetElementsByTagName(element, tagName){ if(element != null){ tagName = tagName.toUpperCase(); try { if (_aspxIsExists(element.all) && !__aspxFirefox3) return __aspxNetscape ? element.all.tags[tagName] : element.all.tags(tagName); } catch (exception) { } try { return element.getElementsByTagName(tagName); } catch (exception) { } } return null; } function _aspxGetChildByTagName(element, tagName, index) { if(element != null){ var collection = _aspxGetElementsByTagName(element, tagName); if(collection != null){ if(index < collection.length) return collection[index]; } } return null; } function _aspxGetChildTextNode(element, index) { if(element != null){ var collection = new Array(); _aspxGetChildTextNodeCollection(element, collection); if(index < collection.length) return collection[index]; } return null; } function _aspxGetChildTextNodeCollection(element, collection) { for(var i = 0; i < element.childNodes.length; i ++){ var childNode = element.childNodes[i]; if(_aspxIsExists(childNode.nodeValue)) _aspxArrayPush(collection, childNode); _aspxGetChildTextNodeCollection(childNode, collection); } } function _aspxGetChildsByClassName(element, className) { var collection = _aspxIsExists(element.all) ? element.all : element.getElementsByTagName('*'); var ret = new Array(); if(collection != null) { for(var i = 0; i < collection.length; i ++) { if (collection[i].className.indexOf(className) != -1) ret.push(collection[i]); } } return ret; } function _aspxGetParentByPartialId(element, idPart){ while(element != null){ if(_aspxIsExists(element.id)) { if(element.id.indexOf(idPart) > -1) return element; } element = element.parentNode; } return null; } function _aspxGetElementsByPartialId(element, partialName, list) { if(!_aspxIsExists(element.id)) return; if(element.id.indexOf(partialName) > -1) { list.push(element); } for(var i = 0; i < element.childNodes.length; i ++) { _aspxGetElementsByPartialId(element.childNodes[i], partialName, list); } } function _aspxIFrameWindow(name) { if(__aspxIE) return window.frames[name].window; else{ var frameElement = document.getElementById(name); return (frameElement != null) ? frameElement.contentWindow : null; } } function _aspxIFrameDocument(name) { if(__aspxIE) return window.frames[name].document; else{ var frameElement = document.getElementById(name); return (frameElement != null) ? frameElement.contentDocument : null; } } function _aspxIFrameDocumentBody(name) { var doc = _aspxIFrameDocument(name); return (doc != null) ? doc.body : null; } function _aspxIFrameElement(name) { if(__aspxIE) return window.frames[name].window.frameElement; else return document.getElementById(name); } function _aspxRemoveElement(element) { if(_aspxIsExists(element)) { var parent = element.parentNode; if(_aspxIsExists(parent)) parent.removeChild(element); } element = null; } function _aspxReplaceTagName(element, newTagName) { if (__aspxIE) { element.insertAdjacentHTML( 'beforeBegin', "<" + newTagName + ">" + element.innerHTML + "" ) ; _aspxRemoveElement(element); } else { var docFragment = element.ownerDocument.createDocumentFragment(); var newElem = element.ownerDocument.createElement(newTagName); docFragment.appendChild(newElem); for (var i = 0; i < element.childNodes.length; i++) newElem.appendChild(element.childNodes[i].cloneNode(true)); element.parentNode.replaceChild(docFragment, element); } } function _aspxRemoveOuterTags(element) { if (__aspxIE) { element.insertAdjacentHTML( 'beforeBegin', element.innerHTML ) ; _aspxRemoveElement(element); } else { var docFragment = element.ownerDocument.createDocumentFragment(); for (var i = 0; i < element.childNodes.length; i++) docFragment.appendChild(element.childNodes[i].cloneNode(true)); element.parentNode.replaceChild(docFragment, element); } } function _aspxWrapElementInNewElement(element, newElementTagName) { var wrapElement = null; if (__aspxIE) { var id = (new Date()).getTime(); element.insertAdjacentHTML( 'beforeBegin', "<" + newElementTagName + " id='" + id + "'>" + element.outerHTML + "" ); wrapElement = element.ownerDocument.getElementById(id); _aspxRemoveElement(element); _aspxRemoveAttribute(wrapElement, "id"); } else { var docFragment = element.ownerDocument.createDocumentFragment(); wrapElement = element.ownerDocument.createElement(newElementTagName); docFragment.appendChild(wrapElement); wrapElement.appendChild(element.cloneNode(true)); element.parentNode.replaceChild(docFragment, element); } return wrapElement; } function _aspxGetEvent(evt){ return (typeof(event) != "undefined" && event != null) ? event : evt; } function _aspxPreventEvent(evt){ if (__aspxNS) evt.preventDefault(); else evt.returnValue = false; return false; } function _aspxPreventEventAndBubble(evt){ _aspxPreventEvent(evt); if (__aspxNS) evt.stopPropagation(); evt.cancelBubble = true; return false; } function _aspxCancelBubble(evt){ evt.cancelBubble = true; return false; } function _aspxGetEventSource(evt){ evt = _aspxGetEvent(evt); if(!_aspxIsExists(evt)) return null; return __aspxIE ? evt.srcElement : evt.target; } function _aspxGetEventX(evt){ return evt.clientX - _aspxGetIEDocumentClientOffsetInternal(true) + (__aspxSafari ? 0 : _aspxGetDocumentScrollLeft()); } function _aspxGetEventY(evt){ return evt.clientY - _aspxGetIEDocumentClientOffsetInternal(false) + (__aspxSafari ? 0 : _aspxGetDocumentScrollTop()); } function _aspxGetIEDocumentClientOffset(IsX){ return 0; } function _aspxGetIEDocumentClientOffsetInternal(IsX){ var clientOffset = 0; if(__aspxIE){ if(_aspxIsExists(document.documentElement)) clientOffset = IsX ? document.documentElement.clientLeft : document.documentElement.clientTop; if(clientOffset == 0 && _aspxIsExists(document.body)) var clientOffset = IsX ? document.body.clientLeft : document.body.clientTop; } return clientOffset; } function _aspxGetIsLeftButtonPressed(evt){ evt = _aspxGetEvent(evt); if(!_aspxIsExists(evt)) return false; if(__aspxIE) return evt.button == 1; else if(__aspxNS || __aspxSafari) return evt.which == 1; else if (__aspxOpera) return evt.button == 0; return true; } function _aspxGetWheelDelta(evt){ var ret = __aspxNS ? -evt.detail : evt.wheelDelta; if (__aspxOpera && !__aspxOpera9) ret = -ret; return ret; } function _aspxDelCookie(name){ _aspxSetCookieInternal(name, "", new Date(1970, 1, 1)); } function _aspxGetCookie(name) { var cookies = document.cookie.split(';'); for(var i = 0; i < cookies.length; i++) { var cookie = _aspxTrim(cookies[i]); if(cookie.indexOf(name + "=") == 0) return cookie.substring(name.length + 1, cookie.length); } return null; } function _aspxSetCookie(name, value){ var date = new Date(); date.setFullYear(date.getFullYear() + 1); _aspxSetCookieInternal(name, value, date); } function _aspxSetCookieInternal(name, value, date){ document.cookie = name + "=" + escape(value) + "; expires=" + date.toGMTString() + "; path=/"; } function _aspxGetElementDisplay(element){ return element.style.display != "none"; } function _aspxSetElementDisplay(element, value){ element.style.display = value ? "" : "none"; } function _aspxGetElementVisibility(element){ return element.style.visibility != "hidden"; } function _aspxSetElementVisibility(element, value){ element.style.visibility = value ? "" : "hidden"; } function _aspxAddStyleSheetLinkToDocument(doc, linkUrl) { var newLink = _aspxCreateStyleLink(doc, linkUrl); var head = _aspxGetHeadElementOrCreateIfNotExist(doc); head.appendChild(newLink); } function _aspxGetHeadElementOrCreateIfNotExist(doc) { var elements = _aspxGetElementsByTagName(doc, "head"); var head = null; // The Head element might not exist in the Safari browser, if the document content // was created via the document.write() method. In this situation, we must create it. if (elements.length == 0) { head = doc.createElement("head"); head.visibility = "hidden"; doc.insertBefore(head, doc.body); } else head = elements[0]; return head; } function _aspxCreateStyleLink(doc, url) { var newLink = doc.createElement("link"); _aspxSetAttribute(newLink, "href", url); _aspxSetAttribute(newLink, "type", "text/css"); _aspxSetAttribute(newLink, "rel", "stylesheet"); return newLink; } function _aspxGetCurrentStyle(element){ if (__aspxIE) return element.currentStyle; else if (__aspxOpera && !__aspxOpera9) return window.getComputedStyle(element, null); else return document.defaultView.getComputedStyle(element, null); } function _aspxIsElementRigthToLeft(element) { var style = _aspxGetCurrentStyle(element); if (__aspxIE) style.writingMode.toUpperCase().indexOf("RL") > -1; return style.direction.toUpperCase().indexOf("RTL") > -1; } function _aspxCreateStyleSheetInDocument(doc) { if(__aspxIE) return doc.createStyleSheet(); else { var styleSheet = doc.createElement("STYLE"); _aspxGetChildByTagName(doc, "HEAD", 0).appendChild(styleSheet); return doc.styleSheets[doc.styleSheets.length - 1]; } } function _aspxCreateStyleSheet(){ return _aspxCreateStyleSheetInDocument(document); } function _aspxGetStyleSheetRules(styleSheet){ try { return __aspxIE ? styleSheet.rules : styleSheet.cssRules; } catch(e) { return null; } } function _aspxGetStyleSheetRule(className){ if(_aspxIsExists(__aspxCachedRules[className])){ if(__aspxCachedRules[className] != __aspxEmptyCachedValue) return __aspxCachedRules[className]; return null; } for(var i = 0; i < document.styleSheets.length; i ++){ var styleSheet = document.styleSheets[i]; var rules = _aspxGetStyleSheetRules(styleSheet); if(rules != null){ for(var j = 0; j < rules.length; j ++){ if(rules[j].selectorText == "." + className){ __aspxCachedRules[className] = rules[j]; return rules[j]; } } } } __aspxCachedRules[className] = __aspxEmptyCachedValue; return null; } function _aspxRemoveStyleSheetRule(styleSheet, index){ var rules = _aspxGetStyleSheetRules(styleSheet); if(rules != null && rules.length > 0 && rules.length >= index){ if(__aspxIE) styleSheet.removeRule(index); else styleSheet.deleteRule(index); } } function _aspxAddStyleSheetRule(styleSheet, selector, cssText){ if(!_aspxIsExists(cssText) || cssText == "") return; if(__aspxIE) styleSheet.addRule(selector, cssText); else styleSheet.insertRule(selector + " { " + cssText + " }", styleSheet.cssRules.length); } function _aspxGetPointerCursor() { return __aspxIE ? "hand" : "pointer"; } function _aspxSetPointerCursor(element) { if(element.style.cursor == "") element.style.cursor = _aspxGetPointerCursor(); } function _aspxGetIsValidPosition(pos){ return pos != __aspxInvalidPosition && pos != -__aspxInvalidPosition; } function _aspxGetAbsoluteX(curEl){ return _aspxGetAbsolutePositionX(curEl); } function _aspxGetAbsoluteY(curEl){ return _aspxGetAbsolutePositionY(curEl); } function _aspxSetAbsoluteX(element, x){ element.style.left = _aspxPrepareClientPosForElement(x, element, true) + "px"; } function _aspxSetAbsoluteY(element, y){ element.style.top = _aspxPrepareClientPosForElement(y, element, false) + "px"; } function _aspxGetAbsolutePositionX(curEl){ if (__aspxIE) return _aspxGetAbsolutePositionX_IE(curEl); if (__aspxFirefox3) return _aspxGetAbsolutePositionX_FF3(curEl); if (__aspxOpera) return _aspxGetAbsolutePositionX_Opera(curEl); if(__aspxNS && !__aspxFirefox3) return _aspxGetAbsolutePositionX_NS(curEl); if(__aspxSafari) return _aspxGetAbsolutePositionX_Safari(curEl); return _aspxGetAbsolutePositionX_Other(curEl); } function _aspxGetAbsolutePositionX_Opera(curEl){ var pos = _aspxGetAbsoluteOffsetX_OperaFFSafari(curEl); while (curEl != null) { pos += curEl.offsetLeft; pos -= curEl.scrollLeft; curEl = curEl.offsetParent; } pos += document.body.scrollLeft; return pos; } function _aspxGetAbsolutePositionX_IE(curEl){ if(curEl == null || __aspxIE && curEl.parentNode == null) return 0; // B96664 return curEl.getBoundingClientRect().left + _aspxGetDocumentScrollLeft() - _aspxGetIEDocumentClientOffsetInternal(true); } function _aspxGetAbsolutePositionX_FF3(curEl){ if(curEl == null) return 0; var x = curEl.getBoundingClientRect().left + _aspxGetDocumentScrollLeft() - _aspxGetIEDocumentClientOffsetInternal(true); return Math.round(x) } function _aspxGetAbsolutePositionX_NS(curEl){ var pos = _aspxGetAbsoluteOffsetX_OperaFFSafari(curEl); var isFirstCycle = true; while (curEl != null) { pos += curEl.offsetLeft; if (!isFirstCycle && curEl.offsetParent != null) pos -= curEl.scrollLeft; if (!isFirstCycle && __aspxFirefox){ var tagName = curEl.tagName.toUpperCase(); var style = _aspxGetCurrentStyle(curEl); if(tagName == "DIV" && style.overflow.toUpperCase() != "visible") pos += _aspxPxToInt(style.borderLeftWidth); } isFirstCycle = false; curEl = curEl.offsetParent; } return pos; } function _aspxGetAbsolutePositionX_Safari(curEl){ var pos = _aspxGetAbsoluteOffsetX_OperaFFSafari(curEl); while (curEl != null) { pos += curEl.offsetLeft; curEl = curEl.offsetParent; } return pos; } function _aspxGetAbsoluteOffsetX_OperaFFSafari(curEl){ // B91523 var pos = 0; while (curEl != null) { var tagname = curEl.tagName.toUpperCase(); if(tagname == "BODY") break; var style = _aspxGetCurrentStyle(curEl); if(!__aspxSafari && style.position == "absolute") break; if(tagname == "DIV" && (__aspxSafari || style.position == "" || style.position == "static")){ pos -= curEl.scrollLeft; } curEl = curEl.parentNode; } return pos; } function _aspxGetAbsolutePositionX_Other(curEl){ var pos = 0; var isFirstCycle = true; while (curEl != null) { pos += curEl.offsetLeft; if (!isFirstCycle && curEl.offsetParent != null) pos -= curEl.scrollLeft; isFirstCycle = false; curEl = curEl.offsetParent; } return pos; } function _aspxGetAbsolutePositionY(curEl){ if (__aspxIE) return _aspxGetAbsolutePositionY_IE(curEl); if (__aspxFirefox3) return _aspxGetAbsolutePositionY_FF3(curEl); if (__aspxOpera) return _aspxGetAbsolutePositionY_Opera(curEl); if(__aspxNS && !__aspxFirefox3) return _aspxGetAbsolutePositionY_NS(curEl); if(__aspxSafari) return _aspxGetAbsolutePositionY_Safari(curEl); return _aspxGetAbsolutePositionY_Other(curEl); } function _aspxGetAbsolutePositionY_Opera(curEl){ if(curEl && curEl.tagName == "TR" && curEl.cells.length > 0) curEl = curEl.cells[0]; var pos = _aspxGetAbsoluteOffsetY_OperaFFSafari(curEl); while (curEl != null) { pos += curEl.offsetTop; pos -= curEl.scrollTop; curEl = curEl.offsetParent; } pos += document.body.scrollTop; return pos; } function _aspxGetAbsolutePositionY_IE(curEl){ if(curEl == null || __aspxIE && curEl.parentNode == null) return 0; // B96664 return curEl.getBoundingClientRect().top + _aspxGetDocumentScrollTop() - _aspxGetIEDocumentClientOffsetInternal(false); } function _aspxGetAbsolutePositionY_FF3(curEl){ if(curEl == null) return 0; var y = curEl.getBoundingClientRect().top + _aspxGetDocumentScrollTop() - _aspxGetIEDocumentClientOffsetInternal(false); return Math.round(y); } function _aspxGetAbsolutePositionY_NS(curEl){ var pos = _aspxGetAbsoluteOffsetY_OperaFFSafari(curEl); var isFirstCycle = true; while (curEl != null) { pos += curEl.offsetTop; if (!isFirstCycle && curEl.offsetParent != null) pos -= curEl.scrollTop; if (!isFirstCycle && __aspxFirefox){ var tagName = curEl.tagName.toUpperCase(); var style = _aspxGetCurrentStyle(curEl); if(tagName == "DIV" && style.overflow.toUpperCase() != "visible") pos += _aspxPxToInt(style.borderTopWidth); } isFirstCycle = false; curEl = curEl.offsetParent; } return pos; } function _aspxGetAbsolutePositionY_Safari(curEl){ var pos = _aspxGetAbsoluteOffsetY_OperaFFSafari(curEl); while (curEl != null) { pos += curEl.offsetTop; curEl = curEl.offsetParent; } return pos; } function _aspxGetAbsoluteOffsetY_OperaFFSafari(curEl){ // B91523 var pos = 0; while (curEl != null) { var tagname = curEl.tagName.toUpperCase(); if(tagname == "BODY") break; var style = _aspxGetCurrentStyle(curEl); if(!__aspxSafari &&style.position == "absolute") break; if(tagname == "DIV" && (__aspxSafari || style.position == "" || style.position == "static")){ pos -= curEl.scrollTop; } curEl = curEl.parentNode; } return pos; } function _aspxGetAbsolutePositionY_Other(curEl){ var pos = 0; var isFirstCycle = true; while (curEl != null) { pos += curEl.offsetTop; if (!isFirstCycle && curEl.offsetParent != null) pos -= curEl.scrollTop; isFirstCycle = false; curEl = curEl.offsetParent; } return pos; } function _aspxPrepareClientPosForElement(pos, element, isX){ pos -= _aspxGetPositionElementOffset(element, isX); return pos; } function _aspxGetPositionElementOffset(element, isX){ var curEl = element.offsetParent; var offset = 0; var scroll = 0; var isThereFixedParent = false; var isFixed = false; var position = ""; while(curEl != null) { var tagName = _aspxIsExists(curEl.tagName) ? curEl.tagName.toLowerCase() : ""; if(tagName == "html" || tagName == "body") break; if(tagName != "td" && tagName != "tr"){ var style = _aspxGetCurrentStyle(curEl); isFixed = style.position == "fixed"; if(isFixed) isThereFixedParent = true; if (style.position == "absolute" || isFixed || style.position == "relative") { offset += isX ? curEl.offsetLeft : curEl.offsetTop; if (__aspxIE || __aspxOpera9 || __aspxSafariMacOS) offset += _aspxPxToInt(isX ? style.borderLeftWidth : style.borderTopWidth); } } scroll += isX ? curEl.scrollLeft : curEl.scrollTop; curEl = curEl.offsetParent; } offset -= scroll;// Bug B92105 if((__aspxIE7 ||__aspxFirefox3) && isThereFixedParent) offset += isX ? _aspxGetDocumentScrollLeft() : _aspxGetDocumentScrollTop(); return offset; } function _aspxPxToInt(px) { var result = 0; if (px != null && px != "") { try { var indexOfPx = px.indexOf("px"); if (indexOfPx > -1) result = parseInt(px.substr(0, indexOfPx)); } catch(e) { } } return result; } function _aspxGetClearClientWidth(element) { var currentStyle = _aspxGetCurrentStyle(element); return element.offsetWidth - _aspxPxToInt(currentStyle.paddingLeft) - _aspxPxToInt(currentStyle.paddingRight) - _aspxPxToInt(currentStyle.borderLeftWidth) - _aspxPxToInt(currentStyle.borderRightWidth); } function _aspxGetClearClientHeight(element) { var currentStyle = _aspxGetCurrentStyle(element); return element.offsetHeight - _aspxPxToInt(currentStyle.paddingTop) - _aspxPxToInt(currentStyle.paddingBottom) - _aspxPxToInt(currentStyle.borderTopWidth) - _aspxPxToInt(currentStyle.borderBottomWidth); } function _aspxSetOffsetWidth(element, widthValue) { var currentStyle = _aspxGetCurrentStyle(element); var value = widthValue - _aspxPxToInt(currentStyle.marginLeft) - _aspxPxToInt(currentStyle.marginRight); if(__aspxIE) value -= _aspxPxToInt(currentStyle.paddingLeft) + _aspxPxToInt(currentStyle.paddingRight) + _aspxPxToInt(currentStyle.borderLeftWidth) + _aspxPxToInt(currentStyle.borderRightWidth); // B90988 if(value > -1) element.style.width = value + "px"; } function _aspxSetOffsetHeight(element, heightValue) { var currentStyle = _aspxGetCurrentStyle(element); var value = heightValue - _aspxPxToInt(currentStyle.marginTop) - _aspxPxToInt(currentStyle.marginBottom); if(__aspxIE) value -= _aspxPxToInt(currentStyle.paddingTop) + _aspxPxToInt(currentStyle.paddingBottom) + _aspxPxToInt(currentStyle.borderTopWidth) + _aspxPxToInt(currentStyle.borderBottomWidth); // B90988 if(value > -1) element.style.height = value + "px"; } function _aspxFindOffsetParent(element) { if (__aspxIE) return element.offsetParent; var currentElement = element.parentNode; while(_aspxIsExistsElement(currentElement) && currentElement.tagName.toUpperCase() != "BODY") { if (currentElement.offsetWidth > 0 && currentElement.offsetHeight > 0) return currentElement; currentElement = currentElement.parentNode; } return document.body; } function _aspxGetDocumentScrollTop(){ if(__aspxSafari || __aspxIE55 || document.documentElement.scrollTop == 0) return document.body.scrollTop; return document.documentElement.scrollTop; } function _aspxGetDocumentScrollLeft(){ if(__aspxSafari || __aspxIE55 || document.documentElement.scrollLeft == 0) return document.body.scrollLeft; return document.documentElement.scrollLeft; } function _aspxGetDocumentClientWidth(){ if(__aspxSafari || __aspxIE55 || document.documentElement.clientWidth == 0) return document.body.clientWidth; return document.documentElement.clientWidth; } function _aspxGetDocumentClientHeight(){ if (__aspxSafari) return window.innerHeight; if(__aspxIE55 || __aspxOpera || document.documentElement.clientHeight == 0) return document.body.clientHeight; return document.documentElement.clientHeight; } function _aspxGetClientLeft(element){ return _aspxIsExists(element.clientLeft) ? element.clientLeft : (element.offsetWidth - element.clientWidth) / 2; } function _aspxGetClientTop(element){ return _aspxIsExists(element.clientTop) ? element.clientTop : (element.offsetHeight - element.clientHeight) / 2; } function _aspxRemoveBorders(element) { if(!_aspxIsExists(element)) return; element.style.borderWidth = 0; for(var i = 0; i < element.childNodes.length; i++) { var child = element.childNodes[i]; if(_aspxIsExists(child.style)) { child.style.border = "0"; } } } function _aspxSetBackground(element, background) { if(!_aspxIsExists(element)) return; element.style.backgroundColor = background; for(var i = 0; i < element.childNodes.length; i++) { var child = element.childNodes[i]; if(_aspxIsExists(child.style)) { child.style.backgroundColor = background; } } } function _aspxSetFocus(element) { try { element.focus(); if(__aspxIE && document.activeElement != element){ element.focus(); // fix for IE bug } } catch (e) { } } function _aspxIsFocusableCore(element, skipContainerVisibilityCheck) { var current = element; while(_aspxIsExists(current)) { if (current == element || !skipContainerVisibilityCheck(current)) { if (current.tagName.toLowerCase() == "body") return true; if (current.disabled || !_aspxGetElementDisplay(current) || !_aspxGetElementVisibility(current)) return false; } current = current.parentNode; } return true; } function _aspxIsFocusable(element) { return _aspxIsFocusableCore(element, function(o) { return false; }); } function _aspxAttachEventToElement(element, eventName, func) { if(__aspxNS || __aspxSafari) element.addEventListener(eventName, func, true); else { if(eventName.toLowerCase().indexOf("on") != 0) eventName = "on"+eventName; element.attachEvent(eventName, func); } } function _aspxDetachEventFromElement(element, eventName, func) { if(__aspxNS || __aspxSafari) element.removeEventListener(eventName, func, true); else { if(eventName.toLowerCase().indexOf("on") != 0) eventName = "on"+eventName; element.detachEvent(eventName, func); } } function _aspxAttachEventToDocument(eventName, func) { _aspxAttachEventToElement(document, eventName, func); } function _aspxDetachEventFromDocument(eventName, func) { _aspxAttachEventToElement(document, eventName, func); } function _aspxCreateEventHandlerFunction(funcName, controlName, withHtmlEventArg) { return withHtmlEventArg ? new Function("event", funcName + "('" + controlName + "', event);") : new Function(funcName + "('" + controlName + "');"); } function _aspxCreateClass(parentClass, properties) { var ret = function() { if (ret.preparing) return delete(ret.preparing); if (ret.constr) { this.constructor = ret; ret.constr.apply(this, arguments); } } ret.prototype = {}; if(_aspxIsExists(parentClass)) { parentClass.preparing = true; ret.prototype = new parentClass; ret.prototype.constructor = parentClass; ret.constr = parentClass; } if(_aspxIsExists(properties)) { var constructorName = "constructor"; for(var name in properties){ if (name != constructorName) ret.prototype[name] = properties[name]; } if (properties[constructorName] && properties[constructorName] != Object) ret.constr = properties[constructorName]; } return ret; } // Attributes function _aspxGetAttribute(obj, attrName){ if(_aspxIsExists(obj.getAttribute)) return obj.getAttribute(attrName); else if(_aspxIsExists(obj.getPropertyValue)) return obj.getPropertyValue(attrName); return null; } function _aspxSetAttribute(obj, attrName, value){ if(_aspxIsExists(obj.setAttribute)) obj.setAttribute(attrName, value); else if(_aspxIsExists(obj.setProperty)) obj.setProperty(attrName, value, ""); } function _aspxRemoveAttribute(obj, attrName){ if(_aspxIsExists(obj.removeAttribute)) obj.removeAttribute(attrName); else if(_aspxIsExists(obj.removeProperty)) obj.removeProperty(attrName); } function _aspxIsExistsAttribute(obj, attrName){ var value = _aspxGetAttribute(obj, attrName); return (value != null) && (value != ""); } function _aspxSetOrRemoveAttribute(obj, attrName, value) { if (!value) _aspxRemoveAttribute(obj, attrName); else _aspxSetAttribute(obj, attrName, value); } function _aspxChangeAttributeExtended(obj, attrName, savedObj, savedAttrName, newValue){ if(!_aspxIsExistsAttribute(savedObj, savedAttrName)){ var oldValue = _aspxIsExistsAttribute(obj, attrName) ? _aspxGetAttribute(obj, attrName) : __aspxEmptyAttributeValue; _aspxSetAttribute(savedObj, savedAttrName, oldValue); } _aspxSetAttribute(obj, attrName, newValue); } function _aspxChangeAttribute(obj, attrName, newValue){ _aspxChangeAttributeExtended(obj, attrName, obj, "saved" + attrName, newValue); } function _aspxChangeStyleAttribute(obj, attrName, newValue){ _aspxChangeAttributeExtended(obj.style, attrName, obj, "saved" + attrName, newValue); } function _aspxResetAttributeExtended(obj, attrName, savedObj, savedAttrName){ if(!_aspxIsExistsAttribute(savedObj, savedAttrName)){ var oldValue = _aspxIsExistsAttribute(obj, attrName) ? _aspxGetAttribute(obj, attrName) : __aspxEmptyAttributeValue; _aspxSetAttribute(savedObj, savedAttrName, oldValue); } _aspxSetAttribute(obj, attrName, ""); _aspxRemoveAttribute(obj, attrName); } function _aspxResetAttribute(obj, attrName){ _aspxResetAttributeExtended(obj, attrName, obj, "saved" + attrName); } function _aspxResetStyleAttribute(obj, attrName){ _aspxResetAttributeExtended(obj.style, attrName, obj, "saved" + attrName); } function _aspxRestoreAttributeExtended(obj, attrName, savedObj, savedAttrName){ if(_aspxIsExistsAttribute(savedObj, savedAttrName)){ var oldValue = _aspxGetAttribute(savedObj, savedAttrName); if(oldValue != __aspxEmptyAttributeValue) _aspxSetAttribute(obj, attrName, oldValue); else _aspxRemoveAttribute(obj, attrName); _aspxRemoveAttribute(savedObj, savedAttrName); } } function _aspxRestoreAttribute(obj, attrName){ _aspxRestoreAttributeExtended(obj, attrName, obj, "saved" + attrName); } function _aspxRestoreStyleAttribute(obj, attrName){ _aspxRestoreAttributeExtended(obj.style, attrName, obj, "saved" + attrName); } function _aspxRemoveAllAttributes(element, excludedAttributes) { var excludedAttributesHashTable = {}; if (_aspxIsExists(excludedAttributes)) excludedAttributesHashTable = _aspxCreateHashTableFromArray(excludedAttributes); if (_aspxIsExists(element.attributes)) { var attrArray = element.attributes; for (var i = 0; i < attrArray.length; i++) { var attrName = attrArray[i].name; if (!_aspxIsExists(excludedAttributesHashTable[attrName.toLowerCase()])) attrArray.removeNamedItem(attrName); } } } function _aspxRemoveStyleAttribute(element, attrName) { if (_aspxIsExists(element.style)) { if(_aspxIsExists(element.style.removeAttribute)) element.style.removeAttribute(attrName); else if(_aspxIsExists(element.style.removeProperty)) element.style.removeProperty(attrName); } } function _aspxRemoveAllStyles(element) { if (_aspxIsExists(element.style)) { for(var key in element.style) _aspxRemoveAttribute(element.style, key); _aspxRemoveAttribute(element, "style"); } } function _aspxChangeAttributesMethod(enabled){ return enabled ? _aspxRestoreAttribute : _aspxResetAttribute; } function _aspxInitiallyChangeAttributesMethod(enabled){ return enabled ? _aspxChangeAttribute : _aspxResetAttribute; } function _aspxChangeStyleAttributesMethod(enabled){ return enabled ? _aspxRestoreStyleAttribute : _aspxResetStyleAttribute; } function _aspxInitiallyChangeStyleAttributesMethod(enabled){ return enabled ? _aspxChangeStyleAttribute : _aspxResetStyleAttribute; } function _aspxChangeEventsMethod(enabled){ return enabled ? _aspxAttachEventToElement : _aspxDetachEventFromElement; } function _aspxChangeDocumentEventsMethod(enabled){ return enabled ? _aspxAttachEventToDocument : _aspxDetachEventFromDocument; } // String Utils function _aspxLTrim(str) { var re = /\s*((\S+\s*)*)/; return str.replace(re, "$1"); } function _aspxRTrim(str) { var re = /((\s*\S+)*)\s*/; return str.replace(re, "$1"); } function _aspxTrim(str) { return _aspxLTrim(_aspxRTrim(str)); } function _aspxInsert(str, subStr, index) { var leftText = str.slice(0, index); var rightText = str.slice(index); return leftText + subStr + rightText; } function _aspxInsertEx(str, subStr, startIndex, endIndex) { var leftText = str.slice(0, startIndex); var rightText = str.slice(endIndex); return leftText + subStr + rightText; } //Url utils function _aspxNavigateUrl(url, target) { var javascriptPrefix = "javascript:"; if(url == "") return; else if(url.indexOf(javascriptPrefix) != -1) eval(url.substr(javascriptPrefix.length)); else { if(target != "") { if(_aspxIsSpecialTarget(target)) _aspxNavigateSpecialTarget(url, target); else { var frame = _aspxGetFrame(top.frames, target); if(frame != null) frame.location.href = url; else _aspxNavigateSpecialTarget(url, "_blank"); } } else location.href = url; } } function _aspxIsSpecialTarget(target) { var targets = ["_blank", "_media", "_parent", "_search", "_self", "_top"]; return _aspxArrayIndexOf(targets, target.toLowerCase()) > -1; } function _aspxNavigateSpecialTarget(url, target) { target = target.toLowerCase(); if("_top" == target) top.location.href = url; else if("_self" == target) location.href = url; else if("_search" == target) window.open(url, 'blank'); else if("_media" == target) window.open(url, 'blank'); else if("_parent" == target) window.parent.location.href = url; else if("_blank" == target) window.open(url, 'blank'); } function _aspxGetFrame(frames, name) { if(_aspxIsExists(frames[name])) return frames[name]; for(var i = 0; i < frames.length; i++) { try { var frame = frames[i]; if(frame.name == name) return frame; frame = _aspxGetFrame(frame.frames, name); if(frame != null) return frame; } catch(e) { } } return null; } // Color utils function _aspxToHex(d) { return (d < 16) ? ("0" + d.toString(16)) : d.toString(16); } function _aspxColorToHexadecimal(colorValue) { if (typeof(colorValue) == "number") { var r = colorValue & 0xFF; var g = (colorValue >> 8) & 0xFF; var b = (colorValue >> 16) & 0xFF; return "#" + _aspxToHex(r) + _aspxToHex(g) + _aspxToHex(b); } if (colorValue && (colorValue.substr(0, 3) == "rgb")) { // in rgb(...) form -- Mozilla var re = /rgb\s*\(\s*([0-9]+)\s*,\s*([0-9]+)\s*,\s*([0-9]+)\s*\)/; var regResult = colorValue.match(re); if (regResult) { var r = parseInt(regResult[1]); var g = parseInt(regResult[2]); var b = parseInt(regResult[3]); return "#" + _aspxToHex(r) + _aspxToHex(g) + _aspxToHex(b); } return null; } if (colorValue && (colorValue.charAt(0) == "#")) return colorValue; return null; } // Callbacks function _aspxFormatCallbackArg(prefix, arg) { // [Victor] TODO: remove this logics (only simple data types are expected) if(prefix == null || prefix == "" || arg == null) return ""; if(arg != null && !_aspxIsExists(arg.length) && _aspxIsExists(arg.value)) arg = arg.value; arg = arg.toString(); return prefix + "|" + arg.length + '|' + arg; } function _aspxFormatCallbackArgs(callbackData) { var sb = new ASPxStringBuilder(); for(var i = 0; i < callbackData.length; i++) sb.Append(_aspxFormatCallbackArg(callbackData[i][0], callbackData[i][1])); return sb.ToString(); } function _aspxIsValidElement(element){ if(__aspxIE) return _aspxIsExists(element.parentNode) && _aspxIsExists(element.parentNode.tagName); else{ if(!__aspxOpera && element.offsetParent != null) return true; while(element != null){ if(_aspxIsExists(element.tagName) && element.tagName == "BODY") return true; element = element.parentNode; } return false; } } function _aspxIsValidElements(elements){ if (!_aspxIsExists(elements)) return false; for(var i = 0; i < elements.length; i ++){ if(_aspxIsExists(elements[i]) && !_aspxIsValidElement(elements[i])) return false; } return true; } function _aspxIsExistsElement(element){ return _aspxIsExists(element) && _aspxIsValidElement(element); } ASPxClientEvent = _aspxCreateClass(null, { constructor: function(){ this.handlerList = []; }, AddHandler: function (handler) { _aspxArrayPush(this.handlerList, handler); }, RemoveHandler: function (handler) { _aspxArrayRemove(this.handlerList, handler); }, ClearHandlers: function () { _aspxArrayClear(this.handlerList); }, FireEvent: function (obj, args) { for(var i = 0; i < this.handlerList.length; i ++) this.handlerList[i](obj, args); }, IsEmpty: function () { return (this.handlerList.length == 0); } }); ASPxClientEventArgs = _aspxCreateClass(null, { constructor: function(){ } }); ASPxClientProcessingModeEventArgs = _aspxCreateClass(ASPxClientEventArgs, { constructor: function(processOnServer){ this.constructor.prototype.constructor.call(this); this.processOnServer = processOnServer; } }); ASPxClientCancelEventArgs = _aspxCreateClass(ASPxClientProcessingModeEventArgs, { constructor: function(processOnServer){ this.constructor.prototype.constructor.call(this, processOnServer); this.cancel = false; } }); ASPxClientBeginCallbackEventArgs = _aspxCreateClass(ASPxClientEventArgs, { constructor: function(command){ this.constructor.prototype.constructor.call(); this.command = command; } }); ASPxClientEndCallbackEventArgs = _aspxCreateClass(ASPxClientEventArgs, { constructor: function(){ this.constructor.prototype.constructor.call(); } }); ASPxClientCallbackErrorEventArgs = _aspxCreateClass(ASPxClientEventArgs, { constructor: function(message){ this.constructor.prototype.constructor.call(); this.message = message; this.handled = false; } }); ASPxClientControlCollection = _aspxCreateClass(null, { constructor: function(){ this.elements = new Object(); this.BeforeInitCallback = new ASPxClientEvent(); this.ControlsInitialized = new ASPxClientEvent(); }, Add: function(element){ this.elements[element.name] = element; }, Get: function(name){ return this.elements[name]; }, // controls group operations AdjustControls: function(container, checkSizeCorrectedFlag) { this.ProcessControlsInConatiner(container, checkSizeCorrectedFlag, function(control, check) { control.AdjustControl(check); }); }, CollapseControls: function(container, checkSizeCorrectedFlag) { this.ProcessControlsInConatiner(container, checkSizeCorrectedFlag, function(control, check) { control.CollapseControl(check); }); }, AtlasInitialize: function(){ _aspxProcessScripts(""); _aspxSweepDuplicatedLinks(); _aspxMoveLinkElements(); __aspxCachedRules = { }; }, Initialize: function(){ this.InitializeElements(); if(_aspxIsExistsType(typeof(Sys)) && _aspxIsExistsType(typeof(Sys.Application))) Sys.Application.add_load(aspxCAInit); }, InitializeElements: function(){ for(var name in this.elements) { var control = this.elements[name]; if(!ASPxIdent.IsASPxClientControl(control)) continue; if (!control.isInitialized) control.Initialize(); } this.AfterInitializeElements(true); this.AfterInitializeElements(false); this.RaiseControlsInitialized(); }, AfterInitializeElements: function(leadingCall) { for(var name in this.elements){ var control = this.elements[name]; if(!ASPxIdent.IsASPxClientControl(control)) continue; if (control.leadingAfterInitCall && leadingCall || !control.leadingAfterInitCall && !leadingCall) { if(!this.elements[name].isInitialized) this.elements[name].AfterInitialize(); } } }, DoFinalizeCallback: function() { for(var name in this.elements){ var control = this.elements[name]; if(!ASPxIdent.IsASPxClientControl(control)) continue; control.DoFinalizeCallback(); } }, ProcessControlsInConatiner: function(container, checkSizeCorrectedFlag, processingProc) { for (var controlName in this.elements) { var control = this.elements[controlName]; if(!ASPxIdent.IsASPxClientControl(control)) continue; if (_aspxIsExists(container) && _aspxIsExists(control.GetMainElement)) { var mainElement = control.GetMainElement(); if (_aspxIsExists(mainElement) && !_aspxGetIsParent(container, mainElement)) continue; } processingProc(control, checkSizeCorrectedFlag); } }, RaiseControlsInitialized: function(){ if(!this.ControlsInitialized.IsEmpty()){ var args = new ASPxClientEventArgs(); this.ControlsInitialized.FireEvent(this, args); } }, Before_WebForm_InitCallback: function(){ var args = new ASPxClientEventArgs(); this.BeforeInitCallback.FireEvent(this, args); } }); ASPxClientControl = _aspxCreateClass(null, { constructor: function(name){ this.isASPxClientControl = true; this.name = name; this.uniqueID = name; this.enabled = true; this.clientEnabled = true; this.clientVisible = true; this.autoPostBack = false; this.allowMultipleCallbacks = true; this.callBack = null; this.savedCallbacks = null; this.isNative = false; this.requestCount = 0; this.isInitialized = false; this.initialFocused = false; this.leadingAfterInitCall = false; // AfterInitialize call will be displaced to the begining of call queue this.sizeCorrectedOnce = false; this.serverEvents = []; this.dialogContentHashTable = { }; this.sizeCorrectedOnce = false; this.loadingPanelElement = null; this.loadingDivElement = null; this.mainElement = null; this.renderIFrameForPopupElements = false; this.Init = new ASPxClientEvent(); this.BeginCallback = new ASPxClientEvent(); this.EndCallback = new ASPxClientEvent(); this.CallbackError = new ASPxClientEvent(); aspxGetControlCollection().Add(this); }, Initialize: function(){ if(this.callBack != null) this.InitializeCallBackData(); }, InlineInitialize: function(){ }, InitailizeFocus: function(){ if(this.initialFocused && this.IsVisible()) this.Focus(); }, AfterInitialize: function(){ this.AdjustControl(__aspxCheckSizeCorrectedFlag); this.InitailizeFocus(); this.isInitialized = true; this.RaiseInit(); if(_aspxIsExists(this.savedCallbacks)) { for(var i = 0; i < this.savedCallbacks.length; i++) this.CreateCallbackInternal(this.savedCallbacks[i][0], this.savedCallbacks[i][1], false); this.savedCallbacks = null; } }, InitializeCallBackData: function(){ }, // Size correction CollapseControl: function(checkSizeCorrectedFlag) { }, IsVisibleWhenCorrectingSize: function() { return this.IsVisible(); }, AdjustControl: function(checkSizeCorrectedFlag) { if (checkSizeCorrectedFlag && this.sizeCorrectedOnce) return; var mainElement = this.GetMainElement(); if (!_aspxIsExists(mainElement) || !this.IsVisibleWhenCorrectingSize()) return; this.AdjustControlCore(); this.sizeCorrectedOnce = true; }, AdjustControlCore: function() { }, RegisterServerEventAssigned: function(eventNames){ for(var i = 0; i < eventNames.length; i++) this.serverEvents[eventNames[i]] = true; }, IsServerEventAssigned: function(eventName){ return _aspxIsExists(this.serverEvents[eventName]); }, GetChild: function(idPostfix){ var mainElement = this.GetMainElement(); return _aspxIsExists(mainElement) ? _aspxGetChildById(this.GetMainElement(), this.name + idPostfix) : null; }, GetItemElementName: function(element) { var name = ""; if (_aspxIsExists(element.id)) name = element.id.substring(this.name.length + 1); return name; }, GetLinkElement: function(element) { if (element == null) return null; return (element.tagName == "A") ? element : _aspxGetChildByTagName(element, "A", 0); }, GetMainElement: function(){ if(!_aspxIsExistsElement(this.mainElement)) this.mainElement = _aspxGetElementById(this.name); return this.mainElement; }, IsRightToLeft: function() { return _aspxIsElementRigthToLeft(this.GetMainElement()); }, OnControlClick: function(clickedElement, htmlEvent) { }, // CallBack GetLoadingPanelElement: function(){ return _aspxGetElementById(this.name + "_LP"); }, CreateLoadingPanelClone: function(element, parentElement){ var cloneElement = element.cloneNode(true); cloneElement.id = element.id + "V"; parentElement.appendChild(cloneElement); return cloneElement; }, CreateLoadingPanelInsideContainer: function(parentElement){ if(parentElement == null) return null; var element = this.GetLoadingPanelElement(); if (element != null){ var width = 0; var height = 0; var itemsTable = _aspxGetChildByTagName(parentElement, "TABLE", 0); if(itemsTable != null){ width = itemsTable.offsetWidth; height = itemsTable.offsetHeight; } else if(parentElement.childNodes.length == 0){ var dummyDiv = document.createElement("DIV"); parentElement.appendChild(dummyDiv); width = dummyDiv.offsetWidth; } else{ width = parentElement.clientWidth; height = parentElement.clientHeight; } parentElement.innerHTML = ""; var table = document.createElement("TABLE"); parentElement.appendChild(table); table.border = 0; table.cellPadding = 0; table.cellSpacing = 0; table.style.height = (height > 0) ? height + "px" : "100%"; table.style.width = (width > 0) ? width + "px" : "100%"; var tbody = document.createElement("TBODY"); table.appendChild(tbody); var tr = document.createElement("TR"); tbody.appendChild(tr); var td = document.createElement("TD"); tr.appendChild(td); td.align = "center"; td.vAlign = "middle"; element = this.CreateLoadingPanelClone(element, td); _aspxSetElementDisplay(element, true); this.loadingPanelElement = element; return element; } else parentElement.innerHTML = " "; return null; }, CreateLoadingPanelWithAbsolutePosition: function(parentElement, offsetElement){ if(parentElement == null) return null; if(!_aspxIsExists(offsetElement)) offsetElement = parentElement; var element = this.GetLoadingPanelElement(); if(element != null){ element = this.CreateLoadingPanelClone(element, parentElement); element.style.position = "absolute"; _aspxSetElementDisplay(element, true); this.SetLoadingPanelLocation(offsetElement, element); this.loadingPanelElement = element; return element; } return null; }, CreateLoadingPanelInline: function(parentElement){ if(parentElement == null) return null; var element = this.GetLoadingPanelElement(); if(element != null){ element = this.CreateLoadingPanelClone(element, parentElement); _aspxSetElementDisplay(element, true); this.loadingPanelElement = element; return element; } return null; }, HideLoadingPanel: function() { if(_aspxIsExistsElement(this.loadingPanelElement)){ _aspxRemoveElement(this.loadingPanelElement); this.loadingPanelElement = null; } }, SetLoadingPanelLocation: function(element, loadingPanel) { var x1 = _aspxGetAbsoluteX(element) - _aspxGetIEDocumentClientOffset(true); var y1 = _aspxGetAbsoluteY(element) - _aspxGetIEDocumentClientOffset(false); var x2 = x1 + element.offsetWidth; var y2 = y1 + element.offsetHeight; if(x1 < _aspxGetDocumentScrollLeft()) x1 = _aspxGetDocumentScrollLeft(); if(y1 < _aspxGetDocumentScrollTop()) y1 = _aspxGetDocumentScrollTop(); if(x2 > _aspxGetDocumentScrollLeft() + _aspxGetDocumentClientWidth()) x2 = _aspxGetDocumentScrollLeft() + _aspxGetDocumentClientWidth(); if(y2 > _aspxGetDocumentScrollTop() + _aspxGetDocumentClientHeight()) y2 = _aspxGetDocumentScrollTop() + _aspxGetDocumentClientHeight(); var x = x1 + ((x2 - x1 - loadingPanel.offsetWidth) / 2); var y = y1 + ((y2 - y1 - loadingPanel.offsetHeight) / 2); loadingPanel.style.left = _aspxPrepareClientPosForElement(x, loadingPanel, true) + "px"; loadingPanel.style.top = _aspxPrepareClientPosForElement(y, loadingPanel, false) + "px"; }, GetLoadingDiv: function(){ return _aspxGetElementById(this.name + "_LD"); }, CreateLoadingDiv: function(parentElement, offsetElement){ if(parentElement == null) return null; if(!_aspxIsExists(offsetElement)) offsetElement = parentElement; var div = this.GetLoadingDiv(); if(div != null){ div = div.cloneNode(true); parentElement.appendChild(div); div.style.position = "absolute"; var absX = _aspxGetAbsoluteX(offsetElement); var absY = _aspxGetAbsoluteY(offsetElement); _aspxSetElementDisplay(div, true); div.style.left = _aspxPrepareClientPosForElement(absX, div, true) + "px"; div.style.top = _aspxPrepareClientPosForElement(absY, div, false) + "px"; div.style.width = offsetElement.offsetWidth + "px"; div.style.height = offsetElement.offsetHeight + "px"; this.loadingDivElement = div; return div; } return null; }, HideLoadingDiv: function() { if(_aspxIsExistsElement(this.loadingDivElement)){ _aspxRemoveElement(this.loadingDivElement); this.loadingDivElement = null; } }, RaiseInit: function(){ if(!this.Init.IsEmpty()){ var args = new ASPxClientEventArgs(); this.Init.FireEvent(this, args); } }, RaiseBeginCallback: function(command){ if(!this.BeginCallback.IsEmpty()){ var args = new ASPxClientBeginCallbackEventArgs(command); this.BeginCallback.FireEvent(this, args); } }, RaiseEndCallback: function(){ if(!this.EndCallback.IsEmpty()){ var args = new ASPxClientEndCallbackEventArgs(); this.EndCallback.FireEvent(this, args); } }, RaiseCallbackError: function(message){ if(!this.CallbackError.IsEmpty()){ var args = new ASPxClientCallbackErrorEventArgs(message); this.CallbackError.FireEvent(this, args); return args.handled; } return false; }, // visibility & display check IsVisible: function() { var element = this.GetMainElement(); while(_aspxIsExists(element) && element.tagName != "BODY") { if (!_aspxGetElementVisibility(element) || !_aspxGetElementDisplay(element)) return false; element = element.parentNode; } return true; }, // display check IsDisplayed: function(){ var element = this.GetMainElement(); while(_aspxIsExists(element) && element.tagName != "BODY") { if(!_aspxGetElementDisplay(element)) return false; element = element.parentNode; } return true; }, Focus: function(){ }, GetClientVisible: function(){ return this.GetVisible(); }, SetClientVisible: function(visible){ this.SetVisible(visible); }, GetVisible: function(){ return this.clientVisible; }, SetVisible: function(visible){ if(this.clientVisible != visible){ this.clientVisible = visible; _aspxSetElementDisplay(this.GetMainElement(), visible); if (visible) { this.AdjustControl(__aspxCheckSizeCorrectedFlag); var mainElement = this.GetMainElement(); if (_aspxIsExists(mainElement)) aspxGetControlCollection().AdjustControls(mainElement, __aspxCheckSizeCorrectedFlag); } } }, InCallback: function() { return this.requestCount > 0; }, DoBeginCallback: function(command) { if(!_aspxIsExists(command)) command = ""; this.RaiseBeginCallback(command); aspxGetControlCollection().Before_WebForm_InitCallback(); if(_aspxIsExistsType(typeof(WebForm_InitCallback)) && _aspxIsExists(WebForm_InitCallback)) { __theFormPostData = ""; __theFormPostCollection = new Array(); this.ClearPostBackEventInput("__EVENTTARGET"); this.ClearPostBackEventInput("__EVENTARGUMENT"); WebForm_InitCallback(); this.savedFormPostData = __theFormPostData; this.savedFormPostCollection = __theFormPostCollection; } }, ClearPostBackEventInput: function(id){ var element = _aspxGetElementById(id); if(element != null) element.value = ""; }, CreateCallback: function(arg, command) { if(!this.isInitialized) { if(!_aspxIsExists(this.savedCallbacks)) this.savedCallbacks = []; this.savedCallbacks.push([arg, command]); } else this.CreateCallbackInternal(arg, command, true); }, CreateCallbackInternal: function(arg, command, viaTimer) { if(!this.CanCreateCallback()) return; this.requestCount++; this.DoBeginCallback(command); if(viaTimer) window.setTimeout("aspxCreateCallback('" + this.name + "', '" + escape(arg) + "', '" + escape(command) + "');", 0); else this.CreateCallbackCore(arg, command); }, CreateCallbackCore: function(arg, command) { __theFormPostData = this.savedFormPostData; __theFormPostCollection = this.savedFormPostCollection; this.callBack(arg); }, CanCreateCallback: function() { return this.allowMultipleCallbacks || !this.InCallback(); }, DoLoadCallbackScripts: function(){ _aspxProcessScripts(this.name); _aspxSweepDuplicatedLinks(); _aspxMoveLinkElements(); __aspxCachedRules = { }; }, DoEndCallback: function(){ this.RaiseEndCallback(); }, DoFinalizeCallback: function() { }, HideLoadingPanelOnCallback: function() { return true; }, DoCallback: function(result){ this.requestCount--; if(this.HideLoadingPanelOnCallback()) { this.HideLoadingDiv(); this.HideLoadingPanel(); } if(result.indexOf(__aspxCallbackResultPrefix) != 0) this.ProcessCallbackGeneralError(result); else { try { var resultObj = eval(result); if(_aspxIsExists(resultObj.redirect)) window.location.href = resultObj.redirect; else if(_aspxIsExists(resultObj.generalError)) this.ProcessCallbackGeneralError(resultObj.generalError); else { var errorObj = resultObj.error; if(_aspxIsExists(errorObj)) this.ProcessCallbackError(errorObj); else { if(resultObj.cp) { for(var name in resultObj.cp) this[name] = resultObj.cp[name]; } this.ProcessCallback(resultObj.result); } this.DoLoadCallbackScripts(); } } catch(e) { this.ProcessCallbackGeneralError(e.message); } } }, DoCallbackError: function(result){ this.HideLoadingDiv(); this.HideLoadingPanel(); this.OnCallbackGeneralError(result); }, DoControlClick: function(evt){ this.OnControlClick(_aspxGetEventSource(evt), evt); }, ProcessCallback: function(result){ this.OnCallback(result); }, OnCallback: function(result){ }, ProcessCallbackError: function(errorObj){ var message = errorObj.message; var data = _aspxIsExists(errorObj.data) ? errorObj.data : null; var result = this.RaiseCallbackError(message) ? "" : message; this.OnCallbackError(result, data); }, OnCallbackError: function(result, data){ if(result != "") alert(result); }, ProcessCallbackGeneralError: function(errorMessage){ var result = this.RaiseCallbackError(errorMessage) ? "" : errorMessage; this.OnCallbackGeneralError(result); }, OnCallbackGeneralError: function(result){ this.OnCallbackError(result, null); }, SendPostBack: function(params){ __doPostBack(this.uniqueID, params); } }); // Identification ASPxIdent = {}; ASPxIdent.IsDate = function(obj) { return _aspxIsFunction(obj.getTimezoneOffset) && _aspxIsFunction(obj.getUTCFullYear); }; ASPxIdent.IsASPxClientControl = function(obj) { return _aspxIsExists(obj.isASPxClientControl) && obj.isASPxClientControl; }; ASPxIdent.IsASPxClientEdit = function(obj) { return _aspxIsExists(obj.isASPxClientEdit) && obj.isASPxClientEdit; }; ASPxClientControl.GetControlCollection = function(){ return aspxGetControlCollection(); } var __aspxControlCollection = null; function aspxGetControlCollection(){ if(__aspxControlCollection == null) __aspxControlCollection = new ASPxClientControlCollection(); return __aspxControlCollection; } function aspxCAInit(){ aspxGetControlCollection().AtlasInitialize(); } function aspxCreateCallback(name, arg, command){ var control = aspxGetControlCollection().Get(name); if(control != null) control.CreateCallbackCore(unescape(arg), unescape(command)); } function aspxCallback(result, context){ aspxGetControlCollection().DoFinalizeCallback(); var control = aspxGetControlCollection().Get(context); if(control != null) control.DoCallback(result); } function aspxCallbackError(result, context){ var control = aspxGetControlCollection().Get(context); if(control != null) control.DoCallbackError(result, false); } function aspxCClick(name, evt) { var control = aspxGetControlCollection().Get(name); if(control != null) control.DoControlClick(evt); } //StateController var __aspxStateItemsExist = false; var __aspxHoverStyleSheet = null; var __aspxPressedStyleSheet = null; var __aspxSelectedStyleSheet = null; var __aspxDisabledStyleSheet = null; var __aspxHoverItemKind = "HoverStateItem"; var __aspxPressedItemKind = "PressedStateItem"; var __aspxSelectedItemKind = "SelectedStateItem"; var __aspxDisabledItemKind = "DisabledStateItem"; var __aspxStyleCount = 0; var __aspxStyleNameCache = new Object(); ASPxStateItem = _aspxCreateClass(null, { constructor: function(name, className, cssText, postfixes, imageUrls, imagePostfixes, kind){ this.name = name; this.className = className; this.customClassName = ""; this.resultClassName = ""; this.cssText = cssText; this.postfixes = postfixes; this.imageUrls = imageUrls; this.imagePostfixes = imagePostfixes; this.kind = kind; this.enabled = true; this.elements = null; this.images = null; this.linkColor = null; this.lintTextDecoration = null; }, CreateStyleRule: function(){ if(this.cssText == "") return ""; var styleSheet = this.GetStyleSheet(); if(_aspxIsExists(styleSheet)){ if(_aspxIsExists(__aspxStyleNameCache[this.cssText])) return __aspxStyleNameCache[this.cssText]; else{ var cssText = ""; var attributes = this.cssText.split(";"); for(var i = 0; i < attributes.length; i++){ if(attributes[i] != "") cssText += attributes[i] + " !important;"; } var className = "dxh" + __aspxStyleCount; _aspxAddStyleSheetRule(styleSheet, "." + className, cssText); __aspxStyleCount++; __aspxStyleNameCache[this.cssText] = className; return className; } } return ""; }, GetResultClassName: function(){ if(this.resultClassName == ""){ if(this.customClassName == "") this.customClassName = this.CreateStyleRule(); if(this.className != "" && this.customClassName != "") this.resultClassName = this.className + " " + this.customClassName; else if(this.className != "") this.resultClassName = this.className; else if(this.customClassName != "") this.resultClassName = this.customClassName; } return this.resultClassName; }, GetStyleSheet: function(){ if(!_aspxIsExists(__aspxDisabledStyleSheet)) __aspxDisabledStyleSheet = _aspxCreateStyleSheet(); if(!_aspxIsExists(__aspxSelectedStyleSheet)) __aspxSelectedStyleSheet = _aspxCreateStyleSheet(); if(!_aspxIsExists(__aspxHoverStyleSheet)) __aspxHoverStyleSheet = _aspxCreateStyleSheet(); if(!_aspxIsExists(__aspxPressedStyleSheet)) __aspxPressedStyleSheet = _aspxCreateStyleSheet(); switch(this.kind){ case __aspxDisabledItemKind: return __aspxDisabledStyleSheet; case __aspxHoverItemKind: return __aspxHoverStyleSheet; case __aspxPressedItemKind: return __aspxPressedStyleSheet; case __aspxSelectedItemKind: return __aspxSelectedStyleSheet; } return null; }, GetElements: function(element){ if(!_aspxIsExists(this.elements) || !_aspxIsValidElements(this.elements)){ if(_aspxIsExists(this.postfixes) && this.postfixes.length > 0){ this.elements = new Array(); var parentNode = element.parentNode; if(_aspxIsExists(parentNode)){ for(var i = 0; i < this.postfixes.length; i++){ var id = this.name + this.postfixes[i]; this.elements[i] = _aspxGetChildById(parentNode, id); if(!_aspxIsExists(this.elements[i])) this.elements[i] = _aspxGetElementById(id); } } } else this.elements = [element]; } return this.elements; }, GetImages: function(element){ if(!_aspxIsExists(this.images) || !_aspxIsValidElements(this.images)){ this.images = new Array(); if(_aspxIsExists(this.imagePostfixes) && this.imagePostfixes.length > 0){ var elements = this.GetElements(element); for(var i = 0; i < this.imagePostfixes.length; i++){ var id = this.name + this.imagePostfixes[i]; for(var j = 0; j < elements.length; j++){ if(!_aspxIsExists(elements[j])) continue; this.images[i] = _aspxGetChildById(elements[j], id); if(_aspxIsExists(this.images[i])) break; } } } } return this.images; }, Apply: function(element){ if(!this.enabled) return; try{ this.ApplyStyle(element); if(_aspxIsExists(this.imageUrls) && this.imageUrls.length > 0) this.ApplyImage(element); } catch(e){ // fix FF bug } }, ApplyStyle: function(element){ var elements = this.GetElements(element); for(var i = 0; i < elements.length; i++){ if(!_aspxIsExists(elements[i])) continue; var className = elements[i].className.replace(this.GetResultClassName(), ""); elements[i].className = _aspxTrim(className) + " " + this.GetResultClassName(); if(!__aspxOpera || __aspxOpera9) this.ApplyStyleToLinks(elements, i); } }, ApplyStyleToLinks: function(elements, index){ var linkCount = 0; var savedLinkCount = -1; if(_aspxIsExists(elements[index]["savedLinkCount"])) savedLinkCount = parseInt(elements[index]["savedLinkCount"]); do{ if(savedLinkCount > -1 && savedLinkCount <= linkCount) break; var link = elements[index]["link" + linkCount]; if(!_aspxIsExists(link)){ link = _aspxGetChildByTagName(elements[index], "A", linkCount); if(!_aspxIsExists(link)) link = _aspxGetChildByTagName(elements[index], "SPAN", linkCount); // see InternalHyperLink if(_aspxIsExists(link)) elements[index]["link" + linkCount] = link; } if(_aspxIsExists(link)) this.ApplyStyleToLinkElement(link); else elements[index]["savedLinkCount"] = linkCount; linkCount++; } while(link != null) }, ApplyStyleToLinkElement: function(link){ if(this.GetLinkColor() != "") _aspxChangeAttributeExtended(link.style, "color", link, "saved" + this.kind + "Color", this.GetLinkColor()); if(this.GetLinkTextDecoration() != "") _aspxChangeAttributeExtended(link.style, "textDecoration", link, "saved" + this.kind + "TextDecoration", this.GetLinkTextDecoration()); }, ApplyImage: function(element){ var images = this.GetImages(element); for(var i = 0; i < images.length; i++){ if(!_aspxIsExists(images[i]) || !_aspxIsExists(this.imageUrls[i]) || this.imageUrls[i] == "") continue; if(_aspxIsAlphaFilterUsed(images[i])) _aspxChangeAttributeExtended(images[i].style, "filter", images[i], "saved" + this.kind + "Filter", "progid:DXImageTransform.Microsoft.AlphaImageLoader(src=" + this.imageUrls[i] + ", sizingMethod=scale)"); else _aspxChangeAttributeExtended(images[i], "src", images[i], "saved" + this.kind + "Src", this.imageUrls[i]); } }, Cancel: function(element){ if(!this.enabled) return; try{ this.CancelStyle(element); if(_aspxIsExists(this.imageUrls) && this.imageUrls.length > 0) this.CancelImage(element); } catch(e){ // fix FF bug } }, CancelStyle: function(element){ var elements = this.GetElements(element); for(var i = 0; i < elements.length; i++){ if(!_aspxIsExists(elements[i])) continue; var className = _aspxTrim(elements[i].className.replace(this.GetResultClassName(), "")); elements[i].className = className; if(!__aspxOpera || __aspxOpera9) this.CancelStyleFromLinks(elements, i); } }, CancelStyleFromLinks: function(elements, index){ var linkCount = 0; var savedLinkCount = -1; if(_aspxIsExists(elements[index]["savedLinkCount"])) savedLinkCount = parseInt(elements[index]["savedLinkCount"]); do{ if(savedLinkCount > -1 && savedLinkCount <= linkCount) break; var link = elements[index]["link" + linkCount]; if(!_aspxIsExists(link)){ link = _aspxGetChildByTagName(elements[index], "A", linkCount); if(!_aspxIsExists(link)) link = _aspxGetChildByTagName(elements[index], "SPAN", linkCount); // see InternalHyperLink if(_aspxIsExists(link)) elements[index]["link" + linkCount] = link; } if(_aspxIsExists(link)) this.CancelStyleFromLinkElement(link); else elements[index]["savedLinkCount"] = linkCount; linkCount++; } while(link != null) }, CancelStyleFromLinkElement: function(link){ if(this.GetLinkColor() != "") _aspxRestoreAttributeExtended(link.style, "color", link, "saved" + this.kind + "Color"); if(this.GetLinkTextDecoration() != "") _aspxRestoreAttributeExtended(link.style, "textDecoration", link, "saved" + this.kind + "TextDecoration"); }, CancelImage: function(element){ var images = this.GetImages(element); for(var i = 0; i < images.length; i++){ if(!_aspxIsExists(images[i]) || !_aspxIsExists(this.imageUrls[i]) || this.imageUrls[i] == "") continue; if(_aspxIsAlphaFilterUsed(images[i])) _aspxRestoreAttributeExtended(images[i].style, "filter", images[i], "saved" + this.kind + "Filter"); else _aspxRestoreAttributeExtended(images[i], "src", images[i], "saved" + this.kind + "Src"); } }, Clone: function(){ return new ASPxStateItem(this.name, this.className, this.cssText, this.postfixes, this.imageUrls, this.imagePostfixes, this.kind); }, IsChildElement: function(element){ if(element != null){ var elements = this.GetElements(element); for(var i = 0; i < elements.length; i++){ if(!_aspxIsExists(elements[i])) continue; if(_aspxGetIsParent(elements[i], element)) return true; } } return false; }, GetLinkColor: function(){ if(!_aspxIsExists(this.linkColor)){ var rule = _aspxGetStyleSheetRule(this.customClassName); this.linkColor = _aspxIsExists(rule) ? rule.style.color : null; if(!_aspxIsExists(this.linkColor)){ var rule = _aspxGetStyleSheetRule(this.className); this.linkColor = _aspxIsExists(rule) ? rule.style.color : null; } if(this.linkColor == null) this.linkColor = ""; } return this.linkColor; }, GetLinkTextDecoration: function(){ if(!_aspxIsExists(this.linkTextDecoration)){ var rule = _aspxGetStyleSheetRule(this.customClassName); this.linkTextDecoration = _aspxIsExists(rule) ? rule.style.textDecoration : null; if(!_aspxIsExists(this.linkTextDecoration)){ var rule = _aspxGetStyleSheetRule(this.className); this.linkTextDecoration = _aspxIsExists(rule) ? rule.style.textDecoration : null; } if(this.linkTextDecoration == null) this.linkTextDecoration = ""; } return this.linkTextDecoration; } }); ASPxClientStateEventArgs = _aspxCreateClass(null, { constructor: function(item, element){ this.item = item; this.element = element; this.toElement = null; this.fromElement = null; } }); ASPxStateController = _aspxCreateClass(null, { constructor: function(){ this.hoverItems = new Object(); this.pressedItems = new Object(); this.selectedItems = new Object(); this.disabledItems = new Object(); this.currentHoverElement = null; this.currentHoverItemName = null; this.currentPressedElement = null; this.currentPressedItemName = null; this.savedCurrentPressedElement = null; this.savedCurrentMouseMoveSrcElement = null; this.AfterSetHoverState = new ASPxClientEvent(); this.AfterClearHoverState = new ASPxClientEvent(); this.AfterSetPressedState = new ASPxClientEvent(); this.AfterClearPressedState = new ASPxClientEvent(); this.AfterDisabled = new ASPxClientEvent(); this.AfterEnabled = new ASPxClientEvent(); this.BeforeSetHoverState = new ASPxClientEvent(); this.BeforeClearHoverState = new ASPxClientEvent(); this.BeforeSetPressedState = new ASPxClientEvent(); this.BeforeClearPressedState = new ASPxClientEvent(); this.BeforeDisabled = new ASPxClientEvent(); this.BeforeEnabled = new ASPxClientEvent(); }, AddHoverItem: function(name, className, cssText, postfixes, imageUrls, imagePostfixes){ this.AddItem(this.hoverItems, name, className, cssText, postfixes, imageUrls, imagePostfixes, __aspxHoverItemKind); }, AddPressedItem: function(name, className, cssText, postfixes, imageUrls, imagePostfixes){ this.AddItem(this.pressedItems, name, className, cssText, postfixes, imageUrls, imagePostfixes, __aspxPressedItemKind); }, AddSelectedItem: function(name, className, cssText, postfixes, imageUrls, imagePostfixes){ this.AddItem(this.selectedItems, name, className, cssText, postfixes, imageUrls, imagePostfixes, __aspxSelectedItemKind); }, AddDisabledItem: function(name, className, cssText, postfixes, imageUrls, imagePostfixes){ this.AddItem(this.disabledItems, name, className, cssText, postfixes, imageUrls, imagePostfixes, __aspxDisabledItemKind); }, AddItem: function(items, name, className, cssText, postfixes, imageUrls, imagePostfixes, kind){ var stateItem = new ASPxStateItem(name, className, cssText, postfixes, imageUrls, imagePostfixes, kind); if(_aspxIsExists(postfixes) && postfixes.length > 0){ for(var i = 0; i < postfixes.length; i ++){ items[name + postfixes[i]] = stateItem; } } else items[name] = stateItem; __aspxStateItemsExist = true; }, GetHoverElement: function(srcElement){ return this.GetItemElement(srcElement, this.hoverItems, __aspxHoverItemKind); }, GetPressedElement: function(srcElement){ return this.GetItemElement(srcElement, this.pressedItems, __aspxPressedItemKind); }, GetSelectedElement: function(srcElement){ return this.GetItemElement(srcElement, this.selectedItems, __aspxSelectedItemKind); }, GetDisabledElement: function(srcElement){ return this.GetItemElement(srcElement, this.disabledItems, __aspxDisabledItemKind); }, GetItemElement: function(srcElement, items, kind){ if(_aspxIsExists(srcElement) && _aspxIsExists(srcElement["cached" + kind])){ var cachedElement = srcElement["cached" + kind]; if(cachedElement != __aspxEmptyCachedValue) return cachedElement; return null; } var element = srcElement; while(element != null) { var item = items[element.id]; if(_aspxIsExists(item)){ this.CacheItemElement(srcElement, kind, element); element[kind] = item; return element; } element = element.parentNode; } this.CacheItemElement(srcElement, kind, __aspxEmptyCachedValue); return null; }, CacheItemElement: function(srcElement, kind, value){ if(_aspxIsExists(srcElement) && !_aspxIsExists(srcElement["cached" + kind])) srcElement["cached" + kind] = value; }, DoSetHoverState: function(element, fromElement){ var item = element[__aspxHoverItemKind]; if(_aspxIsExists(item)){ var args = new ASPxClientStateEventArgs(item, element); args.fromElement = fromElement; this.BeforeSetHoverState.FireEvent(this, args); item.Apply(element); this.AfterSetHoverState.FireEvent(this, args); } }, DoClearHoverState: function(element, toElement){ var item = element[__aspxHoverItemKind]; if(_aspxIsExists(item)){ var args = new ASPxClientStateEventArgs(item, element); args.toElement = toElement; this.BeforeClearHoverState.FireEvent(this, args); item.Cancel(element); this.AfterClearHoverState.FireEvent(this, args); } }, DoSetPressedState: function(element){ var item = element[__aspxPressedItemKind]; if(_aspxIsExists(item)){ var args = new ASPxClientStateEventArgs(item, element); this.BeforeSetPressedState.FireEvent(this, args); item.Apply(element); this.AfterSetPressedState.FireEvent(this, args); } }, DoClearPressedState: function(element){ var item = element[__aspxPressedItemKind]; if(_aspxIsExists(item)){ var args = new ASPxClientStateEventArgs(item, element); this.BeforeClearPressedState.FireEvent(this, args); item.Cancel(element); this.AfterClearPressedState.FireEvent(this, args); } }, SetCurrentHoverElement: function(element){ if(_aspxIsExists(this.currentHoverElement) && !_aspxIsValidElement(this.currentHoverElement)){ this.currentHoverElement = null; this.currentHoverItemName = ""; } if(this.currentHoverElement != element){ var oldCurrentHoverElement = this.currentHoverElement; var item = (element != null) ? element[__aspxHoverItemKind] : null; var itemName = (item != null) ? item.name : ""; if(this.currentHoverItemName != itemName){ if(this.currentHoverElement != null) this.DoClearHoverState(this.currentHoverElement, element); this.currentHoverElement = element; item = (element != null) ? element[__aspxHoverItemKind] : null; this.currentHoverItemName = (item != null) ? item.name : ""; if(this.currentHoverElement != null) this.DoSetHoverState(this.currentHoverElement, oldCurrentHoverElement); } } }, SetCurrentPressedElement: function(element){ if(_aspxIsExists(this.currentPressedElement) && !_aspxIsValidElement(this.currentPressedElement)){ this.currentPressedElement = null; this.currentPressedItemName = ""; } if(this.currentPressedElement != element){ if(this.currentPressedElement != null) this.DoClearPressedState(this.currentPressedElement); this.currentPressedElement = element; var item = (element != null) ? element[__aspxPressedItemKind] : null; this.currentPressedItemName = (item != null) ? item.name : ""; if(this.currentPressedElement != null) this.DoSetPressedState(this.currentPressedElement); } }, SetCurrentHoverElementBySrcElement: function(srcElement){ var element = this.GetHoverElement(srcElement); this.SetCurrentHoverElement(element); }, SetCurrentPressedElementBySrcElement: function(srcElement){ var element = this.GetPressedElement(srcElement); this.SetCurrentPressedElement(element); }, SelectElement: function(element){ var item = element[__aspxSelectedItemKind]; if(_aspxIsExists(item)) item.Apply(element); }, SelectElementBySrcElement: function(srcElement){ var element = this.GetSelectedElement(srcElement); if(element != null) this.SelectElement(element); }, DeselectElement: function(element){ var item = element[__aspxSelectedItemKind]; if(_aspxIsExists(item)) item.Cancel(element); }, DeselectElementBySrcElement: function(srcElement){ var element = this.GetSelectedElement(srcElement); if(element != null) this.DeselectElement(element); }, SetElementEnabled: function(element, enable){ if(enable) this.EnableElement(element); else this.DisableElement(element); }, DisableElement: function(element){ var element = this.GetDisabledElement(element); if(element != null) { var item = element[__aspxDisabledItemKind]; if(_aspxIsExists(item)){ var args = new ASPxClientStateEventArgs(item, element); this.BeforeDisabled.FireEvent(this, args); if(item.name == this.currentPressedItemName) this.SetCurrentPressedElement(null); if(item.name == this.currentHoverItemName) this.SetCurrentHoverElement(null); item.Apply(element); this.SetMouseStateItemsEnabled(item.name, item.postfixes, false); this.AfterDisabled.FireEvent(this, args); } } }, EnableElement: function(element){ var element = this.GetDisabledElement(element); if(element != null) { var item = element[__aspxDisabledItemKind]; if(_aspxIsExists(item)){ var args = new ASPxClientStateEventArgs(item, element); this.BeforeEnabled.FireEvent(this, args); item.Cancel(element); this.SetMouseStateItemsEnabled(item.name, item.postfixes, true); this.AfterEnabled.FireEvent(this, args); } } }, SetMouseStateItemsEnabled: function(name, postfixes, enabled){ if(_aspxIsExists(postfixes) && postfixes.length > 0){ for(var i = 0; i < postfixes.length; i ++){ this.SetItemsEnabled(this.hoverItems, name + postfixes[i], enabled); this.SetItemsEnabled(this.pressedItems, name + postfixes[i], enabled); } } else{ this.SetItemsEnabled(this.hoverItems, name, enabled); this.SetItemsEnabled(this.pressedItems, name, enabled); } }, SetItemsEnabled: function(items, name, enabled){ if(_aspxIsExists(items[name])) items[name].enabled = enabled; }, OnMouseMove: function(evt){ var srcElement = _aspxGetEventSource(evt); if(srcElement == this.savedCurrentMouseMoveSrcElement) return; this.savedCurrentMouseMoveSrcElement = srcElement; if(__aspxIE && !_aspxGetIsLeftButtonPressed(evt) && this.savedCurrentPressedElement != null){ this.savedCurrentPressedElement = null; this.SetCurrentPressedElement(null); } if(this.savedCurrentPressedElement == null) this.SetCurrentHoverElementBySrcElement(srcElement); else{ var element = this.GetPressedElement(srcElement); if(element != this.currentPressedElement){ if(element == this.savedCurrentPressedElement) this.SetCurrentPressedElement(this.savedCurrentPressedElement); else this.SetCurrentPressedElement(null); } } }, OnMouseDown: function(evt){ if(!_aspxGetIsLeftButtonPressed(evt)) return; var srcElement = _aspxGetEventSource(evt); this.OnMouseDownOnElement(srcElement); }, OnMouseDownOnElement: function(element){ if(this.GetPressedElement(element) == null) return; this.SetCurrentHoverElement(null); this.SetCurrentPressedElementBySrcElement(element); this.savedCurrentPressedElement = this.currentPressedElement; }, OnMouseUp: function(evt){ var srcElement = _aspxGetEventSource(evt); this.OnMouseUpOnElement(srcElement); }, OnMouseUpOnElement: function(element){ if(this.savedCurrentPressedElement == null) return; this.savedCurrentPressedElement = null; this.SetCurrentPressedElement(null); this.SetCurrentHoverElementBySrcElement(element); }, OnMouseOver: function(evt){ var element = _aspxGetEventSource(evt); if (_aspxIsExists(element) && element.tagName == "IFRAME") this.OnMouseMove(evt); }, OnSelectStart: function(evt){ if ((this.savedCurrentPressedElement != null) && (!_aspxIsExists(this.savedCurrentPressedElement.needClearSelection))) { _aspxClearSelection(); return false; } } }); var __aspxStateController = null; function aspxGetStateController(){ if(__aspxStateController == null) __aspxStateController = new ASPxStateController(); return __aspxStateController; } function aspxAddStateItems(method, namePrefix, classes){ for(var i = 0; i < classes.length; i ++){ for(var j = 0; j < classes[i][2].length; j ++) { var name = namePrefix; if(_aspxIsExists(classes[i][2][j]) && classes[i][2][j] != "") name += "_" + classes[i][2][j]; var postfixes = _aspxIsExists(classes[i][3]) ? classes[i][3] : null; var imageUrls = _aspxIsExists(classes[i][4]) && _aspxIsExists(classes[i][4][j]) ? classes[i][4][j] : null; var imagePostfixes = _aspxIsExists(classes[i][5]) ? classes[i][5] : null; method.call(aspxGetStateController(), name, classes[i][0], classes[i][1], postfixes, imageUrls, imagePostfixes); } } } function aspxAddHoverItems(namePrefix, classes){ aspxAddStateItems(aspxGetStateController().AddHoverItem, namePrefix, classes); } function aspxAddPressedItems(namePrefix, classes){ aspxAddStateItems(aspxGetStateController().AddPressedItem, namePrefix, classes); } function aspxAddSelectedItems(namePrefix, classes){ aspxAddStateItems(aspxGetStateController().AddSelectedItem, namePrefix, classes); } function aspxAddDisabledItems(namePrefix, classes){ aspxAddStateItems(aspxGetStateController().AddDisabledItem, namePrefix, classes); } function aspxAddAfterClearHoverState(handler){ aspxGetStateController().AfterClearHoverState.AddHandler(handler); } function aspxAddAfterSetHoverState(handler){ aspxGetStateController().AfterSetHoverState.AddHandler(handler); } function aspxAddAfterClearPressedState(handler){ aspxGetStateController().AfterClearPressedState.AddHandler(handler); } function aspxAddAfterSetPressedState(handler){ aspxGetStateController().AfterSetPressedState.AddHandler(handler); } function aspxAddAfterDisabled(handler){ aspxGetStateController().AfterDisabled.AddHandler(handler); } function aspxAddAfterEnabled(handler){ aspxGetStateController().AfterEnabled.AddHandler(handler); } function aspxAddBeforeClearHoverState(handler){ aspxGetStateController().BeforeClearHoverState.AddHandler(handler); } function aspxAddBeforeSetHoverState(handler){ aspxGetStateController().BeforeSetHoverState.AddHandler(handler); } function aspxAddBeforeClearPressedState(handler){ aspxGetStateController().BeforeClearPressedState.AddHandler(handler); } function aspxAddBeforeSetPressedState(handler){ aspxGetStateController().BeforeSetPressedState.AddHandler(handler); } function aspxAddBeforeDisabled(handler){ aspxGetStateController().BeforeDisabled.AddHandler(handler); } function aspxAddBeforeEnabled(handler){ aspxGetStateController().BeforeEnabled.AddHandler(handler); } _aspxAttachEventToElement(window, "load", aspxClassesWindowOnLoad); function aspxClassesWindowOnLoad(evt){ aspxGetControlCollection().Initialize(); __aspxHTMLLoaded = true; _aspxInitializeScripts(); _aspxInitializeLinks(); } _aspxAttachEventToDocument("mousemove", aspxClassesDocumentMouseMove); function aspxClassesDocumentMouseMove(evt){ if(__aspxHTMLLoaded && __aspxStateItemsExist) aspxGetStateController().OnMouseMove(evt); } _aspxAttachEventToDocument("mousedown", aspxClassesDocumentMouseDown); function aspxClassesDocumentMouseDown(evt){ if(__aspxHTMLLoaded && __aspxStateItemsExist) aspxGetStateController().OnMouseDown(evt); } _aspxAttachEventToDocument("mouseup", aspxClassesDocumentMouseUp); function aspxClassesDocumentMouseUp(evt){ if(__aspxHTMLLoaded && __aspxStateItemsExist) aspxGetStateController().OnMouseUp(evt); } _aspxAttachEventToDocument("mouseover", aspxClassesDocumentMouseOver); function aspxClassesDocumentMouseOver(evt){ if(__aspxHTMLLoaded && __aspxStateItemsExist) aspxGetStateController().OnMouseOver(evt); } _aspxAttachEventToDocument("selectstart", aspxClassesDocumentSelectStart); function aspxClassesDocumentSelectStart(evt){ if(__aspxHTMLLoaded && __aspxStateItemsExist) return aspxGetStateController().OnSelectStart(evt); } function aspxFireDefaultButton(evt, buttonID){ if (evt.keyCode == ASPxKeyConsts.KEY_ENTER){ var srcElement = _aspxGetEventSource(evt); if(!_aspxIsExists(srcElement) || (srcElement.tagName.toLowerCase() != "textarea")) { var defaultButton = _aspxGetElementById(buttonID); if (_aspxIsExists(defaultButton) && _aspxIsExists(defaultButton.click)) { if (_aspxIsFocusable(defaultButton)) defaultButton.focus(); defaultButton.click(); evt.cancelBubble = true; if (_aspxIsFunction(evt.stopPropagation)) evt.stopPropagation(); return false; } } } return true; } // Javascript manager var __aspxIncludeScriptPrefix = "dxis_"; var __aspxStartupScriptPrefix = "dxss_"; var __aspxIncludeScriptsCache = {}; var __aspxCreatedIncludeScripts; var __aspxAppendedScriptsCount; var __aspxScriptsRestartHandlers = { }; function _aspxGetScriptCode(script) { var text = __aspxSafari ? script.firstChild.data : script.text; var comment = "