var arrQtdeDiasMeses=new Array(0,31,28,31,30,31,30,31,31,30,31,30,31);var arrDatasPSA=new Array();function fcnAdicionar(){objForm=document.frDataPSA;objDia=objForm.txtDia;objMes=objForm.txtMes;objAno=objForm.txtAno;objPSA=objForm.txtPSA;bCampoVazio=false;if(objPSA.value==''||!objPSA.value.match(/^[0-9\.,]*$/)){fcnChangeClassName('PSA','adv');bCampoVazio=true;var objFocus=objPSA}else{fcnChangeClassName('PSA','')}if(objAno.value==''||!objAno.value.match(/^[0-9]{4}$/)){fcnChangeClassName('Ano','adv');bCampoVazio=true;var objFocus=objAno}else{fcnChangeClassName('Ano','')}if(objMes.value==''||!objMes.value.match(/^[0-9]*$/)||Math.ceil(objMes.value)<1||Math.ceil(objMes.value)>12){fcnChangeClassName('Mes','adv');bCampoVazio=true;var objFocus=objMes}else{fcnChangeClassName('Mes','')}if(objDia.value==''||!objDia.value.match(/^[0-9]*$/)){fcnChangeClassName('Dia','adv');bCampoVazio=true;var objFocus=objDia}else{if(objFocus!=objMes&&objFocus!=objAno){if(Math.ceil(objMes.value)==2)if(Math.ceil(objAno.value)%400==0||(Math.ceil(objAno.value)%4==0&&Math.ceil(objAno.value)%100!=0))arrQtdeDiasMeses[Math.ceil(objMes.value)]=29;else arrQtdeDiasMeses[Math.ceil(objMes.value)]=28;if(Math.ceil(objDia.value)<0||Math.ceil(objDia.value)>arrQtdeDiasMeses[Math.ceil(objMes.value)]){fcnChangeClassName('Dia','adv');bCampoVazio=true;var objFocus=objDia}else fcnChangeClassName('Dia','')}else fcnChangeClassName('Dia','')}if(!bCampoVazio){strDia=objDia.value.length==1?'0'+objDia.value:objDia.value;strMes=objMes.value.length==1?'0'+objMes.value:objMes.value;strAno=objAno.value;strData=strDia+'/'+strMes+'/'+strAno;strPSA=objPSA.value.replace(',','.');strPSA=strPSA.substring(strPSA.length-1,strPSA.length)=='.'?strPSA+'0':strPSA;strPSA=strPSA.substring(0,1)=='.'?'0'+strPSA:strPSA;strPSA=strPSA.match(/\./)?strPSA:strPSA+'.0';if(arrDatasPSA.length){for(var i=0;i<arrDatasPSA.length;i++){if(Date.ConvertToYear(strData)==Date.ConvertToYear(arrDatasPSA[i][0])&&parseFloat(strPSA)==0){alert('Para o cálculo da cinética, o nível sérico de PSA deve ser DIFERENTE DE ZERO \ne as dosagens devem ter sido realizadas EM DATAS DIFERENTES.');return}else if(Date.ConvertToYear(strData)==Date.ConvertToYear(arrDatasPSA[i][0])&&parseFloat(strPSA)!=0){alert('Para o cálculo da cinética, as dosagens do nível sérico de PSA devem ter sido realizadas EM DATAS DIFERENTES.');return}else if(Date.ConvertToYear(strData)!=Date.ConvertToYear(arrDatasPSA[i][0])&&parseFloat(strPSA)==0){alert('Para o cálculo da cinética, o nível sérico de PSA deve ser DIFERENTE DE ZERO.');return}}}else{if(parseFloat(strPSA)==0){alert('Para o cálculo da cinética, o nível sérico de PSA deve ser DIFERENTE DE ZERO.');return}}inLinha=arrDatasPSA.length;arrDatasPSA[inLinha]=new Array(1);arrDatasPSA[inLinha][0]=strData;arrDatasPSA[inLinha][1]=strPSA;for(var i=0;i<arrDatasPSA.length;i++){for(j=i+1;j<arrDatasPSA.length;j++){if(Date.ConvertToYear(arrDatasPSA[i][0])>Date.ConvertToYear(arrDatasPSA[j][0])){xData=arrDatasPSA[i][0];arrDatasPSA[i][0]=arrDatasPSA[j][0];arrDatasPSA[j][0]=xData;xPSA=arrDatasPSA[i][1];arrDatasPSA[i][1]=arrDatasPSA[j][1];arrDatasPSA[j][1]=xPSA}else if((Date.ConvertToYear(arrDatasPSA[i][0])==Date.ConvertToYear(arrDatasPSA[j][0]))&&arrDatasPSA[i][1]>arrDatasPSA[j][1]){xPSA=arrDatasPSA[i][1];arrDatasPSA[i][1]=arrDatasPSA[j][1];arrDatasPSA[j][1]=xPSA}}}objSelDatas=objForm.slcListaDatas;var opts=objSelDatas.options;for(var i=opts.length-1;i>=0;i--){objSelDatas.removeChild(opts[i])}for(var i=0;i<arrDatasPSA.length;i++){var objOption=document.createElement('option');objOption.innerHTML=arrDatasPSA[i][0]+' | PSA: '+arrDatasPSA[i][1].replace('.',',');objSelDatas.appendChild(objOption)}objDia.value=objMes.value=objAno.value=objPSA.value='';objDia.focus()}else objFocus.focus()}Date.ConvertToYear=function(strData){arrData=strData.split('/');strData=arrData[1]+'/'+arrData[0]+'/'+arrData[2];var minutos=1000*60;var horas=minutos*60;var dias=horas*24;var anos=dias*365;intQtdeAnos=Date.parse(strData)/anos;return intQtdeAnos};Date.ConvertToDay=function(strData){arrData=strData.split('/');strData=arrData[2]+'/'+arrData[1]+'/'+arrData[0];intQtdeDias=Date.parse(strData)/(1000*60*60*24);return intQtdeDias};function fcnChangeClassName(id,className){if(id!=null&&className!=null&&document.getElementById(id)!=null)document.getElementById(id).className=className}function fcnValidaData(obj){objForm=document.frDataPSA;var texto=new String();if(obj.value.length==4){var char123=obj.value.substring(0,3);var char4=obj.value.substring(3,4);if(!char4.match(/[0-9]/))char4='';texto=char123+char4}else if(obj.value.length==3){var char12=obj.value.substring(0,2);var char3=obj.value.substring(2,3);if(!char3.match(/[0-9]/))char3='';texto=char12+char3}else if(obj.value.length==2){var char1=obj.value.substring(0,1);var char2=obj.value.substring(1,2);if(!char2.match(/[0-9]/))char2='';texto=char1+char2;if(texto.length==2){}}else{var char1=obj.value;if(char1.match(/[0-9]/))texto=char1}obj.value=texto}function fcnValidaPSA(obj){var texto=new String();if(obj.value.length==1){var char1=obj.value;if(char1=='.')char1=',';if(char1.match(/^[0-9,]$/))texto=char1}else{var char1=obj.value.substring(0,obj.value.length-1);var char2=obj.value.substring(obj.value.length-1,obj.value.length);if(char2=='.')char2=',';if(char1.match(/[\.,]/)&&char2==',')char2='';else if(!char2.match(/^[0-9,]$/))char2='';texto=char1+char2}obj.value=texto}function fcnRemover(){objForm=document.frDataPSA;objDia=objForm.txtDia;objSelDatas=objForm.slcListaDatas;var opts=objSelDatas.options;if(opts.length>0){arrDatasPSA.splice(objSelDatas.selectedIndex,1);objSelDatas.removeChild(opts[objSelDatas.selectedIndex])}objDia.focus()}function fcnLimpar(){objForm=document.frDataPSA;objDia=objForm.txtDia;objSelDatas=objForm.slcListaDatas;var opts=objSelDatas.options;for(var i=opts.length-1;i>=0;i--){objSelDatas.removeChild(opts[i])}arrDatasPSA.splice(0,arrDatasPSA.length);fcnLimparTextos();objDia.focus()}function fcnCalcular(){var intQtdeDias=0;var SomaPSA=0;var SomaLNPSA=0;var intQtdeDatas=arrDatasPSA.length;if(intQtdeDatas>1){fcnLimparTextos();for(var i=0;i<intQtdeDatas;i++){var Data1=arrDatasPSA[i][0];var Data2=arrDatasPSA[0][0];var PSA=parseFloat(arrDatasPSA[i][1]);intQtdeDias+=Date.ConvertToDay(Data1)-Date.ConvertToDay(Data2);SomaPSA+=PSA;SomaLNPSA+=Math.log(PSA)}var Xm=intQtdeDias/(30.4375*intQtdeDatas);var Ym=SomaPSA/intQtdeDatas;var Zm=SomaLNPSA/intQtdeDatas;var Numerador=0;var NumeradorInclinacaoCurva=0;var VelocidadePSA=0;var InclinacaoCurva=0;var strNumeradorInclinacaoCurva=new String();var objVelocidadePSA=document.createElement('span');var objInclinacaoCurva=document.createElement('span');for(var i=0;i<intQtdeDatas;i++){var Data1=arrDatasPSA[i][0];var Data2=arrDatasPSA[0][0];var PSA=parseFloat(arrDatasPSA[i][1]);var X=(Date.ConvertToDay(Data1)-Date.ConvertToDay(Data2))/30.4375;var Y=PSA;var Z=Math.log(PSA);Numerador+=((X-Xm)*(Y-Ym));NumeradorInclinacaoCurva+=((X-Xm)*(Z-Zm));VelocidadePSA+=(X-Xm)*(X-Xm);InclinacaoCurva+=(X-Xm)*(X-Xm)}VelocidadePSA=Numerador/VelocidadePSA;InclinacaoCurva=NumeradorInclinacaoCurva/InclinacaoCurva;var TempoDuplicacao=0.693147181/InclinacaoCurva;document.getElementById('psaTempoDupM').innerHTML='<strong>'+fcnCasasDecimais(TempoDuplicacao,2)+'</strong> ';document.getElementById('psaTempoDupM').innerHTML+=TempoDuplicacao>-1.9&&TempoDuplicacao<1.9?'mês':'meses';document.getElementById('psaVelM').innerHTML='<strong>'+fcnCasasDecimais(VelocidadePSA,2)+'</strong> ng/mL/mês';document.getElementById('psaTempoDupA').innerHTML='<strong>'+fcnCasasDecimais(TempoDuplicacao/12,2)+'</strong> ';document.getElementById('psaTempoDupA').innerHTML+=TempoDuplicacao/12>-1.9&&TempoDuplicacao/12<1.9?'ano':'anos';document.getElementById('psaVelA').innerHTML='<strong>'+fcnCasasDecimais(VelocidadePSA*12,2)+'</strong> ng/mL/ano'}else{alert('É necessário inserir pelo menos 2 registros')}}function fcnCasasDecimais(numero,casas){var posDecimal=String(numero).indexOf('.');if(parseInt(String(numero).substring(posDecimal+casas,posDecimal+casas+1))>=5)numero+=0.01;var resultado=new String(posDecimal>-1?parseFloat(String(numero).substring(0,posDecimal+1+casas)):numero);return resultado.replace(/\./,',')}function fcnLimparTextos(){document.getElementById('psaTempoDupM').innerHTML='';document.getElementById('psaVelM').innerHTML='';document.getElementById('psaTempoDupA').innerHTML='';document.getElementById('psaVelA').innerHTML=''}function instrucoes(){col02.style.height=col02.firstChild.style.height='auto';var instrucoes=document.getElementById('instrucoes');var tabela_instrucoes=document.getElementById('tabela_instrucoes');instrucoes.className=tabela_instrucoes.className=instrucoes.className=='visivel'?'':'visivel'}
