// string.js
// Estensioni dell'oggetto stringa

// © 2001 - Copyright by CathoMedia
// Tutti i diritti riservati

// String.left(size)
String.prototype.left = String_left;
function String_left(size) {
	var s = this;
	var i = s.length;
	
	if (size < 0)
		s = "";
	else if (size < i)
		s = s.substr(0, size);
		
	return s;
}
// String.letsubstr(start, size, value)
String.prototype.letsubstr = String_letsubstr;
function String_letsubstr(start, size, value) {
	var s = this, s1 = start < 0 ? 0 : start, s2 = size < 0 ? 0 : size;
	
	return s.left(s1) + value.toString().left(s2) + s.right(s.length - s1 - s2);
}
// String.lTrim()
String.prototype.lTrim = String_lTrim;
function String_lTrim() {
	var s = this, i = 0;
	
	while (s.substr(i, 1) == " ")
		i++;
	
	s = s.substr(i);
	
	return s;
}
// String.lTrim()
String.prototype.lTrimC = String_lTrimC;
function String_lTrimC(c) {
	var s = this, i = 0;
	
	while (s.substr(i, 1) == c)
		i++;
	
	s = s.substr(i);
	
	return s;
}
// String.right(size)
String.prototype.right = String_right;
function String_right(size) {
	var s = this, i = s.length;
	
	if (size < 0)
		s =  "";
	else if (size < i)
		s = s.substr(i - size);
	
	return s;
}
// String.rTrim()
String.prototype.rTrim = String_rTrim;
function String_rTrim() {
	var s = this, i = s.length - 1;
	
	while (i > -1 && s.substr(i, 1) == " ")
		i--;
	
	s = s.left(i + 1);
	
	return s;
}
String.prototype.rTrimC = String_rTrimC;
function String_rTrimC(c) {
	var s = this, i = s.length - 1;
	
	while (i > -1 && s.substr(i, 1) == c)
		i--;
	
	s = s.left(i + 1);
	
	return s;
}
String.prototype.trim = String_trim;
function String_trim() {
	
	return this.rTrim().lTrim();
}
String.prototype.trimC = String_trimC;
function String_trimC(c) {
	
	return this.rTrimC(c).lTrimC(c);
}

// other string functions

// create a string of n spaces
function spaces(n) {
	var s = "", i = n;
	
	// while is greater then 10...
	while (i > 10) {
		// decrement
		i -= 10;
		// adding spaces
		s += "          ";
	}
	// while is greater then 1
	while (i > 0) {
		// decrement
		i--;
		// adding space
		s += " ";
	}
	
	// return value
	return s;
}

// convert a variant to a string
function varToString(v) {
	var s;
	
	// if is null...
	if (v == null) {
		// an empty string
		s = "";
	}
	else {
		// convert variant to string
		s = v.toString();
	}
	
	// return value
	return s;
}

// double quote text in string
function dblQuote(s) {

	// return the value
	return "\"" + s + "\""
}
