function xGetElementById(b){var a=YAHOO.util.Dom;return a.get(b)}function findParentTag(b,a){a=a.toUpperCase();while(b.parentNode&&b.tagName.toUpperCase()!="BODY"){if(b.parentNode.tagName.toUpperCase()==a){return b.parentNode}b=b.parentNode}return null}String.prototype.trim=function(){return this.replace(/^\s*|\s*$/g,"")};String.prototype.ltrim=function(){return this.replace(/^\s*/g,"")};String.prototype.rtrim=function(){return this.replace(/\s*$/g,"")};function FIC_checkForm(j){var k=new Array();var g=true;if(typeof(j)=="string"){j=xGetElementById(j);if(!j){return true}}var f=j;if(!j.nodeName){f=(j.srcElement)?j.srcElement:j.target}if(f.nodeName.toLowerCase()!="form"){f=findParentTag(f,"form")}var b=f.getElementsByTagName("input");var o=f.getElementsByTagName("select");var n=f.getElementsByTagName("textarea");for(i=0;i<b.length;i++){if(b[i].type.toLowerCase()!="submit"&&b[i].type.toLowerCase()!="button"&&b[i].type.toLowerCase()!="hidden"){if(isVisible(b[i])){var m=" "+b[i].className.replace(/^\s*|\s*$/g,"")+" ";m=m.toLowerCase();var h=b[i].value.trim();var p=b[i].type.toLowerCase();var d="";if(p=="text"||p=="password"){var c=FIC_checkField(m,b[i])}else{if(p=="radio"||p=="checkbox"){var c=FIC_checkRadCbx(m,b[i],b);d="-cr"}else{var c=true}}if(c){if(p=="radio"||p=="checkbox"){var a=findParentTag(b[i],"label");if(a){removeClassName(a,"validation-failed");addClassName(a,"validation-passed")}}removeClassName(b[i],"validation-failed"+d);addClassName(b[i],"validation-passed"+d)}else{if(p=="radio"||p=="checkbox"){var a=findParentTag(b[i],"label");if(a){removeClassName(a,"validation-passed");addClassName(a,"validation-failed")}}removeClassName(b[i],"validation-passed"+d);addClassName(b[i],"validation-failed"+d);if(b[i].getAttribute("title")){k[k.length]=b[i].getAttribute("title")}g=false}}}}for(i=0;i<n.length;i++){if(isVisible(n[i])){var m=" "+n[i].className.replace(/^\s*|\s*$/g,"")+" ";m=m.toLowerCase();var c=FIC_checkField(m,n[i]);if(c){removeClassName(n[i],"validation-failed");addClassName(n[i],"validation-passed")}else{removeClassName(n[i],"validation-passed");addClassName(n[i],"validation-failed");if(n[i].getAttribute("title")){k[k.length]=n[i].getAttribute("title")}g=false}}}for(i=0;i<o.length;i++){if(isVisible(o[i])){var m=" "+o[i].className.replace(/^\s*|\s*$/g,"")+" ";m=m.toLowerCase();var c=FIC_checkSel(m,o[i]);if(c){removeClassName(o[i],"validation-failed-sel");addClassName(o[i],"validation-passed-sel")}else{removeClassName(o[i],"validation-passed-sel");addClassName(o[i],"validation-failed-sel");if(o[i].getAttribute("title")){k[k.length]=o[i].getAttribute("title")}g=false}}}if(!g){if(k.length>0){alert("Some required values are not correct. Please check the items in red.")}else{alert("Some required values are not correct. Please check the items in red.")}YAHOO.util.Event.stopEvent(j)}return g}function FIC_checkField(k,h){var g=true;var f=h.value.trim();if(k.indexOf(" required ")!=-1&&f.length==0){g=false}if(k.indexOf(" required ")!=-1){var a=h.getAttribute("minlength");if(a&&Math.abs(a)>0){if(h.value.length<Math.abs(a)){g=false}}}if(k.indexOf(" validate-number ")!=-1&&isNaN(f)&&f.match(/[^\d]/)){g=false}else{if(k.indexOf(" validate-digits ")!=-1&&f.replace(/ /,"").match(/[^\d]/)){g=false}else{if(k.indexOf(" validate-alpha ")!=-1&&!f.match(/^[a-zA-Z]+$/)){g=false}else{if(k.indexOf(" validate-surname ")!=-1&&!f.match(/^[a-zA-Z']+$/)){g=false}else{if(k.indexOf(" validate-alphanum ")!=-1&&f.match(/\W/)){g=false}else{if(k.indexOf(" validate-date ")!=-1){var j=new date(f);if(isNaN(j)){g=false}}else{if(k.indexOf(" validate-email ")!=-1&&!f.match(/\w{1,}[@][\w\-]{1,}([.]([\w\-]{1,})){1,3}$/)){g=false;if(k.indexOf(" required ")==-1&&f.length==0){g=true}}else{if(k.indexOf(" validate-url ")!=-1&&!f.match(/^(http|https|ftp):\/\/$/)&&!f.match(/^(http|https|ftp):\/\/(([A-Z0-9][A-Z0-9_-]*)(\.[A-Z0-9][A-Z0-9_-]*)+)(:(\d+))?\/?/i)){g=false;if(k.indexOf(" required ")==-1&&f.length==0){g=true}}else{if(k.indexOf(" validate-date-au ")!=-1&&!f.match(/^(\d{2})\/(\d{2})\/(\d{4})$/)){g=false}else{if(k.indexOf(" validate-currency-dollar ")!=-1&&!f.match(/^\$?\-?([1-9]{1}[0-9]{0,2}(\,[0-9]{3})*(\.[0-9]{0,2})?|[1-9]{1}\d*(\.[0-9]{0,2})?|0(\.[0-9]{0,2})?|(\.[0-9]{1,2})?)$/)){g=false}}}}}}}}}}var b=k.indexOf("match");if(b!=-1){b=k.substr(b).split("-")[1];b=b.split(" ")[0];if(xGetElementById(b).value!=h.value){g=false}}return g}function FIC_checkRadCbx(h,g,d){var a=true;if(h.indexOf(" validate-one-required ")!=-1){a=false;for(var b=0;b<d.length;b++){if(d[b].name.toLowerCase()==g.name.toLowerCase()&&d[b].checked){a=true;break}}}return a}function FIC_checkSel(f,d){var b=true;if(d.getAttribute("multiple")||d.getAttribute("multiple")=="multiple"){if(f.indexOf(" validate-not-empty ")!=-1){var a=false;if(d.value.length>0){a=true}if(!a){b=false}}}else{if(f.indexOf(" validate-not-first ")!=-1&&d.selectedIndex==0){b=false}else{if(f.indexOf(" validate-not-empty ")!=-1&&d.options[d.selectedIndex].value.length==0){b=false}}}return b}function addClassName(c,b){if(typeof c=="string"){c=xGetElementById(c)}var a=" "+c.className.replace(/^\s*|\s*$/g,"")+" ";var d=a;b=b.replace(/^\s*|\s*$/g,"");if(a.indexOf(" "+b+" ")==-1){d=a+b}c.className=d.replace(/^\s*|\s*$/g,"");return true}function removeClassName(c,b){if(typeof c=="string"){c=xGetElementById(c)}var a=" "+c.className.replace(/^\s*|\s*$/g,"")+" ";var d=a;b=b.replace(/^\s*|\s*$/g,"");if(a.indexOf(" "+b+" ")!=-1){d=a.replace(" "+b.replace(/^\s*|\s*$/g,"")+" "," ")}c.className=d.replace(/^\s*|\s*$/g,"");return true}function attachToForms(c){var b=document.getElementsByTagName("form");for(var a=0;a<b.length;a++){YAHOO.util.Event.addListener(b[a],"submit",FIC_checkForm)}}function isVisible(a){if(typeof a=="string"){a=xGetElementById(a)}if(a.disabled){return false}while(a.nodeName.toLowerCase()!="body"&&a.style.display.toLowerCase()!="none"&&a.style.visibility.toLowerCase()!="hidden"){a=a.parentNode}if(a.nodeName.toLowerCase()=="body"){return true}else{return false}}YAHOO.util.Event.addListener(window,"load",attachToForms);