Type.registerNamespace("AjaxControlToolkit");AjaxControlToolkit.ValidatorCalloutBehavior=function AjaxControlToolkit$ValidatorCalloutBehavior(A){AjaxControlToolkit.ValidatorCalloutBehavior.initializeBase(this,[A]);this._warningIconImageUrl=null;this._closeImageUrl=null;this._cssClass="ajax__validatorcallout";this._highlightCssClass=null;this._width="200px";this._invalid=false;this._originalValidationMethod=null;this._validationMethodOverride=null;this._elementToValidate=null;this._popupTable=null;this._errorMessageCell=null;this._calloutArrowCell=null;this._warningIconImage=null;this._closeImage=null;this._closeCellInnerDiv=null;this._popupBehavior=null;this._onShowJson=null;this._onHideJson=null;this._focusAttached=false;this._isBuilt=false;this._focusHandler=Function.createDelegate(this,this._onfocus);this._closeClickHandler=Function.createDelegate(this,this._oncloseClick)};AjaxControlToolkit.ValidatorCalloutBehavior.prototype={initialize:function(){AjaxControlToolkit.ValidatorCalloutBehavior.callBaseMethod(this,"initialize");var B=this.get_element();if(B.evaluationfunction){this._originalValidationMethod=Function.createDelegate(B,B.evaluationfunction);this._validationMethodOverride=Function.createDelegate(this,this._onvalidate);B.evaluationfunction=this._validationMethodOverride}var A=this.get_ClientState();if((null!=A)&&(""!==A)){this._ensureCallout();if(this._highlightCssClass){Sys.UI.DomElement.addCssClass(this._elementToValidate,this._highlightCssClass)}this.show()}},_ensureCallout:function(){if(!this._isBuilt){var E=this.get_element();var F=this._elementToValidate=$get(E.controltovalidate);var M=document.createElement("tbody");var A=document.createElement("tr");var Q=document.createElement("td");var C=document.createElement("table");var S=document.createElement("tbody");var B=document.createElement("tr");var H=document.createElement("td");var O=document.createElement("td");var J=this._closeCellInnerDiv=document.createElement("div");var R=this._popupTable=document.createElement("table");var I=this._calloutArrowCell=document.createElement("td");var G=this._warningIconImage=document.createElement("img");var D=this._closeImage=document.createElement("img");var N=this._errorMessageCell=document.createElement("td");R.id=this.get_id()+"_popupTable";R.cellPadding=0;R.cellSpacing=0;R.border=0;R.width=this.get_width();R.className=this._cssClass+" ajax__validatorcallout_popup_table";A.className="ajax__validatorcallout_popup_table_row";Q.className="ajax__validatorcallout_callout_cell";C.cellPadding=0;C.cellSpacing=0;C.border=0;C.className="ajax__validatorcallout_callout_table";B.className="ajax__validatorcallout_callout_table_row";I.className="ajax__validatorcallout_callout_arrow_cell";H.className="ajax__validatorcallout_icon_cell";G.border=0;G.src=this.get_warningIconImageUrl();N.className="ajax__validatorcallout_error_message_cell";N.innerHTML=this._getErrorMessage();O.className="ajax__validatorcallout_close_button_cell";J.className="ajax__validatorcallout_innerdiv";D.src=this.get_closeImageUrl();E.parentNode.appendChild(R);R.appendChild(M);M.appendChild(A);A.appendChild(Q);Q.appendChild(C);C.appendChild(S);S.appendChild(B);B.appendChild(I);A.appendChild(H);H.appendChild(G);A.appendChild(N);A.appendChild(O);J.appendChild(D);O.appendChild(J);var L=document.createElement("div");L.className="ajax__validatorcallout_innerdiv";I.appendChild(L);for(var P=14;P>0;P--){var K=document.createElement("div");K.style.width=P.toString()+"px";L.appendChild(K)}this._popupBehavior=$create(AjaxControlToolkit.PopupBehavior,{positioningMode:AjaxControlToolkit.PositioningMode.Absolute,parentElement:F},{},null,this._popupTable);if(this._onShowJson){this._popupBehavior.set_onShow(this._onShowJson)}if(this._onHideJson){this._popupBehavior.set_onHide(this._onHideJson)}$addHandler(this._closeCellInnerDiv,"click",this._closeClickHandler);this._isBuilt=true}},dispose:function(){if(this._isBuilt){this.hide();if(this._focusAttached){$removeHandler(this._elementToValidate,"focus",this._focusHandler);this._focusAttached=false}$removeHandler(this._closeCellInnerDiv,"click",this._closeClickHandler);this._onShowJson=null;this._onHideJson=null;if(this._popupBehavior){this._popupBehavior.dispose();this._popupBehavior=null}if(this._closeBehavior){this._closeBehavior.dispose();this._closeBehavior=null}if(this._popupTable){this._popupTable.parentNode.removeChild(this._popupTable);this._popupTable=null;this._errorMessageCell=null;this._elementToValidate=null;this._calloutArrowCell=null;this._warningIconImage=null;this._closeImage=null;this._closeCellInnerDiv=null}this._isBuilt=false}AjaxControlToolkit.ValidatorCalloutBehavior.callBaseMethod(this,"dispose")},_getErrorMessage:function(){return this.get_element().errormessage||AjaxControlToolkit.Resources.ValidatorCallout_DefaultErrorMessage},show:function(A){if(A||!this.get_isOpen()){if(A&&AjaxControlToolkit.ValidatorCalloutBehavior._currentCallout){AjaxControlToolkit.ValidatorCalloutBehavior._currentCallout.hide()}if(AjaxControlToolkit.ValidatorCalloutBehavior._currentCallout!=null){return }AjaxControlToolkit.ValidatorCalloutBehavior._currentCallout=this;this._popupBehavior.set_x($common.getSize(this._elementToValidate).width);this._popupBehavior.show()}},hide:function(){if(AjaxControlToolkit.ValidatorCalloutBehavior._currentCallout==this){AjaxControlToolkit.ValidatorCalloutBehavior._currentCallout=null}if(this.get_isOpen()){this._popupBehavior.hide()}},_onfocus:function(A){if(!this._originalValidationMethod(this.get_element())){this._ensureCallout();if(this._highlightCssClass){Sys.UI.DomElement.addCssClass(this._elementToValidate,this._highlightCssClass)}this.show(true);return false}else{this.hide();return true}},_oncloseClick:function(A){this.hide()},_onvalidate:function(A){if(!this._originalValidationMethod(A)){this._ensureCallout();if(this._highlightCssClass){Sys.UI.DomElement.addCssClass(this._elementToValidate,this._highlightCssClass)}if(!this._focusAttached){$addHandler(this._elementToValidate,"focus",this._focusHandler);this._focusAttached=true}this.show(false);this._invalid=true;return false}else{if(this._highlightCssClass&&this._invalid){Sys.UI.DomElement.removeCssClass(this._elementToValidate,this._highlightCssClass)}this._invalid=false;this.hide();return true}},get_onShow:function(){return this._popupBehavior?this._popupBehavior.get_onShow():this._onShowJson},set_onShow:function(A){if(this._popupBehavior){this._popupBehavior.set_onShow(A)}else{this._onShowJson=A}this.raisePropertyChanged("onShow")},get_onShowBehavior:function(){return this._popupBehavior?this._popupBehavior.get_onShowBehavior():null},onShow:function(){if(this._popupBehavior){this._popupBehavior.onShow()}},get_onHide:function(){return this._popupBehavior?this._popupBehavior.get_onHide():this._onHideJson},set_onHide:function(A){if(this._popupBehavior){this._popupBehavior.set_onHide(A)}else{this._onHideJson=A}this.raisePropertyChanged("onHide")},get_onHideBehavior:function(){return this._popupBehavior?this._popupBehavior.get_onHideBehavior():null},onHide:function(){if(this._popupBehavior){this._popupBehavior.onHide()}},get_warningIconImageUrl:function(){return this._warningIconImageUrl},set_warningIconImageUrl:function(A){if(this._warningIconImageUrl!=A){this._warningIconImageUrl=A;if(this.get_isInitialized()){this._warningIconImage.src=A}this.raisePropertyChanged("warningIconImageUrl")}},get_closeImageUrl:function(){return this._closeImageUrl},set_closeImageUrl:function(A){if(this._closeImageUrl!=A){this._closeImageUrl=A;if(this.get_isInitialized()){this._closeImage.src=A}this.raisePropertyChanged("closeImageUrl")}},get_width:function(){return this._width},set_width:function(A){if(this._width!=A){this._width=A;if(this.get_isInitialized()){this._popupTable.style.width=_width}this.raisePropertyChanged("width")}},get_cssClass:function(){return this._cssClass},set_cssClass:function(A){if(this._cssClass!=A){this._cssClass=A;this.raisePropertyChanged("cssClass")}},get_highlightCssClass:function(){return this._highlightCssClass},set_highlightCssClass:function(A){if(this._highlightCssClass!=A){this._highlightCssClass=A;this.raisePropertyChanged("highlightCssClass")}},get_isOpen:function(){return $common.getVisible(this._popupTable)}};AjaxControlToolkit.ValidatorCalloutBehavior.registerClass("AjaxControlToolkit.ValidatorCalloutBehavior",AjaxControlToolkit.BehaviorBase);if(typeof (Sys)!=="undefined"){Sys.Application.notifyScriptLoaded()};
