﻿function ExpandComments(id, linkId)
{
    var el = document.getElementById(id);
    var link = document.getElementById(linkId);
    var newText;
    
    if (el.style.display == "none")
    {
        el.style.display = "inline";
        newText = "&laquo less";
    }
    else
    {
        el.style.display = "none";
        newText = "more &raquo;";
    } 
    
    link.innerHTML = newText;
}

function ConfirmDelete(item)
{
    return confirm('Are you sure you want to delete ' + item + '?');
}

function TotalCalculator(textBoxArray, outputId)
{
    var total = 0;
        
    for (var i = 0; i < textBoxArray.length; i++)
    {
        var txt = document.getElementById(textBoxArray[i]);            
        
        if (txt)
        {
            var value = parseFloat(txt.value.replace(',', ''));
            if (!isNaN(value))
            {
                total += value;
            }
        }
    }
    
    var el = document.getElementById(outputId);
    if (el)
    {
        SetElementText(el, FormatNumberWithCommas(total));
    }   
    
    return total; 
}

// Number formatting methods
function FormatNumberWithCommas(number)
{
    return addCommas(Round(number, 2));
}

function Round(number, length)
{
    var multiplier = appendZeroes(1, length);
    return Math.round(number * multiplier) / multiplier;
}

function addCommas(number)
{
    number += '';
    var x = number.split('.');
    var x1 = x[0];
    var x2 = x.length > 1 ? '.' + x[1] : '';
    var rgx = /(\d+)(\d{3})/;
    while (rgx.test(x1)) 
    {
	    x1 = x1.replace(rgx, '$1' + ',' + '$2');
    }
    return x1 + x2;
}

function appendZeroes(number, zeroes)
{
    for (var i = 0; i < zeroes; i++)
    {
        number = number + "0";
    }
    
    return number;
}

function AttachEvent(obj, eventName, funct)
{
    if (window.attachEvent)
    {
        if (eventName.substr(0, 2) != 'on')
        {
            eventName  = 'on' + eventName;
        }
        obj.attachEvent(eventName, funct);
    } 
    else if (window.addEventListener)
    {
        if (eventName.substring(0, 2) == 'on')
        {
            eventName  = eventName.substr(2);
        }
        obj.addEventListener(eventName, funct, "");
    }
}

function SetElementText(ele, text)
{
    if(document.all)
    {
        ele.innerText = text;
    } 
    else
    {
        ele.textContent = text;
    }
}

function GetElementText(ele)
{
    if(document.all)
    {
        return ele.innerText;
    } 
    else
    {
        return ele.textContent;
    }
}
