/*
listContains(list, value, delimiters)
listFind(list,value,delimiters)
listFindNoCase(list,value,delimiters)
listLen(list,delimiters)
listAppendNoDuplicate(list,value,delimiters)
listAppend(list,value,delimiters)
listRemove(list,value,delimiters)
listChangeDelims(list, newDelimiters, oldDelimiters)
listGetAt(list, pos, delimiters)
listSetAt(list, pos, value, delimiters)
listDeleteAt(list, index, delimiters)
*/
function listContains(list, value, delimiters){
		for(var i=1; i<=listLen(list, delimiters); i++) {
			if(listGetAt(list, i, delimiters).indexOf(value) > -1) {
				return i;
			}
		}
		return 0;
	}
function listFind(list,value,delimiters) {
	if (list == "") return 0;
	var result = 0;
	var aList = list.split(delimiters);
	if (aList.length){
		for (var i = 0; i<aList.length; i++) {
			if (aList[i] == value) {result = i + 1; break;}
		}
	}
	else {
		if (aList == value) {result = i + 1;}
	}
	return result;
}
function listFindNoCase(list,value,delimiters) {
	if (list == "") return 0;
	var result = 0;
	var aList = list.split(delimiters);
	if (aList.length){
		for (var i = 0; i<aList.length; i++) {
			if (aList[i].toUpperCase() == value.toUpperCase()) {result = i + 1; break;}
		}
	}
	else {
		if (aList.toUpperCase() == value.toUpperCase()) {result = i + 1;}
	}
	return result;
}
function listLen(list,delimiters) {
	if (list == "") return 0;
	else{return list.split(delimiters).length;}
}
function listAppendNoDuplicate(list,value,delimiters){
	if (list == ""){return value;}
	else {
		var aList = list.split(delimiters);
		var inList = 0;
		if (aList.length){
			for (var i = 0; i<aList.length; i++) {
				if (aList[i] == value) {inList = 1; break;}
			}
		}
		else {
			if (aList == value) {inList = 1;}
		}
		if (inList == 0) {return list + delimiters + value;}
		else {return list }
	}
}
function listAppend(list,value,delimiters){
	if (list == ""){return value;}
	else {return list + delimiters + value;}
}
function listRemove(list,value,delimiters){
	if (list == ""){return "";}
	else {
		var aList = list.split(delimiters);
		var list = "";
		if (aList.length){
			for (var i = 0; i<aList.length; i++) {
				if (aList[i] != value) {
					if (list == ""){list = aList[i]}
					else{list = list + delimiters + aList[i]}
				}
			}
		}
		else {
			if (aList != value) {list = aList}
		}
		return list;
	}
}
function listChangeDelims(list, newDelimiters, oldDelimiters){
	var aList = list.split(oldDelimiters);
	var result = "";
	for (var i=0; i<aList.length; i++) {
		result += aList[i] + (i<aList.length-1?newDelimiters:"");
	}
	return result;
}
function listGetAt(list, pos, delimiters){
	if(pos < 1)
		return ;

	var aList = list.split(delimiters);
	return aList[pos-1];
}
function listSetAt(list, pos, value, delimiters){
	if(pos < 1)
		return ;

	var result = "";
	var aList = list.split(delimiters);

	aList[pos-1] = value;
	for(var i=0; i<aList.length; i++) {
		result += aList[i] + (i<aList.length-1?delimiters:"");
	}
	return result;
}
function listDeleteAt(list, index, delimiters){
	if (list == "")
		return "";
	else {
		var aList = list.split(delimiters);
		var list = "";
		if (aList.length){
			for (var i = 0; i<aList.length; i++) {
				if (i != index-1)
					list = listAppend(list, aList[i], delimiters);
			}
		}
		else {
			if (index != 1) {
				list = aList;
			}
		}
		return list;
	}
}
