/** Begin CF Functions ********************************************************************************************* */

function ArrayToList(arrayName)
{
	if (arguments.length == 2)
		var delimiter = arguments[1];
	else
		var delimiter = ',';
	
	var tmpString = '';
	
	for (var i = 0; i <= arrayName.length - 1; i++)
	{
		tmpString+= arrayName[i];
		if (i < arrayName.length && arrayName.length > 1)
			tmpString+= delimiter;
	}
	
	return tmpString;
}

function ListFind(List, StringToCheck)
{
	if (arguments.length == 3)
		var delimiter = arguments[2];
	else
		var delimiter = ',';

	var tmpList = '';
	var i = '';
	var returnValue = 0;
	var found = false;
	
	if (List.length > 0)
	{
		tmpList = List.split(delimiter);
		
		// Loop over the array and return the index if its found
		for (i=0; i<=tmpList.length-1; i++)
		{
			if (tmpList[i] == StringToCheck)
			{	
				returnValue = i;
				found = true;
				break;
			}	
		}
	}
	if (found == false)
		returnValue = -1;
		
	return returnValue;
}

function ListAppend(List, StringToAdd)
{
	if (arguments.length == 3)
		var delimiter = arguments[2];
	else
		var delimiter = ',';
		
	var NewList = '';
	
	if (List.length == 0)
		NewList = StringToAdd;
	else
		NewList = List + delimiter + StringToAdd;
	
	return NewList;
}	

// event handlers
function addEvent(obj, evType, fn, useCapture){
  if (obj.addEventListener){
    obj.addEventListener(evType, fn, useCapture);
    return true;
  } else if (obj.attachEvent){
    var r = obj.attachEvent("on"+evType, fn);
    return r;
  } else {
    alert("Handler could not be attached");
  }
}

function removeEvent(obj, evType, fn, useCapture){
  if (obj.removeEventListener){
    obj.removeEventListener(evType, fn, useCapture);
    return true;
  } else if (obj.detachEvent){
    var r = obj.detachEvent("on"+evType, fn);
    return r;
  } else {
    alert("Handler could not be removed");
  }
}

function getEventSrc(e) 
{
	// get a reference to the IE/windows event object
	if (!e) e = window.event;

	// DOM-compliant name of event source property
	if (e.target)
		return e.target;
 	// IE/windows name of event source property
 	else if (e.srcElement)
   		return e.srcElement;
}

// Currency
function stripNonNumeric(myVal)
{
	var tmpString = new String(myVal);
	tmpString = tmpString.replace(/[^0-9\.]+/g, '');
	return tmpString;
}

fmtMoney = function(n, c, d, t)
{ 
	//v1.0
	n = parseFloat(stripNonNumeric(n));
    var m = (c = Math.abs(c) + 1 ? c : 2, d = d || ",", t = t || ".",
        /(\d+)(?:(\.\d+)|)/.exec(n + "")), x = m[1].length > 3 ? m[1].length % 3 : 0;
    return (x ? m[1].substr(0, x) + t : "") + m[1].substr(x).replace(/(\d{3})(?=\d)/g,
        "$1" + t) + (c ? d + (+m[2] || 0).toFixed(c).substr(2) : "");
};

function trim (val) {
	 return val.replace(/^\s+|\s+$/g, "");
	 
};