﻿
var root_path;
var final_date_calendar;
var final_date_text_box;
var final_check_box;
var create_return_button;



function SetVariables(textbox_name, calendar_name, checkbox_name, is_post_back, root_path_value) 
{
    final_date_text_box = textbox_name;
    final_date_calendar = calendar_name;
    final_check_box = checkbox_name;
    root_path = root_path_value;
    SetFinalReturnStatus();
}


function SetFinalReturnStatus() {
    var chkbox = document.getElementById(final_check_box);
    var val;
    if (!chkbox.checked) { val = "none"; }
    else { val = "block"; }

    var calendar = document.getElementById(final_date_calendar);

    calendar.style.display = val;
    document.getElementById("FinalTable").style.display = val;
}


function SetDropDownChanged(source, args) {
    args.IsValid = true;

}


function IsNumber(source, args) {

    var value_sent = args.Value;

    var value_sent = args.Value.replace(/^\s+/, "");

    var validation_message_input = document.getElementById("ValidationMessageInput");
    if (AreAllDigitsNumbers(value_sent) == false) {
        alert("Please use only positive numbers.\n\nRound them to your nearest integer.");
        args.IsValid = false;
    }
    else
    { args.IsValid = true; }
}

function AreAllDigitsNumbers(str) {
    if (str.length == 0)
    { return false; }

    var numbers = "0123456789";

    for (i = 0; i < str.length; i++) {
        if (numbers.lastIndexOf(str.charAt(i)) == -1)
        { return false; }
    }
    return true;
}

function CheckMoney(source, args) {

    var str = args.Value;

    var float_ = parseFloat(str);
    var is_valid_number = (isNaN(float_) == false);
    is_valid_number = is_valid_number && (float_ >= 0.00);

    if ((is_valid_number == true) || (/^\$?[1-9][0-9]{0,2}(,[0-9]{3})*(\.[0-9]{2})?$/.test(str) == true))
    { args.IsValid = true; }
    else {
        alert("Please use currency format with NO negative numbers\n\nNo dollar sign necessary.\n\n For Example: '12,500.00' or '12500'");
        args.IsValid = false;
    }
}


function CheckDate(source, args) {

    if (IsDateValid(args.Value) == false) {
        args.IsValid = false;
        alert("Please use date format 'month/day/year' ");
    }
    else {
        args.IsValid = true;
    }
}

function IsDateValid(str_date) {
    var MonthDays = Array();
    MonthDays[0] = 31;
    MonthDays[1] = 0;
    MonthDays[2] = 31;
    MonthDays[3] = 30;
    MonthDays[4] = 31;
    MonthDays[5] = 30;
    MonthDays[6] = 31;
    MonthDays[7] = 31;
    MonthDays[8] = 30;
    MonthDays[9] = 31;
    MonthDays[10] = 30;
    MonthDays[11] = 31;

    var daysInMonth;

    var aData = str_date.split('/');
    if (aData.length != 3)
    { return false; }

    var monthSelected = parseInt(aData[0], 10);
    var daySelected = parseInt(aData[1], 10);
    var yearSelected = parseInt(aData[2], 10);

    if (isNaN(daySelected) || isNaN(monthSelected) || isNaN(yearSelected))
    { return false; }

    if (monthSelected == 2)
    { daysInMonth = (((yearSelected % 4 == 0) && ((!(yearSelected % 100 == 0)) || (yearSelected % 400 == 0))) ? 29 : 28); }
    else
    { daysInMonth = MonthDays[monthSelected - 1]; }

    if (daySelected < 1 || daySelected > daysInMonth)
    { return false; }
    if (monthSelected < 1 || monthSelected > 12)
    { return false; }
    if (yearSelected < 1)
    { return false; }
    return true;
}


function AnswerWhereIsMyState() {
    window.open( root_path + "help/where_is_my_state.html");
}




