﻿//Gets the selected value of a radio button list
function ValidateFedID(fedid) {
    var RegExPattern = /^[0-9]{2}-[0-9]{7}$/;

    if ((fedid.match(RegExPattern)) && (fedid != '')) {
        return true;
    }
    else return false;
}
function ValidateEmail(email) {
    var RegExPattern = /\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/;

    if (email.match(RegExPattern)) {
        return true;
    }
    else return false;
}

function disableSelection(target) {
    if (typeof target.onselectstart != "undefined") //IE route 
        target.onselectstart = function() { return false }
    else if (typeof target.style.MozUserSelect != "undefined") //Firefox route 
        target.style.MozUserSelect = "none"
    else //All other route (ie: Opera) 
        target.onmousedown = function() { return false }
        target.style.cursor = "default"
} 

function CurrencyFormatted(amount)
{
	var i = parseFloat(amount);
	if(isNaN(i)) { i = 0.00; }
	var minus = '';
	if(i < 0) { minus = '-'; }
	i = Math.abs(i);
	i = parseInt((i + .005) * 100);
	i = i / 100;
	s = new String(i);
	if(s.indexOf('.') < 0) { s += '.00'; }
	if(s.indexOf('.') == (s.length - 2)) { s += '0'; }
	s = minus + s;
	return s;
}

//+ Jonas Raoni Soares Silva
//@ http://jsfromhell.com/number/fmt-money [rev. #2]

Number.prototype.formatMoney = function(c, d, t){
    var n = this, c = isNaN(c = Math.abs(c)) ? 2 : c, d = d == undefined ? "," : d, t = t == undefined ? "." : t, s = n < 0 ? "-" : "",
    i = parseInt(n = Math.abs(+n || 0).toFixed(c)) + "", j = (j = i.length) > 3 ? j % 3 : 0;
    return s + (j ? i.substr(0, j) + t : "") + i.substr(j).replace(/(\d{3})(?=\d)/g, "$1" + t)
    + (c ? d + Math.abs(n - i).toFixed(c).slice(2) : "");
};

// a global month names array
var gsMonthNames = new Array(
'January',
'February',
'March',
'April',
'May',
'June',
'July',
'August',
'September',
'October',
'November',
'December'
);
// a global day names array
var gsDayNames = new Array(
'Sunday',
'Monday',
'Tuesday',
'Wednesday',
'Thursday',
'Friday',
'Saturday'
);
// the date format prototype
Date.prototype.format = function(f)
{
    if (!this.valueOf())
        return ' ';

    var d = this;

    return f.replace(/(yyyy|mmmm|mmm|mm|dddd|ddd|dd|hh|nn|ss|a\/p)/gi,
        function($1)
        {
            switch ($1.toLowerCase())
            {
            case 'yyyy': return d.getFullYear();
            case 'mmmm': return gsMonthNames[d.getMonth()];
            case 'mmm':  return gsMonthNames[d.getMonth()].substr(0, 3);
            case 'mm':   return (d.getMonth() + 1).zf(2);
            case 'dddd': return gsDayNames[d.getDay()];
            case 'ddd':  return gsDayNames[d.getDay()].substr(0, 3);
            case 'dd':   return d.getDate().zf(2);
            case 'hh':   return ((h = d.getHours() % 12) ? h : 12).zf(2);
            case 'nn':   return d.getMinutes().zf(2);
            case 'ss':   return d.getSeconds().zf(2);
            case 'a/p':  return d.getHours() < 12 ? 'a' : 'p';
            }
        }
    );
}

function checkdate(thedt) {
    var RegExPattern = /^(?=\d)(?:(?:(?:(?:(?:0?[13578]|1[02])(\/|-|\.)31)\1|(?:(?:0?[1,3-9]|1[0-2])(\/|-|\.)(?:29|30)\2))(?:(?:1[6-9]|[2-9]\d)?\d{2})|(?:0?2(\/|-|\.)29\3(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00))))|(?:(?:0?[1-9])|(?:1[0-2]))(\/|-|\.)(?:0?[1-9]|1\d|2[0-8])\4(?:(?:1[6-9]|[2-9]\d)?\d{2}))($|\ (?=\d)))?(((0?[1-9]|1[012])(:[0-5]\d){0,2}(\ [AP]M))|([01]\d|2[0-3])(:[0-5]\d){1,2})?$/;
    var errorMessage = 'Please enter valid date as month, day, and four digit year.\nYou may use a slash, hyphen or period to separate the values.\nThe date must be a real date. 2-30-2000 would not be accepted.\nFormay mm/dd/yyyy.';
    if ((thedt.match(RegExPattern)) && (thedt!='')) {
        return true;
    }
    else return false;
}

function CheckboxValues1(cbx) {
    var c_value = "";
    for (var i=0; i < cbx.length; i++){
        if (cbx[i].checked) {
            c_value = c_value + cbx[i].value + ",";
        }
    }
}

//gets checkbox values
function CheckboxValues(cbxName)    {
    var chkText = '';       
    var chktable = document.getElementById(cbxName);        
    var chktr = chktable.getElementsByTagName('tr');                
    for(var i=0; i<chktr.length; i++){
        var chktd = chktr[i].getElementsByTagName('td');
            for(var j=0; j<chktd.length; j++){
                var chkinput = chktd[j].getElementsByTagName('input');
                var chklabel= chktd[j].getElementsByTagName('label');
                for(k=0; k<chkinput.length; k++){
                    var chkopt = chkinput[k];
                    if(chkopt.checked){
                        chkText = chkText + chklabel[k].innerText + ',';
                    }
                }
            }
        }
    return chkText;
}

//opens a window with no toolbars
function openWindow(url, name, w, h) {
    var win = window.open(url, name, 'width=' + w + ', height=' + h + ', '
            + 'location=no, menubar=no, ' + 'status=yes, location=yes, toolbar=yes, scrollbars=yes, resizable=yes');
    win.focus();
}