YUI().use("base","node",function(b){function a(c){a.superclass.constructor.apply(this,arguments)}a.NAME="FormValidator";b.extend(a,b.Base,{init:function(c){this.form=b.one(".common_form");if(this.form!=null){if(this.form.get("nodeName")!="FORM"){this.form=this.form.one("form")}var d=this;this.form.on("submit",function(f){f.preventDefault();d.validate_form()});validator=this}},validate_form:function(){var c=b.all(".required");var e=new Array();var d=new Array();c.each(function(o,m){var j=o.get("parentNode").one("label");validator.unhighlightErrorField(j);var g=o.get("nodeName").toUpperCase();if(g=="INPUT"){var h=o.getAttribute("type");if(h=="text"||h=="password"){if(o.get("value")==""){e[m]=j.get("innerHTML");d[m]=j}}}else{if(g=="TEXTAREA"){if(o.get("value")==""){e[m]=j.get("innerHTML");d[m]=j}}else{if(g=="DIV"){var l=o.one(".label");validator.unhighlightErrorField(l);var k=o.all("input");var n=false;k.each(function(f){if(f.get("checked")==true){n=true}});if(n==false){e[m]=l.get("innerHTML");d[m]=l}}}}});if(e.length>0){validator.displayErrors(e,d)}else{validator.form.submit()}},displayErrors:function(d,c){msg="Please fill out the following required fields:\n";for(x in d){msg+=d[x].replace(":","")+"\n";validator.highlightErrorField(c[x])}alert(msg)},highlightErrorField:function(c){c.addClass("error")},unhighlightErrorField:function(c){c.removeClass("error")}});new a()});
