jsi.widgets;if(!jsi.widgets){jsi.widgets={};}else if(typeof jsi.widgets!="object"){throw new Error("jsi.widgets already exists and is not an object");}
jsi.widgets.DatePicker={popup_div:null,popupObj:null,datePickerObj:null,initialize:function(){this.createDiv();this.datePickerObj=new this.DatePicker(this);},createDiv:function(){this.popup_div=document.createElement('div');this.popup_div.setAttribute('style','display:none; z-index:500');jsi.addListener(this.popup_div,'mousedown',jsi.event.stopEvent);this.popupObj=new this.DivPopupClass(this);},prompt:function(element,time){if(!element.disabled){this.datePickerObj.prompt(element,time);}},updateCalendar:function(year,month){this.datePickerObj.updateCalendar(year,month);},setSelectedDay:function(year,month,day,callingEvent){this.datePickerObj.setSelectedDay(year,month,day,callingEvent);},DivPopupClass:function(scope){jsi.addListener(scope.popup_div,'mousedown',jsi.event.stopEvent);scope.popup_div.appendChild(document.createElement('div'));if(document.all){scope.popup_div.appendChild(document.createElement('iframe'));}
this.setContent=function(content){var c=scope.popup_div.firstChild;c.innerHTML='';c.style.position='absolute';c.style.left='0px';c.style.top='0px';c.style.zIndex='1000';c.style.backgroundColor='#ffffff';c.innerHTML="<div>"+content+"</div>";if(document.all){var iframe_hack=c.nextSibling;iframe_hack.src='/fullcourtweb/html/blank.html';iframe_hack.style.position='absolute';iframe_hack.style.top='0px';iframe_hack.style.left='0px';iframe_hack.style.zIndex='50';}}
this.show=function(obj){var body_width=document.body.offsetWidth;document.body.appendChild(scope.popup_div);scope.popup_div.style.width=scope.popup_div.firstChild.offsetWidth;scope.popup_div.style.position='absolute';scope.popup_div.style.left=jsi.dom.getX(obj)+obj.offsetWidth+20+'px';scope.popup_div.style.top=jsi.dom.getY(obj)+'px';jsi.dom.show(scope.popup_div);scope.popup_div.style.zIndex='60';if(document.all){var iframe_hack=scope.popup_div.firstChild.nextSibling;iframe_hack.style.width=scope.popup_div.firstChild.offsetWidth;iframe_hack.style.height=scope.popup_div.firstChild.offsetHeight;}
var rightEdge=parseInt(scope.popup_div.style.left)+200;if(rightEdge>body_width){var offset=rightEdge-parseInt(body_width);scope.popup_div.style.left=parseInt(scope.popup_div.style.left)-parseInt(offset);}
jsi.addListener(document,'mousedown',this.hide,this,true);}
this.hide=function(){jsi.dom.hide(scope.popup_div);}},DatePicker:function(scope){this.obj;this.writeTime;this.months=new Array('Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec');this.getDaysInMonth=function(iMonth,iYear){var daysInMonth=32-new Date(iYear,iMonth,32).getDate();return daysInMonth;}
this.buildCal=function(iYear,iMonth,iDayStyle){var aMonth=new Array();aMonth[0]=new Array(7);aMonth[1]=new Array(7);aMonth[2]=new Array(7);aMonth[3]=new Array(7);aMonth[4]=new Array(7);aMonth[5]=new Array(7);aMonth[6]=new Array(7);var dCalDate=new Date(iYear,iMonth,1);var iDayOfFirst=dCalDate.getDay();var iDaysInMonth=this.getDaysInMonth(iMonth,iYear);var iVarDate=1;var i,d,w;if(iDayStyle==2){aMonth[0][0]="Sunday";aMonth[0][1]="Monday";aMonth[0][2]="Tuesday";aMonth[0][3]="Wednesday";aMonth[0][4]="Thursday";aMonth[0][5]="Friday";aMonth[0][6]="Saturday";}else if(iDayStyle==1){aMonth[0][0]="Sun";aMonth[0][1]="Mon";aMonth[0][2]="Tue";aMonth[0][3]="Wed";aMonth[0][4]="Thu";aMonth[0][5]="Fri";aMonth[0][6]="Sat";}else{aMonth[0][0]="Su";aMonth[0][1]="Mo";aMonth[0][2]="Tu";aMonth[0][3]="We";aMonth[0][4]="Th";aMonth[0][5]="Fr";aMonth[0][6]="Sa";}
for(d=iDayOfFirst;d<7;d++){aMonth[1][d]=iVarDate;iVarDate++;}
for(w=2;w<7;w++){for(d=0;d<7;d++){if(iVarDate<=iDaysInMonth){aMonth[w][d]=iVarDate;iVarDate++;}}}
return aMonth;}
this.drawCal=function(iYear,iMonth,iCellWidth,iCellHeight,sDateTextSize,sDateTextWeight,iDayStyle){var myMonth;myMonth=this.buildCal(iYear,iMonth,iDayStyle);var cur_date=new Date();var curYear=cur_date.getFullYear();var c_html='';c_html+="<table class=clsOTable border='0' cellspacing='1' style='border: solid 1px #3D4C7A;'>";c_html+="  <tr class='calTopRow' >";c_html+="    <th colspan='7' nowrap >";c_html+="      <span><img src='/fullcourtweb/images/Bttn_PagePrevious.gif' align='absmiddle' width=16 height=16 border=0 alt='previous month' style='cursor:pointer;' onclick='jsi.widgets.DatePicker.updateCalendar(";if((parseInt(iMonth))==0){c_html+=(parseInt(iYear)-1)+", "+(parseInt(11))+")'/></span>";}else{c_html+=(parseInt(iYear))+", "+(parseInt(iMonth)-1)+")'/></span>";}
c_html+="      <select tabindex=900 id='popupCalMonth' name='month' onchange='jsi.widgets.DatePicker.updateCalendar(this.nextSibling.nextSibling.value, this.value)' style='visibility:inherit;' >";for(var i=0;i<12;i++){c_html+="     <option value='"+(i)+"'";if(iMonth==i)c_html+=" selected='selected'";c_html+=">"+this.months[i]+"</option>";}
c_html+="      </select>";c_html+="      <select tabindex=901 name='year' onchange='jsi.widgets.DatePicker.updateCalendar(this.value, this.previousSibling.previousSibling.value)' style='visibility:inherit;' >";for(var i=100;i>0;i--){c_html+="        <option value='"+(curYear-i)+"'";if(iYear==(curYear-i)){c_html+="selected='selected'";}c_html+=" >"+(curYear-i)+"</option>";}
c_html+="        <option value='"+(curYear)+"' ";if(iYear==curYear){c_html+="selected='selected'";}c_html+=" >"+curYear+"</option>";for(var i=1;i<6;i++){c_html+="        <option value='"+(curYear+i)+"'";if(iYear==(curYear+i)){c_html+="selected='selected'";}c_html+=" >"+(curYear+i)+"</option>";}
c_html+="      </select>";c_html+="      <span><img src='/fullcourtweb/images/Bttn_PageNext.gif' align='absmiddle' width=16 height=16 border=0 alt='next month' style='cursor:pointer;' onclick='jsi.widgets.DatePicker.updateCalendar(";if((parseInt(iMonth)+1)==12){c_html+=(parseInt(iYear)+1)+", "+(parseInt(0))+")'/></span>";}else{c_html+=(parseInt(iYear))+", "+(parseInt(iMonth)+1)+")'/></span>";}
c_html+="    </th>\n";c_html+="  </tr>";c_html+="  <tr>";c_html+="    <th class='calHeader'>"+myMonth[0][0]+"</th>";c_html+="    <th class='calHeader'>"+myMonth[0][1]+"</th>";c_html+="    <th class='calHeader'>"+myMonth[0][2]+"</th>";c_html+="    <th class='calHeader'>"+myMonth[0][3]+"</th>";c_html+="    <th class='calHeader'>"+myMonth[0][4]+"</th>";c_html+="    <th class='calHeader'>"+myMonth[0][5]+"</th>";c_html+="    <th class='calHeader'>"+myMonth[0][6]+"</th>";c_html+="  </tr>\n";for(w=1;w<7;w++){c_html+="  <tr>";for(d=0;d<7;d++){if(!isNaN(myMonth[w][d])){c_html+="    <td tabindex=902 onmouseover=\"this.className='hoverDay'\" onfocus=\"this.className='hoverDay'\"\n";c_html+="      onmouseout=\"this.className='";if(d==0||d==6){c_html+="weekEnd";}else{if(iYear==cur_date.getFullYear()&&iMonth==cur_date.getMonth()&&myMonth[w][d]==cur_date.getDate())c_html+="currentDay";else c_html+="weekDay";}
c_html+="'\" ";c_html+="      onblur=\"this.className='";if(d==0||d==6){c_html+="weekEnd";}else{if(iYear==cur_date.getFullYear()&&iMonth==cur_date.getMonth()&&myMonth[w][d]==cur_date.getDate())c_html+="currentDay";else c_html+="weekDay";}
c_html+="'\"";if(d==0||d==6){c_html+=" class=weekEnd ";}else{if(iYear==cur_date.getFullYear()&&iMonth==cur_date.getMonth()&&myMonth[w][d]==cur_date.getDate())c_html+=" class=currentDay ";else c_html+=" class=weekDay ";}
c_html+="      onclick='jsi.widgets.DatePicker.setSelectedDay("+iYear+","+iMonth+","+myMonth[w][d]+", event)' ";c_html+="      onkeydown='jsi.widgets.DatePicker.setSelectedDay("+iYear+","+iMonth+","+myMonth[w][d]+", event)'>\n";c_html+=myMonth[w][d];c_html+="    </td>";}else{c_html+="<td></td>";}}
c_html+="  </tr>\n";}
c_html+="</table>";return c_html;}
this.prompt=function(obj,writeTime){this.obj=obj;this.writeTime=writeTime;cur_date=new Date();scope.popupObj.setContent(this.drawCal(cur_date.getFullYear(),cur_date.getMonth()));scope.popupObj.show(obj);jsi.byId('popupCalMonth').focus();}
this.updateCalendar=function(iYear,iMonth){scope.popupObj.setContent(this.drawCal(iYear,iMonth));iFrameObj=scope.popup_div.firstChild.nextSibling;if(iFrameObj){iFrameObj.style.width=scope.popup_div.firstChild.offsetWidth;iFrameObj.style.height=scope.popup_div.firstChild.offsetHeight;}
jsi.byId('popupCalMonth').focus();}
this.setSelectedDay=function(iYear,iMonth,iDay,callingEvent){if((callingEvent.type=='click')||(callingEvent.type=='keydown'&&(9!=callingEvent.keyCode))){iMonth=(iMonth+1);var monthStr=iMonth;var dayStr=iDay;if(iMonth<10)monthStr='0'+iMonth;if(iDay<10)dayStr='0'+iDay;var dateStr=monthStr+'/'+dayStr+'/'+iYear;if(this.writeTime==true){dateStr+=' 12:00 AM';}
this.obj.value=dateStr;if(this.obj.onchange){this.obj.onchange();}
scope.popupObj.hide();this.obj.focus();}}
this.toggleColor=function(myTd){if(myTd.style.color=="red"){myTd.style.color="black";}else{myTd.style.color="red";}}
this.addStyle=function(){var myStyle=document.createElement('style');myStyle.innerHTML=c_html;document.appendChild(myStyle);}}}
jsi.addOnLoad(jsi.widgets.DatePicker.initialize,jsi.widgets.DatePicker,true);jsi.widgets.PanelFactory={panels:[],panelsCreatedEvent:new jsi.event.CustomEvent("panelsCreated"),initialize:function(){var panelDivs=YAHOO.util.Dom.getElementsByClassName('jsi-panel','div',document.body);for(var idx in panelDivs){var id=panelDivs[idx].id;var config={width:panelDivs[idx].getAttribute('width'),visible:panelDivs[idx].getAttribute('visible'),close:panelDivs[idx].getAttribute('close'),draggable:panelDivs[idx].getAttribute('draggable'),modal:panelDivs[idx].getAttribute('modal'),opener:panelDivs[idx].getAttribute('opener')};this.panels[id]=this.createPanel(id,config);}
this.panelsCreatedEvent.fire();this.preloadImages();},createPanel:function(id,config){var panel=new YAHOO.widget.Panel(id,{width:config.width!=null?config.width+'px':'300px',fixedcenter:true,constraintoviewport:true,underlay:"none",close:config.close!=null?jsi.string.toBoolean(config.close):true,visible:config.visible!=null?jsi.string.toBoolean(config.visible):false,draggable:config.draggable!=null?jsi.string.toBoolean(config.draggable):true,modal:config.modal!=null?jsi.string.toBoolean(config.modal):true});panel.beforeShowEvent.subscribe(function(){var el=new YAHOO.util.Element(this.innerElement.id).setStyle('display','block');});panel.hideEvent.subscribe(function(){var el=new YAHOO.util.Element(this.innerElement.id).setStyle('display','none');});if(config.opener){jsi.addListener(config.opener,'click',function(){jsi.event.stopEvent(jsi.event.getEvent());this.show();},panel,true);}
var footers=YAHOO.util.Dom.getElementsByClassName('ft','div',panel.innerElement);var footerElement=null;for(var idx in footers){if(footers[idx].parentNode==panel.innerElement){footerElement=footers[idx];break;}}
var closeButtons=YAHOO.util.Dom.getElementsByClassName('jsi-panel-closer','*',footerElement);jsi.addListener(closeButtons,'click',function(){jsi.event.stopEvent(jsi.event.getEvent());this.hide();},panel,true);panel.render(jsi.byId('pageContents'));return panel;},byId:function(id){return this.panels[id];},closeOpenPanels:function(){for(var idx in this.panels){if(jsi.dom.isVisible(idx)){this.panels[idx].hide();}}},preloadImages:function(){var img1=new Image();var img2=new Image();}}
jsi.addOnLoad(jsi.widgets.PanelFactory.initialize,jsi.widgets.PanelFactory,true);jsi.widgets;if(!jsi.widgets){jsi.widgets={};}else if(typeof jsi.widgets!="object"){throw new Error("jsi.widgets already exists and is not an object");}
jsi.widgets.editmask;if(!jsi.widgets.editmask){jsi.widgets.editmask={};}else if(typeof jsi.widgets.editmask!="object"){throw new Error("jsi.widgets.editmask already exists and is not an object");}
jsi.widgets.editmask.PositionalMask=function(elementId){this.elementId=elementId;this.values=[];this.customKeyFunctions=[];jsi.addOnLoad(this.initialize,this,true);}
jsi.widgets.editmask.PositionalMask.prototype={elementId:null,keyPressed:null,currentPosition:null,emptyValue:null,passThroughKeys:['right','left','home','end','tab'],values:null,customKeyFunctions:null,initialize:function(){this.setPositionValues();jsi.addListener(this.elementId,'keydown',this.keydown,this,true);},keydown:function(e){this.currentPosition=jsi.dom.getCursorPosition(this.elementId);this.keyPressed=jsi.event.getKeyCode(e);if(this.values[this.currentPosition]!=null){this.processPosition(e);}else{jsi.event.stopEvent(e);}
this.handleOnChange();},handleOnChange:function(){var element=jsi.byId(this.elementId);if(element.getAttribute('onchange')){var onChangeFnc=element.getAttribute('onchange');if(onChangeFnc instanceof Function){onChangeFnc();}else{eval(onChangeFnc);}}},processPosition:function(e){var currentValue=jsi.dom.getValue(this.elementId);var newValue=jsi.event.KeyCodeMap[this.keyPressed];if(newValue!=null){if(this.customKeyFunctions[newValue]){this.customKeyFunctions[newValue].call(this);}else{var match=newValue.match(this.values[this.currentPosition].expression);if(match!=null&&match!=''){jsi.dom.insertAt(this.elementId,newValue.toUpperCase(),this.currentPosition);jsi.event.stopEvent(e);jsi.dom.setCursorPosition(this.elementId,this.currentPosition+1);}else if(this.values[this.currentPosition].acceptAdditionalPosition){jsi.dom.insertAt(this.elementId,this.values[this.currentPosition].blank,this.currentPosition);this.currentPosition=this.values[this.currentPosition].acceptAdditionalPosition;this.processPosition(e);}else{jsi.event.stopEvent(e);}}}else if(jsi.event.KeyCodeFunctionKeys[this.keyPressed]=='backspace'){positionObj=jsi.dom.getCursorPosition(this.elementId,true);if(positionObj.end!=0){var end=positionObj.start==positionObj.end?positionObj.end:positionObj.end-1;for(var i=positionObj.start;i<=end;i++){if(!this.emptyValue){if(positionObj.start==positionObj.end){jsi.dom.insertAt(this.elementId,'',positionObj.start-1);}else{jsi.dom.insertAt(this.elementId,'',positionObj.start);}}else{if(positionObj.start==positionObj.end&&i!=0){jsi.dom.insertAt(this.elementId,this.values[i-1].blank,i-1);}else{jsi.dom.insertAt(this.elementId,this.values[i].blank,i);}}}
jsi.event.stopEvent(e);if(positionObj.start==positionObj.end){jsi.dom.setCursorPosition(this.elementId,positionObj.start-1);}else{jsi.dom.setCursorPosition(this.elementId,positionObj.start);}}}else if(jsi.event.KeyCodeFunctionKeys[this.keyPressed]=='delete'){positionObj=jsi.dom.getCursorPosition(this.elementId,true);if(positionObj.start!=currentValue.length)
var end=positionObj.start==positionObj.end?positionObj.end:positionObj.end-1;for(var i=positionObj.start;i<=end;i++){if(!this.emptyValue){jsi.dom.insertAt(this.elementId,'',positionObj.start);}else{jsi.dom.insertAt(this.elementId,this.values[i].blank,i);}}
jsi.event.stopEvent(e);if(!this.emptyValue){jsi.dom.setCursorPosition(this.elementId,positionObj.start);}else{if(positionObj.start!=positionObj.end){jsi.dom.setCursorPosition(this.elementId,positionObj.start);}else{jsi.dom.setCursorPosition(this.elementId,positionObj.start+1);}}}else if(!jsi.array.contains(this.passThroughKeys,jsi.event.KeyCodeFunctionKeys[this.keyPressed])){jsi.event.stopEvent(e);}},registerKey:function(key,fnc){this.customKeyFunctions[key]=fnc;}}
jsi.widgets.editmask.DateTime=function(elementId,showDate,showTime){jsi.widgets.editmask.DateTime.superclass.constructor.call(this,elementId);this.showDate=showDate;this.showTime=showTime;this.registerKey('=',this.setDblClickDate);}
jsi.extend(jsi.widgets.editmask.DateTime,jsi.widgets.editmask.PositionalMask);jsi.widgets.editmask.DateTime.prototype.showDate=false;jsi.widgets.editmask.DateTime.prototype.showTime=false;jsi.widgets.editmask.DateTime.prototype.emptyTime='00:00 AM';jsi.widgets.editmask.DateTime.prototype.defaultTime='12:00 AM';jsi.widgets.editmask.DateTime.prototype.emptyDate='00/00/0000';jsi.widgets.editmask.DateTime.prototype.initialize=function(){jsi.widgets.editmask.DateTime.superclass.initialize.call(this);var form=jsi.dom.getForm(this.elementId);jsi.addListener(form,'submit',this.clearEmptyDate,this,true);jsi.addListener(this.elementId,'dblclick',this.setDblClickDate,this,true);jsi.addListener(this.elementId,'blur',this.blur,this,true);this.resetInitialFocus();}
jsi.widgets.editmask.DateTime.prototype.resetInitialFocus=function(){if(jsi.dom.isEmpty(this.elementId)){jsi.dom.setValue(this.elementId,this.emptyValue);if(jsi.byId(this.elementId).getAttribute('tabIndex')==1||jsi.byId(this.elementId).getAttribute('tabindex')==1){jsi.dom.setCursorPosition(this.elementId,0);}}}
jsi.widgets.editmask.DateTime.prototype.blur=function(){if(this.showTime&&this.showDate){var dateTime=jsi.dom.getValue(this.elementId).split(' ');if(dateTime[0]!=this.emptyDate&&(dateTime[1]+' '+dateTime[2])==this.emptyTime){jsi.dom.setValue(this.elementId,dateTime[0]+' '+this.defaultTime);}}}
jsi.widgets.editmask.DateTime.prototype.setPositionValues=function(){if(this.showDate==true&&this.showTime==true){this.setDateValues(0);this.values[10]={blank:' ',expression:/[\s]/,acceptAdditionalPosition:11};this.setTimeValues(11);this.values[19]={end:true};this.emptyValue=this.emptyDate+' '+this.emptyTime;}else if(this.showDate==true&&this.showTime==false){this.setDateValues(0);this.values[10]={end:true};this.emptyValue=this.emptyDate;}else if(this.showTime==true&&this.showDate==false){this.setTimeValues(0);this.values[8]={end:true};this.emptyValue=this.emptyTime;}}
jsi.widgets.editmask.DateTime.prototype.clearEmptyDate=function(){if(jsi.dom.getValue(this.elementId)==this.emptyValue){jsi.dom.setValue(this.elementId,'');}}
jsi.widgets.editmask.DateTime.prototype.setDateValues=function(start){this.values[start]={blank:'0',expression:/[01]/};this.values[start+1]={blank:'0',expression:/[0-9]/};this.values[start+2]={blank:'/',expression:/[\/]/,acceptAdditionalPosition:start+3};this.values[start+3]={blank:'0',expression:/[0123]/};this.values[start+4]={blank:'0',expression:/[0-9]/};this.values[start+5]={blank:'/',expression:/[\/]/,acceptAdditionalPosition:start+6};this.values[start+6]={blank:'0',expression:/[0-9]/};this.values[start+7]={blank:'0',expression:/[0-9]/};this.values[start+8]={blank:'0',expression:/[0-9]/};this.values[start+9]={blank:'0',expression:/[0-9]/};}
jsi.widgets.editmask.DateTime.prototype.setTimeValues=function(start){this.values[start]={blank:'0',expression:/[012]/};this.values[start+1]={blank:'0',expression:/[0-9]/};this.values[start+2]={blank:':',expression:/:/,acceptAdditionalPosition:start+3};this.values[start+3]={blank:'0',expression:/[012345]/};this.values[start+4]={blank:'0',expression:/[0-9]/};this.values[start+5]={blank:' ',expression:/[\s]/,acceptAdditionalPosition:start+6};this.values[start+6]={blank:'A',expression:/[ap]/};this.values[start+7]={blank:'M',expression:/[m]/};}
jsi.widgets.editmask.DateTime.prototype.setDblClickDate=function(){var newValue='';if(this.showDate==true){var date=new Date();if(this.futureDays!=null){var date=new Date(date.getFullYear(),date.getMonth(),date.getDate()+this.futureDays);}
var day=date.getDate();var month=date.getMonth()+1;var year=date.getFullYear()
if(day<=9){day='0'+day;}
if(month<=9){month='0'+month;}
var newDateValue=month+"/"+day+"/"+year;}
if(this.showTime==true){var newTimeValue='';if(this.futureTime!=null){newTimeValue=this.futureTime;}else{newTimeValue=this.defaultTime;}}
if(this.showDate==true&&this.showTime==true){jsi.dom.setValue(this.elementId,newDateValue+' '+newTimeValue);}else if(this.showDate==true&&this.showTime==false){jsi.dom.setValue(this.elementId,newDateValue);}else if(this.showTime==true&&this.showDate==false){jsi.dom.setValue(this.elementId,newTimeValue);}
jsi.dom.setCursorPosition(this.elementId,this.currentPosition);}
jsi.widgets.editmask.DateTime.prototype.setTime=function(time){var splitTime=time.split(':');var hours=splitTime[0];var mins=splitTime[1].split(' ')[0];var ampm=splitTime[1].split(' ')[1];if(hours.length==1){hours='0'+hours;}
this.futureTime=hours+':'+mins+' '+ampm;}
jsi.widgets.editmask.BasicMask=function(elementId){this.elementId=elementId;jsi.addOnLoad(this.initialize,this,true);this.fillinValues=[];}
jsi.widgets.editmask.BasicMask.prototype={elementId:null,ignoreKeys:['right','left','home','end','tab','delete','backspace','return'],validKeys:null,fillinValues:null,initialize:function(){if(this.setFillinValues){this.setFillinValues();}
this.registerEvents();},registerEvents:function(){jsi.addListener(this.elementId,'keydown',this.format,this,true);},clearEvents:function(){jsi.event.clearListeners(this.elementId);},format:function(e){var keyCode=jsi.event.getKeyCode(e);if(!jsi.array.contains(this.ignoreKeys,jsi.event.KeyCodeFunctionKeys[keyCode])){var newValue=jsi.event.KeyCodeMap[keyCode];if(newValue!=null){var match=newValue.match(this.validKeys);if(match!=null&&match!=''){var fieldValue=jsi.byId(this.elementId).value;if(this.fillinValues[fieldValue.length]){jsi.dom.setValue(this.elementId,fieldValue+this.fillinValues[fieldValue.length]);}
if(this.validPattern){this.checkPattern(e,newValue);}}else{jsi.event.stopEvent(e);}}else{jsi.event.stopEvent(e);}}},checkPattern:function(e,newKey){var currentPosition=jsi.dom.getCursorPosition(this.elementId);var currentValue=jsi.dom.getValue(this.elementId);var firstPart='';var lastPart='';if(currentValue){firstPart=currentValue.substr(0,currentPosition);lastPart=currentValue.substr(currentPosition+1,currentValue.length);}
var newValue=firstPart+newKey+lastPart;var match=newValue.match(this.validPattern);if(!match){jsi.event.stopEvent(e);}}}
jsi.widgets.editmask.Currency=function(elementId,allowEmpty,maxAmount){this.allowEmpty=allowEmpty;this.maxAmount=maxAmount;jsi.widgets.editmask.Currency.superclass.constructor.call(this,elementId);}
jsi.extend(jsi.widgets.editmask.Currency,jsi.widgets.editmask.BasicMask);jsi.widgets.editmask.Currency.prototype.allowEmpty=false;jsi.widgets.editmask.Currency.prototype.maxAmount=null;jsi.widgets.editmask.Currency.prototype.validKeys=/[-\d\.]/;jsi.widgets.editmask.Currency.prototype.validPattern=/^-{0,1}\d*\.{0,1}\d{0,2}$/;jsi.widgets.editmask.Currency.prototype.initialize=function(){jsi.widgets.editmask.Currency.superclass.initialize.call(this);jsi.addListener(this.elementId,'blur',this.blurFunction,this,true);jsi.addListener(this.elementId,'focus',function(){jsi.byId(this.elementId).select();},this,true);}
jsi.widgets.editmask.Currency.prototype.blurFunction=function(){if(this.maxAmount&&jsi.dom.getAmount(this.elementId)>this.maxAmount){jsi.dom.setAmount(this.elementId,this.maxAmount);}
if(!this.allowEmpty||this.allowEmpty&&!jsi.dom.isEmpty(this.elementId)){jsi.dom.setAmount(this.elementId,jsi.dom.getAmount(this.elementId));}}
jsi.widgets.editmask.PhoneNumber=function(elementId){jsi.widgets.editmask.PhoneNumber.superclass.constructor.call(this,elementId);}
jsi.extend(jsi.widgets.editmask.PhoneNumber,jsi.widgets.editmask.PositionalMask);jsi.widgets.editmask.PhoneNumber.prototype.setPositionValues=function(){this.values[0]={blank:'(',expression:/[(]/,acceptAdditionalPosition:1};this.values[1]={blank:'',expression:/[\d]/};this.values[2]={blank:'',expression:/[\d]/};this.values[3]={blank:'',expression:/[\d]/};this.values[4]={blank:')',expression:/[)]/,acceptAdditionalPosition:5};this.values[5]={blank:' ',expression:/[\s]/,acceptAdditionalPosition:6};this.values[6]={blank:'',expression:/[\d]/};this.values[7]={blank:'',expression:/[\d]/};this.values[8]={blank:'',expression:/[\d]/};this.values[9]={blank:'-',expression:/[-]/,acceptAdditionalPosition:10};this.values[10]={blank:'',expression:/[\d]/};this.values[11]={blank:'',expression:/[\d]/};this.values[12]={blank:'',expression:/[\d]/};this.values[13]={blank:'',expression:/[\d]/};this.values[14]={end:true};}
jsi.widgets.editmask.SSN=function(elementId){jsi.widgets.editmask.SSN.superclass.constructor.call(this,elementId);}
jsi.extend(jsi.widgets.editmask.SSN,jsi.widgets.editmask.PositionalMask);jsi.widgets.editmask.SSN.prototype.setPositionValues=function(){this.values[0]={blank:'',expression:/[\d]/};this.values[1]={blank:'',expression:/[\d]/};this.values[2]={blank:'',expression:/[\d]/};this.values[3]={blank:'-',expression:/[-]/,acceptAdditionalPosition:4};this.values[4]={blank:'',expression:/[\d]/};this.values[5]={blank:'',expression:/[\d]/};this.values[6]={blank:'-',expression:/[-]/,acceptAdditionalPosition:7};this.values[7]={blank:'',expression:/[\d]/};this.values[8]={blank:'',expression:/[\d]/};this.values[9]={blank:'',expression:/[\d]/};this.values[10]={blank:'',expression:/[\d]/};this.values[11]={end:true};}