﻿Type.registerNamespace("Trinet.UI");Trinet.UI.FieldParser=function(element){Trinet.UI.FieldParser.initializeBase(this,[element]);this._hasFocus=false;this._isFormatted=false;this._parsedValue=null;this._originalTitle=null;this._parserId="";this._baseFormat="";this._displayFormat="";this._postFormat="";this._validationFormat="";this._standardForeColor="";this._standardBackColor="";this._errorForeColor="";this._errorBackColor="";this._errorCssClass="";};Trinet.UI.FieldParser.prototype={get_parserId:function(){return this._parserId;},set_parserId:function(value){var e=Function._validateParams(arguments,[{name:"value",type:String,mayBeNull:true}]);if(e){throw e;}if(value!=this._parserId){this._parserId=value;this.raisePropertyChanged("parserId");}},get_defaultBaseFormat:function(){return "";},get_baseFormat:function(){var value=this._baseFormat;if("string"!=typeof(value)||0===value.length){value=this.get_defaultBaseFormat();this._baseFormat=value;}return value;},set_baseFormat:function(value){var e=Function._validateParams(arguments,[{name:"value",type:String,mayBeNull:true}]);if(e){throw e;}if(value!=this._baseFormat){this._baseFormat=value;this.raisePropertyChanged("baseFormat");}},get_defaultDisplayFormat:function(){return "";},get_displayFormat:function(){var value=this._displayFormat;if("string"!=typeof(value)||0===value.length){value=this.get_defaultDisplayFormat();this._displayFormat=value;}return value;},set_displayFormat:function(value){var e=Function._validateParams(arguments,[{name:"value",type:String,mayBeNull:true}]);if(e){throw e;}if(value!=this._displayFormat){this._displayFormat=value;this.raisePropertyChanged("displayFormat");}},get_defaultPostFormat:function(){return "";},get_postFormat:function(){var value=this._postFormat;if("string"!=typeof(value)||0===value.length){value=this.get_defaultPostFormat();this._postFormat=value;}return value;},set_postFormat:function(value){var e=Function._validateParams(arguments,[{name:"value",type:String,mayBeNull:true}]);if(e){throw e;}if(value!=this._postFormat){this._postFormat=value;this.raisePropertyChanged("postFormat");}},get_defaultValidationFormat:function(){return "";},get_validationFormat:function(){var value=this._validationFormat;if("string"!=typeof(value)||0===value.length){value=this.get_defaultValidationFormat();this._validationFormat=value;}return value;},set_validationFormat:function(value){var e=Function._validateParams(arguments,[{name:"value",type:String,mayBeNull:true}]);if(e){throw e;}if(value!=this._validationFormat){this._validationFormat=value;this.raisePropertyChanged("validationFormat");}},get_standardForeColor:function(){var value=this._standardForeColor;if("string"!=typeof(value)){value=null;}else if(0===value.length){var value2=this._errorForeColor;if("string"!=typeof(value2)||0===value2.length){value=null;}}return value;},set_standardForeColor:function(value){var e=Function._validateParams(arguments,[{name:"value",type:String,mayBeNull:true}]);if(e){throw e;}if(value!=this._standardForeColor){this._standardForeColor=value;this.raisePropertyChanged("standardForeColor");}},get_standardBackColor:function(){var value=this._standardBackColor;if("string"!=typeof(value)){value=null;}else if(0===value.length){var value2=this._errorBackColor;if("string"!=typeof(value2)||0===value2.length){value=null;}}return value;},set_standardBackColor:function(value){var e=Function._validateParams(arguments,[{name:"value",type:String,mayBeNull:true}]);if(e){throw e;}if(value!=this._standardBackColor){this._standardBackColor=value;this.raisePropertyChanged("standardBackColor");}},get_errorForeColor:function(){return this._errorForeColor;},set_errorForeColor:function(value){var e=Function._validateParams(arguments,[{name:"value",type:String,mayBeNull:true}]);if(e){throw e;}if(value!=this._errorForeColor){this._errorForeColor=value;this.raisePropertyChanged("errorForeColor");}},get_errorBackColor:function(){return this._errorBackColor;},set_errorBackColor:function(value){var e=Function._validateParams(arguments,[{name:"value",type:String,mayBeNull:true}]);if(e){throw e;}if(value!=this._errorBackColor){this._errorBackColor=value;this.raisePropertyChanged("errorBackColor");}},get_errorCssClass:function(){return this._errorCssClass;},set_errorCssClass:function(value){var e=Function._validateParams(arguments,[{name:"value",type:String,mayBeNull:true}]);if(e){throw e;}if(value!=this._errorCssClass){this._errorCssClass=value;this.raisePropertyChanged("errorCssClass");}},initialize:function(){Trinet.UI.FieldParser.callBaseMethod(this,"initialize");var element=this.get_element();if(element){this._hasFocus=Trinet.Core.HasDefaultFocus(element);this.set_standardForeColor(element.style.color);this.set_standardBackColor(element.style.backgroundColor);var handlers={"change":this.field_onChange,"focus":this.field_onFocus,"blur":this.field_onBlur};if("function"==typeof(this.field_onContextMenu)){handlers["contextmenu"]=this._onContextMenu;}$addHandlers(element,handlers,this);Trinet.UI.FieldParser._registerInstance(this);this._initializeFieldCore(element);this.readValue(true);this.showFormatted();}},dispose:function(){var element=this.get_element();if(element){$clearHandlers(element);delete Trinet.UI.FieldParser._instances[element.id];}Trinet.UI.FieldParser.callBaseMethod(this,"dispose");},_initializeFieldCore:function(element){},_onContextMenu:function(evt){if("function"==typeof(this.field_onContextMenu)&&this.field_onContextMenu(evt)){evt.preventDefault();}},field_onChange:function(evt){this.readValue(true);},field_onFocus:function(evt){this._hasFocus=true;this.showUnderlying(true);},field_onBlur:function(evt){this._hasFocus=false;this.readValue(true);this.showFormatted();if("function"==typeof(ValidatorValidate)&&"function"==typeof(ValidatorUpdateIsValid)){var element=this.get_element();if(element&&"undefined"!=typeof(element.Validators)){var e=evt.rawEvent;var list=element.Validators;for(var i=0;i<list.length;i++){ValidatorValidate(list[i],null,e);}ValidatorUpdateIsValid();}}},_setFieldState:function(element,isError){var value;if(!!isError){value=this.get_errorForeColor();if("string"==typeof(value)&&0!==value.length){element.style.color=value;}value=this.get_errorBackColor();if("string"==typeof(value)&&0!==value.length){element.style.backgroundColor=value;}value=this.get_errorCssClass();if("string"==typeof(value)&&0!==value.length){Sys.UI.DomElement.addCssClass(element,value);}}else{value=this.get_standardForeColor();if(null!==value){element.style.color=value;}value=this.get_standardBackColor();if(null!==value){element.style.backgroundColor=value;}value=this.get_errorCssClass();if("string"==typeof(value)&&0!==value.length){Sys.UI.DomElement.removeCssClass(element,value);}}},readValue:function(forceParse){var e=Function._validateParams(arguments,[{name:"forceParse",type:Boolean,optional:true}]);if(e){throw e;}var result=this._parsedValue;var element=this.get_element();if(element){if(!!forceParse||null===result||!this._isFormatted){result=this.parseValue(element);if("undefined"==typeof(result)){result=null;}this._parsedValue=result;}if(null===result&&0!==element.value.trim().length){this._setFieldState(element,true);if(null===this._originalTitle){this._originalTitle=element.title;}var title=this.get_errorMessage(element);if("string"==typeof(title)&&0!==title.length){element.title=title;}}else{this._setFieldState(element,false);if(null!==this._originalTitle){element.title=this._originalTitle;}}}return result;},parseValue:function(element){return new String(element.value);},formatValue:function(value,format,invariant){return value.toString();},formatValidationValue:function(value){var format=this.get_validationFormat();return this.formatValue(value,format,false);},get_validationValue:function(){if(null===this._parsedValue){this.readValue(true);}if(null===this._parsedValue){return "";}return this.formatValidationValue(this._parsedValue);},get_controlValue:function(){if(null===this._parsedValue){this.readValue(true);}if(null===this._parsedValue){return "";}var format=this.get_displayFormat();return this.formatValue(this._parsedValue,format,false);},set_controlValue:function(value){var element=this.get_element();if(element){element.value=value||"";this.readValue(true);this.showFormatted();}},get_errorMessage:function(element){return "The value \""+element.value+"\" is not valid here.";},showUnderlying:function(selectAll){var e=Function._validateParams(arguments,[{name:"forceParse",type:Boolean,optional:true}]);if(e){throw e;}var element=this.get_element();if(element){if(null!==this._parsedValue){var format=this.get_baseFormat();element.value=this.formatValue(this._parsedValue,format,false);}this._isFormatted=false;if(!!selectAll&&"undefined"!=typeof(element.select)){element.select();}}},showFormatted:function(){if(null!==this._parsedValue){var element=this.get_element();if(element){var format=this.get_displayFormat();element.value=this.formatValue(this._parsedValue,format,false);this._isFormatted=true;}}},showPost:function(){var element=this.get_element();if(element){if(this._hasFocus){this.readValue(true);}if(null!==this._parsedValue){var format=this.get_postFormat();element.value=this.formatValue(this._parsedValue,format,true);}else{element.value="";}this._isFormatted=false;}}};Trinet.UI.FieldParser._registerInstance=function(value){var e=Function._validateParams(arguments,[{name:"value",type:Trinet.UI.FieldParser}]);if(e){throw e;}var elementId="";var element=value.get_element();if(null!==element){elementId=element.id;var instances=Trinet.UI.FieldParser._instances||null;if(null===instances){instances=Trinet.UI.FieldParser._instances=[];Sys.Application.add_load(Trinet.UI.FieldParser._onReload);if(Sys.WebForms&&Sys.WebForms.PageRequestManager){var prm=Sys.WebForms.PageRequestManager.getInstance();prm.add_initializeRequest(Trinet.UI.FieldParser._onSubmit);}}else if(instances[elementId]){throw Error.invalidOperation("Field "+elementId+" already has a FieldParser attached.");}instances[elementId]=value;if(null!==element.form&&!element.form.__trinet_web_UI_FieldParserSubmit){$addHandler(element.form,"submit",Trinet.UI.FieldParser._onSubmit);element.form.__trinet_web_UI_FieldParserSubmit=true;}}var id=value.get_parserId();if("string"===typeof(id)&&0!==id.length&&id!==elementId){var map=Trinet.UI.FieldParser._parserMap||null;if(null===map){map=Trinet.UI.FieldParser._parserMap=[];}else if(map[id]){throw Error.invalidOperation("Parser "+id+" has already been mapped.");}map[id]=value;}};Trinet.UI.FieldParser._onSubmit=function(){var instances=Trinet.UI.FieldParser._instances||null;if(null!==instances){var value;for(var key in instances){value=instances[key];if(value&&"function"==typeof(value.showPost)){value.showPost();}}}};Trinet.UI.FieldParser._onReload=function(sender,args){if(args&&!!args.get_isPartialLoad()){var instances=Trinet.UI.FieldParser._instances||null;if(null!==instances){var value;for(var key in instances){value=instances[key];if(value&&"function"==typeof(value.showFormatted)){value.showFormatted();}}}}};Trinet.UI.FieldParser.findInstance=function(id){var e=Function._validateParams(arguments,[{name:"id",type:String}]);if(e){throw e;}var result=null;var instances=Trinet.UI.FieldParser._instances||null;if(instances){result=instances[id]||null;}if(null===result){var map=Trinet.UI.FieldParser._parserMap||null;if(map){result=map[id]||null;}}return result;};Trinet.UI.FieldParser.getFieldValue=function(field){var e=Function._validateParams(arguments,[{name:"field"}]);if(e){throw e;}if("string"==typeof(field)){field=$get(field);}if(null!==field){var instance=Trinet.UI.FieldParser.findInstance(field.id);if(instance){return instance.readValue(false);}if("undefined"!=typeof(field.value)){return field.value;}}return "";};Trinet.UI.FieldParser.getValidationValue=function(sender,args){var e=Function._validateParams(arguments,[{name:"sender",mayBeNull:true},{name:"args",type:Trinet.Core.CustomValidationEventArgs}]);if(e){throw e;}var id=args.get_elementId();var instance=Trinet.UI.FieldParser.findInstance(id);if(instance){return instance.get_validationValue();}var element=args.get_element();if(null===element||"undefined"==typeof(element.value)){return "";}return element.value;};Trinet.UI.FieldParser.getDateTimeFieldValidationValue=function(sender,args){var e=Function._validateParams(arguments,[{name:"sender",mayBeNull:true},{name:"args",type:Trinet.Core.CustomValidationEventArgs}]);if(e){throw e;}var result="";var id=args.get_elementId();var datePart=Trinet.UI.FieldParser.getFieldValue(id+"_Date");if(datePart){result=86400*Math.floor(datePart.valueOf()/86400000);var timePart=Trinet.UI.FieldParser.getFieldValue(id+"_Time");if(timePart){result+=timePart.valueOf();}result=result.toString();}return result;};Trinet.UI.FieldParser.registerClass("Trinet.UI.FieldParser",Sys.UI.Behavior);
if(typeof(Sys)!=='undefined')Sys.Application.notifyScriptLoaded();