﻿var CIV={};CIV.Global={};CIV.Model={};(function(){window.console||(window.console={});var d=["assert","error","log","dir","group","groupEnd","time","timeEnd","trace"];for(var a in d){var b=d[a];if(!window.console[b]){window.console[b]=function(){}}}})();$.fn.getSingleDOM=function(){return this.get()[0]};$.unwrap=function(a){return ko.utils.unwrapObservable(a)};$.evaluate=function(d,b){if(d==null){return null}var a=d.split(".");$.each(a,function(f,e){b=(b==null||typeof b=="undefined")?null:b[e]});return b};(function(){function b(d){if((d)&&(typeof(d)==="object")&&(d.constructor==(new Date).constructor)){return"date"}return typeof d}function a(e){var d=b(e);return(d=="object")&&(e!==null)&&(d!=="undefined")}$.equals=function(d,e){if(!a(d)&&!a(e)){if(b(d)==="date"){return(d.getTime()==e.getTime())}else{return d===e}}for(p in d){if(typeof(e[p])=="undefined"){return false}}for(p in d){if(d[p]){switch(b(d[p])){case"date":case"object":if(!$.equals(d[p],e[p])){return false}break;case"function":if(typeof(e[p])=="undefined"||(p!="equals"&&d[p].toString()!=e[p].toString())){return false}break;default:if(d[p]!=e[p]){return false}}}else{if(e[p]){return false}}}for(p in e){if(typeof(d[p])=="undefined"){return false}}return true}}());if(typeof Clock==="undefined"){Clock={};Clock.setTimeout=function(){return window.setTimeout(arguments[0],arguments[1])};Clock.clearTimeout=function(){return window.clearTimeout(arguments[0])};Clock.setInterval=function(){return window.setInterval(arguments[0],arguments[1])};Clock.clearInterval=function(){return window.clearInterval(arguments[0])}}CIV.Global.Sort=function(a,b){return function(d,e){var f=$.unwrap($.evaluate(a,d)),g=$.unwrap($.evaluate(a,e));if(f==g){return 0}if((g==null||f>g)^b=="ASC"){return -1}return 1}};(function(){function a(){}function b(d){a.prototype=d;return new a}CIV.Class=function(){};CIV.Class.Create=function(d){var e=this;c=function(){this._super=e;var g=d.apply(this,arguments),f=this;for(key in g){(function(h,i){f[key]=typeof h!="function"||typeof i!="function"?h:function(){this._super=i;return h.apply(this,arguments)}})(g[key],f[key])}};c.prototype=b(e.prototype);c.prototype.constructor=c;c.Extend=this.Extend||this.Create;return c}})();CIV.Notification=CIV.Notification||{};CIV.Notification.ViewModel=CIV.Class.Create(function(b){var d=this;d.message=ko.observable("");d.visible=ko.observable(false);d.hasMessage=ko.dependentObservable(function(){return d.message()&&d.message().length});d.state=ko.observable();d.expirationTime=ko.observable(15000);d.fromJS=function(e){if(e.success){d.state("highlight")}else{d.state("error")}d.message(e.statusMessage);d.message.valueHasMutated()};var a;d.message.subscribe(function(e){if(a){Clock.clearTimeout(a)}if(!e){return}d.visible(true);if(d.expirationTime()){a=Clock.setTimeout(function(){d.clear()},d.expirationTime())}});d.clear=function(){d.visible(false)};d.header=ko.dependentObservable(function(){switch(d.state()){case"highlight":return"Information";case"error":default:return"Error"}})});CIV.Model.Notification=new CIV.Notification.ViewModel();ko.extenders.notification=function(a,b){a.notification=new CIV.Notification.ViewModel(b);return a};ko.bindingHandlers.notification={init:function(b,d){var a=$.unwrap(d());ko.renderTemplate("notificationTemplate",a,{},b,"replaceNode")}};CIV.Comet=CIV.Class.Create(function(a){var j=this;this.provider=null;var h=function(q){var n={data:{},success:function(){},completed:function(){},error:function(s){console.log("Unhandled error: "+s.statusMessage)}};q=$.extend({},n,q);var o=q;o.onFailure=function(s){var u={statusMessage:s.error,success:false,errors:[]};var t=u.statusMessage.indexOf("::");if(t!=-1){u.statusMessage=u.statusMessage.slice(t+2)}m(u);q.completed(u);q.error(u)};var r=function(s){if(s.data!=null&&s.data.serviceVersion!=b&&s.data.serviceVersion!="noreload"){window.location.reload()}var t=s.data;q.completed(t);m(t);if(t){if(!t.success){q.error(t)}else{q.success(t)}}};o.onReceive=r;if(q.handleSuccess){o.onSuccess=r}return o};var m=function(n){if(n.success){return}switch(n.statusMessage){case"error":n.statusMessage="There was a problem handling your request. Please try again at a later time.";break;case"unauthorized":n.statusMessage="You have been logged out of the system. Please refresh the page and try again.";break;case"completedFailure":n.statusMessage="There was a timeout handling your request. Please try again at a later time.";break;default:console.log(n.statusMessage)}};var e;var k=function(){if(e){Clock.clearTimeout(e)}e=Clock.setTimeout(function(){window.location.reload()},1000*60*60*6)};k();var b;var g=100;var d=[];var f=function(n,o){if(CIV.Global.Comet.getClientId()=="__CLIENTID__"){return Clock.setTimeout(function(){f(n,o)},100)}o.channel=o.channel.replace("__CLIENTID__",CIV.Global.Comet.getClientId());d.push({command:n,options:o})};var i=null;var l=null;this.flush=function(){var n=null;if(d.length){j.provider.startBatch();while(n=d.shift()){j.provider[n.command](n.options)}j.provider.endBatch()}i=Clock.setTimeout(j.flush,g)};this.initialize=function(n){n=n||{};console.assert(n.url!=undefined,"options.url not set!");console.assert(n.streamUrl!=undefined,"options.streamUrl not set!");console.assert(n.siteVersion!=undefined,"options.siteVersion not set!");console.assert(n.key!=undefined,"options.key not set!");j.provider.initialize({requestUrl:n.url,streamRequestUrl:n.streamUrl,key:n.key});l=n.siteVersion;j.provider.connect({success:function(o){b=o.meta.version;console.log("The client connected to version "+b+" with ID "+o.clientId+".");if(b!=l){console.log("Page-version ("+l+") and comet-server version ("+b+") are different, reloading page...");window.location.reload()}if(i){Clock.clearTimeout(i)}i=Clock.setTimeout(j.flush,g)},failure:function(o){console.log("The client could not connect... "+o.error)},streamFailure:function(o){if(i!=null){Clock.clearTimeout(i);i=null}console.log("The client could not stream..."+o.error);console.log("The client "+(o.willReconnect?"will":"will not")+" reconnect.")}})};this.getClientId=function(){var n=j.provider.getClientID();if(n){return n}return"__CLIENTID__"};this.publish=function(n){n.handleSuccess=true;f("publish",h(n))};this.subscribe=function(n){console.log("Subscribe to "+n.channel);f("subscribe",h(n))};this.unsubscribe=function(n){console.log("Unsubscribe from "+n.channel);f("unsubscribe",h(n))};this.sendAsync=function(q){var s=this;var r=q.channel;var n=function(t){if(q.completed(t)!==false){s.unsubscribe({channel:r})}else{t.statusMessage="completedFailure";t.success=false}};var o=function(t){if(t.success){return}n(t)};this.subscribe({channel:r,completed:n,error:q.error,success:q.success});this.publish({channel:r,data:q.data,completed:o,error:q.error})}});CIV.Global.Comet=new CIV.Comet();CIV.CometProvider=CIV.Class.Create(function(a){this.initialize=function(b){throw"CometProvider.initialize not implemented"};this.connect=function(b){throw"CometProvider.connect not implemented"};this.disconnect=function(b){throw"CometProvider.disconnect not implemented"};this.subscribe=function(b){throw"CometProvider.subscribe not implemented"};this.unsubscribe=function(b){throw"CometProvider.unsubscribe not implemented"};this.publish=function(b){throw"CometProvider.publish not implemented"};this.getClientID=function(){throw"CometProvider.getClientID not implemented"};this.startBatch=function(){throw"CometProvider.startBatch not implemented"};this.endBatch=function(){throw"CometProvider.endBatch not implemented"}});CIV.WebSyncProvider=CIV.CometProvider.Extend(function(a){this._super(a);this.initialize=function(b){fm.websync.client.initialize({quiet:true,requestUrl:b.requestUrl,stream:{requestUrl:b.streamRequestUrl},key:b.key})};this.connect=function(b){fm.websync.client.connect({stayConnected:true,onSuccess:b.success,onFailure:b.failure,onStreamFailure:b.streamFailure})};this.getClientID=function(){return fm.websync.client.getClientId()};this.startBatch=function(){fm.websync.client.startBatch()};this.endBatch=function(){fm.websync.client.endBatch()};this.subscribe=function(b){fm.websync.client.subscribe(b)};this.publish=function(b){fm.websync.client.publish(b)};this.unsubscribe=function(b){fm.websync.client.unsubscribe(b)}});CIV.Global.Comet.provider=new CIV.WebSyncProvider();(function(){ko.utils.arrayAliveItems=function(a){return ko.utils.arrayFilter(ko.utils.unwrapObservable(a),function(b){return !b._destroy})}})();CIV.Dialog=CIV.Class.Create(function(a){var h=this;var l;var f={autoOpen:false,resizable:false,modal:true,width:600,title:"Dialog",close:function(n,m){l.dialog("destroy")},buttons:{OK:function(){if(a.viewModel.canOk&&!a.viewModel.canOk()){return false}h.ok()},Cancel:function(){h.cancel()}},viewModel:{}};a=$.extend({},f,a);var d=$("<div>").appendTo("body");ko.renderTemplate(a.templateName,a.viewModel,{},d.getSingleDOM(),"replaceChildren");l=d.dialog(a);l.dialog("open");if(a.viewModel.canOk){var g=0;var i=-1;for(var e in a.buttons){if(e.toLowerCase()=="ok"){i=g;break}g++}if(i!=-1){var k=$(".ui-dialog-buttonset .ui-button",d.parent());var b=$(k[i]);var j=function(m){b.toggleClass("ui-state-disabled",!m)};a.viewModel.canOk.subscribe(j);j(a.viewModel.canOk())}}h.close=function(){l.dialog("close")};h.ok=function(){h.close();if(a.ok){a.ok()}};h.cancel=function(){h.close();if(a.cancel){a.cancel()}}});CIV.Address=CIV.Class.Create(function(a){var f=this;f.registries=[];var e=false;f.unregisterViewState=function(j){var k=ko.utils.arrayFirst(f.registries,function(l){return l.viewState==j});if(k==null){return}k.handle.dispose();ko.utils.arrayRemoveItem(f.registries,k)};f.registerViewState=function(j){var m=ko.utils.arrayFirst(f.registries,function(o){return o.viewState.type==j.type&&o.viewState.prefix==j.prefix});if(m!=null){f.unregisterViewState(m.viewState)}var n=j.value.subscribe(function(o){if(e){return}if(d>0){b=true}else{h()}});var l=new ko.subscribable();var k={viewState:j,handle:n,updating:l};f.registries.push(k);i(k,g());return{updating:l}};var d=0;var b=false;f.beginGroup=function(){if(d==0){b=false}d++};f.endGroup=function(){if(d==0){throw"Address.endGroup is missing corresponding Address.beginGroup call"}d--;if(d==0&&b){h()}};var h=function(){$.address.autoUpdate(false);var l=[];var k={};$.each(f.registries,function(r,q){var m=q.viewState.value();for(var n in m){if(m[n]!=q.viewState.defaultValue[n]){var o=q.viewState.prefix+n;var s=m[n];switch(q.viewState.type){case"parameter":k[o]=s;break;case"path":l.push(o);l.push(s);break}}}});var j=$.param(k);console.log("setting address: /"+l.join("/")+"?"+j);$.address.path("/"+l.join("/"));$.address.queryString(j);$.address.autoUpdate(true);b=false;$.address.update()};var g=function(){var m={},k=$.address.parameterNames();for(var j=0,n=k.length;j<n;j++){m[k[j]]=$.address.parameter(k[j])}return{value:$.address.value(),path:$.address.path(),pathNames:$.address.pathNames(),parameterNames:k,parameters:m,queryString:$.address.queryString()}};var i=function(n,j){var k={};for(var m in n.viewState.defaultValue){var l=n.viewState.prefix+m;var q=undefined;switch(n.viewState.type){case"parameter":q=$.address.parameter(l);break;case"path":for(var o=0;o<j.pathNames.length;o+=2){if(j.pathNames[o]==l){q=j.pathNames[o+1];break}}break}if(q==undefined){q=n.viewState.defaultValue[m]}else{q=unescape(q)}k[m]=q}if(!$.equals(n.viewState.value(),k)){n.updating.notifySubscribers(k);e=true;n.viewState.value(k);e=false}};$.address.change(function(j){$.each(f.registries.slice(0),function(l,k){i(k,j)})})});CIV.Global.Address=new CIV.Address();ko.extenders.throttle=function(b,f){var a=ko.observable(b());var e;var g;var d;if(!f.predicate){g=f}else{g=f.rate;d=f.predicate}b.subscribe(function(h){if(e){Clock.clearTimeout(e)}if(d&&!d(h)){a(h);return}e=Clock.setTimeout(function(){a(h);e=null},g)});return ko.dependentObservable({read:a,write:b})};ko.extenders.address=function(d,b){var g=ko.extenders.address;g.isUpdatingFromObservable=false;var e={isPath:b=="path",defaultValue:d(),isCurrentlyDefault:true};var f;if(e.isPath){g.pathItems=g.pathItems||[];g.pathItems.push(e);f=ko.utils.arrayIndexOf(g.pathItems,e)}d.subscribe(function(j){g.isUpdatingFromObservable=true;$.address.autoUpdate(false);if(e.isPath){var n=$.address.pathNames();n[f]=j;g.pathItems[f].isCurrentlyDefault=j==e.defaultValue;var l=-1;var m=true;for(var k=0;k<g.pathItems.length;k++){if(g.pathItems[k].isCurrentlyDefault===false){l=k}m&=g.pathItems[k].isCurrentlyDefault}if(m){if(l==-1){n=[]}else{n=n.slice(0,l)}}var h="/"+n.join("/");$.address.path(h)}else{if(j==e.defaultValue){$.address.parameter(b,"")}else{$.address.parameter(b,j)}}$.address.autoUpdate(true);if(g.timer){Clock.clearTimeout(g.timer)}g.timer=Clock.setTimeout(function(){g.timer=null;$.address.update();g.isUpdatingFromObservable=false},0)});var a=function(){if(g.isUpdatingFromObservable){return}var h;if(e.isPath){var i=$.address.pathNames();if((i.length<=f)||(i[f]==="")){h=g.pathItems[f].defaultValue}else{h=i[f]}}else{h=$.address.parameter(b)}if(h===undefined){h=e.defaultValue}if(typeof d()=="number"){h=parseFloat(h);if(isNaN(h)){return}}d(h);return h};$.address.change(a);a();return d};ko.extenders.address.reset=function(){$($.address).unbind();ko.extenders.address.pathItems=[]};CIV.Validator=CIV.Class.Create(function(e,b){var d=this;d.model=ko.observable(e);d.options=b;d.rules=ko.observableArray([]);d.messages=[];d.externalMessages=ko.observable({});var a=function(k,l,i,g){for(var j in k){var f=k[j];var h=j;if(i){if(g){h=i+"["+h+"]"}else{h=i+"."+h}}if(ko.isWriteableObservable(f)){l(f,h);f=ko.utils.unwrapObservable(f)}if(f instanceof Array){a(f,l,h,true)}else{if(CIV.canHaveProperties(f)){a(f,l,h,false)}}}};d.externalMessages.subscribe(function(){a(ko.utils.unwrapObservable(d.model()),function(h,g){var i=d.messageFor(h);var f=d.externalMessages()[g];if(f){i.externalMessage(f)}})});d.addRule=function(f,g){if(f.validationId===undefined){f.validationId=d.messages.length;f.validator=d;d.messages.push(new CIV.Validator.Message(f,d))}d.rules.push(g)};d.messageFor=function(f){return d.messages[f.validationId]};d.forceValidation=function(){ko.utils.arrayForEach(d.rules(),function(f){f.observable.valueHasMutated()})};d.hasInvalidRules=function(){var f=ko.utils.arrayFirst(d.rules(),function(g){if(!g.isValid()){return true}return false});return f};d.reset=function(){d.rules([]);d.resetMessages()};d.resetMessages=function(){d.externalMessages({})};d.model.subscribe(function(){d.reset();a(ko.utils.unwrapObservable(d.model()),function(f){if(!f.rules||f.rules.length){return}for(var g in f.rules){d.addRule(f,f.rules[g])}})});d.model.valueHasMutated()});CIV.Validator.Message=CIV.Class.Create(function(a,b){var d=this;d.rules=ko.dependentObservable(function(){return ko.utils.arrayFilter(b.rules(),function(e){return(e.observable===a)})});d.errors=ko.dependentObservable(function(){return ko.utils.arrayFilter(d.rules(),function(e){return !e.hasInitialState()&&!e.isValid()})});a.subscribe(function(){d.externalMessage("")});d.externalMessage=ko.observable();d.message=ko.dependentObservable(function(){if(!d.rules().length){return null}if(d.externalMessage()){return d.externalMessage()}if(!d.errors().length){return""}return d.errors()[0].message()})});CIV.Validator.Rule=CIV.Class.Create(function(a){var b=this;b.observable=a;b.propertyName=null;b.root=null;b.hasInitialState=ko.observable(true);b.reset=function(){b.hasInitialState(true)};b.rule=function(d){throw new "Rule does not implement 'rule'!"};b.isValid=ko.dependentObservable(function(){return b.rule(a())},b,{deferEvaluation:true});b.message=function(){throw new "Rule does not implement 'message'!"};b.observable.subscribe(function(){b.hasInitialState(false)})});ko.bindingHandlers.validator={init:function(d,j,i){var e=$(d).closest("form");var g=j();if(ko.isObservable(g)){g={data:g,message:true,applyCss:true,validator:g.validator}}g=$.extend({},{applyCss:false,message:false,template:"ValidationTemplate"},g);this.isForm=e.getSingleDOM()==d;if(isForm){var b=g;$(d).submit(function(){b.resetMessages();b.forceValidation();if(b.hasInvalidRules()){return false}var l={action:e.attr("action"),method:e.attr("method")||"post"};b.options.submit(b.model,function(n){if(n){var o=b.externalMessages();for(var m in n){o[m]=n[m]}b.externalMessages(o)}},l);return false})}else{if(!g.validator){g.validator=g.data.validator;if(!g.validator){throw"'validator' was not specified in data-bind or in observable!"}}var f=g.validator.messageFor(g.data);if(g.applyCss){var h={css:{}};h.css.error=f.message;ko.applyBindingsToNode(d,h,g.data)}if(g.message){var a=$("<span style='position:relative'></span>");var k=false;if($(d).hasClass("inlineEditable")){k=true}if(d.tagName&&d.tagName=="INPUT"){k=true}if(d.tagName&&d.tagName=="H3"){k=true}if(!k&&typeof HTMLInputElement!=="undefined"){k=d instanceof HTMLInputElement}if(!k&&typeof HTMLHeadingElement!=="undefined"){k=d instanceof HTMLHeadingElement}if(k){$(d).after(a)}else{$(d).append(a)}ko.renderTemplate(g.template,f,{},a.getSingleDOM())}}}};(function(){ko.extenders.validation=function(a,d){var e=d.enforce;delete d.enforce;for(var b in d){var f=new CIV.Validator.Rules[b](a,d[b]);a.rules=a.rules||{};a.rules[b]=f}if(!e){return a}return ko.dependentObservable({read:function(){return a()},write:function(h){for(var g in a.rules){if(!a.rules[g].rule(h)){a.valueHasMutated();return}}a(h)}})}})();CIV.Validator.Rules={};CIV.Validator.Rules.required=CIV.Validator.Rule.Extend(function(a,d){var b=this;b._super(a);b.rule=function(e){if(!d){return true}return e!==undefined&&e!==""};b.message=ko.observable("This field is required.")});CIV.Validator.Rules.min=CIV.Validator.Rule.Extend(function(a,b){var d=this;d._super(a);d.rule=function(e){return e>=b};d.message=ko.dependentObservable(function(){return"The value should be greater than or equal to "+b+"."})});CIV.Validator.Rules.max=CIV.Validator.Rule.Extend(function(a,b){var d=this;d._super(a);d.rule=function(e){return e<=b};d.message=ko.dependentObservable(function(){return"The value should be less than or equal to "+b+"."})});CIV.Validator.Rules.numeric=CIV.Validator.Rule.Extend(function(a,b){var d=this;d._super(a);d.rule=function(e){var f=!e||(!isNaN(parseFloat(e))&&isFinite(e));return b===f};d.message=ko.dependentObservable(function(){return b?"The value should be a number.":"The value should not be a number."})});CIV.Validator.Rules.minLength=CIV.Validator.Rule.Extend(function(b,a){var d=this;d._super(b);d.rule=function(e){var f=e?e.length:0;return f>=a};d.message=ko.dependentObservable(function(){var e=a==1?".":"s.";return"The field should contain at least "+a+" character"+e})});CIV.Validator.Rules.maxLength=CIV.Validator.Rule.Extend(function(a,b){var d=this;d._super(a);d.rule=function(e){var f=e?e.length:0;return f<=b};d.message=ko.dependentObservable(function(){var e=b==1?".":"s.";return"The field should contain at most "+b+" character"+e})});CIV.Validator.Rules.regex=CIV.Validator.Rule.Extend(function(a,b){var e=this;e._super(a);if(b=="email"){b=/^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/i}var d=new RegExp(b);e.rule=function(f){if(!f){return false}return d.test(f)};e.message=ko.dependentObservable(function(){return"The field is not valid."})});CIV.Validator.Rules.custom=CIV.Validator.Rule.Extend(function(a,b){var d=this;d._super(a);d.rule=function(e){return b.isValid(e,b.data)};d.message=ko.dependentObservable(function(){return b.message})});ko.bindingHandlers.bind=ko.bindingHandlers["with"];(function(){ko.bindingHandlers.enter={init:function(d,e,a,b){ko.utils.registerEventHandler(d,"keypress",function(h){if(h.keyCode!==13){return}$(d).change();var g;var f=e();try{g=f.call(b)}finally{if(g!==true){if(h.preventDefault){h.preventDefault()}else{h.returnValue=false}}}})}}})();ko.bindingHandlers.watermark={update:function(a,b){if(window.Modernizr&&window.Modernizr.placeholder){return}$(a).watermark($.unwrap(b()))}};
/*
 * Globalize
 *
 * http://github.com/jquery/globalize
 *
 * Copyright Software Freedom Conservancy, Inc.
 * Dual licensed under the MIT or GPL Version 2 licenses.
 * http://jquery.org/license
 */
(function(n,t){var x,f,v,o,z,A,m,q,u,s,k,j,y,r,i,d,h,w,a,g,l,b,e;x=function(B){return new x.prototype.init(B)};if(typeof require!=="undefined"&&typeof exports!=="undefined"&&typeof module!=="undefined"){module.exports=x}else{n.Globalize=x}x.cultures={};x.prototype={constructor:x,init:function(B){this.cultures=x.cultures;this.cultureSelector=B;return this}};x.prototype.init.prototype=x.prototype;x.cultures["default"]={name:"en",englishName:"English",nativeName:"English",isRTL:false,language:"en",numberFormat:{pattern:["-n"],decimals:2,",":",",".":".",groupSizes:[3],"+":"+","-":"-",percent:{pattern:["-n %","n %"],decimals:2,groupSizes:[3],",":",",".":".",symbol:"%"},currency:{pattern:["($n)","$n"],decimals:2,groupSizes:[3],",":",",".":".",symbol:"$"}},calendars:{standard:{name:"Gregorian_USEnglish","/":"/",":":":",firstDay:0,days:{names:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],namesAbbr:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],namesShort:["Su","Mo","Tu","We","Th","Fr","Sa"]},months:{names:["January","February","March","April","May","June","July","August","September","October","November","December",""],namesAbbr:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec",""]},AM:["AM","am","AM"],PM:["PM","pm","PM"],eras:[{name:"A.D.",start:null,offset:0}],twoDigitYearMax:2029,patterns:{d:"M/d/yyyy",D:"dddd, MMMM dd, yyyy",t:"h:mm tt",T:"h:mm:ss tt",f:"dddd, MMMM dd, yyyy h:mm tt",F:"dddd, MMMM dd, yyyy h:mm:ss tt",M:"MMMM dd",Y:"yyyy MMMM",S:"yyyy\u0027-\u0027MM\u0027-\u0027dd\u0027T\u0027HH\u0027:\u0027mm\u0027:\u0027ss"}}},messages:{}};x.cultures["default"].calendar=x.cultures["default"].calendars.standard;x.cultures.en=x.cultures["default"];x.cultureSelector="en";f=/^0x[a-f0-9]+$/i;v=/^[+-]?infinity$/i;o=/^[+-]?\d*\.?\d*(e[+-]?\d+)?$/;z=/^\s+|\s+$/g;A=function(E,D){if(E.indexOf){return E.indexOf(D)}for(var C=0,B=E.length;C<B;C++){if(E[C]===D){return C}}return -1};m=function(B,C){return B.substr(B.length-C.length)===C};q=function(D){var B,F,J,I,H,K,C=arguments[0]||{},E=1,G=arguments.length,D=false;if(typeof C==="boolean"){D=C;C=arguments[1]||{};E=2}if(typeof C!=="object"&&!s(C)){C={}}for(;E<G;E++){if((B=arguments[E])!=null){for(F in B){J=C[F];I=B[F];if(C===I){continue}if(D&&I&&(k(I)||(H=u(I)))){if(H){H=false;K=J&&u(J)?J:[]}else{K=J&&k(J)?J:{}}C[F]=q(D,K,I)}else{if(I!==t){C[F]=I}}}}}return C};u=Array.isArray||function(B){return Object.prototype.toString.call(B)==="[object Array]"};s=function(B){return Object.prototype.toString.call(B)==="[object Function]"};k=function(B){return Object.prototype.toString.call(B)==="[object Object]"};j=function(B,C){return B.indexOf(C)===0};y=function(B){return(B+"").replace(z,"")};r=function(D,B,C){var E;for(E=D.length;E<B;E+=1){D=(C?("0"+D):(D+"0"))}return D};i=function(H,D){var E=0,C=false;for(var G=0,B=H.length;G<B;G++){var F=H.charAt(G);switch(F){case"'":if(C){D.push("'")}else{E++}C=false;break;case"\\":if(C){D.push("\\")}C=!C;break;default:D.push(F);C=false;break}}return E};d=function(B,C){C=C||"F";var D,F=B.patterns,E=C.length;if(E===1){D=F[C];if(!D){throw"Invalid date format string '"+C+"'."}C=D}else{if(E===2&&C.charAt(0)==="%"){C=C.charAt(1)}}return C};h=function(B,R,L){var S=L.calendar,W=S.convert;if(!R||!R.length||R==="i"){var H;if(L&&L.name.length){if(W){H=h(B,S.patterns.F,L)}else{var Q=new Date(B.getTime()),U=g(B,S.eras);Q.setFullYear(l(B,S,U));H=Q.toLocaleString()}}else{H=B.toString()}return H}var X=S.eras,aa=R==="s";R=d(S,R);H=[];var N,Z=["0","00","000"],M,K,T=/([^d]|^)(d|dd)([^d]|$)/g,G=0,O=a(),D;function ab(ag,af){var ad,ae=ag+"";if(af>1&&ae.length<af){ad=(Z[af-2]+ae);return ad.substr(ad.length-af,af)}else{ad=ae}return ad}function I(){if(M||K){return M}M=T.test(R);K=true;return M}function ac(ad,ae){if(D){return D[ae]}switch(ae){case 0:return ad.getFullYear();case 1:return ad.getMonth();case 2:return ad.getDate()}}if(!aa&&W){D=W.fromGregorian(B)}for(;;){var E=O.lastIndex,C=O.exec(R);var P=R.slice(E,C?C.index:R.length);G+=i(P,H);if(!C){break}if(G%2){H.push(C[0]);continue}var F=C[0],V=F.length;switch(F){case"ddd":case"dddd":var J=(V===3)?S.days.namesAbbr:S.days.names;H.push(J[B.getDay()]);break;case"d":case"dd":M=true;H.push(ab(ac(B,2),V));break;case"MMM":case"MMMM":var Y=ac(B,1);H.push((S.monthsGenitive&&I())?S.monthsGenitive[V===3?"namesAbbr":"names"][Y]:S.months[V===3?"namesAbbr":"names"][Y]);break;case"M":case"MM":H.push(ab(ac(B,1)+1,V));break;case"y":case"yy":case"yyyy":Y=D?D[0]:l(B,S,g(B,X),aa);if(V<4){Y=Y%100}H.push(ab(Y,V));break;case"h":case"hh":N=B.getHours()%12;if(N===0){N=12}H.push(ab(N,V));break;case"H":case"HH":H.push(ab(B.getHours(),V));break;case"m":case"mm":H.push(ab(B.getMinutes(),V));break;case"s":case"ss":H.push(ab(B.getSeconds(),V));break;case"t":case"tt":Y=B.getHours()<12?(S.AM?S.AM[0]:" "):(S.PM?S.PM[0]:" ");H.push(V===1?Y.charAt(0):Y);break;case"f":case"ff":case"fff":H.push(ab(B.getMilliseconds(),3).substr(0,V));break;case"z":case"zz":N=B.getTimezoneOffset()/60;H.push((N<=0?"+":"-")+ab(Math.floor(Math.abs(N)),V));break;case"zzz":N=B.getTimezoneOffset()/60;H.push((N<=0?"+":"-")+ab(Math.floor(Math.abs(N)),2)+":"+ab(Math.abs(B.getTimezoneOffset()%60),2));break;case"g":case"gg":if(S.eras){H.push(S.eras[g(B,X)].name)}break;case"/":H.push(S["/"]);break;default:throw"Invalid date format pattern '"+F+"'.";break}}return H.join("")};(function(){var B;B=function(O,K,P){var M=P.groupSizes,Q=M[0],F=1,G=Math.pow(10,K),J=Math.round(O*G)/G;if(!isFinite(J)){J=O}O=J;var H=O+"",N="",R=H.split(/e/i),E=R.length>1?parseInt(R[1],10):0;H=R[0];R=H.split(".");H=R[0];N=R.length>1?R[1]:"";var D;if(E>0){N=r(N,E,false);H+=N.slice(0,E);N=N.substr(E)}else{if(E<0){E=-E;H=r(H,E+1);N=H.slice(-E,H.length)+N;H=H.slice(0,-E)}}if(K>0){N=P["."]+((N.length>K)?N.slice(0,K):r(N,K))}else{N=""}var C=H.length-1,L=P[","],I="";while(C>=0){if(Q===0||Q>C){return H.slice(0,C+1)+(I.length?(L+I+N):N)}I=H.slice(C-Q+1,C+1)+(I.length?(L+I):"");C-=Q;if(F<M.length){Q=M[F];F++}}return H.slice(0,C+1)+L+I+N};w=function(F,N,D){if(!N||N==="i"){return D.name.length?F.toLocaleString():F.toString()}N=N||"D";var C=D.numberFormat,M=Math.abs(F),J=-1,K;if(N.length>1){J=parseInt(N.slice(1),10)}var H=N.charAt(0).toUpperCase(),L;switch(H){case"D":K="n";if(J!==-1){M=r(""+M,J,true)}if(F<0){M=-M}break;case"N":L=C;case"C":L=L||C.currency;case"P":L=L||C.percent;K=F<0?L.pattern[0]:(L.pattern[1]||"n");if(J===-1){J=L.decimals}M=B(M*(H==="P"?100:1),J,L);break;default:throw"Bad number format specifier: "+H}var I=/n|\$|-|%/g,E="";for(;;){var G=I.lastIndex,O=I.exec(K);E+=K.slice(G,O?O.index:K.length);if(!O){break}switch(O[0]){case"n":E+=M;break;case"$":E+=C.currency.symbol;break;case"-":if(/[1-9]/.test(M)){E+=C["-"]}break;case"%":E+=C.percent.symbol;break}}return E}}());a=function(){return/\/|dddd|ddd|dd|d|MMMM|MMM|MM|M|yyyy|yy|y|hh|h|HH|H|mm|m|ss|s|tt|t|fff|ff|f|zzz|zz|z|gg|g/g};g=function(D,B){if(!B){return 0}var C,F=D.getTime();for(var E=0,G=B.length;E<G;E++){C=B[E].start;if(C===null||F>=C){return E}}return 0};l=function(E,B,F,C){var D=E.getFullYear();if(!C&&B.eras){D-=B.eras[F].offset}return D};(function(){var C,D,E,H,F,G,B;C=function(I,K){var M=new Date(),L=g(M);if(K<100){var N=I.twoDigitYearMax;N=typeof N==="string"?new Date().getFullYear()%100+parseInt(N,10):N;var J=l(M,I,L);K+=J-(J%100);if(K>N){K-=100}}return K};D=function(I,J,K){var N,M=I.days,L=I._upperDays;if(!L){I._upperDays=L=[B(M.names),B(M.namesAbbr),B(M.namesShort)]}J=G(J);if(K){N=A(L[1],J);if(N===-1){N=A(L[2],J)}}else{N=A(L[0],J)}return N};E=function(L,K,O){var P=L.months,J=L.monthsGenitive||L.months,N=L._upperMonths,M=L._upperMonthsGen;if(!N){L._upperMonths=N=[B(P.names),B(P.namesAbbr)];L._upperMonthsGen=M=[B(J.names),B(J.namesAbbr)]}K=G(K);var I=A(O?N[1]:N[0],K);if(I<0){I=A(O?M[1]:M[0],K)}return I};H=function(U,T){var W=U._parseRegExp;if(!W){U._parseRegExp=W={}}else{var M=W[T];if(M){return M}}var L=d(U,T).replace(/([\^\$\.\*\+\?\|\[\]\(\)\{\}])/g,"\\\\$1"),K=["^"],V=[],I=0,J=0,P=a(),R;while((R=P.exec(L))!==null){var Q=L.slice(I,R.index);I=P.lastIndex;J+=i(Q,K);if(J%2){K.push(R[0]);continue}var O=R[0],Y=O.length,N;switch(O){case"dddd":case"ddd":case"MMMM":case"MMM":case"gg":case"g":N="(\\D+)";break;case"tt":case"t":N="(\\D*)";break;case"yyyy":case"fff":case"ff":case"f":N="(\\d{"+Y+"})";break;case"dd":case"d":case"MM":case"M":case"yy":case"y":case"HH":case"H":case"hh":case"h":case"mm":case"m":case"ss":case"s":N="(\\d\\d?)";break;case"zzz":N="([+-]?\\d\\d?:\\d{2})";break;case"zz":case"z":N="([+-]?\\d\\d?)";break;case"/":N="(\\"+U["/"]+")";break;default:throw"Invalid date format pattern '"+O+"'.";break}if(N){K.push(N)}V.push(R[0])}i(L.slice(I),K);K.push("$");var X=K.join("").replace(/\s+/g,"\\s+"),S={regExp:X,groups:V};return W[T]=S};F=function(I,J,K){return I<J||I>K};G=function(I){return I.split("\u00A0").join(" ").toUpperCase()};B=function(I){var K=[];for(var J=0,L=I.length;J<L;J++){K[J]=G(I[J])}return K};b=function(L,M,al){L=y(L);var Y=al.calendar,Z=H(Y,M),Q=new RegExp(Z.regExp).exec(L);if(Q===null){return null}var W=Z.groups,P=null,ak=null,ao=null,I=null,U=null,ae=0,ag,N=0,ai=0,J=0,ad=null,am=false;for(var ab=0,ap=W.length;ab<ap;ab++){var aj=Q[ab+1];if(aj){var af=W[ab],X=af.length,K=parseInt(aj,10);switch(af){case"dd":case"d":I=K;if(F(I,1,31)){return null}break;case"MMM":case"MMMM":ao=E(Y,aj,X===3);if(F(ao,0,11)){return null}break;case"M":case"MM":ao=K-1;if(F(ao,0,11)){return null}break;case"y":case"yy":case"yyyy":ak=X<4?C(Y,K):K;if(F(ak,0,9999)){return null}break;case"h":case"hh":ae=K;if(ae===12){ae=0}if(F(ae,0,11)){return null}break;case"H":case"HH":ae=K;if(F(ae,0,23)){return null}break;case"m":case"mm":N=K;if(F(N,0,59)){return null}break;case"s":case"ss":ai=K;if(F(ai,0,59)){return null}break;case"tt":case"t":am=Y.PM&&(aj===Y.PM[0]||aj===Y.PM[1]||aj===Y.PM[2]);if(!am&&(!Y.AM||(aj!==Y.AM[0]&&aj!==Y.AM[1]&&aj!==Y.AM[2]))){return null}break;case"f":case"ff":case"fff":J=K*Math.pow(10,3-X);if(F(J,0,999)){return null}break;case"ddd":case"dddd":U=D(Y,aj,X===3);if(F(U,0,6)){return null}break;case"zzz":var V=aj.split(/:/);if(V.length!==2){return null}ag=parseInt(V[0],10);if(F(ag,-12,13)){return null}var R=parseInt(V[1],10);if(F(R,0,59)){return null}ad=(ag*60)+(j(aj,"-")?-R:R);break;case"z":case"zz":ag=K;if(F(ag,-12,13)){return null}ad=ag*60;break;case"g":case"gg":var O=aj;if(!O||!Y.eras){return null}O=y(O.toLowerCase());for(var aa=0,ac=Y.eras.length;aa<ac;aa++){if(O===Y.eras[aa].name.toLowerCase()){P=aa;break}}if(P===null){return null}break}}}var S=new Date(),ah,T=Y.convert;ah=T?T.fromGregorian(S)[0]:S.getFullYear();if(ak===null){ak=ah}else{if(Y.eras){ak+=Y.eras[(P||0)].offset}}if(ao===null){ao=0}if(I===null){I=1}if(T){S=T.toGregorian(ak,ao,I);if(S===null){return null}}else{S.setFullYear(ak,ao,I);if(S.getDate()!==I){return null}if(U!==null&&S.getDay()!==U){return null}}if(am&&ae<12){ae+=12}S.setHours(ae,N,ai,J);if(ad!==null){var an=S.getMinutes()-(ad+S.getTimezoneOffset());S.setHours(S.getHours()+parseInt(an/60,10),an%60)}return S}}());e=function(C,F,E){var D=F["-"],B=F["+"],G;switch(E){case"n -":D=" "+D;B=" "+B;case"n-":if(m(C,D)){G=["-",C.substr(0,C.length-D.length)]}else{if(m(C,B)){G=["+",C.substr(0,C.length-B.length)]}}break;case"- n":D+=" ";B+=" ";case"-n":if(j(C,D)){G=["-",C.substr(D.length)]}else{if(j(C,B)){G=["+",C.substr(B.length)]}}break;case"(n)":if(j(C,"(")&&m(C,")")){G=["-",C.substr(1,C.length-2)]}break}return G||["",C]};x.prototype.findClosestCulture=function(B){return x.findClosestCulture.call(this,B)};x.prototype.format=function(C,D,B){return x.format.call(this,C,D,B)};x.prototype.localize=function(C,B){return x.localize.call(this,C,B)};x.prototype.parseInt=function(C,D,B){return x.parseInt.call(this,C,D,B)};x.prototype.parseFloat=function(C,D,B){return x.parseFloat.call(this,C,D,B)};x.prototype.culture=function(B){return x.culture.call(this,B)};x.addCultureInfo=function(E,D,C){var B={},F=false;if(typeof E!=="string"){C=E;E=this.culture().name;B=this.cultures[E]}else{if(typeof D!=="string"){C=D;F=(this.cultures[E]==null);B=this.cultures[E]||this.cultures["default"]}else{F=true;B=this.cultures[D]}}this.cultures[E]=q(true,{},B,C);if(F){this.cultures[E].calendar=this.cultures[E].calendars.standard}};x.findClosestCulture=function(H){var M;if(!H){return this.cultures[this.cultureSelector]||this.cultures["default"]}if(typeof H==="string"){H=H.split(",")}if(u(H)){var F,J=this.cultures,K=H,B,D=K.length,C=[];for(B=0;B<D;B++){H=y(K[B]);var E,I=H.split(";");F=y(I[0]);if(I.length===1){E=1}else{H=y(I[1]);if(H.indexOf("q=")===0){H=H.substr(2);E=parseFloat(H);E=isNaN(E)?0:E}else{E=1}}C.push({lang:F,pri:E})}C.sort(function(O,P){return O.pri<P.pri?1:-1});for(B=0;B<D;B++){F=C[B].lang;M=J[F];if(M){return M}}for(B=0;B<D;B++){F=C[B].lang;do{var G=F.lastIndexOf("-");if(G===-1){break}F=F.substr(0,G);M=J[F];if(M){return M}}while(1)}for(B=0;B<D;B++){F=C[B].lang;for(var L in J){var N=J[L];if(N.language==F){return N}}}}else{if(typeof H==="object"){return H}}return M||null};x.format=function(C,D,B){culture=this.findClosestCulture(B);if(C instanceof Date){C=h(C,D,culture)}else{if(typeof C==="number"){C=w(C,D,culture)}}return C};x.localize=function(C,B){return(this.findClosestCulture(B).messages[C]||this.cultures["default"].messages.key)};x.parseDate=function(D,I,F){F=this.findClosestCulture(F);var H,C,E;if(I){if(typeof I==="string"){I=[I]}if(I.length){for(var B=0,J=I.length;B<J;B++){var G=I[B];if(G){H=b(D,G,F);if(H){break}}}}}else{E=F.calendar.patterns;for(C in E){H=b(D,E[C],F);if(H){break}}}return H||null};x.parseInt=function(C,D,B){return Math.floor(x.parseFloat(C,D,B))};x.parseFloat=function(B,G,K){if(typeof G!=="number"){K=G;G=10}var L=this.findClosestCulture(K);var H=NaN,N=L.numberFormat;if(B.indexOf(L.numberFormat.currency.symbol)>-1){B=B.replace(L.numberFormat.currency.symbol,"");B=B.replace(L.numberFormat.currency["."],L.numberFormat["."])}B=y(B);if(v.test(B)){H=parseFloat(B)}else{if(!G&&f.test(B)){H=parseInt(B,16)}else{var F=e(B,N,N.pattern[0]),C=F[0],M=F[1];if(C===""&&N.pattern[0]!=="-n"){F=e(B,N,"-n");C=F[0];M=F[1]}C=C||"+";var D,R,E=M.indexOf("e");if(E<0){E=M.indexOf("E")}if(E<0){R=M;D=null}else{R=M.substr(0,E);D=M.substr(E+1)}var Q,T,U=N["."],S=R.indexOf(U);if(S<0){Q=R;T=null}else{Q=R.substr(0,S);T=R.substr(S+U.length)}var P=N[","];Q=Q.split(P).join("");var I=P.replace(/\u00A0/g," ");if(P!==I){Q=Q.split(I).join("")}var J=C+Q;if(T!==null){J+="."+T}if(D!==null){var O=e(D,N,"-n");J+="e"+(O[0]||"+")+O[1]}if(o.test(J)){H=parseFloat(J)}}}return H};x.culture=function(B){if(typeof B!=="undefined"){this.cultureSelector=B}return this.findClosestCulture(B)||this.culture["default"]}}(this));CIV.getType=function(a){if((a)&&(typeof(a)==="object")&&(a.constructor==(new Date).constructor)){return"date"}return typeof a};CIV.canHaveProperties=function(a){return(CIV.getType(a)=="object")&&(a!==null)&&(typeof a!=="undefined")};CIV.Preferences={};CIV.Preferences.ViewModel=CIV.Class.Create(function(a){var b=this;b.timezoneOffset=ko.observable(0);b.culture=ko.observable("en")});CIV.Preferences.Reset=function(){CIV.Preferences.Current=new CIV.Preferences.ViewModel()};CIV.Preferences.Reset();CIV.Format=CIV.Class.Create(function(d){var g=this;var b=function(){return CIV.Preferences.Current.culture()};g.convertUtcToLocal=function(h,j){if(j===undefined){j=CIV.Preferences.Current.timezoneOffset()}j*=60;var i=h;i.setMinutes(i.getMinutes()+i.getTimezoneOffset()+j);return i};g.convertLocalToUtc=function(h,j){if(j===undefined){j=CIV.Preferences.Current.timezoneOffset()}j*=60;var i=h;i.setMinutes(i.getMinutes()-i.getTimezoneOffset()-j);return i};var e=function(h,k){k=$.extend({},{date:true,time:true,offset:undefined},k);var j=new Date(h.getTime());g.convertUtcToLocal(j,k.offset);var i="";if(k.date){i+=Globalize.format(j,"d",b())}if(k.time){if(i!=""){i+=" "}i+=Globalize.format(j,"T",b())}return i};var a=function(i,j){j=$.extend({},{digits:0,prefix:false,currency:false,percentage:false},j);var h="n";if(j.prefix){h="d"}else{if(j.currency){h="c"}else{if(j.percentage){h="p"}}}h+=j.digits;return Globalize.format(i,h,b())};var f=function(h){return Globalize.localize(h,b())||h};g.toString=function(i,h){if(i==null){return null}switch(CIV.getType(i)){case"date":return e(i,h);case"number":return a(i,h);case"string":return f(i,h);default:throw"Invalid type for Format: "+CIV.getType(i)}};g.parseNumber=function(h,i){return Globalize.parseFloat(h,10,b())};g.parseDate=function(h,j){j=j||{};var i=g.convertLocalToUtc(Globalize.parseDate(h,false,b()),j.offset);return i}});CIV.Global.Format=new CIV.Format();Globalize.addCultureInfo("ControlSiteCulture","default",{name:"ControlSiteCulture",englishName:"ControlSiteCulture",nativeName:"ControlSiteCulture",numberFormat:{currency:{pattern:["-$n","$n"],symbol:"$"}},calendars:{standard:{firstDay:1,patterns:{d:"yyyy-MM-dd",D:"yyyy-MMMM-dd",t:"HH:mm",T:"HH:mm:ss.ff",f:"yyyy-MMMM-dd HH:mm",F:"yyyy-MMMM-dd HH:mm:ss",M:"MMMM-dd",Y:"yyyy MMMM"}}},messages:{}});CIV.Preferences.Reset();CIV.Preferences.Current.culture("ControlSiteCulture");
