//-----------------------------------------------------------------------------------------------------------
//--- StringManagement.js - eTT s.r.l.                                                             
//--- Contiene funzioni che effettuano elaborazioni sulle stringhe.
//---
//--- Author: eTT s.r.l. - PM
//--- Edited: 28 August 2003
//---
//------ INDICE:
//=== TRIM
//---  LeftTrim: elimina tutti gli spazi a sinistra della stringa
//---  RightTrim: elimina tutti gli spazi a destra della stringa
//---  Trim: elimina tutti gli spazi a sinistra e a destra della stringa 
//---  DeleteSpaces: elimina tutti gli spazi contenuti nella stringa
//---  
//=== MISC
//--- ReplaceString: sostuituisce tutte le occorrenze di una stringa con un'altra nella stringa data
//--- ManageQuotes: raddoppia l'apice singolo/doppio [PM, AF, MF, UG, 18 June 2003]
//---
//=== CHECK
//---  IsStringUndefined: stringa non valorizzata 
//---  IsStringBlank: stringa contenente solo spazi
//---  IsStringEmpty: stringa "vuota"
//-----------------------------------------------------------------------------------------------------------

//==========================================================================================================
//=== TRIM
//==========================================================================================================
//---  LeftTrim: elimina tutti gli spazi a sinistra della stringa ---------------------------------------------------------------------------
function LeftTrim(theString) 
{
	var RE;
	
	RE = /^\s+/gi; // tutti gli spazi, a partire dall'inizio della stringa
	return (theString.replace(RE, ""));
}
//---  RightTrim: elimina tutti gli spazi a destra della stringa ---------------------------------------------------------------------------
function RightTrim(theString) 
{	var RE;

	RE = /\s+$/gi; // tutti gli spazi, a partire dalla fine della stringa
	return (theString.replace(RE, ""));
}
//---  Trim: elimina tutti gli spazi a sinistra e a destra della stringa ---------------------------------------------------------------------------
function Trim(theString) 
{	
	theString = LeftTrim(theString);
	theString = RightTrim(theString);
	
	return (theString);
}

//---  DeleteSpaces: elimina tutti gli spazi contenuti nella stringa ---------------------------------------------------------------------------
function DeleteSpaces(theString) 
{	
	var RE;
	
	RE = /\s*/gi; // tutti gli spazi
	return (theString.replace(RE, ""));
}
//==========================================================================================================
//=== MISC
//==========================================================================================================
//--- ReplaceString: sostuituisce tutte le occorrenze di una stringa con un'altra, nella stringa data
function ReplaceString(theString, toReplace, replacement)
{
	var RE;
	
	RE = new RegExp(toReplace, "g");
	return (theString.replace(RE, replacement));
}
//--- ManageQuotes(stringa): raddoppia l'apice singolo/doppio 
function ManageQuotes(stringa) {	
	stringa = stringa.replace(/'/gi,"''");
	
	return stringa;
}
//==========================================================================================================
//=== CHECK
//===
//=== Le funzioni di controllo hanno parametri di ingresso dati di tipo stringa; restituiscono:
//=== 	 true: se il controllo ha avuto esito positivo
//===    false: se il controllo ha avuto esito negativo
//==========================================================================================================
//---  IsStringUndefined: stringa non valorizzata ---------------------------------------------------------------------------
function IsStringUndefined(theString)
{
	//... Undefined ........................................
	//if (theString == undefined) return true; ---@@@ INCOMPATIBILE CON IE 5.0
	// ... Else ............................................
	return false;
}
//---  IsStringBlank: stringa contenente solo spazi ---------------------------------------------------------------------------
function IsStringBlank(theString)
{
	//... Blank ............................................
	if ((Trim(theString)) == "") return true;
	// ... Else ............................................
	return false;
}
//---  IsStringEmpty: stringa "vuota" ---------------------------------------------------------------------------
function IsStringEmpty(theString)
{	
	//... Undefined ........................................
	if (IsStringUndefined(theString)) return true;
	//... Blank ............................................
	if (IsStringBlank(theString)) return true;
	// ... Else ............................................
	return false;
}

