function getElement(id) {
	return (document.getElementById) ? document.getElementById(id) : document.all[id];
}
function charsLeft	(msgObj, cntObj, chrLen) {
	var frmObj		= getElement(msgObj);
	var cntField	= getElement(cntObj);
	var maxlimit 	= chrLen;
	var msg			= 0;

  	while (cntField.firstChild) {
		cntField.removeChild(cntField.firstChild);
	}

	if (maxlimit == 0) maxlimit = 5000;
	if (frmObj.value.length > 0) msg = frmObj.value.length + 0;

    // IE counts both CR and NL, so just count for NL.
	var IELength = 0;
	if (frmObj.value.length > 0 && frmObj.value.match('\r')) {
		splitL	= frmObj.value.split('\n').length;
		msgL	= frmObj.value.length;

		if (splitL >= 3) {
			IELength = splitL - 1; // splitL >= 3
		} else {
			IELength = 1;
		}
		msg = msg - IELength;
    }

    if (msg > maxlimit) {
		cntField.appendChild(document.createTextNode("0 characters left"));
		var overflow = msg - maxlimit;
		var backspace = frmObj.value.length - overflow;
		if (frmObj.value.length > 0 && backspace < 0) {
			backspace = backspace * -1;
			if (frmObj.value.length < backspace) {
				overflow = frmObj.value.length;
			} else {
				overflow = backspace;
			}
		} else if (frmObj.value.length == 0 && backspace < 0) {
			overflow = 0;
		}
		frmObj.value = frmObj.value.substring(0, frmObj.value.length - overflow);
	} else {
		cntField.appendChild(document.createTextNode(maxlimit - msg + " characters left"));
	}
}
function formatCurrency(num) {
    var sign  = 0;
    var cents = 0; 
    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);
    return (((sign) ? '' : '-') + num + '.' + cents);
}
function addEvent(obj, evType, fn) {
    if (obj.addEventListener) {
        obj.addEventListener(evType, fn, false); 
        return true; 
    } else if (obj.attachEvent) {
        var r = obj.attachEvent("on" + evType, fn); 
        return r; 
    } else { 
        return false; 
    } 
}
function getCookie(c_name) {
    if (document.cookie.length > 0) {
        c_start = document.cookie.indexOf(c_name + "=");
        
        if (c_start != -1) { 
            c_start = c_start + c_name.length + 1;
            c_end = document.cookie.indexOf(";", c_start);
            
            if (c_end == -1) c_end=document.cookie.length;
            return unescape(document.cookie.substring(c_start, c_end));
        } 
    }
    return "";
}
function setCookie(c_name, value, expiredays) {
    var exdate = new Date();
    exdate.setDate(exdate.getDate()+expiredays);
    document.cookie = c_name + "=" + escape(value) + ((expiredays==null) ? "" : ";expires=" + exdate.toGMTString());
}
