﻿$(document).ready(function(){
    $("#numOfCigs").validate();
    $("#costOfCigs").validate();
});

GSK = function() {
    /// <summary>This is the main namespace and place for custom javascript objects and methods.
    /// It is work as a sigleton and cannot be created more than once.
    /// </summary>
    /// <returns>GSK</returns>
    var type = 'GSKManager';
    var version = '0.1';
    var results = new Array();


    function addResult(context) {
        results.push(new result(context.text, context.from, context.to));
    }

    function calcResult() {
        var score = 0;
        var selectors = $('input:radio:checked').each(function(index) {
            score += parseInt($(this).val());
        });
        for (result in results) {
            if (score >= results[result].from && score <= results[result].to) {
                $(".results").html(results[result].text);
            }
        }
        if (!$("div.results").is(":hidden")) {
            $("div.results").hide();
        }
        $("div.results").slideDown("fast", "swing");
    }

    function result(text, from, to) {
        this.text = text;
        this.from = from;
        this.to = to;
        return this;
    }
    
    function calculateSmokingCost() {
        
        $("#costOfCigs").css("background-color", "White");
        $("#numOfCigs").css("background-color", "White");
        
        var isValid = true;
        if( $("#costOfCigs").val() == "" )
        {
            $("#costOfCigs").css("background-color", "#FCC");
            isValid &= false;
        }
        if($("#numOfCigs").val() == "" )
        {
            $("#numOfCigs").css("background-color", "#FCC");
            isValid &= false;
        }
        if(isValid)
        {
            $(".smoking-cost tr").each( function(index) {
                var cost = parseFloat($("#costOfCigs").val());
                var packSize = parseFloat($(".pack-size").html()) ;
                var numberPerDay = parseFloat($("#numOfCigs").val());
                var costPerDay = ( cost / packSize ) * numberPerDay;
                var Days1 =  $(this).find(".input-days").html();
                var Days = parseFloat( $(this).find(".input-days").html());
                var currentLang = $("html").attr("lang"); 
                $(this).find(".output-cost").html( Days * costPerDay).formatCurrency({region: currentLang });
            });
             $(".nrt-cost .number").each( function(index) {
                var currentLang = $("html").attr("lang"); 
                $(this).formatCurrency({region: currentLang });
             });
            $("div.results").slideDown("fast", "swing");
        }
    }
    

    return {
        CalculateResult: function(text, from, to) {
            calcResult();
        },
        AddResultPublic: function(context) {
            addResult(context);
        },
        CalculateSmokingCost: function() {
            calculateSmokingCost();
        }
        
    }
    
    
} ();

function validate(evt) {
    var theEvent = evt || window.event;
    var key = theEvent.keyCode || theEvent.which;
    if( key != 8 )
    {
        key = String.fromCharCode( key );
        var regex = /[0-9]|\./;
        if( !regex.test(key) ) {
            theEvent.returnValue = false;
            if(theEvent.preventDefault) 
                theEvent.preventDefault();
      }
    }
    else
    {
        theEvent.returnValue = true;
    }
}

