﻿// --
var Util = Class.create();

Util.prototype = {

    initialize: function() 
    {
    }
}

Util.fireClickEvent = function(t)
    {
        if (Prototype.Browser.IE)
        {
            t.click();
        }
        else 
        {
            var clickEvent = window.document.createEvent("MouseEvent"); 
            clickEvent.initEvent("click", false, true); 
            t.dispatchEvent(clickEvent); 
        }
    };

Util.formatDate = function(d)
    {
        if ((d == null) || (d == ''))
            return '';

        if (d.endsWith("00"))
        {
            // yyyyMM
            return d.slice(4, 6) + '/' + d.slice(0, 4);
        }
        else
        {
            // yyyyMMdd
            // yyyyMM           
            return d.slice(4, 6) + '/' + d.slice(6, 8) + '/' + d.slice(0, 4);
        }        
    };
    
Util.formatCurrency = function(d)
    {
        if ((d == null) || (d == ''))
            return '';
            
        return '$' + Util.commaFormatted(d.toString());
    };
    
Util.formatPercent = function(d)
    {
        if ((d == null) || (d == ''))
            return '';
            
        return Util.commaFormatted(d.toString()) + '%';
    };

Util.monthNames = new Array(12);
Util.monthNames[0]="January";
Util.monthNames[1]="February";
Util.monthNames[2]="March";
Util.monthNames[3]="April";
Util.monthNames[4]="May";
Util.monthNames[5]="June";
Util.monthNames[6]="July";
Util.monthNames[7]="August";
Util.monthNames[8]="September";
Util.monthNames[9]="October";
Util.monthNames[10]="November";
Util.monthNames[11]="December";
    
Util.readParameters = function(queryString)
{
    var qsParm = new Array();
        
    var query = queryString.substring(1);
    var parms = query.split('&');
    
    for (var i = 0; i < parms.length; i++) 
    {
        var pos = parms[i].indexOf('=');
        if (pos > 0) 
        {
            var key = parms[i].substring(0,pos);
            var val = parms[i].substring(pos+1);
            qsParm[key] = val;
        }        
    }
    
    return qsParm;
};

Util.commaFormatted = function(amount)
{
    var delimiter = ","; // replace comma if desired
    var a = amount.split('.',2);
    var d = a[1];
    var i = parseInt(a[0]);
    if(isNaN(i)) { return ''; }
    var minus = '';
    if(i < 0) { minus = '-'; }
    i = Math.abs(i);
    var n = new String(i);
    var a = [];
    while(n.length > 3)
    {
        var nn = n.substr(n.length-3);
        a.unshift(nn);
        n = n.substr(0,n.length-3);
    }
    if (n != null && (n.length > 0)) { a.unshift(n); }
    n = a.join(delimiter);
    if (d != null && (d.length > 0)) { amount = n + '.' + d; } else { amount = n; }  
    amount = minus + amount;
    return amount;
};