var drinksEntered=new Array();var drinksEnteredCounter=0;var totalDrinks=0;var totalAlcoholIngested=0;var rupDrink=new Array();rupDrink["drink"]=new Array();rupDrink["alcohol_desc"]=new Array();rupDrink["alcohol_num"]=new Array();rupDrink["vessel_name"]=new Array();rupDrink["vessel_volume"]=new Array();rupDrink["drink"][0]="Bere";rupDrink["drink"][1]="Vin";rupDrink["drink"][2]="Spirtoase";rupDrink["alcohol_desc"][0]="Slaba";rupDrink["alcohol_desc"][1]="Medie";rupDrink["alcohol_desc"][2]="Tare";rupDrink["alcohol_desc"][3]="Sprit";rupDrink["alcohol_desc"][4]="Vin";rupDrink["alcohol_desc"][5]="Porto";rupDrink["alcohol_desc"][6]="Aperitiv";rupDrink["alcohol_desc"][7]="Tuica";rupDrink["alcohol_desc"][8]="Vodka/Whiskey";rupDrink["alcohol_desc"][9]="Palinca";rupDrink["alcohol_num"][0]="4";rupDrink["alcohol_num"][1]="5";rupDrink["alcohol_num"][2]="7";rupDrink["alcohol_num"][3]="6";rupDrink["alcohol_num"][4]="12";rupDrink["alcohol_num"][5]="18";rupDrink["alcohol_num"][6]="22";rupDrink["alcohol_num"][7]="30";rupDrink["alcohol_num"][8]="40";rupDrink["alcohol_num"][9]="60";rupDrink["vessel_name"][0]="Pahar";rupDrink["vessel_name"][1]="Sticla mica";rupDrink["vessel_name"][2]="Sticla";rupDrink["vessel_name"][3]="Pahar mic";rupDrink["vessel_name"][4]="Pahar mare";rupDrink["vessel_name"][5]="Sticla mica";rupDrink["vessel_name"][6]="Sticla mare";rupDrink["vessel_name"][8]="Paharel";rupDrink["vessel_name"][9]="Shoot/Cinezaca";rupDrink["vessel_name"][10]="Suta";rupDrink["vessel_name"][11]="Sticla";rupDrink["vessel_volume"][0]="250";rupDrink["vessel_volume"][1]="330";rupDrink["vessel_volume"][2]="500";rupDrink["vessel_volume"][3]="150";rupDrink["vessel_volume"][4]="250";rupDrink["vessel_volume"][5]="375";rupDrink["vessel_volume"][6]="750";rupDrink["vessel_volume"][8]="30";rupDrink["vessel_volume"][9]="50";rupDrink["vessel_volume"][10]="100";rupDrink["vessel_volume"][11]="500";var rupLink=new Array();rupLink["drink_alcohol"]=new Array();rupLink["drink_alcohol"][0]=new Array();rupLink["drink_alcohol"][0]["alcohol"]=new Array(0,1,2);rupLink["drink_alcohol"][0]["vessel"]=new Array(0,1,2);rupLink["drink_alcohol"][1]=new Array();rupLink["drink_alcohol"][1]["alcohol"]=new Array(3,4,5);rupLink["drink_alcohol"][1]["vessel"]=new Array(3,4,5,6);rupLink["drink_alcohol"][2]=new Array();rupLink["drink_alcohol"][2]["alcohol"]=new Array(6,7,8,9);rupLink["drink_alcohol"][2]["vessel"]=new Array(8,9,10,11);function rupStartOver(){totalDrinks=0;totalAlcoholIngested=0;for(i=0;i<drinksEntered.length;i++){drinksEntered[i]="";}
document.rupInput.rupOutputDrinksEntered.value="Nu au fost introduse bauturi deocamdata.";}
function rupAddDrink(){if((parseInt(document.rupInput.rupInputAlcoholLevel.value)>=0)&&(parseInt(document.rupInput.rupInputVessel.value)>=0)){var alcoholLevel=document.rupInput.rupInputAlcoholLevel.value;var alcoholName="Cocktail de alcool ("+alcoholLevel+"%)";var vesselVolume=document.rupInput.rupInputVessel.value;var vesselName="Recipient";document.rupInput.rupInputAlcoholLevel.value="";document.rupInput.rupInputVessel.value="";}else{var alcoholName=document.rupInput.rupSelAlcoholLevel.options[document.rupInput.rupSelAlcoholLevel.selectedIndex].text;var alcoholLevel=document.rupInput.rupSelAlcoholLevel.options[document.rupInput.rupSelAlcoholLevel.selectedIndex].value;var vesselName=document.rupInput.rupSelVessel.options[document.rupInput.rupSelVessel.selectedIndex].value;var vesselIndex=-1;var vesselVolume="error";for(i=0;i<rupDrink["vessel_name"].length;i++){if(rupDrink["vessel_name"][i]==vesselName){vesselIndex=i;}}
if(vesselIndex>-1){vesselVolume=rupDrink["vessel_volume"][vesselIndex];}}
if(vesselVolume!="error"){var numDrinks=parseInt(document.rupInput.rupInputNumDrinks.value);if(numDrinks>0){drinksEntered[drinksEnteredCounter]=numDrinks+" x "+vesselVolume+"mL "+vesselName+" de "+alcoholName
drinksEnteredCounter++;totalDrinks+=numDrinks;totalAlcoholIngested+=rupCalcIngested(numDrinks,vesselVolume,alcoholLevel);}
var drinksEnteredList="";for(i=0;i<drinksEntered.length;i++){if(drinksEntered[i].length>0){drinksEnteredList+=drinksEntered[i]+"\n";}}
drinksEnteredList+="\nNumar total de bauturi consumate: "+totalDrinks;document.rupInput.rupOutputDrinksEntered.value=drinksEnteredList;}}
function rupFillDrink(rupSelDrinkIndex){if(parseInt(rupSelDrinkIndex)<rupLink["drink_alcohol"].length){document.rupInput.rupSelAlcoholLevel.options.length=0;for(i=0;i<rupLink["drink_alcohol"][rupSelDrinkIndex]["alcohol"].length;i++){tmp1=eval("rupDrink['alcohol_desc']"+"["+eval("rupLink['drink_alcohol']"+"["+rupSelDrinkIndex+"]['alcohol']["+i+"]")+"]");tmp2=eval("rupDrink['alcohol_num']"+"["+eval("rupLink['drink_alcohol']"+"["+rupSelDrinkIndex+"]['alcohol']["+i+"]")+"]");tmp3=tmp1+" ("+tmp2+"%)";document.rupInput.rupSelAlcoholLevel.options[i]=new Option(tmp3,tmp2);}
document.rupInput.rupSelAlcoholLevel.options[0].selected=true;document.rupInput.rupSelVessel.options.length=0;for(i=0;i<document.rupInput.rupSelVessel.options.length;i++){document.rupInput.rupSelVessel.options[i]=null;}
for(i=0;i<rupLink["drink_alcohol"][rupSelDrinkIndex]["vessel"].length;i++){tmp1=eval("rupDrink['vessel_name']"+"["+eval("rupLink['drink_alcohol']"+"["+rupSelDrinkIndex+"]['vessel']["+i+"]")+"]");tmp2=eval("rupDrink['vessel_volume']"+"["+eval("rupLink['drink_alcohol']"+"["+rupSelDrinkIndex+"]['vessel']["+i+"]")+"]");tmp3=tmp1+" ("+tmp2+"mL)";document.rupInput.rupSelVessel.options[i]=new Option(tmp3,tmp1);}
document.rupInput.rupSelVessel.options[0].selected=true;}else{document.rupInput.rupSelDrinkType.options[0].selected=true;rupFillDrink(0);}}
function rupInit(){for(i=0;i<rupDrink["drink"].length;i++){document.rupInput.rupSelDrinkType.options[i]=new Option(rupDrink["drink"][i],i);}
rupFillDrink(0);document.rupInput.rupSelDrinkType.options[0].selected=true;document.rupInput.rupSelAlcoholLevel.options[0].selected=true;document.rupInput.rupInputElapsedTime_hours.value=0;document.rupInput.rupInputElapsedTime_mins.value=0;rupStartOver();}
function rupCalcTime(){var start_hours=parseInt(document.rupInput.rupSelStartedDrinking_hour.options[document.rupInput.rupSelStartedDrinking_hour.selectedIndex].value);var start_mins=parseInt(document.rupInput.rupSelStartedDrinking_mins.options[document.rupInput.rupSelStartedDrinking_mins.selectedIndex].value);var start_ampm=document.rupInput.rupSelStartedDrinking_ampm.options[document.rupInput.rupSelStartedDrinking_ampm.selectedIndex].value;var start_hours_modifier=(start_ampm=="am")?0:12;var start_hours=start_hours+start_hours_modifier;var finish_hours=parseInt(document.rupInput.rupSelFinishedDrinking_hour.options[document.rupInput.rupSelFinishedDrinking_hour.selectedIndex].value);var finish_mins=parseInt(document.rupInput.rupSelFinishedDrinking_mins.options[document.rupInput.rupSelFinishedDrinking_mins.selectedIndex].value);var finish_ampm=document.rupInput.rupSelFinishedDrinking_ampm.options[document.rupInput.rupSelFinishedDrinking_ampm.selectedIndex].value;var finish_hours_modifier=(finish_ampm=="am")?0:12;var finish_hours=finish_hours+finish_hours_modifier;var start_total_mins=start_hours*60+start_mins;var finish_total_mins=finish_hours*60+finish_mins;var elapsed_total_mins=0;if(finish_total_mins>=start_total_mins){elapsed_total_mins=finish_total_mins-start_total_mins;}else{elapsed_total_mins=(24*60)+finish_total_mins-start_total_mins;}
if(!(elapsed_total_mins>=0)){elapsed_total_mins=0;}
elapsed_hours=Math.floor(elapsed_total_mins/60);elapsed_mins=elapsed_total_mins%60;document.rupInput.rupInputElapsedTime_hours.value=elapsed_hours;document.rupInput.rupInputElapsedTime_mins.value=elapsed_mins;}
function rupCalcIngested(numDrinks,vesselVolume,alcoholLevel){var ALCOHOL_DENSITY=0.79;return(numDrinks*vesselVolume*alcoholLevel*0.01*ALCOHOL_DENSITY);}
function rupCalcRemaining(ingested,elapsedTime){var METABOLIC_REMOVAL_RATE=7;return(ingested-(METABOLIC_REMOVAL_RATE*elapsedTime));}
function rupCalcBodyWater(height,weight,age,sex){var HEIGHT_FACTOR=(sex=="m")?0.1074:0.1069;var WEIGHT_FACTOR=(sex=="m")?0.3362:0.2466;var AGE_FACTOR=(sex=="m")?0.09516:0;var BODY_WATER_CONST=(sex=="m")?2.447:2.097;var h=HEIGHT_FACTOR*height;var w=WEIGHT_FACTOR*weight;var a=AGE_FACTOR*age;var ml=(h-a+w+BODY_WATER_CONST)*1000;return(ml);}
function rupCalcBAC(remaining,bodyWater){var WATER_CONTENT_OF_BLOOD=0.8157;return(100*(remaining/(bodyWater/WATER_CONTENT_OF_BLOOD)));}
function rupCalculate(){var inputError=false;var age=parseInt(document.rupInput.rupInputAge.value);if(!(age>0)){inputError=true;}
var sex=document.rupInput.rupSelGender.options[document.rupInput.rupSelGender.selectedIndex].value;sex=(sex.substring(0,1).toLowerCase()=="f")?"f":"m";var height=parseInt(document.rupInput.rupInputHeight.value);if(!(height>0)){inputError=true;}
var weight=parseInt(document.rupInput.rupInputWeight.value);if(!(weight>0)){inputError=true;}
if(inputError==false){var elapsedTime=parseInt(document.rupInput.rupInputElapsedTime_hours.value)+(parseInt(document.rupInput.rupInputElapsedTime_mins.value)/60);var outputIngested=totalAlcoholIngested;var outputRemaining=rupCalcRemaining(outputIngested,elapsedTime);if(outputRemaining<0){outputRemaining=0;}
var outputBAC=rupCalcBAC(outputRemaining,rupCalcBodyWater(height,weight,age,sex));outputIngested=Math.round(outputIngested*100)/100;outputRemaining=Math.round(outputRemaining*100)/100;outputBAC=Math.round(outputBAC*1000)/1000;document.rupInput.rupOutputIngested.value=outputIngested;document.rupInput.rupOutputRemaining.value=outputRemaining;document.rupInput.rupOutputBAC.value=outputBAC;if(outputBAC>0.30){document.rupInput.rupOutputStatus.value="Ar trebui sa fii mort acum!";}else if(outputBAC>0.22){document.rupInput.rupOutputStatus.value="Probabil esti inconstient/a.";}else if(outputBAC>0.15){document.rupInput.rupOutputStatus.value="Aceasta pagina este probabil defocalizata.";}else if(outputBAC>0.11){document.rupInput.rupOutputStatus.value="Ai probleme cu tastatura?";}else if(outputBAC>0.07){document.rupInput.rupOutputStatus.value="Ia un taxi!";}else if(outputBAC>0.02){document.rupInput.rupOutputStatus.value="Nu te urca la volan!";}else if(outputBAC>0.01){document.rupInput.rupOutputStatus.value="Te simti ametit/a ...";}else{document.rupInput.rupOutputStatus.value="Nici macar ametit/a!";}
if(outputBAC==0.0666){document.rupInput.rupOutputStatus.value="Esti un diavol al bauturii!";}}
else{alert("A intervenit o eroare. Va rugam asigurati-va ca toate campurile sunt completate corect si apoi incercati din nou.");}}
