Event.implement({getCharCode:function(){return(typeof(this.event.charCode)!='undefined')?this.event.charCode:this.event.keyCode},getCharKey:function(){var code=this.getCharCode();return(code==0)?'':String.fromCharCode(code)}});Element.implement({showIframeIE6Fix:function(layer){var that=this;var dim=layer.getCoordinates();if(!layer.iframe){layer.iframe=new IFrame({'id':layer.id+'Iframe','src':'javascript:false;','frameBorder':0,'scrolling':'no','styles':{'border':'0 none','margin':0,'padding':0,'zIndex':999,'visibility':'hidden','display':'none','position':'absolute','filter':'progid:DXImageTransform.Microsoft.Alpha(style=0,opacity=0)'}}).inject(layer,'before')}layer.iframe.set('styles',{'visibility':'visible','display':'block','top':dim.top,'left':dim.left,'width':dim.width,'height':dim.height})}});String.implement({isBlank:function(){return(this.trim()=='')},isAlpha:function(){var re=/^[a-zA-Z_]+$/;return re.test(this)},isAlphanumeric:function(){var re=/^[a-zA-Z0-9_]+$/;return re.test(this)},isNumber:function(){var re=/^[-+]?\d*\.?\d+(?:[eE][-+]?\d+)?$/;return re.test(this)},isEmail:function(){var re=new RegExp('^\\w+((-\\w+)|(\\.\\w+))*\\@[A-Za-z0-9]+((\\.|-)[A-Za-z0-9]+)*\\.[A-Za-z0-9]{2,4}$');return re.test(this)},isEmails:function(){var re=new RegExp('[ ;,]');var emailArr=this.split(re);for(var i=0;i<emailArr.length;i++){if(!emailArr[i].trim().isEmail()){return false}}return true},isWebsite:function(){var re=/(((https?)|(ftp)):\/\/([\-\w]+\.)+\w{2,3}(\/[%\-\w]+(\.\w{2,})?)*(([\w\-\.\?\\\/+@&#;`~=%!]*)(\.\w{2,})?)*\/?)/i;return re.test(this)},isWebsites:function(){var re=new RegExp('[;,]');var websiteArr=this.split(re);for(var i=0;i<websiteArr.length;i++){if(!websiteArr[i].trim().isWebsite()){return false}}return true},isImage:function(){var re=new RegExp('\\.(png|gif|bmp|jpg|jpeg|jpe)$','i');return re.test(this)},isVideo:function(){var re=new RegExp('\\.(avi|wmv)$','i');return re.test(this)},isAudio:function(){var re=new RegExp('\\.(mp3|wma|wav)$','i');return re.test(this)},isPhone:function(){var re=/^\+?1?([- ()\.]{0,3}\d){7,16}( *(x|ext)\.? *(\d{1,10}))?$/;return re.test(this)},isDate:function(format){var re=new RegExp('[.\/-]');var arr=this.split(re);if(arr.length!=3){return false}var y=parseInt(arr[format.indexOf('y')],10);var m=parseInt(arr[format.indexOf('m')],10);var d=parseInt(arr[format.indexOf('d')],10);var date=new Date(y,m-1,d);return(y==date.getFullYear()&&m==date.getMonth()+1&&d==date.getDate())},isCompareDate:function(format,other){var re=new RegExp('[.\/-]');var a1=this.split(re);var y1=parseInt(a1[format.indexOf('y')]);var m1=parseInt(a1[format.indexOf('m')]);var d1=parseInt(a1[format.indexOf('d')]);var a2=other.split(re);var y2=parseInt(a2[format.indexOf('y')]);var m2=parseInt(a2[format.indexOf('m')]);var d2=parseInt(a2[format.indexOf('d')]);if(y2>y1){return 1}else if(y2<y1){return-1}else{if(m2>m1){return 1}else if(m2<m1){return-1}else{if(d2>d1){return 1}else if(d2<d1){return-1}else{return 0}}}},isCreditCard:function(cardname){var cards=new Array({name:"Visa",length:"13,16",prefixes:"4",checkdigit:true},{name:"MasterCard",length:"16",prefixes:"51,52,53,54,55",checkdigit:true},{name:"DinersClub",length:"14,16",prefixes:"300,301,302,303,304,305,36,38,55",checkdigit:true},{name:"CarteBlanche",length:"14",prefixes:"300,301,302,303,304,305,36,38",checkdigit:true},{name:"AmEx",length:"15",prefixes:"34,37",checkdigit:true},{name:"Discover",length:"16",prefixes:"6011,650",checkdigit:true},{name:"JCB",length:"15,16",prefixes:"3,1800,2131",checkdigit:true},{name:"enRoute",length:"15",prefixes:"2014,2149",checkdigit:true},{name:"Solo",length:"16,18,19",prefixes:"6334, 6767",checkdigit:true},{name:"Switch",length:"16,18,19",prefixes:"4903,4905,4911,4936,564182,633110,6333,6759",checkdigit:true},{name:"Maestro",length:"16,18",prefixes:"5020,6",checkdigit:true},{name:"VisaElectron",length:"16",prefixes:"417500,4917,4913",checkdigit:true});var cardnumber=this;var cardType=-1;for(var i=0;i<cards.length;i++){if(cardname.toLowerCase()==cards[i].name.toLowerCase()){cardType=i;break}}if(cardType==-1){return false}if(cardnumber.length==0){return false}var re1=new RegExp("\\s","g");cardnumber=cardnumber.replace(re1,"");var cardNo=cardnumber;var cardexp=new RegExp("^[0-9]{13,19}$");if(!cardexp.exec(cardNo)){return false}if(cards[cardType].checkdigit){var checksum=0;var mychar="";var j=1;var calc;for(i=cardNo.length-1;i>=0;i--){calc=Number(cardNo.charAt(i))*j;if(calc>9){checksum=checksum+1;calc=calc-10}checksum=checksum+calc;if(j==1){j=2}else{j=1}}if(checksum%10!=0){return false}}var LengthValid=false;var PrefixValid=false;var prefix=new Array();var lengths=new Array();prefix=cards[cardType].prefixes.split(",");for(i=0;i<prefix.length;i++){var exp=new RegExp("^"+prefix[i]);if(exp.test(cardNo))PrefixValid=true}if(!PrefixValid){return false}lengths=cards[cardType].length.split(",");for(j=0;j<lengths.length;j++){if(cardNo.length==lengths[j])LengthValid=true}if(!LengthValid){return false};return true}});Element.implement({isVisible:function(){return this.getStyle('display')!='none'},toggle:function(){return this[this.isVisible()?'hide':'show']()},hide:function(){var d;try{d=this.getStyle('display')}catch(e){}this.store('originalDisplay',d||'block');this.setStyle('display','none');return this},show:function(display){original=this.retrieve('originalDisplay')?this.retrieve('originalDisplay'):this.get('originalDisplay');this.setStyle('display',(display||original||'block'));return this},swapClass:function(remove,add){return this.removeClass(remove).addClass(add)}});function $FS(selector,filter){var selectorArray=new Array();var form=filter?$(filter)||$(document.forms[filter]):false;for(var i=0;i<document.forms.length;i++){if(!form||form==document.forms[i]){for(var j=0;j<document.forms[i].elements.length;j++){if(selector==document.forms[i].elements[j].name){selectorArray.push(document.forms[i].elements[j])}}}}return selectorArray}function $F(selector,filter){return $FS(selector,filter)[0]||false}