﻿var lang;
var mForm;
var hasError;
var displayKey;
    	


//-------------------------------------------------------------------------------------------------
//set params on first pageload
function initPage(mlang)
{    
    lang = mlang;
    //mForm = document.getElementById("form_alcohol");
    document.getElementById("divWaiter").style.display = "none";
    document.getElementById("div_result").style.display = "none";
    hideResultTable();
    //fillForm();
}

function hideResultTable()
{
   if(navigator.userAgent.toLowerCase().indexOf("firefox")>-1)
	{
		displayKey = "table-row";
	}
	else
	{
		displayKey = "block";
	}
	
    var tableResult = document.getElementById("tblResult");
	var len =  tableResult.rows.length;
	//hide tableresult
	document.getElementById("tblResult").style.display = "none";	
}

// fill form on first page entry
function fillForm()
{
	for(i=0;i<mForm.length;i++)
	{
		if (mForm.elements[i].name == "weight")
		{
			if(lang == "NL")
			{
			    mForm.elements[i].title = "vul hier uw gewicht";
			}
			else
			{
			    mForm.elements[i].title = "compl\351tez ici votre poids";
			}
		}
		else if ((mForm.elements[i].type == "text")&&(mForm.elements[i].value==""))
		{
			mForm.elements[i].value = 0;
			if(lang == "NL")
			{
			    mForm.elements[i].title = "vul hier een geheel getal in";
			}
			else
			{
			    mForm.elements[i].title = "compl\351tez ici un nombre entier";
			}
		}
	}
}


//on each entered value, check field
function checkValue(obj)
{
    if(obj.value  == "")
    {
        obj.value = 0;
    }
    else if((obj.value.indexOf(",")>-1)&&(obj.value.indexOf(".")>-1))
	{
		obj.value=obj.value.replace(".","");
		checkValue(obj);
		obj.value=obj.value.replace(",",".");
	}
	else if(obj.value.indexOf(",")>-1)
	{
		obj.value=obj.value.replace(",",".");
		checkValue(obj);
	}
    
    if(isNaN(obj.value))
    {
        (lang=="NL")?alert("gelieve een numerische waarde op te geven"):alert("veuillez introduire une valeur num\351rique");
         hasError = obj;
    }    
}


//on focus input field, select field content
function selectContent(obj)
{
    if(hasError==null) //added hasError to bypass focus when alert on other input field
    {
        obj.select();
    }
    else
    {
        hasError.select();
        hasError = null;
    }
}


function setGender(obj)
{
    document.getElementById("gender").value = obj.value;
}


function calcul()
{
    document.getElementById("divWaiter").style.display = "none";    
        
    var isValid;// = true;
    if(document.getElementById("gender").value == "")
    {
       (lang=="NL")?alert("Gelieve uw geslacht op te geven."):alert("Veuillez indiquer votre sexe.");
        isValid = false;
    }
    else if(document.getElementById("weight").value == "" || document.getElementById("weight").value == "0")
    {
       (lang=="NL")?alert("Gelieve uw gewicht op te geven."):alert("Veuillez compl\351ter votre poids.");
        isValid = false;
        document.getElementById("weight").focus();
    }else{
        isValid = true;
    }
    
    
    if(isValid)
    {
        document.getElementById("div_result").style.display = "none";	
        document.getElementById("divWaiter").style.display = "block";    
        getResult();
    }
}


//-----------------------------------------------------------------
//show details
var xmlhttp;

function getResult()
{
	var _gender, _weight, _drinks;
	var arrayDrink = new Array(8);
	_drinks = "";
	_gender = document.getElementById("gender").value.toUpperCase();
	_weight = document.getElementById("weight").value;
	
	//alert(_gender);
	
	for(i=1;i<10;i++)
	{
	    _drinks += "&d" + i + "=" + eval("document.getElementById('d" + i + "')").value;
	}
	var url = "../xmlResult.aspx?gender=" + _gender + "&weight=" + _weight + _drinks;
	//alert(url);
		    
		
	// code for Mozilla, etc.
	if (window.XMLHttpRequest)
	{
		xmlhttp=new XMLHttpRequest();
		xmlhttp.onreadystatechange=xmlhttpChange;
		xmlhttp.open("GET",url,true);
		xmlhttp.send(null);
	}
	// code for IE
	else if (window.ActiveXObject)
	{
		xmlhttp=new ActiveXObject("Microsoft.XMLHTTP")
		if (xmlhttp)
		{
			xmlhttp.onreadystatechange=xmlhttpChange;
			xmlhttp.open("GET",url,true);
			xmlhttp.send();
		}
	}
}



function xmlhttpChange()
{
    // if xmlhttp shows "loaded"
    if (xmlhttp.readyState==4)
      {
       // if "OK"
       if (xmlhttp.status==200)
	    {
		    writeResult(xmlhttp.responseText);
	        document.getElementById("divWaiter").style.display = "none";    
		}
       else
        {
		    if(lang.toUpperCase()=="NL")
		    {
			    alert("Het rekenblad is momenteel niet beschikbaar.");
		    }
		    else
		    {
			    alert("La feuille de calcul n'est pas disponible pour l'instant.");
		    }
        }
      }
}


function writeResult(xmlResult)
{
   var _result = "";
    arrayResults = xmlResult.toString().split("&");
    
    document.getElementById("tblResult").style.display = "block";
    
    var tableResult = document.getElementById("tblResult");
	var len =  tableResult.rows.length;
	
	if(navigator.userAgent.toLowerCase().indexOf("firefox")>-1)
	{
	     document.getElementById("tblResult").width = "498px";
	}
	else if(navigator.userAgent.toLowerCase().indexOf("opera")>-1)
	{
	     document.getElementById("tblResult").width = "516px";
	}
	
	
	if(Number(arrayResults[0])>0.5)
	{
	    document.getElementById("result1").innerHTML = "<span style='color:#d6000a;'>" + Math.round(Number(arrayResults[0])*100)/100 + "</span> g/l";
	}
	else
	{
	    document.getElementById("result1").innerHTML = Math.round(Number(arrayResults[0])*100)/100 + " g/l";
	}
	
	if(Number(arrayResults[1])>0.5)
	{
	    document.getElementById("result2").innerHTML = "<span style='color:#d6000a;'>" + Math.round(Number(arrayResults[1])*100)/100 + "</span> g/l";
	}
	else
	{
	    document.getElementById("result2").innerHTML = Math.round(Number(arrayResults[1])*100)/100 + " g/l";
	}
	
	window.location.hash = "#result";
	
	
    var imgSrc = "";
    if(Number(arrayResults[0])== 0)
    {
        imgSrc = "alcool00.jpg";
    }
    else if(Number(arrayResults[0])<0.8)
    {
        imgSrc = "alcool01.jpg";
    }
    else if(Number(arrayResults[0])<1.5)
    {
        imgSrc = "alcool02.jpg";
    }
    else if(Number(arrayResults[0])<3)
    {
        imgSrc = "alcool03.jpg";
    }
    else if(Number(arrayResults[0])<5)
    {
        imgSrc = "alcool04.jpg";
    }
    else
    {
        imgSrc = "alcool05.jpg";
    }
    
    document.getElementById("div_result").style.display = "block";
    document.imgResult.src = "/dossiers/alcool/images/" + imgSrc;
    
}
