//var _HTTP_HOST = "/";

function ltrim(str) {
	return str.replace(/^\s+/,"");
}
    

function rtrim(str) {
	return str.replace(/\s+$/,"");
}
    

function trim(str) {
	return str.replace(/^\s+/,"").replace(/\s+$/,"");
}	

function left(str,length) {
	return str.substr(0,length);
}
    
function right(str,length) {
	return str.substr( str.length - length, length );
}


// compone una stringa che rappresenta una chiamata di funzione.
// il primo argomento deve essere il nome della funzione, i successivi
// gli eventuali parametri
function composeFunctionCall( ) {
	var functioncall = "return ";
	if ( arguments.length > 0 ) {
		functioncall += arguments[0] + "("; // il primo argomento è il nome della funzione
		for( var i = 1; i < arguments.length; i++ ) {
			switch( typeof(arguments[i] ) ) {
				case "string" :
					if ( arguments[i].search(/[\[\]]/gi) != -1 ) { 
						/***************************************************************************/
						/* la stringa è racchiusa fra parentesi quadre e deve essere quindi essere */
						/* trattata come un oggetto, non rachiusa tra apici                        */
						/***************************************************************************/
						functioncall += arguments[i].replace(/[\[\]]/gi,"");
					} else {
						functioncall += "'" + arguments[i] + "'";
					}
					break;
				case "number" : 
				case "boolean" :
					functioncall += arguments[i];
					break;
			}
			if ( i < arguments.length - 1 ) {
				functioncall += ",";
			}
		}
		functioncall += ");";
	}
	return functioncall;
}

function random( ) {
	var RND_MAX, RND_MIN;
	if ( arguments.length > 0 ) {
		RND_MIN = arguments[0];
		RND_MAX = arguments[1];
	} else {
		RND_MIN = 0;
		RND_MAX = 999999999999999999;
	}
	var randomNumber = parseInt(((RND_MAX - RND_MIN + 1) * Math.random( ) + RND_MIN));
	return randomNumber;
}



function addLoadEvent(func) {
	var oldonload = window.onload;
	if (typeof window.onload != 'function') {
		window.onload = func;
	} else {
		window.onload = function() { oldonload(); func(); }
	}
}


function breakText( text, length, separator ) {
	var breakedtext = text;
	var breakcount = 0;
	var startpoint = 0;
	var currentphrase = "";
		
	if ( typeof(length) == "undefined" ) {
		length = 20;
	}
	if ( typeof(separator) == "undefined" ) {
		separator = "<br>";
	}
	
	var re = /\s/gi;
	
	var vector = text.split(re);
	for( var i = 0; i < vector.length; i++ ) {
		if ( vector[i].length > length ) {
			breakcount = parseInt(vector[i].length / length);
			currentphrase = vector[i];

			for( var j = 1; j <= breakcount; j++ ) {
				startpoint = j == 1 ? length * j : (length * j) + separator.length * (j - 1);
				currentphrase = insertText(startpoint,separator,currentphrase);
			}
			breakedtext = breakedtext.replace(vector[i],currentphrase);
		}
	}
	if ( i == 0 && text > length ) {
		breakcount = parseInt(text / length);
		currentphrase = text;

		for( var j = 1; j <= breakcount; j++ ) {
			startpoint = j == 1 ? length * j : (length * j) + separator.length * (j - 1);
			currentphrase = insertText(startpoint,separator,currentphrase);
		}
		breakedtext = currentphrase;
	}
	return breakedtext;
}

function insertText( insertPoint, text, destination ) {
	var starttext = destination.substring(0,insertPoint);
	var endtext = destination.substr(insertPoint);
	var finaltext = starttext + text + endtext;
	return finaltext;}
