Mam problem.

Znalazłem w internecie fajny skrypt do validacji danych. Wszystko ładnie pięknie ale problem pojawia się przy przerzucaniu na smarty...
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <link rel="stylesheet" type="text/css" href="css/messages.css" /> </head> <body> <div id="wrapper"> <form name="form" id="form" class="form" action="success.html" onsubmit="return validate(this)" method="post"> <input type="text" name="brutto" id="brutto" /> Gender <select name="msc" id="msc"> </select> <select name="pracownik" id="pracownik"> </select> <select name="msc2[]" id="msc2"> </select> <select name="konto[]" id="konto"> </select> <input type="text" name="opis" id="opis" /> <input type="text" name="kwota[]" id="kwota" /> <input type="submit" value="Submit" class="submit" /> </form> </div> </body> </html>
zawartość pliku css
* {margin:0; padding:0} body {font:12px Verdana, Arial, Helvetica, sans-serif; color:#666} #wrapper {width:300px; margin:50px auto} .form {float:left; padding:0 10px 10px 10px; background:#f3f3f3; border:2px solid #cfcfcf} .form label {float:left; width:100px; padding:10px 10px 0 0; font-weight:bold} .form select {float:left; width:146px; margin-top:10px} .form input {float:left; margin-top:10px} .form .submit {clear:both} #msg {display:none; position:absolute; z-index:200; background:url(img/msg_arrow.gif) left center no-repeat; padding-left:7px} #msgcontent {display:block; background:#f3e6e6; border:2px solid #924949; border-left:none; padding:5px; min-width:150px; max-width:250px}
zawartość pliku js
// form validation function // function validate(form) { var brutto = form.brutto.value; var kwota = form.kwota.value; var msc = form.msc.value; var msc2 = form.msc2.value; var konto = form.konto.value; var pracownik = form.pracownik.value; var opis = form.opis.value; var bruttoRegex = /^(\d|-)?(\d|,)*\.?\d*$/; var kwotaRegex = /^(\d|-)?(\d|,)*\.?\d*$/; var cosRegex = /^[a-zA-Z]+(([\'\,\.\- ][a-zA-Z ])?[a-zA-Z]*)*$/; var opisRegex = new RegExp(/<\/?\w+((\s+\w+(\s*=\s*(?:".*?"|'.*?'|[^'">\s]+))?)+\s*|\s*)\/?>/gim); if(brutto == "") { inlineMsg('brutto','You must enter your brutto.',2); return false; } if(!brutto.match(bruttoRegex)) { inlineMsg('brutto','You have entered an invalid brutto.',2); return false; } if(msc == "") { inlineMsg('msc','<strong>Error</strong><br />You must select your msc.',2); return false; } if(pracownik == "") { inlineMsg('pracownik','<strong>Error</strong><br />You must select your pracownik.',2); return false; } if(msc2 == "") { inlineMsg('msc2','<strong>Error</strong><br />You must select your msc2[].',2); return false; } if(konto == "") { inlineMsg('konto','<strong>Error</strong><br />You must select your konto[].',2); return false; } if(kwota == "") { inlineMsg('kwota','You must enter your kwota.',2); return false; } if(opis == "") { inlineMsg('opis','You must enter a opis.'); return false; } if(opis.match(opisRegex)) { inlineMsg('opis','You have entered an invalid opis.'); return false; } return true; } // START OF MESSAGE SCRIPT // var MSGTIMER = 20; var MSGSPEED = 5; var MSGOFFSET = 3; var MSGHIDE = 3; // build out the divs, set attributes and call the fade function // function inlineMsg(target,string,autohide) { var msg; var msgcontent; if(!document.getElementById('msg')) { msg = document.createElement('div'); msg.id = 'msg'; msgcontent = document.createElement('div'); msgcontent.id = 'msgcontent'; document.body.appendChild(msg); msg.appendChild(msgcontent); msg.style.filter = 'alpha(opacity=0)'; msg.style.opacity = 0; msg.alpha = 0; } else { msg = document.getElementById('msg'); msgcontent = document.getElementById('msgcontent'); } msgcontent.innerHTML = string; msg.style.display = 'block'; var msgheight = msg.offsetHeight; var targetdiv = document.getElementById(target); targetdiv.focus(); var targetheight = targetdiv.offsetHeight; var targetwidth = targetdiv.offsetWidth; var topposition = topPosition(targetdiv) - ((msgheight - targetheight) / 2); var leftposition = leftPosition(targetdiv) + targetwidth + MSGOFFSET; msg.style.top = topposition + 'px'; msg.style.left = leftposition + 'px'; clearInterval(msg.timer); msg.timer = setInterval("fadeMsg(1)", MSGTIMER); if(!autohide) { autohide = MSGHIDE; } window.setTimeout("hideMsg()", (autohide * 1000)); } // hide the form alert // function hideMsg(msg) { var msg = document.getElementById('msg'); if(!msg.timer) { msg.timer = setInterval("fadeMsg(0)", MSGTIMER); } } // face the message box // function fadeMsg(flag) { if(flag == null) { flag = 1; } var msg = document.getElementById('msg'); var value; if(flag == 1) { value = msg.alpha + MSGSPEED; } else { value = msg.alpha - MSGSPEED; } msg.alpha = value; msg.style.opacity = (value / 100); msg.style.filter = 'alpha(opacity=' + value + ')'; if(value >= 99) { clearInterval(msg.timer); msg.timer = null; } else if(value <= 1) { msg.style.display = "none"; clearInterval(msg.timer); } } // calculate the position of the element in relation to the left of the browser // function leftPosition(target) { var left = 0; if(target.offsetParent) { while(1) { left += target.offsetLeft; if(!target.offsetParent) { break; } target = target.offsetParent; } } else if(target.x) { left += target.x; } return left; } // calculate the position of the element in relation to the top of the browser window // function topPosition(target) { var top = 0; if(target.offsetParent) { while(1) { top += target.offsetTop; if(!target.offsetParent) { break; } target = target.offsetParent; } } else if(target.y) { top += target.y; } return top; } // preload the arrow // if(document.images) { arrow = new Image(7,80); arrow.src = "images/msg_arrow.gif"; }
Jak próbuję validować w smarty to formularz jest puszczany bez validacji a na html dziala pieknie

Wie ktoś może jak wepchac to do smarty?
Z góry dziękuję

Ktoś pomoże?
