function sstrip(s,sel){var pos= -1;while((pos=s.indexOf(sel))> -1){s=s.substr(0,pos)+s.substr(pos+sel.length);}return s};function ssplit(s,del,f){if(f==null)f=0;var ls=[],pos= -1;while((pos=s.indexOf(del))> -1){var vs=s.substr(0,pos);if(vs==''){if(f)ls=ls.concat(vs);}else{ls=ls.concat(vs);}s=s.substr(pos+del.length);}if(s==''){if(f)ls=ls.concat(s);}else{ls=ls.concat(s);}return ls};function gel(idn){idn=sstrip(idn,' ');if(idn=='')return[];idns=ssplit(idn,',');var re=[];for(var i=0;i<idns.length;i++){var e=document.getElementsByName(idns[i]);if(!e.length){var el=document.getElementById(idns[i]);if(el!=null){e=[];e=e.concat([el]);}else{alert("Could not find element by name/id '"+idns[i]+"'");}}for(var j=0;j<e.length;j++)re=re.concat(e[j]);}return re;};function gev(idn){var e=gel(idn);for(var i=0;i<e.length;i++){if(typeof e[i].tagName!='undefined'){var tt;if(e[i].tagName.toLowerCase()=='input'){if(typeof e[i].type!='undefined'){tt=e[i].type.toLowerCase();}else{tt='text';}}else{tt=e[i].tagName.toLowerCase();}switch(tt){case 'select':return e[i].options[e[i].selectedIndex].value;break;case 'checkbox':return(e[i].checked?1:0);break;case 'radio':if(e[i].checked)return e[i].value;break;case 'button':case 'submit':case 'text':return e[i].value;break;default:return e[i].innerHTML;}}}return null;};function sev(idn,v){var e=gel(idn);var r=0;for(var i=0;i<e.length;i++){if(typeof e[i].tagName!='undefined'){var tt;if(e[i].tagName.toLowerCase()=='input'){if(typeof e[i].type!='undefined'){tt=e[i].type.toLowerCase();}else{tt='text';}}else{tt=e[i].tagName.toLowerCase();}switch(tt){case 'select':for(var j=0;j<e[i].options.length;j++){if(e[i].options[j].value==v){e[i].selectedIndex=j;r=1;break;}}break;case 'checkbox':e[i].checked=(v?true:false);r=1;break;case 'radio':if(e[i].value==v){e[i].checked=true;r=1;}break;case 'text':case 'button':case 'submit':e[i].value=v;r=1;break;default:e[i].innerHTML=v;r=1;break;}}}return r;};function ses(idn,s){var e=gel(idn);for(var i=0;i<e.length;i++)e[i].disabled=(s?false:true);};function ee(idn){ses(idn,1)};function de(idn){ses(idn,0)};function serw(idn,rw){var e=gel(idn);for(var i=0;i<e.length;i++)e[i].readonly=(rw?false:true);};function erw(idn){serw(idn,1)};function ero(idn){serw(idn,0)};function is_number(num){return check_chars("1234567890",num);};function check_chars(cs,stc){if((stc==null)||(stc=='')||(cs==null)||(cs==''))return 0;for(var i=0;i<stc.length;i++)if(cs.indexOf(stc.charAt(i))== -1)return 0;return 1;};function valid_email(em){if(em.length<6)return-1;em=em.toLowerCase();var vc="abcdefghijklmnopqrstuvwxyz0123456789@.-_",i;if(!check_chars(vc,em))return-2;if((em.indexOf('@')== -1)||(em.indexOf('.')== -1))return-3;if(((em.indexOf('@')==0)||(em.indexOf('.')==0)||(em.indexOf('-')==0)||(em.indexOf('_')==0))||(em.lastIndexOf('.')<em.indexOf('@'))||(em.lastIndexOf('.')>em.length-3)||(em.indexOf('@')!=em.lastIndexOf('@'))||(em.indexOf('@')>em.length-4))return-4;var inv=".. ._ .- .@ @. @- @_ -- -. -_ -@";var invl=ssplit(inv,' ');for(i=0;i<invl.length;i++){if(em.indexOf(invl[i])!= -1)return-5;}var vce="abcdefghijklmnopqrstuvwxyz";var ext=em.substr(em.lastIndexOf('.')+1);if(!check_chars(vce,ext))return-6;return 1;};function valid_iname(inm){if(inm.length<3)return-1;if((inm.charAt(0)!='=')&&(inm.charAt(0)!='@'))return-2;inm=inm.substr(1);var inpl=ssplit(inm,'*',1);var in_c="abcdefghijklmnopqrstuvwxyz0123456789.-";var in_ifl=".-";var in_ic=".. .- -- -.";var in_icl=ssplit(in_ic,' ');var cp_c="abcdefghijklmnopqrstuvwxyz0123456789@.-_";var cp_ifl=".-@_";var cp_ic="";var cp_icl=ssplit(cp_ic,' ');var i,j,inp,vc,vifl,vicl;for(i=0;i<inpl.length;i++){inp=inpl[i];if(inp.length==0)return-8;vc=in_c;vifl=in_ifl;vicl=in_icl;if(i==0){}else{var po=inp.indexOf('(');var pc=inp.indexOf(')');if(((po!= -1)&&(pc== -1))||((po== -1)&&(pc!= -1)))return-3;if(po!= -1){if((po!=0)||(pc!=inp.length-1)||(inp.length<3))return-4;inp=inp.substr(1,inp.length-2);vc=cp_c;vifl=cp_ifl;vicl=cp_icl;}}inp=inp.toLowerCase();if(!check_chars(vc,inp))return-5;if((vifl.indexOf(inp.charAt(0))!= -1)||(vifl.indexOf(inp.charAt(inp.length-1))!= -1))return-6;for(j=0;j<vicl.length;j++){if(inp.indexOf(vicl[j])!= -1)return-7;}}return 1;};function valid_IP(ip){var d=['','','',''],idx=0,pos=0;while(pos> -1){if(idx>3)return 0;pos=ip.indexOf('.');if(pos> -1){d[idx++]=ip.substr(0,pos);ip=ip.substr(pos+1);}else{d[idx++]=ip;}}if(idx<4)return 0;for(var i=0;i<4;i++){if(!is_number(d[i]))return 0;d[i]=parseInt(d[i]);}if((d[0]>0)&&(d[0]<256)&&(d[1]> -1)&&(d[1]<256)&&(d[2]> -1)&&(d[2]<256)&&(d[3]>-1)&&(d[3]<256))return 1;return 0;};function valid_domain(dom){var pos,d,e;dom=dom.toLowerCase();if(dom.length<4)return 0;if((pos=dom.lastIndexOf('.'))== -1)return 0;d=dom.substr(0,pos);e=dom.substr(pos+1);if(!check_chars("abcdefghijklmnopqrstuvwxyz0123456789.-_",d))return 0;var inv=".. ._ .- -- -. -_";var invl=ssplit(inv,' ');for(i=0;i<invl.length;i++)if(d.indexOf(invl[i])!= -1)return 0;if((e.length<2)||(e.length>4))return 0;if(!check_chars("abcdefghijklmnopqrstuvwxyz",e))return 0;return 1;};function valid_url(url){var pos= -1,dom='',query='',qc="/-_.!~*'()abcdefghijklmnopqrstuvwxyz0123456789;?:@&=+$,%#";url=url.toLowerCase();if((pos=url.indexOf('http://'))> -1){if(pos!=0)return 0;url=url.substr(7);}else if((pos=url.indexOf('https://'))> -1){if(pos!=0)return 0;url=url.substr(8);}if((pos=url.indexOf('/'))> -1){dom=url.substr(0,pos);query=url.substr(pos);}else{dom=url;query='';}if(!valid_domain(dom)){if(!valid_IP(dom))return 0;}if(query.length>0)if(!check_chars(qc,query))return 0;return 1;} 
