/*
 * DynClick
 * Copyright 2004 AgenciaClick - http://www.agenciaclick.com.br
 * interface.spo@agenciaclick.com.br
 * $Date: 2008/05/14 13:29:15 $
 * $Revision: 1.2 $
 */

function DFfield(fld,defOblig){var T=this;T.obj=fld;T.t=fld.type;T.n=fld.name;T.tit=fld.getAttribute('title');T.xt=fld.getAttribute('xtype');T.minL=fld.getAttribute('minlength');T.maxL=fld.getAttribute('maxlength');T.equal=fld.getAttribute('equal');T.dIni=fld.getAttribute('DFdateIni');T.dFin=fld.getAttribute('DFdateFin');T.ob=(defOblig==true);if(T.t=='submit'||T.t=='button'||T.t=='image'||T.t=='reset'){T.ob=false;}else{var tAt=fld.getAttribute('obligatory');if(tAt=='true'){T.ob=true;}else if(tAt=='false'){T.ob=false;}}if(T.t=='file'){T.ext=fld.getAttribute('extension');}T.ckFrmAlert=DFckFrmAlert;T.ckEqual=DFckEqual;T.ckMinLen=DFckMinLen;T.ckMaxLen=DFckMaxLen;T.ckFile=DFckFile;T.getDateValues=DFgetDateValues;T.ckNumber=DFckNumber;T.ckFullname=DFckFullname;T.ckEmail=DFckEmail;T.ckDateDay=DFckDateDay;T.ckDateMonth=DFckDateMonth;T.ckDateYear=DFckDateYear;T.ckDate=DFckDate;T.ckCpf=DFckCpf;T.ckCnpj=DFckCnpj;T.getValues=DFgetValues;T.v=[];T.v=T.getValues()[0];T.len=T.getValues()[1][0];T.lenSel=T.getValues()[1][1];}
function DFgetValues(){var T=this;var Tobj=T.obj;var Tf=Tobj.form;var vals=[];vals[0]=[];vals[1]=[];vals[1][0]=1;vals[1][1]=0;if(T.xt=='date'){vals[0]=T.getDateValues();}else{if(T.t=='text'||T.t=='file'||T.t=='textarea'||T.t=='password'){if(Tobj.value!=''){vals[0][0]=Tobj.value;vals[1][1]=Tobj.value.length;}}else if(T.t=='select-one'){vals[1][0]=Tobj.length;if(Tobj[Tobj.selectedIndex].value!=''){vals[0][0]=Tobj[Tobj.selectedIndex].value;vals[1][1]=1;}}else if(T.t=='select-multiple'){vals[1][0]=Tobj.length;for(var sm=0;sm<vals[1][0];sm++){if(Tobj[sm].selected){vals[0][T.v.length]=Tobj[sm].value;vals[1][1]++;}}}
else if(T.t=='radio'){if(Tf[T.n].length!=null){vals[1][0]=Tf[T.n].length;for(var j=0;j<vals[1][0];j++){if(Tf[T.n][j].checked)vals[0][0]=Tf[T.n][j].value;vals[1][1]++;}}else{if(Tf[T.n].checked)vals[0][0]=Tf[T.n].value;vals[1][1]=1;}}}return vals;}function DFgetDateValues(){var T=this;var Tobj=T.obj;var Tf=Tobj.form;var fName=T.n.substr(0,T.n.lastIndexOf('_')+1);var d=(T.t=='text')? eval('Tf.'+fName+'dia').value:DFgetValSel(eval('Tf.'+fName+'dia'));var m=(T.t=='text')? eval('Tf.'+fName+'mes').value:DFgetValSel(eval('Tf.'+fName+'mes'));var a=(T.t=='text')? eval('Tf.'+fName+'ano').value:DFgetValSel(eval('Tf.'+fName+'ano'));return Array(d,m,a);}function DFgetDateObject(d,m,a){if(d==''||m==''||a=='')return null;m--;if(!DFckDateDay(d))return false;else if(!DFckDateMonth(m))return false;else if(!DFckDateYear(a))return false;else if((m==3||m==5||m==8||m==10)&&(d==31))return false;else if(m==1&&(d>29||(d==29&&((a%4)!=0))))return false;return new Date(a,m,d);}function DFgetValSel(c,ind){var i=c.selectedIndex;return(ind)? i:c[i].value;}var DFsbm=false;function DFckForm(f,defOblig){DFclrClass(f);for(var i=0;i<f.length;i++){if(f[i].type==null)i++;var T=new DFfield(f[i], defOblig);if(T.xt=='date'){var ret=T.ckDate();if(T.ob&&!ret){if(!ret)return T.ckFrmAlert(((ret==null)?1:null));}else{if(T.v[0]!=''||T.v[1]!=''||T.v[2]!=''){if(!ret)return T.ckFrmAlert();}}i=i+2;}else{if((T.t=='radio')||(T.t=='checkbox')){i=i+(T.len-1);}if(T.v.length==0){if(T.t!='hidden'&&(T.ob)){if(T.t=='select-one'||T.t=='select-multiple'||T.t=='checkbox'||T.t=='radio'){return T.ckFrmAlert(0);}else if(T.t=='text'||T.t=='textarea'||T.t=='password'){return T.ckFrmAlert(1);}}}else{if(T.t=='text'||T.t=='textarea'||T.t=='password'||T.t=='select-multiple'||T.t=='checkbox'){if(T.minL){if(!T.ckMinLen((T.t=='select-multiple'||T.t=='checkbox')? 1:0))return false;}if(T.maxL&&(T.t!='text'||T.t!='password')){if(!T.ckMaxLen())return false;}if(T.xt){S='T.ck'+T.xt.charAt(0).toUpperCase()+T.xt.substring(1).toLowerCase()+'()';if(!eval(S)){return T.ckFrmAlert();}}if(T.equal){if(!T.ckEqual(f[T.equal]))return false;}}else if(T.t=='file'&&T.v.length!=0&&T.ext){if(!T.ckFile(T.ext))return T.ckFrmAlert(8);}}}}if(!DFsbm){DFsbm=true;return true;}else{return false;}}function DFckFrmAlert(m){var T=this;var scrTop=DFscrollTopPosition();if(T.t!='hidden'){var Tf=T.obj.form;if((T.t=='radio'||T.t=='checkbox')&&T.len > 1){for(var i=0;i<T.len;i++){Tf[T.n][i].className='DF-alert';}}else if(T.xt=='date'){var fName=T.n.substr(0,T.n.lastIndexOf('_')+1);eval('Tf.'+fName+'dia').className='DF-alert';eval('Tf.'+fName+'mes').className='DF-alert';eval('Tf.'+fName+'ano').className='DF-alert';}else T.obj.className='DF-alert';if(T.equal)Tf[T.equal].className='DF-alert';T.obj.focus();}if(scrTop!=DFscrollTopPosition())scrollBy(null,scrTop>DFscrollTopPosition()?-20:80);if(null!=m){if(m==7){var maxL=T.maxL;}else if(m==5){var minL=T.minL;}else if(m==8){var ext=T.ext;}S=eval(DFMsg[m]);}else{if(T.xt)S=eval(DFMsg[2]);}alert(S);return false;}function DFalert(a,cArr){var c1=((cArr[0].length>0)? cArr[0][0]:cArr[0]);DFclrClass(c1.form);for(var i=0;i<cArr.length;i++){var T=cArr[i];if(T.length > 0){if(T[0].type=='radio'||T[0].type=='checkbox'){for(var j=0;j<T.length;j++){T[0].form[T[0].name][j].className='DF-alert';}}else{T.className='DF-alert';}}else{T.className='DF-alert';}}c1.focus();alert(a);DFsbm=false;return false;}function DFclrClass(f){for(var i=0;i<f.length;i++){if(!f[i].classNameOld){f[i].classNameOld=f[i].className||'DF-null';}else{f[i].className=f[i].classNameOld;}}}function DFscrollTopPosition(){return(is.ie)? document.body.scrollTop:pageYOffset;}function DFckEqual(cF){if(this.v[0]!=cF.value)return this.ckFrmAlert(3);else return true;}function DFckMinLen(ar){var T=this;if(T.minL&&(T.lenSel < T.minL)){return T.ckFrmAlert((ar)? 5:4);}return true;}function DFckMaxLen(){var T=this;if(T.maxL&&(T.lenSel > T.maxL)){if(T.t=='textarea'){if(typeof(T.obj.form.DFcounter)!='undefined'&&typeof(T.obj.form.DFcounter)!='unknown'){DFtextareaCounter(T.obj);}}return T.ckFrmAlert((T.t!='textarea')? 7:6);}return true;}function DFckFile(ext){var e=ext.split(",");var v=this.v[0].toLowerCase();for(var i=0;i<e.length;i++){if(v.substr(v.lastIndexOf('.')+1)==e[i])return true;}return false;}function DFckNumber(){return(this.v[0].match(/^[0-9]+$/));}function DFckFullname(){return(this.v[0].match(/[^ ]+.+/));}function DFckEmail(){var Tv=this.v[0].toLowerCase();return(Tv.match(/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]{2,64}(\.[a-z0-9-]{2,64})*\.[a-z]{2,4}$/));}function DFckDateDay(v){if(v > 0&&v < 32)return true;}function DFckDateMonth(v){if(v >=0&&v < 12)return true;}function DFckDateYear(v){if(v > 0&&v.length==4)return true;}function DFckDate(){var T=this;var Tdate=DFgetDateObject(T.v[0],T.v[1],T.v[2]);if(!Tdate)return Tdate;if(T.dIni||T.dFin){var dI=T.dIni.split('/');var dF=T.dFin.split('/');var dI=(T.dIni)? DFgetDateObject(dI[0],dI[1],dI[2]):new Date(1900,00,01);var dF=(T.dFin)? DFgetDateObject(dF[0],dF[1],dF[2]):new Date();if(Tdate < dI||Tdate > dF)return false;}return true;}function DFckCpf(){var s=null;var r=null;var v=this.v[0];if(v.length!=11||v.match(/1{11}|2{11}|3{11}|4{11}|5{11}|6{11}|7{11}|8{11}|9{11}|0{11}/))return false;s=0;for(var i=0;i<9;i++)s+=parseInt(v.charAt(i))*(10-i);r=11-(s%11);if(r==10||r==11)r=0;if(r!=parseInt(v.charAt(9)))return false;s=0;for(var i=0;i<10;i++)s+=parseInt(v.charAt(i))*(11-i);r=11-(s%11);if(r==10||r==11)r=0;if(r!=parseInt(v.charAt(10)))return false;return true;}function DFckCnpj(){var v=this.v[0];var m=['543298765432','6543298765432'];var d=[0,0];for(var t=0;t<2;t++){for(x=0;x<13;x++){if((t==0&&x!=12)||t==1)d[t]+=(parseInt(v.slice(x,x+1))*parseInt(m[t].slice(x,x+1)));}d[t]=(d[t]*10)% 11;if(d[t]==10)d[t]=0;}return(d[0]==parseInt(v.slice(12,13))&&d[1]==parseInt(v.slice(13,14)));}function DFtextareaMaxLen(f,l,e){if(is.ns){if(e.which==0||e.which==8)return true}if(f.value.length>=l)return false;}function DFtextareaCounter(f){f.form.DFcounter.value=f.value.length;}function DFonlyThisChars(n,l,o,e){if(window.event)key=window.event.keyCode;else if(e)key=e.which;else return true;S=(o)?o:'';if(n)S+='0123456789';if(l)S+='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';if(key==null||key==0||key==8||key==9||key==13||key==27)return true;else if(S.indexOf(String.fromCharCode(key))!=-1)return true;else return false;}function DFnotOnlyThisChars(S,e){if(window.event)key=window.event.keyCode;else if(e)key=e.which;else return true;if(!S)return false;else if(key==null||key==0||key==8||key==9||key==13||key==27)return true;else if(S.indexOf(String.fromCharCode(key))!=-1)return false;else return true;}function DFchangeField(o,e,d){if(window.event)key=window.event.keyCode;else if(e)key=e.which;else return true;if(key==9||key==2||key==16)return false;if(d<=2&&o.value.length==o.maxLength){for(var i=0;i<o.form.length;i++){if(o.form[i]==o&&o.form[i+1]){o.form[i+1].focus();break;}}}if(d > 1&&o.value.length==0&&key==8){for(var i=0;i<o.form.length;i++){if(o.form[i]==o&&o.form[i-1]){o.form[i-1].focus();o.form[i-1].value=o.form[i-1].value;break;}}}}