﻿Type.registerNamespace("AjaxControlToolkit");AjaxControlToolkit.ValidatorCalloutBehavior=function AjaxControlToolkit$ValidatorCalloutBehavior(c){var b=null,a=this;AjaxControlToolkit.ValidatorCalloutBehavior.initializeBase(a,[c]);a._warningIconImageUrl=b;a._closeImageUrl=b;a._cssClass="ajax__validatorcallout";a._highlightCssClass=b;a._width="200px";a._invalid=false;a._originalValidationMethod=b;a._validationMethodOverride=b;a._elementToValidate=b;a._popupTable=b;a._errorMessageCell=b;a._calloutArrowCell=b;a._warningIconImage=b;a._closeImage=b;a._closeCellInnerDiv=b;a._popupBehavior=b;a._onShowJson=b;a._onHideJson=b;a._focusAttached=false;a._isBuilt=false;a._focusHandler=Function.createDelegate(a,a._onfocus);a._closeClickHandler=Function.createDelegate(a,a._oncloseClick)};AjaxControlToolkit.ValidatorCalloutBehavior.prototype={initialize:function(){var a=this;AjaxControlToolkit.ValidatorCalloutBehavior.callBaseMethod(a,"initialize");var b=a.get_element();if(b.evaluationfunction){a._originalValidationMethod=Function.createDelegate(b,b.evaluationfunction);a._validationMethodOverride=Function.createDelegate(a,a._onvalidate);b.evaluationfunction=a._validationMethodOverride}var c=a.get_ClientState();if(null!=c&&""!==c){a._ensureCallout();if(a._highlightCssClass)Sys.UI.DomElement.addCssClass(a._elementToValidate,a._highlightCssClass);a.show()}},_ensureCallout:function(){var r="ajax__validatorcallout_innerdiv",e="td",a=this;if(!a._isBuilt){var u=a.get_element(),v=a._elementToValidate=$get(u.controltovalidate),q=document.createElement("tbody"),c=document.createElement("tr"),k=document.createElement(e),d=document.createElement("table"),p=document.createElement("tbody"),j=document.createElement("tr"),m=document.createElement(e),l=document.createElement(e),f=a._closeCellInnerDiv=document.createElement("div"),b=a._popupTable=document.createElement("table"),g=a._calloutArrowCell=document.createElement(e),i=a._warningIconImage=document.createElement("img"),s=a._closeImage=document.createElement("img"),h=a._errorMessageCell=document.createElement(e);b.id=a.get_id()+"_popupTable";b.cellPadding=0;b.cellSpacing=0;b.border=0;b.width=a.get_width();b.className=a._cssClass+" ajax__validatorcallout_popup_table";c.className="ajax__validatorcallout_popup_table_row";k.className="ajax__validatorcallout_callout_cell";d.cellPadding=0;d.cellSpacing=0;d.border=0;d.className="ajax__validatorcallout_callout_table";j.className="ajax__validatorcallout_callout_table_row";g.className="ajax__validatorcallout_callout_arrow_cell";m.className="ajax__validatorcallout_icon_cell";i.border=0;i.src=a.get_warningIconImageUrl();h.className="ajax__validatorcallout_error_message_cell";h.innerHTML=a._getErrorMessage();l.className="ajax__validatorcallout_close_button_cell";f.className=r;s.src=a.get_closeImageUrl();u.parentNode.appendChild(b);b.appendChild(q);q.appendChild(c);c.appendChild(k);k.appendChild(d);d.appendChild(p);p.appendChild(j);j.appendChild(g);c.appendChild(m);m.appendChild(i);c.appendChild(h);c.appendChild(l);f.appendChild(s);l.appendChild(f);var n=document.createElement("div");n.className=r;g.appendChild(n);for(var o=14;o>0;o--){var t=document.createElement("div");t.style.width=o.toString()+"px";n.appendChild(t)}a._popupBehavior=$create(AjaxControlToolkit.PopupBehavior,{positioningMode:AjaxControlToolkit.PositioningMode.Absolute,parentElement:v},{},null,a._popupTable);if(a._onShowJson)a._popupBehavior.set_onShow(a._onShowJson);if(a._onHideJson)a._popupBehavior.set_onHide(a._onHideJson);$addHandler(a._closeCellInnerDiv,"click",a._closeClickHandler);a._isBuilt=true}},dispose:function(){var b=null,a=this;if(a._isBuilt){a.hide();if(a._focusAttached){$removeHandler(a._elementToValidate,"focus",a._focusHandler);a._focusAttached=false}$removeHandler(a._closeCellInnerDiv,"click",a._closeClickHandler);a._onShowJson=b;a._onHideJson=b;if(a._popupBehavior){a._popupBehavior.dispose();a._popupBehavior=b}if(a._closeBehavior){a._closeBehavior.dispose();a._closeBehavior=b}if(a._popupTable){a._popupTable.parentNode.removeChild(a._popupTable);a._popupTable=b;a._errorMessageCell=b;a._elementToValidate=b;a._calloutArrowCell=b;a._warningIconImage=b;a._closeImage=b;a._closeCellInnerDiv=b}a._isBuilt=false}AjaxControlToolkit.ValidatorCalloutBehavior.callBaseMethod(a,"dispose")},_getErrorMessage:function(){return this.get_element().errormessage||AjaxControlToolkit.Resources.ValidatorCallout_DefaultErrorMessage},show:function(b){var a=this;if(b||!a.get_isOpen()){if(b&&AjaxControlToolkit.ValidatorCalloutBehavior._currentCallout)AjaxControlToolkit.ValidatorCalloutBehavior._currentCallout.hide();if(AjaxControlToolkit.ValidatorCalloutBehavior._currentCallout!=null)return;AjaxControlToolkit.ValidatorCalloutBehavior._currentCallout=a;a._popupBehavior.set_x($common.getSize(a._elementToValidate).width);a._popupBehavior.show()}},hide:function(){if(AjaxControlToolkit.ValidatorCalloutBehavior._currentCallout==this)AjaxControlToolkit.ValidatorCalloutBehavior._currentCallout=null;if(this.get_isOpen())this._popupBehavior.hide()},_onfocus:function(){var a=this;if(!a._originalValidationMethod(a.get_element())){a._ensureCallout();if(a._highlightCssClass)Sys.UI.DomElement.addCssClass(a._elementToValidate,a._highlightCssClass);a.show(true);return false}else{a.hide();return true}},_oncloseClick:function(){this.hide()},_onvalidate:function(b){var a=this;if(!a._originalValidationMethod(b)){a._ensureCallout();if(a._highlightCssClass)Sys.UI.DomElement.addCssClass(a._elementToValidate,a._highlightCssClass);if(!a._focusAttached){$addHandler(a._elementToValidate,"focus",a._focusHandler);a._focusAttached=true}a.show(false);a._invalid=true;return false}else{if(a._highlightCssClass&&a._invalid)Sys.UI.DomElement.removeCssClass(a._elementToValidate,a._highlightCssClass);a._invalid=false;a.hide();return true}},get_onShow:function(){return this._popupBehavior?this._popupBehavior.get_onShow():this._onShowJson},set_onShow:function(b){var a=this;if(a._popupBehavior)a._popupBehavior.set_onShow(b);else a._onShowJson=b;a.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(b){var a=this;if(a._popupBehavior)a._popupBehavior.set_onHide(b);else a._onHideJson=b;a.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(b){var a=this;if(a._warningIconImageUrl!=b){a._warningIconImageUrl=b;if(a.get_isInitialized())a._warningIconImage.src=b;a.raisePropertyChanged("warningIconImageUrl")}},get_closeImageUrl:function(){return this._closeImageUrl},set_closeImageUrl:function(b){var a=this;if(a._closeImageUrl!=b){a._closeImageUrl=b;if(a.get_isInitialized())a._closeImage.src=b;a.raisePropertyChanged("closeImageUrl")}},get_width:function(){return this._width},set_width:function(b){var a=this;if(a._width!=b){a._width=b;if(a.get_isInitialized())a._popupTable.style.width=_width;a.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);