var Contact={init:function(){$$("input[type=text], textarea").addEvent("focus",function(){$(this.parentNode).addClass("focus")}).addEvent("blur",function(){$(this.parentNode).removeClass("focus")});$("contact_mail").addEvent("blur",function(){Contact.test("contact_mail","mail",true)});$("contact_tel").addEvent("blur",function(){Contact.test("contact_tel","tel",true)});$("contact_message").resizable()},submit:function(){var a=Contact.testAll();if(a){$$(".input_submit").set("disabled",true)}return a},testAll:function(){var a=true;a&=this.test("contact_name");a&=this.test("contact_mail","mail");a&=this.test("contact_tel","tel",true);a&=this.test("contact_subject");a&=this.test("contact_message");return !!a},tests:{mail:/^[0-9a-z\-_\.+%]+@[0-9a-z][\-_0-9a-z]*[0-9a-z](\.[0-9a-z][\-_0-9a-z]*[0-9a-z])*\.[a-z]{2,4}$/i,tel:/^\+?[0-9\.\- \(\)]{6,}$/,notEmpty:/[^ \r\n]/},test:function(h,a,g){if(!$defined(a)||!this.tests[a]){a="notEmpty"}var b=$(h),f=$(b.parentNode);v=b.value.test(this.tests[a]);if(g&&b.value==""){v=true}if(v&&f.hasClass("invalid")){f.removeClass("invalid")}else{if(!v&&!f.hasClass("invalid")){f.addClass("invalid")}}if(!v){var c=function(){Contact.test(h,a,g);b.removeEvent("keyup",c)};b.addEvent("keyup",c)}return v}};Element.implement({resizable:function(b){var a=this;a.addEvent("focus",a.resize).addEvent("keyup",a.resize).addEvent("keypress",a.resize);a.lines=a.value.replace(/[^\n]/,"").length;a.defaultSize=a.getStyle("height").toInt();return this},resize:function(){var a=this.value.replace(/[^\n]/,"").length;if(this.lines>a){this.style.height="1px"}this.lines=a;var b=Math.max(this.scrollHeight,this.defaultSize);if(this.offsetHeight<b){this.style.height=(b+5)+"px"}return this}});window.addEvent("domready",function(){Contact.init()});