// Copyright 2008, Tobias Deutsch
// eMail: tobias-copyright@strix.at
// Homepage: www.strix.at


function EXTRACTACCOUNT(account) {
	return account.substring(1, account.length);
}

function SPLITLINE(line) {
	return line.split(";", 13);
}

function PROCESSFIRSTLINE(line) {
	data = SPLITLINE(line);
		
	if (data.length != 13) {
		return "ERROR processing line:\n"+line+"\n\n"
	}
	
	date = YYYYMMDDtoDDMMYYYY(data[0]).basicTrim();
	amount = COMMAtoDOT(data[4]).basicTrim();
	account = EXTRACTACCOUNT(data[1]).basicTrim();
	
	return GENERATEQIFHEADENTRY(date, amount, account, "Bank");
}

function PROCESSLINE(line) {
	data = SPLITLINE(line);

	if (data.length == 0) {
		return "";
	}

	if (data.length != 13) {
		return "ERROR processing line:\n"+line+"\n\n"
	}
	
	date = data[8].basicTrim();
	amount = COMMAtoDOT(data[10] + data[11]).basicTrim();
	memo = data[12].basicTrim();
	
	return GENERATEQIFSPLITENTRY(date, amount, memo, "");
}

function PROCESSTEXT(text) {
	lines = text.split("\n");
	
	qif = "";
	
	//generate gif header info
	qif = PROCESSFIRSTLINE(lines[1]);
	
	//process all other lines
	for (i=1; i<lines.length; i++) { //first line contains the header -> index 0 skipped
		if (lines[i].length > 0) {
			qif+= PROCESSLINE(lines[i]);
		}
	}
	
	return qif;
}


