﻿//MY COMBO setup
function findMyComboContainer(elem) {
    return $(elem).parents(".myCombo_container");
}

$(".myCombo_top").bind("click", function() {
    //$(".myCombo_rest", findMyComboContainer(this)).toggle();
    findMyComboContainer(this).toggleClass("expanded");
});
$(".myCombo_item").bind("click", function() {
    $(".myCombo_item_top", findMyComboContainer(this)).html($(this).html());
    $(".myComboValue", findMyComboContainer(this)).attr("value", $(this).attr("value"));
    //$(".myCombo_rest", findMyComboContainer(this)).hide();
    findMyComboContainer(this).removeClass("expanded");
});
$(".myCombo_container").bind("mouseleave", function() {
    //$(".myCombo_rest", $(this)).hide();    
    $(this).removeClass("expanded");
});

$(".myCombo_item").bind("mouseenter", function() { $(this).addClass("myCombo_item_hover"); });
$(".myCombo_item").bind("mouseleave", function() { $(this).removeClass("myCombo_item_hover"); });


$(document).ready(function() {
    //update visuals if value in input field exists, usually happens upon soft browser refresh or using browser back button
    $(".myCombo_container .myComboValue[value!='']").each(function(index, elem) {
        var value = $(elem).attr("value");
        var html = $(".myCombo_item[value='" + value + "']", findMyComboContainer(elem)).html();
        $(".myCombo_item_top", findMyComboContainer(elem)).html(html);
    });
});


//YES NO setup
$("img.yes_no").bind("click", { target: $(this).target }, toggleYesNo);

$('.hoverBtnYesNo').live('mouseover', function() { if ($(this).attr('selected') == 'true') return; $(this).attr('src', $(this).attr('src').replace('_off', '_on')); });
$('.hoverBtnYesNo').live('mouseout', function() { if ($(this).attr('selected') == 'true') return; $(this).attr('src', $(this).attr('src').replace('_on', '_off')); });

function toggleYesNo(event) {
    var elem = event.target ? event.target : event.data.target;
    var groupid = $(elem).attr('groupid');
    var allingroup = $("img.yes_no[groupid='" + groupid + "']");
    allingroup.attr("src", function() { return this.src.replace("_on", "_off"); });
    allingroup.attr("selected", 'false');
    $(elem).attr("src", function() { return this.src.replace("_off", "_on"); });
    $(elem).attr("selected", 'true');
    $("input.yes_no[groupid='" + groupid + "']").attr("value", $(elem).attr("value"));
}

//update visuals if value in input field exists, usually happens upon soft browser refresh or using browser back button
$(document).ready(function() {
    $("input.yes_no").each(function(index, elem) {
        var groupid = $(elem).attr("groupid");
        var value = $(elem).val();

        var imgs = $("img.yes_no[groupid='" + groupid + "'][value='" + value + "']");
        if (imgs.length > 0)
            toggleYesNo({ data: { target: imgs[0]} });
    });
});



//inputs validation
function tool_validate() {
    var myComboValue1_val = $('#evalTool_val_1').val();
    var myComboValue2_val = $('#evalTool_val_2').val();
    var myComboValue3_val = $('#evalTool_val_3').val();

    var yesno1_val = $("input.yes_no[groupid='1']").val();
    var yesno2_val = $("input.yes_no[groupid='2']").val();
    var yesno3_val = $("input.yes_no[groupid='3']").val();

    var txt_income_val_str = $('#txt_income').val();
    //var txt_income_val_cleaned = txt_income_val_str.replace(".", "").replace(",", "").replace("$", "").replace(" ", "");
    var txt_income_val_cleaned = txt_income_val_str.replace(",", "").replace("$", "").replace(" ", "");
    //alert(txt_income_val_cleaned);
    //var txt_income_val = parseInt(txt_income_val_str);
    txt_income_val = parseFloat(txt_income_val_cleaned);
    //alert(txt_income_val);

    var myComboValue1_val_provided = myComboValue1_val.length > 0;
    var myComboValue2_val_provided = myComboValue2_val.length > 0;
    var myComboValue3_val_provided = myComboValue3_val.length > 0;

    var myComboValue1_val_valid = myComboValue1_val.length > 0;
    var myComboValue2_val_valid = myComboValue2_val.length > 0;
    var myComboValue3_val_valid = myComboValue3_val.length > 0;

    var yesno1_val_provided = yesno1_val.length > 0;
    var yesno2_val_provided = yesno2_val.length > 0;
    var yesno3_val_provided = yesno3_val.length > 0;

    var yesno1_val_valid = yesno1_val.length > 0;
    var yesno2_val_valid = yesno2_val.length > 0;
    var yesno3_val_valid = yesno3_val.length > 0;

    var txt_income_provided = txt_income_val_str.length > 0;
    var txt_income_valid = txt_income_val == txt_income_val_cleaned;

    var amitiza_in_PR_valid = !((myComboValue1_val == '3') && (myComboValue2_val == "PR"));

    //    var validationSummary = $(".validation_summary");
    //    validationSummary.html("");

    //    if (!myComboValue1_val_valid)
    //        validationSummary.append("<p>medicine</p>");
    //    if (!yesno1_val_valid)
    //        validationSummary.append("<p>resident</p>");
    //    if (!myComboValue2_val_valid)
    //        validationSummary.append("<p>state</p>");
    //    if (!myComboValue3_val_valid)
    //        validationSummary.append("<p>household</p>");
    //    if (!txt_income_valid)
    //        validationSummary.append("<p>income</p>");
    //    if (!yesno2_val_valid)
    //        validationSummary.append("<p>coverage</p>");
    //    if (!yesno3_val_valid)
    //        validationSummary.append("<p>medicare</p>");
    //    if (!amitiza_in_PR_valid)
    //        validationSummary.append("<p>AMITIZA in PR</p>");

    var all_provided = myComboValue1_val_provided &&
                         myComboValue2_val_provided &&
                         myComboValue3_val_provided &&
                         yesno1_val_provided &&
                         yesno2_val_provided &&
                         yesno3_val_provided &&
                         txt_income_provided;

    var all_valid = myComboValue1_val_valid &&
                         myComboValue2_val_valid &&
                         myComboValue3_val_valid &&
                         yesno1_val_valid &&
                         yesno2_val_valid &&
                         yesno3_val_valid &&
                         txt_income_valid &&
                         amitiza_in_PR_valid;

    if (!all_provided) {
        $("#validation_required").show();
        $("#validation_income").hide();
        $("#validation_amitiza_pr").hide();
        return null;
    }
    else if (!txt_income_valid) {
        $("#validation_required").hide();
        $("#validation_income").show();
        $("#validation_amitiza_pr").hide();
        return null;
    }
    else if (!amitiza_in_PR_valid) {
        $("#validation_required").hide();
        $("#validation_income").hide();
        $("#validation_amitiza_pr").show();
        return null;
    }
    else if (all_valid) {
        $("#validation_required").show(); //required message always there if nothing else showing up
        $("#validation_income").hide();
        $("#validation_amitiza_pr").hide();
        var retVal = {
            q1: myComboValue1_val,
            q2: yesno1_val == 1,
            q3: myComboValue2_val,
            q4: myComboValue3_val,
            q5: txt_income_val,
            q6: yesno2_val == 1,
            q7: yesno3_val == 1
        };
        return retVal;
    }
}

// call validate inputs and display results
function tool_submitInfo() {
    var r = tool_validate();
    if (r) {

        //not prevacid and resident
        var PAP = r.q1 != 8 && r.q2;

        if (r.q3 == 'AK') {
            PAP &= (r.q4 == 1 && r.q5 <= 40800)
                        || (r.q4 == 2 && r.q5 <= 55140)
                        || (r.q4 == 3 && r.q5 <= 69480)
                        || (r.q4 == 4 && r.q5 <= 83820)
                        || (r.q4 == 5 && r.q5 <= 98160)
                        || (r.q4 == 6 && r.q5 <= 112500)
                        || (r.q4 == 7 && r.q5 <= 126840)
                        || (r.q4 == 8 && r.q5 <= 141180)
                        || (r.q4 == 9 && r.q5 <= 155520)
                        || (r.q4 == 10 && r.q5 <= 169860);
        }
        else if (r.q3 == 'HI') {
            PAP &= (r.q4 == 1 && r.q5 <= 37620)
                        || (r.q4 == 2 && r.q5 <= 50790)
                        || (r.q4 == 3 && r.q5 <= 63960)
                        || (r.q4 == 4 && r.q5 <= 77130)
                        || (r.q4 == 5 && r.q5 <= 90300)
                        || (r.q4 == 6 && r.q5 <= 103470)
                        || (r.q4 == 7 && r.q5 <= 116640)
                        || (r.q4 == 8 && r.q5 <= 129810)
                        || (r.q4 == 9 && r.q5 <= 142980)
                        || (r.q4 == 10 && r.q5 <= 156150);
        }
        else {
            PAP &= (r.q4 == 1 && r.q5 <= 32670)
                        || (r.q4 == 2 && r.q5 <= 44130)
                        || (r.q4 == 3 && r.q5 <= 55590)
                        || (r.q4 == 4 && r.q5 <= 67050)
                        || (r.q4 == 5 && r.q5 <= 78510)
                        || (r.q4 == 6 && r.q5 <= 89970)
                        || (r.q4 == 7 && r.q5 <= 101430)
                        || (r.q4 == 8 && r.q5 <= 112890)
                        || (r.q4 == 9 && r.q5 <= 124350)
                        || (r.q4 == 10 && r.q5 <= 135810);
        }

        //not prevacid and South Carolina
        var Welvista = r.q1 != 8 && r.q3 == 'SC';

        //always 
        var PPA = true; //r.q2 && !r.q6 && !r.q7;

        //resident and not coverage and not medicare
        var TogetherRx = r.q2 && !r.q6 && !r.q7;
        TogetherRx &= (r.q4 == 1 && r.q5 <= 45000)
                        || (r.q4 == 2 && r.q5 <= 60000)
                        || (r.q4 == 3 && r.q5 <= 75000)
                        || (r.q4 == 4 && r.q5 <= 90000)
                        || (r.q4 > 4 && r.q5 <= 105000);

        if (PAP) $('#result_pap').show();
        else $('#result_pap').hide();

        if (Welvista) $('#result_welvista').show();
        else $('#result_welvista').hide();

        if (PPA) $('#result_ppa').show();
        else $('#result_ppa').hide();

        if (TogetherRx) $('#result_togetherrx').show();
        else $('#result_togetherrx').hide();

        $('.evalTool').addClass('answers');

        $('.evalTool #results').show("slow");
    }
}

//$(".header").bind('click', function () { $('.evalTool').toggleClass('answers'); });



