// JavaScript Document
function trimWhiteSpace(string)
{
	if(string.indexOf(' ') == 0)
	{
		if(string.length > 1)
		{
			string = string.slice(1, string.length);
			string = trimWhiteSpace(string);
		}
		else
		{
			string = '';	
		}
	}
	else if(string.lastIndexOf(' ') == string.length-1 && string.length > 1)
	{
		string = string.slice(0, (string.length -1));
		string = trimWhiteSpace(string);
	}
	return string;
}

function addSomeSlashes(string)
{
	string = string.replace(/\\/g,'\\\\');
	string = string.replace(new RegExp("(')", "g"), "\\'");
	string = string.replace(new RegExp('(")', "g"), '\\"');
	return string;
}

function htmlSafeString(string)
{
	string = string.replace(new RegExp("(&)", "g"), "&amp;");
	string = string.replace(new RegExp("(<)", "g"), "&lt;");
	string = string.replace(new RegExp("(>)", "g"), "&gt;");
	string = string.replace(new RegExp("(\")", "g"), "&quot;");
	return string;
}

//Accepte un string en argument (l'adresse email) Retourne true si l'adresse est valide, false sinon
function validEmail(string)
{
	var valid = ( (string.indexOf('@') > 0) && (string.indexOf('.') > string.indexOf('@')+1) && (string.lastIndexOf('.') < string.length-1) );
	return valid;
}

function validUrl(string)
{
	var valid = (string.indexOf('.') > 0) && (string.lastIndexOf('.') < string.length-1);
	return valid;
}

function urlEncodingAddress(string)
{
	var reserved_chars = Array("&", "[+]", ",", "=", "<", ">", " ");
	var url_encoded_chars = Array("%26", "%2b", "%2c", "%3d", "%3c", "%3e", "%20");
	
	for(var i = 0; i < reserved_chars.length; i++)
	{
		string = string.replace(new RegExp(reserved_chars[i], "gi"), url_encoded_chars[i]);
	}
	return string;
}

function urlEncodingVars(string)
{
	var reserved_chars = Array("[+]", ",", "<", ">", " ");
	var url_encoded_chars = Array("%2b", "%2c", "%3c", "%3e", "%20");
	
	for(var i = 0; i < reserved_chars.length; i++)
	{
		string = string.replace(new RegExp(reserved_chars[i], "gi"), url_encoded_chars[i]);
	}
	return string;
}

function addHttpToUrl(string)
{
	string = trimWhiteSpace(string);
	
	if(string.indexOf('http://') != 0 && string.indexOf('ftp://') != 0)	
	{
		string = "http://" + string;	
	}
	
	//Vérification, correction url?vars=value
	var url_vars_delimiter_pos = string.indexOf("?");
	if(url_vars_delimiter_pos != -1)
	{
		var url_part = string.substring(0, url_vars_delimiter_pos);
		var vars_part = string.substring(url_vars_delimiter_pos + 1, string.length);
		
		//Threating URL part
		url_part = urlEncodingAddress(url_part);
		vars_part = urlEncodingVars(vars_part);
		
		string = url_part + "?" + vars_part;
	}
	else
	{
		string = urlEncodingAddress(string);	
	}
	return string;
}