/**
 * Methoden zum Arbeiten mit Text
 *
 * @authors		Martin Widemann
 * @copyright	Copyright 2008 - Netigo GmbH
 * @version		1.0
 * @modified	2008-10-23
 */
var Text = {

	/**
	 * Konvertiert die Zeichen des Eingabetexts in seine ASCII-Codes
	 *
	 * @param String text Eingabetext
	 * @param Boolean readable Zahlencodes um Prefix '&#' ergänzen (HTML-Entities)
	 * @param Integer code_shift Zahlencodes um angegebenen Wert rotieren
	 */
	toCharCode: function(text, readable, code_shift){
		var code_shift = code_shift ? Number(code_shift) : 0;
		var result = new String();
		var prefix = new String();
		var suffix = new String(";");

		if(readable){
			prefix = '&#';
		} // if

		for(i = 0; i < text.length; i++){
			result += prefix + ((text.charCodeAt(i) + code_shift) % 255) + suffix;
		} // for
	
		return result;
	}, // function

	/**
	 * Konvertiert die ASCII-Codes in Klartext
	 *
	 * @param String text Eingabetext
	 * @param Boolean readable Zahlencodes um Prefix '&#' ergänzen (HTML-Entities)
	 * @param Integer code_shift Zahlencodes um angegebenen Wert rotieren
	 */
	toChar: function(text, readable, code_shift){
		var code_shift = code_shift ? Number(code_shift) : 0;
		var result = new String();
		var letters = text.split(';');
		var cut = 0;
		letters.pop();
		
		if(readable){
			cut = 2;
		} // if

		for(i = 0; i < letters.length; i++){
			result += String.fromCharCode((Number(letters[i].substr(cut, letters[i].length)) - code_shift + 255) % 255);
		} // for
	
		return result;
	} // function

} // class

