function Err(){this.clear=function(){this.source=new Object;this.type=new Object;this.format=new String};this.add=function(b,c,a){this.source=b;this.type=c;this.format=a};this.raise=function(){var d=this.source;var c;var b=d.getAttribute("nym");var a=(typeof this.type=="string")?this.type:d.getAttribute("msg");d.paint();if(d.select){d.select()}if(a){alert(a)}else{var f=d;c=f.getAttribute("lang").substring(0,2).toLowerCase();while(!c||!_validation.messages[c]){f=f.parentElement;if(f){c=f.getAttribute("lang").substring(0,2).toLowerCase()}else{c="en"}}a=_validation.messages[c][this.type];a=((b)?b+": ":"")+a+((this.format)?" "+this.format.reformat(c,this.type):"");var e="";if(d.name=="text_phone"){e="Tel. No."}if(d.name=="text_nphone"){e="Emer. Tel. No."}if(d.name=="text_student"){e="Student No."}if(d.name=="text_fax"){e="Fax No."}if(d.name=="startdate"){e="Start Date"}if(d.name=="enddate"){e="End Date"}d.form.error.value=e+": "+a;if(d.form.train_page.value=="Available"){d.form.train_page.value="Availquery"}else{if(d.form.train_page.value=="history"){d.form.train_page.value="histquery"}else{if(d.form.train_page.value=="History_scr2"){d.form.train_page.value="Hist"}}}d.form.submit()}};this.clear()}function Validation(){this.REQUIRED=0;this.INTEGER=1;this.FLOAT=2;this.DATE=3;this.AMOUNT=4;this.MASK=5;this.messages=new Array;Array.prototype.MM=new String;Array.prototype.DD=new String;Array.prototype.YYYY=new String;this.messages.en=new Array("Please enter a value","Please enter a valid integer","Please enter a valid floating point","Please enter a valid date","Please enter a valid monetary amount","Please enter a value in the form of ");with(this.messages.en){MM="MM";DD="DD";YYYY="YYYY"}this.messages.pt=new Array("Por favor digite um valor v�lido","Por favor digite um valor num�rico inteiro","Por favor digite o valor ponto flutuante","Por favor digite uma data v�lida","Por favor digite o valor monet�rio","Por favor digite um valor no formulario ");with(this.messages.pt){MM="MM";DD="DD";YYYY="AAAA"}this.messages.fr=new Array("Entrer une valeur, SVP","Entrer un entier correct, SVP","Entrer un point flottant correct, SVP","Entrer une date correcte, SVP","Entrer une valeur monetaire correcte, SVP","Entrer, SVP, une valeur suivant le format suivant: ");with(this.messages.fr){MM="MM";DD="JJ";YYYY="AAAA"}this.messages.de=new Array("Tragen Sie bitte einen Wert ein","Tragen Sie bitte eine g�ltige Ganze Zahl ein","Tragen Sie bitte ein Flie�komma ein","Tragen Sie bitte ein g�ltiges Datum ein","Tragen Sie bitte eine g�ltigen Geldbetrag ein","Tragen Sie bitte einen Wert ein in Form von ");with(this.messages.de){MM="MM";DD="TT";YYYY="JJJJ"}this.messages.it=new Array("Si prega di inserire un valore","Si prega di inserire un valido numero intero","Si prega di inserire un valido numero in virgola mobile","Si prega di inserire una data valida","Si prega di inserire una quantit� di valuta valida","Si prega di inserire un valore nel formato ");with(this.messages.it){MM="MM";DD="GG";YYYY="AAAA"}this.messages.es=new Array("Por favor introduzca un valor","Por favor introduzca un numero entero v�lido","Por favor introduzca un punto flotante v�lido","Por favor introduzca una fecha v�lida","Por favor introduzca una cantidad monetaria v�lida","Por favor introduzca un valor con el siguiente formato ");with(this.messages.es){MM="MM";DD="DD";YYYY="AAAA"}this.messages.nl=new Array("Vul s.v.p. een waarde in","Vul s.v.p. een geldig geheel getal in","Vul s.v.p. een geldig zwevend decimaal teken in","Vul s.v.p. een geldige datum in","Vul s.v.p. een geldig geldbedrag in","Vul s.v.p. een waarde in, in de vorm van ");with(this.messages.nl){MM="MM";DD="DD";YYYY="JJJJ"}this.setDefault=function(v,d){return(v)?v:d};this.isDate=function(oElement,sFormat){var sDate=oElement.value;var aDaysInMonth=new Array(31,28,31,30,31,30,31,31,30,31,30,31);var sSepDate=sDate.charAt(sDate.search(/\D/));var sSepFormat=sFormat.charAt(sFormat.search(/[^MDY]/i));if(sSepDate!=sSepFormat){return false}var aValueMDY=sDate.split(sSepDate,3);var aFormatMDY=sFormat.split(sSepFormat,3);var iMonth,iDay,iYear;if(aValueMDY.length!=3){return false}if(aValueMDY[2]<1800||aValueMDY[2]>3000){return false}if(!_validation.isNum(aValueMDY[0])||!_validation.isNum(aValueMDY[1])||!_validation.isNum(aValueMDY[2])){return false}switch(aFormatMDY[0].toUpperCase()){case"YYYY":iYear=aValueMDY[0];break;case"DD":iDay=aValueMDY[0];break;case"MM":iMonth=aValueMDY[0];break;default:return false}switch(aFormatMDY[1].toUpperCase()){case"YYYY":iYear=aValueMDY[1];break;case"MM":iMonth=aValueMDY[1];break;case"DD":iDay=aValueMDY[1];break;default:return false}switch(aFormatMDY[2].toUpperCase()){case"MM":iMonth=aValueMDY[2];break;case"DD":iDay=aValueMDY[2];break;case"YYYY":iYear=aValueMDY[2];break;default:return false}if(oElement.form.getAttribute("year4")!=null&&iYear.length!=4){return false}var iPivot=_validation.setDefault(oElement.getAttribute("pivot"),oElement.form.getAttribute("pivot"));if(iPivot&&iPivot.length==2&&iYear.length==2){iYear=((iYear>iPivot)?19:20).toString()+iYear;var sValue=aFormatMDY.join(sSepFormat).replace(/MM/i,iMonth);sValue=sValue.replace(/DD/i,iDay).replace(/YYYY/i,iYear);oElement.value=sValue}var iDaysInMonth=(iMonth!=2)?aDaysInMonth[iMonth-1]:((iYear%4==0&&iYear%100!=0||iYear%400==0)?29:28);return(iDay!=null&&iMonth!=null&&iYear!=null&&iMonth<13&&iMonth>0&&iDay>0&&iDay<=iDaysInMonth)};this.isNum=function(v){return(v.toString()&&!/\D/.test(v))};this.setup=function(){var i,iForms=document.forms.length;for(i=0;i<iForms;i++){var oForm=document.forms[i];if(!oForm.bProcessed){oForm.markRequired=function(){var i,iElements=this.elements.length;var sMarkHTML,sMarkWhere;for(i=0;i<iElements;i++){var oElement=this.elements[i];if(oElement.onmark&&oElement.onmark()==false){continue}if(oElement.getAttribute("required")!=null){sMarkHTML=this.getAttribute("insert");sMarkWhere=this.getAttribute("mark");if(sMarkHTML){switch(sMarkWhere.toLowerCase()){case"before":sMarkWhere="beforeBegin";break;default:sMarkWhere="afterEnd"}oElement.insertAdjacentHTML(sMarkWhere,sMarkHTML)}else{var sClassName=oElement.className;if(sClassName!="required"){oElement.setAttribute("nonreqClass",oElement.className);oElement.className="required"}else{oElement.className=_validation.setDefault(oElement.getAttribute("nonreqClass"),oElement.className);oElement.removeAttribute("nonreqClass")}}}}};var sValidateWhen=oForm.getAttribute("validate");if(sValidateWhen!=null){oForm.fSubmit=oForm.onsubmit;oForm.fReset=oForm.onreset;oForm.onsubmit=function(){var i,oElement,iElements=this.elements.length;for(i=0;i<iElements;i++){this.elements[i].restore()}for(i=0;i<iElements;i++){oElement=this.elements[i];if(!oElement.valid()){_err.raise();event.returnValue=false;return}}if(this.fSubmit&&this.fSubmit()==false){event.returnValue=false;return}var vDefault;for(i=0;i<iElements;i++){oElement=this.elements[i];vDefault=oElement.getAttribute("default");if(vDefault&&!oElement.value){oElement.value=vDefault}}};oForm.onreset=function(){var i,iElements=this.elements.length;for(i=0;i<iElements;i++){this.elements[i].restore()}if(this.fReset&&this.fReset()==false){event.returnValue=false}}}oForm.bProcessed=true}var j,iElements=oForm.elements.length;for(j=0;j<iElements;j++){var oElement=oForm.elements[j];if(!oElement.bProcessed){var vOnValidate=oElement.getAttribute("onvalidate");if(vOnValidate){if(typeof vOnValidate!="function"){oElement.onvalidate=new Function(vOnValidate)}else{oElement.onvalidate=vOnValidate}}var vOnValidateFocus=oElement.getAttribute("onvalidatefocus");if(vOnValidateFocus){if(typeof vOnValidateFocus!="function"){oElement.onvalidatefocus=new Function(vOnValidateFocus)}else{oElement.onvalidatefocus=vOnValidateFocus}}var vOnMark=oElement.getAttribute("onmark");if(vOnMark){if(typeof vOnMark!="function"){oElement.onmark=new Function(vOnMark)}else{oElement.onmark=vOnMark}}if(oElement.onkeypress){oElement.fKeypress=oElement.onkeypress}oElement.onkeypress=function(){if(this.fKeypress&&this.fKeypress()==false){event.returnValue=false}var sFilter=this.getAttribute("filter");if(sFilter){var sKey=String.fromCharCode(event.keyCode);var re=new RegExp(sFilter);if(sKey!="\r"&&sKey!="\f"&&sKey!="\n"&&sKey!="\t"&&event.keyCode!=25&&sKey!="\b"&&sKey!="\uF700"&&sKey!="\uF701"&&sKey!="\uF702"&&sKey!="\uF703"&&sKey!="\uF729"&&sKey!="\uF72B"&&sKey!="\uF72C"&&sKey!="\uF72D"&&!re.test(sKey)){event.returnValue=false}event.keyCode=sKey.charCodeAt(0)}};oElement.paint=function(){var sColor=_validation.setDefault(this.getAttribute("invalidColor"),this.form.getAttribute("invalidColor"));if(!sColor){this.setAttribute("oldClass",this.className);this.className="invalid"}else{this.setAttribute("bg",this.style.backgroundColor);this.style.backgroundColor=sColor}};oElement.restore=function(){var sBG=this.getAttribute("bg");if(sBG!=null){this.style.backgroundColor=sBG;this.removeAttribute("bg")}else{var sOldClass=this.getAttribute("oldClass");if(sOldClass!=null){this.className=sOldClass;this.removeAttribute("oldClass")}}};oElement.valid=function(){var sType=this.type;if(sType=="text"||sType=="textarea"||sType=="file"){if(this.form.getAttribute("notrim")==null){this.value=this.value.trim()}if(this.form.getAttribute("ssi")==null){while(this.value.search("<!--#")>-1){this.value=this.value.replace("<!--#","<!--")}}}if(this.getAttribute("required")!=null&&!this.value){_err.add(this,_validation.REQUIRED,null);return false}var sFloatDelimiter=this.getAttribute("float");var bSigned=this.getAttribute("signed")!=null;if(sFloatDelimiter!=null&&this.value){sFloatDelimiter=(sFloatDelimiter==",")?",":"\\.";var re=new RegExp("^("+((bSigned)?"[\\-\\+]?":"")+"(\\d*"+sFloatDelimiter+"?\\d+)|(\\d+"+sFloatDelimiter+"?\\d*))$");if(!re.test(this.value)){_err.add(this,_validation.FLOAT,null);return false}}var sAmtDelimiter=this.getAttribute("amount");if(sAmtDelimiter!=null&&this.value){sAmtDelimiter=(sAmtDelimiter==",")?",":"\\.";var re=new RegExp("^"+((bSigned)?"[\\-\\+]?":"")+"\\d+("+sAmtDelimiter+"\\d{2})?$");if(!re.test(this.value)){_err.add(this,_validation.AMOUNT,null);return false}}if(this.getAttribute("integer")!=null&&this.value){var re=new RegExp("^"+((bSigned)?"[\\-\\+]?":"")+"\\d+$");if(!re.test(this.value)){_err.add(this,_validation.INTEGER,null);return false}}var sFormat=this.getAttribute("date");if(sFormat!=null&&this.value){sFormat=_validation.setDefault(sFormat,"MM/DD/YYYY");if(!_validation.isDate(this,sFormat)){_err.add(this,_validation.DATE,sFormat.toUpperCase());return false}}var sMask=this.getAttribute("mask");if(sMask&&this.value){var sPattern=sMask.replace(/(\$|\^|\*|\(|\)|\+|\.|\?|\\|\{|\}|\||\[|\])/g,"\\$1");sPattern=sPattern.replace(/9/g,"\\d");sPattern=sPattern.replace(/x/ig,".");sPattern=sPattern.replace(/z/ig,"\\d?");sPattern=sPattern.replace(/a/ig,"[A-Za-z]");var re=new RegExp("^"+sPattern+"$");if(!re.test(this.value)){_err.add(this,_validation.MASK,sMask);return false}}var sRegexp=this.getAttribute("regexp");if(sRegexp&&this.value){var re=new RegExp(sRegexp);if(!re.test(this.value)){_err.add(this,_validation.MASK,sRegexp);return false}}var sAnd=this.getAttribute("and");if(sAnd&&this.value){var aAnd=sAnd.split(/,/);var i,iFields=aAnd.length;for(i=0;i<iFields;i++){var oNewElement=this.form.elements[aAnd[i]];if(oNewElement&&oNewElement.value.trim()==""){_err.add(oNewElement,_validation.REQUIRED,null);return false}}}var sOr=this.getAttribute("or");if(sOr&&this.value==""){var aOr=sOr.split(/,/);var i,iFields=aOr.length;var oNewElement,bAccum=false;for(i=0;i<iFields;i++){oNewElement=this.form.elements[aOr[i]];if(oNewElement){bAccum=bAccum||oNewElement.value.trim()}}if(!bAccum){_err.add(this,_validation.REQUIRED,null);return false}}if(this.getAttribute("nospace")!=null){this.value=this.value.replace(/\s/g,"")}if(this.getAttribute("uppercase")!=null){this.value=this.value.toUpperCase()}if(this.getAttribute("lowercase")!=null){this.value=this.value.toLowerCase()}if(this.onvalidate&&this.onvalidate()==false){return false}return true};this.bProcessed=true}}}}}function __init(){if("".replace&&document.body&&document.body.getAttribute){String.prototype.trim=function(){return this.replace(/^\s+/,"").replace(/\s+$/,"")};String.prototype.reformat=function(d,e){var f=this.valueOf();if(e==_validation.DATE&&_validation.messages[d]){f=f.replace(/MM/,_validation.messages[d].MM);f=f.replace(/DD/,_validation.messages[d].DD);f=f.replace(/YYYY/,_validation.messages[d].YYYY)}return f};if(document.forms){_validation=new Validation;_err=new Err;_validation.setup();var b,a=document.forms.length;for(b=0;b<a;b++){var c=document.forms[b];if(c.getAttribute("mark")!=null){c.markRequired()}}}}}__init();