function ToICSVcreateXMLHttpRequest() {
	if(window.XMLHttpRequest){
		return new XMLHttpRequest();
	}else if(window.ActiveXObject) {
		try{
			return new ActiveXObject("Msxml2.XMLHTTP");
		}catch(e){
			try{
				new ActiveXObject("Microsoft.XMLHTTP");
			}catch(e2){
				return null;
			}
		}
	}else{
		return null;
	}
}

function ToICSVloadFile(fn, callback, fld){
	var fileObj = ToICSVcreateXMLHttpRequest();
	fileObj.open("GET", fn, true);
	fileObj.onreadystatechange = function(){ 
		if (fileObj.readyState == 4) {
			data = ToICSV2Array(fileObj.responseText, fld);
			callback();
		}
	}
	fileObj.send('');
}

function ToICSV2Array(fo, fields){
	var data = new Array();
	var rep = get_response_text(fo);
	var lines = rep.split(unescape("%0A"));
	for (var i=0; i<lines.length; i++){
		var cols = lines[i].split(",");
		if(cols[0]!=""){
			var tmpary = new Array();
			for (ii=0; ii<cols.length; ii++){
				if(fields[ii]){
					tmpary[fields[ii]] = cols[ii];
				}
			}
			data[i] = tmpary;
		}
	}
	return data;
}

