function Browser(){this.name=this.platform="Unknown";this.majorver=this.version=this.minorver="";this.mozilla=false;this.init=_Init;this.getName=function(){return this.name};this.getMinorver=function(){return this.minorver};this.getMajorver=function(){return this.majorver};this.getVersion=function(){return parseFloat(this.version,10)};this.getPlatform=function(){return this.platform};this.isIE=function(){return(this.name=="IE")};this.isNetscape=function(){return(this.name=="Netscape")};this.isMozilla=function(){return this.mozilla};this.isWindows=function(){return _has(this.platform,["Windows","WinNT"])};this.isWinNT=function(){return _has(this.platform,["WinNT","Windows NT"])};this.isWin95=function(){return _has(this.platform,["Win95","Windows 95"])};this.isWin98=function(){return _has(this.platform,["Win98","Windows 98"])};this.isLinux=function(){return _has(this.platform,"Unix")};this.isMac=function(){return _has(this.platform,"Mac");};this.init();}
function _Init(){var ua=navigator.userAgent,t="",ts="",i,bv;bv=ua.slice(0,ua.indexOf("("));ts=ua.slice(ua.indexOf("(")+1,ua.indexOf(")")).split(";");for(i=0;i<ts.length;i++){t=ts[i].trim();if(_has(t,["MSIE","Opera"]))bv=t;else if(_has(t,["X11","SunOS","Linux"]))this.platform="Unix";else if(_has(t,["Mac","PPC","Win"]))this.platform=t;}
var idx=bv.indexOf("MSIE"),lo="";if(idx>=0)bv=bv.slice(idx);if(bv.slice(0,7)=="Mozilla"){lo="";this.name="Netscape";if(ua.indexOf("Gecko/")!=-1){if(/Netscape/.test(ua)){var v=/([^\/]+)\s*$/.exec(ua);if(v&&v.length>1)lo=v[1]+" ";}else{this.mozilla=true;var v=/rv:([^\)]+)\)/.exec(ua);if(v&&v.length>1)lo=v[1]+" ";}}
if(lo=="")lo=bv.slice(8);}else if(bv.slice(0,4)=="MSIE"){this.name="IE";lo=bv.slice(5);}else if(bv.slice(0,27)=="Microsoft Internet Explorer"){this.name="IE";lo=bv.slice(28);}else if(bv.slice(0,5)=="Opera"){this.name="Opera";lo=bv.slice(6);}
lo=lo.trim();i=lo.indexOf(" ");if(i>=0)this.version=lo.slice(0,i);else this.version=lo;j=this.version.indexOf(".");if(j>=0){this.majorver=this.version.slice(0,j);this.minorver=this.version.slice(j+1);}else this.majorver=this.version;}
function _has(s,a){s=String(s);if(typeof(a)=="string")return s.indexOf(a)!=-1;else{for(var i=0;i<a.length;i++)if(s.indexOf(a[i])!=-1)return true;return false;}}
function _TRIM(){var s=0,e=this.length;while(s<e&&this.charAt(s)==' ')s++;while(e>0&&this.charAt(e-1)==' ')e--;return this.slice(s,e);}
String.prototype.trim=_TRIM;function popup(url,j,atr){var w=window.open(url,j,removeStr(atr," "));}
function random(r1,r2){return Math.round(Math.random()*(r2-r1))+(r2>r1?r1:r2);}
function trim(s){return String(s).replace(/^\s+/,"").replace(/\s+$/,"");}
function autoSkip(field,orient){var ind=-1,f=field.form;for(i=0;i<f.elements.length;i++)
if(field==f.elements[i]){ind=i;break;}
focusCampByPos(f,ind,orient);}
function autoFocus(f){focusCampByPos((arguments.length==0?document.forms[0]:f),-1);}
function focusCampByPos(fr,ind,orient){orient=orient?orient:"down";var iNext=(orient=="down"?1:-1),el;if((typeof fr.elements[ind+iNext])=="undefined"){if(ind!=-1)if(fr.elements[ind]&&fr.elements[ind].blur)fr.elements[ind].blur();return;}
for(var i=ind+iNext;i<fr.elements.length;i+=iNext){el=fr.elements[i];if(/^(text|password|select.*|radio|checkbox.*)$/.test(el.type)&&!el.disabled){el.focus();return;}}
if(fr.elements[ind]&&fr.elements[ind].blur)fr.elements[ind].blur();}
function isNumeric(v){return/^[0-9]+$/.test(v);}
function isAlfa(v){return/^[a-zA-ZáéíóúçãõâêôàÁÉÍÓÚÇÃÕÂÊÔÀ]+$/.test(v);}
function isAlfaNumeric(v){return/^[0-9a-zA-Z]+$/.test(v);}
function invertStr(s){var t="",i;for(i=0;i<s.length;i++)t=s.charAt(i)+t;return t;}
function removeStr(src,arg){var v=(typeof arg=="string")?[arg]:arg;var r="";for(var i=0;i<v.length;i++)r=changeStr(src,v[i],"");return r;}
function repeatStr(src,str,size,orient){var r=String(src);if(!orient)orient="left";while(r.length<size)r=orient.toLowerCase()=="right"?(r+str):(str+r);return r;}
function changeStr(src,from,to)
{src=String(src);var i,li=0,lFrom=from.length,dst="";while((i=src.indexOf(from,li))!=-1){dst+=src.substring(li,i)+to;li=i+lFrom;}
dst+=src.substring(li);return dst;}
function justNumbersStr(s){return String(s).replace(/\D*/g,"");}
function onlySameNumber(s){return isNumeric(s)&&(new RegExp("^("+s.charAt(0)+")(\\1)*$")).test(s);}
