
Element.addMethods({eachElement:function(element,iterator){element=$(element);element.cleanWhitespace();$A(element.childNodes).each(iterator);}});if(typeof(Xaprb)==='undefined'){Xaprb=new Object();}
Xaprb.InputMask={masks:{date_iso:{format:'    -  -  ',regex:/\d/},date_us:{format:'  /  /    ',regex:/\d/},time:{format:'  :  :  ',regex:/\d/},phone:{format:'(   )   -    ',regex:/\d/},phone_au:{format:'~~ ~~~~ ~~~~',regex:/\d/},phone_nz:{format:'~~ ~~~ ~~~~',regex:/\d/},phone_nzcell:{format:'~~ ~~~ ~~~~~',regex:/\d/},ssn:{format:'   -  -    ',regex:/\d/},visa:{format:'    -    -    -    ',regex:/\d/}},setupElementMasks:function()
{if(document.getElementsByClassName)
{var hColl=document.getElementsByClassName('input_mask');for(var i=0,node;node=hColl[i++];)
{Event.observe(node,'keypress',Xaprb.InputMask.applyMask.bindAsEventListener(node),true);}}},applyMask:function(event){var match=/mask_(\w+)/.exec(this.className);if(match.length==2&&Xaprb.InputMask.masks[match[1]]){var mask=Xaprb.InputMask.masks[match[1]];var key=Xaprb.InputMask.getKey(event);if(Xaprb.InputMask.isPrintable(key)){var ch=String.fromCharCode(key);var str=this.value+ch;var pos=str.length;if(mask.regex.test(ch)&&pos<=mask.format.length){if(mask.format.charAt(pos-1)!='~'){str=this.value+mask.format.charAt(pos-1)+ch;}
this.value=str;}
Event.stop(event);}}},isPrintable:function(key){return(key>=32&&key<127);},getKey:function(e){return window.event?window.event.keyCode:e?e.which:0;}};