You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							581 lines
						
					
					
						
							22 KiB
						
					
					
				
			
		
		
	
	
							581 lines
						
					
					
						
							22 KiB
						
					
					
				| function WebForm_PostBackOptions(eventTarget, eventArgument, validation, validationGroup, actionUrl, trackFocus, clientSubmit) {
 | |
|     this.eventTarget = eventTarget;
 | |
|     this.eventArgument = eventArgument;
 | |
|     this.validation = validation;
 | |
|     this.validationGroup = validationGroup;
 | |
|     this.actionUrl = actionUrl;
 | |
|     this.trackFocus = trackFocus;
 | |
|     this.clientSubmit = clientSubmit;
 | |
| }
 | |
| function WebForm_DoPostBackWithOptions(options) {
 | |
|     var validationResult = true;
 | |
|     if (options.validation) {
 | |
|         if (typeof(Page_ClientValidate) == 'function') {
 | |
|             validationResult = Page_ClientValidate(options.validationGroup);
 | |
|         }
 | |
|     }
 | |
|     if (validationResult) {
 | |
|         if ((typeof(options.actionUrl) != "undefined") && (options.actionUrl != null) && (options.actionUrl.length > 0)) {
 | |
|             theForm.action = options.actionUrl;
 | |
|         }
 | |
|         if (options.trackFocus) {
 | |
|             var lastFocus = theForm.elements["__LASTFOCUS"];
 | |
|             if ((typeof(lastFocus) != "undefined") && (lastFocus != null)) {
 | |
|                 if (typeof(document.activeElement) == "undefined") {
 | |
|                     lastFocus.value = options.eventTarget;
 | |
|                 }
 | |
|                 else {
 | |
|                     var active = document.activeElement;
 | |
|                     if ((typeof(active) != "undefined") && (active != null)) {
 | |
|                         if ((typeof(active.id) != "undefined") && (active.id != null) && (active.id.length > 0)) {
 | |
|                             lastFocus.value = active.id;
 | |
|                         }
 | |
|                         else if (typeof(active.name) != "undefined") {
 | |
|                             lastFocus.value = active.name;
 | |
|                         }
 | |
|                     }
 | |
|                 }
 | |
|             }
 | |
|         }
 | |
|     }
 | |
|     if (options.clientSubmit) {
 | |
|         __doPostBack(options.eventTarget, options.eventArgument);
 | |
|     }
 | |
| }
 | |
| var __pendingCallbacks = new Array();
 | |
| var __synchronousCallBackIndex = -1;
 | |
| function WebForm_DoCallback(eventTarget, eventArgument, eventCallback, context, errorCallback, useAsync) {
 | |
|     var postData = __theFormPostData +
 | |
|                 "__CALLBACKID=" + WebForm_EncodeCallback(eventTarget) +
 | |
|                 "&__CALLBACKPARAM=" + WebForm_EncodeCallback(eventArgument);
 | |
|     if (theForm["__EVENTVALIDATION"]) {
 | |
|         postData += "&__EVENTVALIDATION=" + WebForm_EncodeCallback(theForm["__EVENTVALIDATION"].value);
 | |
|     }
 | |
|     var xmlRequest,e;
 | |
|     try {
 | |
|         xmlRequest = new XMLHttpRequest();
 | |
|     }
 | |
|     catch(e) {
 | |
|         try {
 | |
|             xmlRequest = new ActiveXObject("Microsoft.XMLHTTP");
 | |
|         }
 | |
|         catch(e) {
 | |
|         }
 | |
|     }
 | |
|     var setRequestHeaderMethodExists = true;
 | |
|     try {
 | |
|         setRequestHeaderMethodExists = (xmlRequest && xmlRequest.setRequestHeader);
 | |
|     }
 | |
|     catch(e) {}
 | |
|     var callback = new Object();
 | |
|     callback.eventCallback = eventCallback;
 | |
|     callback.context = context;
 | |
|     callback.errorCallback = errorCallback;
 | |
|     callback.async = useAsync;
 | |
|     var callbackIndex = WebForm_FillFirstAvailableSlot(__pendingCallbacks, callback);
 | |
|     if (!useAsync) {
 | |
|         if (__synchronousCallBackIndex != -1) {
 | |
|             __pendingCallbacks[__synchronousCallBackIndex] = null;
 | |
|         }
 | |
|         __synchronousCallBackIndex = callbackIndex;
 | |
|     }
 | |
|     if (setRequestHeaderMethodExists) {
 | |
|         xmlRequest.onreadystatechange = WebForm_CallbackComplete;
 | |
|         callback.xmlRequest = xmlRequest;
 | |
|         // e.g. http:
 | |
|         var action = theForm.action || document.location.pathname, fragmentIndex = action.indexOf('#');
 | |
|         if (fragmentIndex !== -1) {
 | |
|             action = action.substr(0, fragmentIndex);
 | |
|         }
 | |
|         if (!__nonMSDOMBrowser) {
 | |
|             var domain = "";
 | |
|             var path = action;
 | |
|             var query = "";
 | |
|             var queryIndex = action.indexOf('?');
 | |
|             if (queryIndex !== -1) {
 | |
|                 query = action.substr(queryIndex);
 | |
|                 path = action.substr(0, queryIndex);
 | |
|             }
 | |
|             if (path.indexOf("%") === -1) {
 | |
|                 // domain may or may not be present (e.g. action of "foo.aspx" vs "http:
 | |
|                 if (/^https?\:\/\/.*$/gi.test(path)) {
 | |
|                     var domainPartIndex = path.indexOf("\/\/") + 2;
 | |
|                     var slashAfterDomain = path.indexOf("/", domainPartIndex);
 | |
|                     if (slashAfterDomain === -1) {
 | |
|                         // entire url is the domain (e.g. "http:
 | |
|                         domain = path;
 | |
|                         path = "";
 | |
|                     }
 | |
|                     else {
 | |
|                         domain = path.substr(0, slashAfterDomain);
 | |
|                         path = path.substr(slashAfterDomain);
 | |
|                     }
 | |
|                 }
 | |
|                 action = domain + encodeURI(path) + query;
 | |
|             }
 | |
|         }
 | |
|         xmlRequest.open("POST", action, true);
 | |
|         xmlRequest.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=utf-8");
 | |
|         xmlRequest.send(postData);
 | |
|         return;
 | |
|     }
 | |
|     callback.xmlRequest = new Object();
 | |
|     var callbackFrameID = "__CALLBACKFRAME" + callbackIndex;
 | |
|     var xmlRequestFrame = document.frames[callbackFrameID];
 | |
|     if (!xmlRequestFrame) {
 | |
|         xmlRequestFrame = document.createElement("IFRAME");
 | |
|         xmlRequestFrame.width = "1";
 | |
|         xmlRequestFrame.height = "1";
 | |
|         xmlRequestFrame.frameBorder = "0";
 | |
|         xmlRequestFrame.id = callbackFrameID;
 | |
|         xmlRequestFrame.name = callbackFrameID;
 | |
|         xmlRequestFrame.style.position = "absolute";
 | |
|         xmlRequestFrame.style.top = "-100px"
 | |
|         xmlRequestFrame.style.left = "-100px";
 | |
|         try {
 | |
|             if (callBackFrameUrl) {
 | |
|                 xmlRequestFrame.src = callBackFrameUrl;
 | |
|             }
 | |
|         }
 | |
|         catch(e) {}
 | |
|         document.body.appendChild(xmlRequestFrame);
 | |
|     }
 | |
|     var interval = window.setInterval(function() {
 | |
|         xmlRequestFrame = document.frames[callbackFrameID];
 | |
|         if (xmlRequestFrame && xmlRequestFrame.document) {
 | |
|             window.clearInterval(interval);
 | |
|             xmlRequestFrame.document.write("");
 | |
|             xmlRequestFrame.document.close();
 | |
|             xmlRequestFrame.document.write('<html><body><form method="post"><input type="hidden" name="__CALLBACKLOADSCRIPT" value="t"></form></body></html>');
 | |
|             xmlRequestFrame.document.close();
 | |
|             xmlRequestFrame.document.forms[0].action = theForm.action;
 | |
|             var count = __theFormPostCollection.length;
 | |
|             var element;
 | |
|             for (var i = 0; i < count; i++) {
 | |
|                 element = __theFormPostCollection[i];
 | |
|                 if (element) {
 | |
|                     var fieldElement = xmlRequestFrame.document.createElement("INPUT");
 | |
|                     fieldElement.type = "hidden";
 | |
|                     fieldElement.name = element.name;
 | |
|                     fieldElement.value = element.value;
 | |
|                     xmlRequestFrame.document.forms[0].appendChild(fieldElement);
 | |
|                 }
 | |
|             }
 | |
|             var callbackIdFieldElement = xmlRequestFrame.document.createElement("INPUT");
 | |
|             callbackIdFieldElement.type = "hidden";
 | |
|             callbackIdFieldElement.name = "__CALLBACKID";
 | |
|             callbackIdFieldElement.value = eventTarget;
 | |
|             xmlRequestFrame.document.forms[0].appendChild(callbackIdFieldElement);
 | |
|             var callbackParamFieldElement = xmlRequestFrame.document.createElement("INPUT");
 | |
|             callbackParamFieldElement.type = "hidden";
 | |
|             callbackParamFieldElement.name = "__CALLBACKPARAM";
 | |
|             callbackParamFieldElement.value = eventArgument;
 | |
|             xmlRequestFrame.document.forms[0].appendChild(callbackParamFieldElement);
 | |
|             if (theForm["__EVENTVALIDATION"]) {
 | |
|                 var callbackValidationFieldElement = xmlRequestFrame.document.createElement("INPUT");
 | |
|                 callbackValidationFieldElement.type = "hidden";
 | |
|                 callbackValidationFieldElement.name = "__EVENTVALIDATION";
 | |
|                 callbackValidationFieldElement.value = theForm["__EVENTVALIDATION"].value;
 | |
|                 xmlRequestFrame.document.forms[0].appendChild(callbackValidationFieldElement);
 | |
|             }
 | |
|             var callbackIndexFieldElement = xmlRequestFrame.document.createElement("INPUT");
 | |
|             callbackIndexFieldElement.type = "hidden";
 | |
|             callbackIndexFieldElement.name = "__CALLBACKINDEX";
 | |
|             callbackIndexFieldElement.value = callbackIndex;
 | |
|             xmlRequestFrame.document.forms[0].appendChild(callbackIndexFieldElement);
 | |
|             xmlRequestFrame.document.forms[0].submit();
 | |
|         }
 | |
|     }, 10);
 | |
| }
 | |
| function WebForm_CallbackComplete() {
 | |
|     for (var i = 0; i < __pendingCallbacks.length; i++) {
 | |
|         callbackObject = __pendingCallbacks[i];
 | |
|         if (callbackObject && callbackObject.xmlRequest && (callbackObject.xmlRequest.readyState == 4)) {
 | |
|             if (!__pendingCallbacks[i].async) {
 | |
|                 __synchronousCallBackIndex = -1;
 | |
|             }
 | |
|             __pendingCallbacks[i] = null;
 | |
|             var callbackFrameID = "__CALLBACKFRAME" + i;
 | |
|             var xmlRequestFrame = document.getElementById(callbackFrameID);
 | |
|             if (xmlRequestFrame) {
 | |
|                 xmlRequestFrame.parentNode.removeChild(xmlRequestFrame);
 | |
|             }
 | |
|             WebForm_ExecuteCallback(callbackObject);
 | |
|         }
 | |
|     }
 | |
| }
 | |
| function WebForm_ExecuteCallback(callbackObject) {
 | |
|     var response = callbackObject.xmlRequest.responseText;
 | |
|     if (response.charAt(0) == "s") {
 | |
|         if ((typeof(callbackObject.eventCallback) != "undefined") && (callbackObject.eventCallback != null)) {
 | |
|             callbackObject.eventCallback(response.substring(1), callbackObject.context);
 | |
|         }
 | |
|     }
 | |
|     else if (response.charAt(0) == "e") {
 | |
|         if ((typeof(callbackObject.errorCallback) != "undefined") && (callbackObject.errorCallback != null)) {
 | |
|             callbackObject.errorCallback(response.substring(1), callbackObject.context);
 | |
|         }
 | |
|     }
 | |
|     else {
 | |
|         var separatorIndex = response.indexOf("|");
 | |
|         if (separatorIndex != -1) {
 | |
|             var validationFieldLength = parseInt(response.substring(0, separatorIndex));
 | |
|             if (!isNaN(validationFieldLength)) {
 | |
|                 var validationField = response.substring(separatorIndex + 1, separatorIndex + validationFieldLength + 1);
 | |
|                 if (validationField != "") {
 | |
|                     var validationFieldElement = theForm["__EVENTVALIDATION"];
 | |
|                     if (!validationFieldElement) {
 | |
|                         validationFieldElement = document.createElement("INPUT");
 | |
|                         validationFieldElement.type = "hidden";
 | |
|                         validationFieldElement.name = "__EVENTVALIDATION";
 | |
|                         theForm.appendChild(validationFieldElement);
 | |
|                     }
 | |
|                     validationFieldElement.value = validationField;
 | |
|                 }
 | |
|                 if ((typeof(callbackObject.eventCallback) != "undefined") && (callbackObject.eventCallback != null)) {
 | |
|                     callbackObject.eventCallback(response.substring(separatorIndex + validationFieldLength + 1), callbackObject.context);
 | |
|                 }
 | |
|             }
 | |
|         }
 | |
|     }
 | |
| }
 | |
| function WebForm_FillFirstAvailableSlot(array, element) {
 | |
|     var i;
 | |
|     for (i = 0; i < array.length; i++) {
 | |
|         if (!array[i]) break;
 | |
|     }
 | |
|     array[i] = element;
 | |
|     return i;
 | |
| }
 | |
| var __nonMSDOMBrowser = (window.navigator.appName.toLowerCase().indexOf('explorer') == -1);
 | |
| var __theFormPostData = "";
 | |
| var __theFormPostCollection = new Array();
 | |
| var __callbackTextTypes = /^(text|password|hidden|search|tel|url|email|number|range|color|datetime|date|month|week|time|datetime-local)$/i;
 | |
| function WebForm_InitCallback() {
 | |
|     var formElements = theForm.elements,
 | |
|         count = formElements.length,
 | |
|         element;
 | |
|     for (var i = 0; i < count; i++) {
 | |
|         element = formElements[i];
 | |
|         var tagName = element.tagName.toLowerCase();
 | |
|         if (tagName == "input") {
 | |
|             var type = element.type;
 | |
|             if ((__callbackTextTypes.test(type) || ((type == "checkbox" || type == "radio") && element.checked))
 | |
|                 && (element.id != "__EVENTVALIDATION")) {
 | |
|                 WebForm_InitCallbackAddField(element.name, element.value);
 | |
|             }
 | |
|         }
 | |
|         else if (tagName == "select") {
 | |
|             var selectCount = element.options.length;
 | |
|             for (var j = 0; j < selectCount; j++) {
 | |
|                 var selectChild = element.options[j];
 | |
|                 if (selectChild.selected == true) {
 | |
|                     WebForm_InitCallbackAddField(element.name, element.value);
 | |
|                 }
 | |
|             }
 | |
|         }
 | |
|         else if (tagName == "textarea") {
 | |
|             WebForm_InitCallbackAddField(element.name, element.value);
 | |
|         }
 | |
|     }
 | |
| }
 | |
| function WebForm_InitCallbackAddField(name, value) {
 | |
|     var nameValue = new Object();
 | |
|     nameValue.name = name;
 | |
|     nameValue.value = value;
 | |
|     __theFormPostCollection[__theFormPostCollection.length] = nameValue;
 | |
|     __theFormPostData += WebForm_EncodeCallback(name) + "=" + WebForm_EncodeCallback(value) + "&";
 | |
| }
 | |
| function WebForm_EncodeCallback(parameter) {
 | |
|     if (encodeURIComponent) {
 | |
|         return encodeURIComponent(parameter);
 | |
|     }
 | |
|     else {
 | |
|         return escape(parameter);
 | |
|     }
 | |
| }
 | |
| var __disabledControlArray = new Array();
 | |
| function WebForm_ReEnableControls() {
 | |
|     if (typeof(__enabledControlArray) == 'undefined') {
 | |
|         return false;
 | |
|     }
 | |
|     var disabledIndex = 0;
 | |
|     for (var i = 0; i < __enabledControlArray.length; i++) {
 | |
|         var c;
 | |
|         if (__nonMSDOMBrowser) {
 | |
|             c = document.getElementById(__enabledControlArray[i]);
 | |
|         }
 | |
|         else {
 | |
|             c = document.all[__enabledControlArray[i]];
 | |
|         }
 | |
|         if ((typeof(c) != "undefined") && (c != null) && (c.disabled == true)) {
 | |
|             c.disabled = false;
 | |
|             __disabledControlArray[disabledIndex++] = c;
 | |
|         }
 | |
|     }
 | |
|     setTimeout("WebForm_ReDisableControls()", 0);
 | |
|     return true;
 | |
| }
 | |
| function WebForm_ReDisableControls() {
 | |
|     for (var i = 0; i < __disabledControlArray.length; i++) {
 | |
|         __disabledControlArray[i].disabled = true;
 | |
|     }
 | |
| }
 | |
| function WebForm_SimulateClick(element, event) {
 | |
|     var clickEvent;
 | |
|     if (element) {
 | |
|         if (element.click) {
 | |
|             element.click();
 | |
|         } else { 
 | |
|             clickEvent = document.createEvent("MouseEvents");
 | |
|             clickEvent.initMouseEvent("click", true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);
 | |
|             if (!element.dispatchEvent(clickEvent)) {
 | |
|                 return true;
 | |
|             }
 | |
|         }
 | |
|         event.cancelBubble = true;
 | |
|         if (event.stopPropagation) {
 | |
|             event.stopPropagation();
 | |
|         }
 | |
|         return false;
 | |
|     }
 | |
|     return true;
 | |
| }
 | |
| function WebForm_FireDefaultButton(event, target) {
 | |
|     if (event.keyCode == 13) {
 | |
|         var src = event.srcElement || event.target;
 | |
|         if (src &&
 | |
|             ((src.tagName.toLowerCase() == "input") &&
 | |
|              (src.type.toLowerCase() == "submit" || src.type.toLowerCase() == "button")) ||
 | |
|             ((src.tagName.toLowerCase() == "a") &&
 | |
|              (src.href != null) && (src.href != "")) ||
 | |
|             (src.tagName.toLowerCase() == "textarea")) {
 | |
|             return true;
 | |
|         }
 | |
|         var defaultButton;
 | |
|         if (__nonMSDOMBrowser) {
 | |
|             defaultButton = document.getElementById(target);
 | |
|         }
 | |
|         else {
 | |
|             defaultButton = document.all[target];
 | |
|         }
 | |
|         if (defaultButton) {
 | |
|             return WebForm_SimulateClick(defaultButton, event);
 | |
|         } 
 | |
|     }
 | |
|     return true;
 | |
| }
 | |
| function WebForm_GetScrollX() {
 | |
|     if (__nonMSDOMBrowser) {
 | |
|         return window.pageXOffset;
 | |
|     }
 | |
|     else {
 | |
|         if (document.documentElement && document.documentElement.scrollLeft) {
 | |
|             return document.documentElement.scrollLeft;
 | |
|         }
 | |
|         else if (document.body) {
 | |
|             return document.body.scrollLeft;
 | |
|         }
 | |
|     }
 | |
|     return 0;
 | |
| }
 | |
| function WebForm_GetScrollY() {
 | |
|     if (__nonMSDOMBrowser) {
 | |
|         return window.pageYOffset;
 | |
|     }
 | |
|     else {
 | |
|         if (document.documentElement && document.documentElement.scrollTop) {
 | |
|             return document.documentElement.scrollTop;
 | |
|         }
 | |
|         else if (document.body) {
 | |
|             return document.body.scrollTop;
 | |
|         }
 | |
|     }
 | |
|     return 0;
 | |
| }
 | |
| function WebForm_SaveScrollPositionSubmit() {
 | |
|     if (__nonMSDOMBrowser) {
 | |
|         theForm.elements['__SCROLLPOSITIONY'].value = window.pageYOffset;
 | |
|         theForm.elements['__SCROLLPOSITIONX'].value = window.pageXOffset;
 | |
|     }
 | |
|     else {
 | |
|         theForm.__SCROLLPOSITIONX.value = WebForm_GetScrollX();
 | |
|         theForm.__SCROLLPOSITIONY.value = WebForm_GetScrollY();
 | |
|     }
 | |
|     if ((typeof(this.oldSubmit) != "undefined") && (this.oldSubmit != null)) {
 | |
|         return this.oldSubmit();
 | |
|     }
 | |
|     return true;
 | |
| }
 | |
| function WebForm_SaveScrollPositionOnSubmit() {
 | |
|     theForm.__SCROLLPOSITIONX.value = WebForm_GetScrollX();
 | |
|     theForm.__SCROLLPOSITIONY.value = WebForm_GetScrollY();
 | |
|     if ((typeof(this.oldOnSubmit) != "undefined") && (this.oldOnSubmit != null)) {
 | |
|         return this.oldOnSubmit();
 | |
|     }
 | |
|     return true;
 | |
| }
 | |
| function WebForm_RestoreScrollPosition() {
 | |
|     if (__nonMSDOMBrowser) {
 | |
|         window.scrollTo(theForm.elements['__SCROLLPOSITIONX'].value, theForm.elements['__SCROLLPOSITIONY'].value);
 | |
|     }
 | |
|     else {
 | |
|         window.scrollTo(theForm.__SCROLLPOSITIONX.value, theForm.__SCROLLPOSITIONY.value);
 | |
|     }
 | |
|     if ((typeof(theForm.oldOnLoad) != "undefined") && (theForm.oldOnLoad != null)) {
 | |
|         return theForm.oldOnLoad();
 | |
|     }
 | |
|     return true;
 | |
| }
 | |
| function WebForm_TextBoxKeyHandler(event) {
 | |
|     if (event.keyCode == 13) {
 | |
|         var target;
 | |
|         if (__nonMSDOMBrowser) {
 | |
|             target = event.target;
 | |
|         }
 | |
|         else {
 | |
|             target = event.srcElement;
 | |
|         }
 | |
|         if ((typeof(target) != "undefined") && (target != null)) {
 | |
|             if (typeof(target.onchange) != "undefined") {
 | |
|                 target.onchange();
 | |
|                 event.cancelBubble = true;
 | |
|                 if (event.stopPropagation) event.stopPropagation();
 | |
|                 return false;
 | |
|             }
 | |
|         }
 | |
|     }
 | |
|     return true;
 | |
| }
 | |
| function WebForm_TrimString(value) {
 | |
|     return value.replace(/^\s+|\s+$/g, '')
 | |
| }
 | |
| function WebForm_AppendToClassName(element, className) {
 | |
|     var currentClassName = ' ' + WebForm_TrimString(element.className) + ' ';
 | |
|     className = WebForm_TrimString(className);
 | |
|     var index = currentClassName.indexOf(' ' + className + ' ');
 | |
|     if (index === -1) {
 | |
|         element.className = (element.className === '') ? className : element.className + ' ' + className;
 | |
|     }
 | |
| }
 | |
| function WebForm_RemoveClassName(element, className) {
 | |
|     var currentClassName = ' ' + WebForm_TrimString(element.className) + ' ';
 | |
|     className = WebForm_TrimString(className);
 | |
|     var index = currentClassName.indexOf(' ' + className + ' ');
 | |
|     if (index >= 0) {
 | |
|         element.className = WebForm_TrimString(currentClassName.substring(0, index) + ' ' +
 | |
|             currentClassName.substring(index + className.length + 1, currentClassName.length));
 | |
|     }
 | |
| }
 | |
| function WebForm_GetElementById(elementId) {
 | |
|     if (document.getElementById) {
 | |
|         return document.getElementById(elementId);
 | |
|     }
 | |
|     else if (document.all) {
 | |
|         return document.all[elementId];
 | |
|     }
 | |
|     else return null;
 | |
| }
 | |
| function WebForm_GetElementByTagName(element, tagName) {
 | |
|     var elements = WebForm_GetElementsByTagName(element, tagName);
 | |
|     if (elements && elements.length > 0) {
 | |
|         return elements[0];
 | |
|     }
 | |
|     else return null;
 | |
| }
 | |
| function WebForm_GetElementsByTagName(element, tagName) {
 | |
|     if (element && tagName) {
 | |
|         if (element.getElementsByTagName) {
 | |
|             return element.getElementsByTagName(tagName);
 | |
|         }
 | |
|         if (element.all && element.all.tags) {
 | |
|             return element.all.tags(tagName);
 | |
|         }
 | |
|     }
 | |
|     return null;
 | |
| }
 | |
| function WebForm_GetElementDir(element) {
 | |
|     if (element) {
 | |
|         if (element.dir) {
 | |
|             return element.dir;
 | |
|         }
 | |
|         return WebForm_GetElementDir(element.parentNode);
 | |
|     }
 | |
|     return "ltr";
 | |
| }
 | |
| function WebForm_GetElementPosition(element) {
 | |
|     var result = new Object();
 | |
|     result.x = 0;
 | |
|     result.y = 0;
 | |
|     result.width = 0;
 | |
|     result.height = 0;
 | |
|     if (element.offsetParent) {
 | |
|         result.x = element.offsetLeft;
 | |
|         result.y = element.offsetTop;
 | |
|         var parent = element.offsetParent;
 | |
|         while (parent) {
 | |
|             result.x += parent.offsetLeft;
 | |
|             result.y += parent.offsetTop;
 | |
|             var parentTagName = parent.tagName.toLowerCase();
 | |
|             if (parentTagName != "table" &&
 | |
|                 parentTagName != "body" && 
 | |
|                 parentTagName != "html" && 
 | |
|                 parentTagName != "div" && 
 | |
|                 parent.clientTop && 
 | |
|                 parent.clientLeft) {
 | |
|                 result.x += parent.clientLeft;
 | |
|                 result.y += parent.clientTop;
 | |
|             }
 | |
|             parent = parent.offsetParent;
 | |
|         }
 | |
|     }
 | |
|     else if (element.left && element.top) {
 | |
|         result.x = element.left;
 | |
|         result.y = element.top;
 | |
|     }
 | |
|     else {
 | |
|         if (element.x) {
 | |
|             result.x = element.x;
 | |
|         }
 | |
|         if (element.y) {
 | |
|             result.y = element.y;
 | |
|         }
 | |
|     }
 | |
|     if (element.offsetWidth && element.offsetHeight) {
 | |
|         result.width = element.offsetWidth;
 | |
|         result.height = element.offsetHeight;
 | |
|     }
 | |
|     else if (element.style && element.style.pixelWidth && element.style.pixelHeight) {
 | |
|         result.width = element.style.pixelWidth;
 | |
|         result.height = element.style.pixelHeight;
 | |
|     }
 | |
|     return result;
 | |
| }
 | |
| function WebForm_GetParentByTagName(element, tagName) {
 | |
|     var parent = element.parentNode;
 | |
|     var upperTagName = tagName.toUpperCase();
 | |
|     while (parent && (parent.tagName.toUpperCase() != upperTagName)) {
 | |
|         parent = parent.parentNode ? parent.parentNode : parent.parentElement;
 | |
|     }
 | |
|     return parent;
 | |
| }
 | |
| function WebForm_SetElementHeight(element, height) {
 | |
|     if (element && element.style) {
 | |
|         element.style.height = height + "px";
 | |
|     }
 | |
| }
 | |
| function WebForm_SetElementWidth(element, width) {
 | |
|     if (element && element.style) {
 | |
|         element.style.width = width + "px";
 | |
|     }
 | |
| }
 | |
| function WebForm_SetElementX(element, x) {
 | |
|     if (element && element.style) {
 | |
|         element.style.left = x + "px";
 | |
|     }
 | |
| }
 | |
| function WebForm_SetElementY(element, y) {
 | |
|     if (element && element.style) {
 | |
|         element.style.top = y + "px";
 | |
|     }
 | |
| } |