
MINDDAMOUNT = 2;
MINDONATION = 5;

DDMULTIPLIER = 2.1;
DONATIONMULTIPLIER = 25;   
   
function TotalbyCarbon()
{  
   var elem = document.getElementById('usr_std_amount_carbon');

   elem.onchange = function() {
       try {
           var carbonamount = parseFloat(elem.value);
           if (!(carbonamount > 0)) {
               carbonamount = 0;
               elem.value = 0;
           }

           donationamount = roundNumber(carbonamount * DONATIONMULTIPLIER, 2);
           if (donationamount < MINDONATION && donationamount > 0)
               document.getElementById('usr_std_donate').value = MINDONATION;
           else
               document.getElementById('usr_std_donate').value = donationamount;


           ddamount = roundNumber(carbonamount * DDMULTIPLIER, 2)
           if (ddamount < MINDDAMOUNT && ddamount > 0)
               document.getElementById('usr_std_directdebit').value = MINDDAMOUNT;
           else
               document.getElementById('usr_std_directdebit').value = ddamount;
               
           //document.getElementById('usr_std_donate').value = roundNumber(carbonamount * DONATIONMULTIPLIER, 2);
           //document.getElementById('usr_std_directdebit').value = roundNumber(carbonamount * DDMULTIPLIER, 2);

       }
       catch (Exception) { }
   }
        elem.onkeyup = function(event) {
            if (event.keyCode != 8 && event.keyCode != 46) {
                return allow_numeric(elem);
            }
        }
       	
};


function TotalbyDonation() {
    var elem = document.getElementById('usr_std_donate');

    elem.onchange = function() {
        try {
            var donationamount = parseFloat(elem.value);
            if (donationamount > 0 && donationamount<5){
                alert("\u00a35 minimum donation amount");
                var carbonamount = MINDONATION/DONATIONMULTIPLIER;
                elem.value = MINDONATION;                
            }
            else{
                if (donationamount > 0){
                    var carbonamount = donationamount / DONATIONMULTIPLIER;
                }
                else {
                    var carbonamount = 0;
                    elem.value = 0;
                }
            }
            document.getElementById('usr_std_amount_carbon').value = roundNumber(carbonamount, 2);
            var ddamount = roundNumber(carbonamount * DDMULTIPLIER, 2);
            if (ddamount < MINDDAMOUNT && ddamount > 0)
                document.getElementById('usr_std_directdebit').value = MINDDAMOUNT;
            else
                document.getElementById('usr_std_directdebit').value = ddamount;
                

        }
        catch (Exception) { }
    }
    elem.onkeyup = function(event) {
        if (event.keyCode != 8 && event.keyCode != 46) {
            return allow_numeric(elem);
        }
    }

};

function TotalbyDD() {
    var elem = document.getElementById('usr_std_directdebit');

    elem.onchange = function() {
        try {
            var ddamount = parseFloat(elem.value);
            if (ddamount > 0 && ddamount < 2) {
                alert("\u00a32 minimum direct debit amount");
                var carbonamount = MINDDAMOUNT/DDMULTIPLIER;
                elem.value = MINDDAMOUNT;
            }
            else {
                if (ddamount > 0) {
                    var carbonamount = ddamount / DDMULTIPLIER;
                }
                else {
                    var carbonamount = 0;
                    elem.value = 0;
                }
            }
            document.getElementById('usr_std_amount_carbon').value = roundNumber(carbonamount, 2);
            
            var donationamount = roundNumber(carbonamount * DONATIONMULTIPLIER, 2);
            if (donationamount < MINDONATION && donationamount > 0)
                document.getElementById('usr_std_donate').value = MINDONATION;
            else
                document.getElementById('usr_std_donate').value = donationamount;
                

        }
        catch (Exception) { }
    }
    elem.onkeyup = function(event) {
        if (event.keyCode != 8 && event.keyCode != 46) {
            return allow_numeric(elem);
        }
    }

};

function allow_numeric(obj) {
    if (!/^\d+(\.\d*)?$/.test(obj.value)) {
        alert("please enter only numbers and decimal points");
        obj.value = theVal = obj.value.replace(/[^0-9.]/g, '');
        if (theVal > "") {
            obj.value = parseFloat("0" + theVal);
            obj.focus()
        }
    }
};

function roundNumber(num, dec) {
    var result = Math.round(num * Math.pow(10, dec)) / Math.pow(10, dec);
    return result;
};


function validateForm() {
    if ((document.getElementById('usr_std_donate').value < 5) || (document.getElementById('usr_std_directdebit').value < 2)) {
        alert("You must donate a minimum of \u00A35 or setup a direct debit for a minimum of \u00A32");
        return false;
    }
    else {
        return true;
    }
}

//Added for Internet Explorer
function loadvalidateForm() 
{
    if (typeof window.attachEvent != 'undefined') 
    {
        document.basketAdd.attachEvent('onsubmit', validateForm());    
    }
    else 
    {
        document.basketAdd.onsubmit = function() 
        {
            return validateForm();
        }
    }
}  


addLoadListener(TotalbyCarbon);
addLoadListener(TotalbyDonation);
addLoadListener(TotalbyDD);
addLoadListener(loadvalidateForm);
