IX.module({name:"IX.ClassRules.formBasic",mainClass:"IX.ClassRules.formBasic",version:"$Revision: 1.13 $",build:1,run:function(){var C=YAHOO;var A=IX.Form;var B=IX.JSClassParser;A.VLDN_MSG.validate_group_min="Please specify at least {num}";A.VLDN_MSG.validate_group_max="Please specify no more than {num}";IX.ClassRules.formBasic={js_initial_focus:{onload:function(E,D){IX.Form.focus(this)}},js_focus_class:{preload:function(E,D){if(D.length){IX.Dom.setCustomAtt(this,"focus.className",D[0]);if(D[1]){IX.Dom.setCustomAtt(this,"focus.replaceClassName",D[1])}}A.addFocusClassHandlers(this)}},js_placeholder:{onload:function(E,D){if(D.length){if(this.value===decodeURIComponent(D[0])){this.value=""}A.setPlaceholder(this,D[0])}},onfocus:function(){A.clearPlaceholder(this)},postblur:function(){A.setPlaceholder(this)},postformsubmit:function(D){A.clearPlaceholder(this);return true}},js_placeholder_class:{preload:function(E,D){if(D.length){IX.Dom.setCustomAtt(this,"placeholder.className",D[0]);if(D[1]){IX.Dom.setCustomAtt(this,"placeholder.replaceClassName",D[1])}}}},js_invalid_class:{onload:function(E,D){if(D.length){IX.Dom.setCustomAtt(this,"invalidInput.className",D[0]);if(D[1]){IX.Dom.setCustomAtt(this,"invalidInput.replaceClassName",D[1])}}}},js_invalid_notify:{onload:function(E,D){if(D.length){if(D[0].match(/alert/)){IX.Dom.setCustomAtt(this,"invalidInput.notifyMethod","alert")}else{if(D[0]==="inpage"){IX.Dom.setCustomAtt(this,"invalidInput.notifyMethod","inpage")}}}}},js_validate_integer:{"onblur, onformsubmit":function(E,D){return A.validateInt(this,D[0])}},js_validate_postcode:{"onblur,onformsubmit":function(E,D){return A.validatePostcode(this,D[0])}},js_validate_phone:{"onblur,onformsubmit":function(E,D){return A.validatePhone(this,D[0])}},js_validate_email:{"onblur,onformsubmit":function(E,D){return A.validateEmail(this,D[0])}},js_validate_url:{"onblur,onformsubmit":function(E,D){if(this.value==="http://"){this.value=""}return A.validateURL(this,D[0])},onfocus:function(){if(A.isEmpty(this)){this.value="http://"}}},js_validate_mandatory:{onformsubmit:function(E,D){return A.validateMandatory(this,D[0]||null)}},js_validate_mandatory_if:{onformsubmit:function(F,D){if(D.length>1){var E=function(){return(C.util.Dom.get(D[0])&&(D[1]==""&&!A.isEmpty(D[0]))||(D[1]!=""&&A.getFieldContent(D[0])==decodeURIComponent(D[1])))};return A.validateMandatory(this,D[2]||null,E)}}},js_validate_empty_group:{onload:function(E,D){if(D.length){var F=A.group(D[0]);F.add(this)}},onformsubmit:function(E,D){if(D.length&&A.group(D[0]).isEmpty()){return A.notifyInvalidInput(this,D[1]||A._getMsg("validate_mandatory"))}}},js_validate_group_min:{onload:function(E,D){IX.ClassRules.formBasic.js_validate_empty_group.onload.call(this,E,D)},onformsubmit:function(E,D){if(D.length>=2){var F=A.group(D[0]).numFilled();if(D[1]&&F<D[1]){return A.notifyInvalidInput(this,D[2]||A._getMsg("validate_group_min",{num:D[1]}))}}}},js_validate_group_max:{onload:function(E,D){IX.ClassRules.formBasic.js_validate_empty_group.onload.call(this,E,D)},onformsubmit:function(E,D){if(D.length>=2){var F=A.group(D[0]).numFilled();if(D[1]&&F>D[1]){return A.notifyInvalidInput(this,D[2]||A._getMsg("validate_group_max",{num:D[1]}))}}}},js_validate_empty_form:{onformsubmit:function(E,D){return A.validateEmptyForm(this,D[0])}},js_validate_length:{"onblur,onformsubmit":function(E,D){if(D.length){return A.validateLength(this,D[0],D[1])}}},js_validate_confirm:{onformsubmit:function(E,D){if(D.length){return A.validateConfirm(this,D[0],D[1])}return true}},js_validate_date:{"onblur,onformsubmit":function(E,D){return A.validateDate(this,D[0])}},js_validate_time:{"onblur,onformsubmit":function(E,D){return A.validateTime(this,D[0])}},js_validate_datetime:{"onblur,onformsubmit":function(E,D){return A.validateDateTime(this,D[0])}},js_validate_date_before:{"onblur,onformsubmit":function(E,D){return A.validateDateBefore(this,D[0]||null,D[1]||null)}},js_validate_date_after:{"onblur,onformsubmit":function(E,D){return A.validateDateAfter(this,D[0]||null,D[1]||null)}},js_validate_date_within_next:{"onblur,onformsubmit":function(E,D){if(D.length>1){return A.validateDateWithinNext(this,D[0],D[1],D[2])}}},js_pick_date_for:{onclick:function(E,D){if(!C.util.Dom.hasClass(this,"js_calendar")){if(D[0]){A.pickDateFor(D[0])}C.util.Event.preventDefault(E)}}},js_calendar:{onload:function(D){var F,E=B.getArgs(this,"js_pick_date_for");if(E.length){F=new A.DatePicker(this,E[0])}else{F=new IX.Calendar(this)}F.render()}},js_validate_cc_number:{require:"IX.CreditCard","onblur,onformsubmit":function(E,D){return IX.CreditCard.validateNumber(this,D[0])}},js_validate_cc_expiry:{require:"IX.CreditCard",onformsubmit:function(E,D){return IX.CreditCard.validateExpiry(this,D[0],D[1])}},js_set_cc_type:{require:"IX.CreditCard",onblur:function(E,D){if(D.length&&!A.isEmpty(this)){A.setFieldContent(D[0],IX.CreditCard.getType(A.getFieldContent(this)))}}},js_toggle_field_disabled:{onclick:function(F,D){var E=IX.Form.getFormFields(D[0])[0].disabled;IX.Form.setDisabled(D,!E);if(this.tagName.toLowerCase()=="a"){YE.preventDefault(F)}}},js_field_disable:{onclick:function(E,D){IX.Form.setDisabled(D,true);if(this.tagName.toLowerCase()=="a"){YE.preventDefault(E)}}},js_field_enable:{onclick:function(E,D){IX.Form.setDisabled(D,false);if(this.tagName.toLowerCase()=="a"){YE.preventDefault(E)}}},js_auto_field_disable:{onload:function(E,D){IX.Form.setDisabled(D,true)}},js_uppercase:{"onblur,onformsubmit":function(){this.value=this.value.toUpperCase()}},js_lowercase:{"onblur,onformsubmit":function(){this.value=this.value.toLowerCase()}},js_ucfirst:{"onblur,onformsubmit":function(){if(!A.isEmpty(this)){this.value=IX.Lang.ucFirst(this.value)}}},js_ucwordfirst:{"onblur,onformsubmit":function(){if(!A.isEmpty(this)){this.value=IX.Lang.ucWord(this.value)}}},js_trim_whitespace:{onload:function(){if(this.tagName.toLowerCase()==="form"){C.util.Event.addListener(this.getElementsByTagName("input"),"blur",function(){A.trim(this)})}},onformsubmit:function(){if(this.tagName.toLowerCase()==="form"){A.trim(this.getElementsByTagName("input"))}else{A.trim(this)}},onblur:function(){if(this.tagName.toLowerCase()!=="form"){A.trim(this)}}},js_submit_on_enter:{onkeypress:function(D){return A.submitOnEnterHandler(this,C.util.Event.getEvent(D))}},js_validate_clear:{postformsubmit:function(D){A.addMultiSelectDeleteFields(this)}},js_fix_iso_date:{preload:function(){A.toAusStandardDate(this)},postformsubmit:function(){if(this.tagName.toLowerCase()==="input"){A.toISODate(this)}}}};B.addRules(IX.ClassRules.formBasic)}});