﻿function Initialize()
{
    var km = document.getElementById("km");
    var pris_liter = document.getElementById("pris_liter");
    var km_liter = document.getElementById("km_liter");
    var total_udgift = document.getElementById("total_udgift");
    
    km.value = queryString("km");
    pris_liter.value = queryString("pris_liter");
    km_liter.value = queryString("km_liter");
    total_udgift.value = "";
    
    if( 0 != km.value.length && 0 != pris_liter.value.length && 0 != km_liter.value.length)
    {
        Calculate();
    }
}

function Calculate()
{
    var km = document.getElementById("km").value;
    var pris_liter = document.getElementById("pris_liter").value;
    var km_liter = document.getElementById("km_liter").value;
    var total_udgift = document.getElementById("total_udgift");
    
    if( 0 == km.length || 0 == pris_liter.length || 0 == km_liter.length)
    {
        total_udgift.value = "Alle felter skal udfyldes";
    }
    
    if( isNaN(km) || isNaN(pris_liter) || isNaN(km_liter))
    {
        total_udgift.value = "Fejl i beregning";
    }
    
    km = km.replace( /,/gi, "." );
    pris_liter = pris_liter.replace( /,/gi, "." );
    km_liter = km_liter.replace( /,/gi, "." );
    
    var resultat = km / km_liter * pris_liter;
    if( isNaN(resultat) )
        total_udgift.value = "Fejl i beregning";
    else
    {
        total_udgift.value = Math.round(resultat);
    }
}

function PageQuery(q) 
{
    if(q.length > 1) 
        this.q = q.substring(1, q.length);
    else 
        this.q = null;
        
    this.keyValuePairs = new Array();
    
    if(q) 
    {
        for(var i=0; i < this.q.split("&").length; i++) 
        {
            this.keyValuePairs[i] = this.q.split("&")[i];
        }
    }
    this.getKeyValuePairs = function() 
    { 
        return this.keyValuePairs; 
    }
    
    this.getValue = function(s) 
    {
        for(var j=0; j < this.keyValuePairs.length; j++) 
        {
            if(this.keyValuePairs[j].split("=")[0] == s)
            return this.keyValuePairs[j].split("=")[1];
        }
        
        return false;
    }
    
    this.getParameters = function() 
    {
        var a = new Array(this.getLength());
        for(var j=0; j < this.keyValuePairs.length; j++) 
        {
            a[j] = this.keyValuePairs[j].split("=")[0];
        }
        return a;
    }
    
    this.getLength = function() 
    { 
        return this.keyValuePairs.length; 
    } 
    
}

function queryString(key)
{
    var page = new PageQuery(window.location.search); 
    var value = page.getValue(key); 
    if(false == value)
        return "";
    else
        return unescape(value);
}

