var _CURRENT_FORM;function initialiseForm(a,b){_CURRENT_FORM=a;if(b){limitValidationErrorsTo(b)}else{clearValidationErrorLimit()}_HAS_HAD_FORM_ERROR=false;clearValidationErrorCache()}function hasHadFormError(){return _HAS_HAD_FORM_ERROR||!_ERROR_CACHE}function findIndexOf(c,a){var b;for(b=0;b<c.length;b++){if(c[b].className.indexOf(a)>-1){return c[b]}}return null}function clearErrorMessage(a){if(a.tagName=="TD"){$$("span.message",a).each(function(b){Element.hide(b)})}else{$$("span.message",a.parentNode).each(function(b){Element.hide(b)})}$$("div.validationError",a.parentNode).each(function(b){Element.removeClassName(b,"validationError")})}function clearAllErrorMessages(){$$("span.message").each(function(a){Element.hide(a)});$$("div.validationError").each(function(a){Element.removeClassName(a,"validationError")})}function require(g,a){el=_CURRENT_FORM.elements[g];if(el==null){var c=_CURRENT_FORM.getElementsByTagName("*");el=$(g);if(el==null){return true}if(Element.hasClassName(el,"optionset")){el.type="optionset";var l=el.getElementsByTagName("input");for(var d=0;d<l.length;d++){if(l[d].checked){if(el.value!=null){el.value+=","+l[d].value}else{el.value=l[d].value}}}}}if(el!=null){if(el.type=="checkbox"||el.type=="radio"){var f=el.checked}else{if(el.type=="select-one"){if(el.value==""||el.value=="0"){var f=""}else{var f=el.value}}else{var f=el.value}}var h;var k=el;if(el.type){if(el.parentNode.className.indexOf("form")!=-1){f=true}h=el}else{if(_CURRENT_FORM.elements[g]){var d,j=false;if(_CURRENT_FORM.elements[g].length>1){for(d=0;d<el.length;d++){if(el[d].checked&&el[d].value){j=true;break}}if(j){f=true}else{f=""}h=el[0].parentNode.parentNode}else{f="";h=el.parentNode}}else{f=true}}if((typeof f=="undefined"||(typeof(f)=="string"&&f.match(/^\s*$/)))){var b=findParentLabel(h);if(b==null||b==""){fieldlabel="this field"}var e=ss.i18n.sprintf(ss.i18n._t("VALIDATOR.FIELDREQUIRED",'Please fill out "%s", it is required.'),b);if(h.requiredErrorMsg){e=h.requiredErrorMsg}else{if(_CURRENT_FORM.requiredErrorMsg){e=_CURRENT_FORM.requiredErrorMsg}}validationError(h,e.replace("$FieldLabel",b),"required",a);return false}else{if(!hasHadFormError()){if(h){k=h.parentNode}clearErrorMessage(k)}return true}}return true}function findParentLabel(b){if(b){if(b.className=="undefined"){return null}else{if(b.className){if(b.className.indexOf("field")==0){d=b.getElementsByTagName("label");if(d){var c=findIndexOf(d,"left");var a=findIndexOf(d,"right");if(c){return strip_tags(c.innerHTML)}else{if(a){return strip_tags(a.innerHTML)}else{return findParentLabel(b.parentNode)}}}}else{if(b.className.indexOf("tablecolumn")!=-1){return b.className.substring(0,b.className.indexOf("tablecolumn")-1)}else{return findParentLabel(b.parentNode)}}}else{if(b.id){var d=$$("label[for="+b.id+"]");if(d&&d.length>0){return d[0].innerHTML}}return findParentLabel(b.parentNode)}}}return"this"}function validationError(g,e,a,d){if(typeof(g)=="string"){g=$(g)}if(d){_ERROR_CACHE[_ERROR_CACHE.length]={field:g,message:e,messageClass:a};return}if(_LIMIT_VALIDATION_ERRORS&&_LIMIT_VALIDATION_ERRORS!=g){return}_HAS_HAD_FORM_ERROR=true;var c=g.validationMessage;if(!c){var h=g.parentNode;var f=h.getElementsByTagName("span");c=findIndexOf(f,"message")}if(!c){c=document.createElement("span");h.appendChild(c)}g.validationMessage=c;c.className="message "+a;c.innerHTML=e;c.style.display="block";var b=document.getParentOfElement(g,"div","field");Element.addClassName(b,"validationError")}var _LIMIT_VALIDATION_ERRORS=null;function limitValidationErrorsTo(a){_LIMIT_VALIDATION_ERRORS=a}function clearValidationErrorLimit(){_LIMIT_VALIDATION_ERRORS=null}function clearValidationErrorCache(){_ERROR_CACHE=new Array()}function showCachedValidationErrors(){for(i=0;i<_ERROR_CACHE.length;i++){validationError(_ERROR_CACHE[i]["field"],_ERROR_CACHE[i]["message"],_ERROR_CACHE[i]["messageClass"],false)}}function strip_tags(a){return a.replace(/<[^>]+>/g,"")};