﻿//required jquery

function IsValidEmail(email_address) {

    var emailRegEx = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;

    if (email_address.match(emailRegEx))
        return true;
    else
        return false;


}

function CheckCCExpiryDate(monthID, yearID) {

    var today = new Date();

   
    var expiry = new Date(20+$('#' + yearID).val(), parseInt($('#' + monthID).val())-1, daysInMonth(parseInt($('#' + monthID).val()), $('#' + yearID).val()),23,59,59 );

    if (today > expiry) {
        
        return false;
    }
    else
        return true;

}

function daysInMonth(month, year) {
    var m = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
    if (month != 2) return m[month - 1];
    if (year % 4 != 0) return m[1];
    if (year % 100 == 0 && year % 400 != 0) return m[1];
    return m[1] + 1;
}



function GetIfBlankAndAttachErrorMessage(theName, message) {

    if ($.trim($("#" + theName).val()) == '') {
        AttachErrorMessage(theName, message);
        //$('<span id="' + theName + 'ErrorMessage" style="color:red; white-space: nowrap;">&nbsp;' + message + '</span>').appendTo($("#"+theName).parent());
        return true;
    }
    else //remove
    {
        $('#' + theName + 'ErrorMessage').remove();
        return false;
    }


}


function AttachErrorMessage(theName, message) {
    $('#' + theName + 'ErrorMessage').remove();
    $('<span id="' + theName + 'ErrorMessage" style="color:red; white-space: nowrap;">&nbsp;' + message + '</span>').appendTo($("#" + theName).parent());


}

function RemoveErrorMessage(theName) {
    $('#' + theName + 'ErrorMessage').remove();
}


function CheckRadioButton(name, message) {


    if ($("input[@name='" + name + "']").length > 0) {
        /*
        $('#'+name+'ErrorMessage').each(function(){
		
			$("#" + this).remove();
        });
        */

        $('#' + name + 'ErrorMessage').remove();


        if ($("input[@name='" + name + "']:checked").val() == undefined) {
            $('<span id="' + name + 'ErrorMessage" style="color:red; white-space: nowrap;">&nbsp;' + message + '</span>').appendTo($("input[@name='" + name + "']:first").parent());

            return false;
        }

    }

    return true;
}

function CheckInputBox(name, message) {

    if ($("input[@name='" + name + "']").length > 0) {
        $('#' + name + 'ErrorMessage').remove();





        if ($.trim($("input[@name='" + name + "']").val()) == '') {
            $('<span id="' + name + 'ErrorMessage" style="color:red; white-space: nowrap;">&nbsp;' + message + '</span>').appendTo($("input[@name='" + name + "']:first").parent());

            return false;
        }
    }

    return true;




}

function formatCurrency(num) {
    num = num.toString().replace(/\$|\,/g, '');
    if (isNaN(num))
        num = "0";
    sign = (num == (num = Math.abs(num)));
    num = Math.floor(num * 100 + 0.50000000001);
    cents = num % 100;
    num = Math.floor(num / 100).toString();
    if (cents < 10)
        cents = "0" + cents;
    for (var i = 0; i < Math.floor((num.length - (1 + i)) / 3); i++)
        num = num.substring(0, num.length - (4 * i + 3)) + ',' +
    num.substring(num.length - (4 * i + 3));
    return (((sign) ? '' : '-') + '$' + num + '.' + cents);
}


function GenerateRandom() //had to add this as dummy parameter because IE caches XMLHTTP requests
{
    var rand_no = Math.random();
    rand_no = rand_no * 1000000;

    return rand_no;

}