Object.extend(String.prototype, {
	ltrim: function() {return(this.replace(/^[\s\n]*/,""));},
	
	rtrim: function() {return(this.replace(/[\s\n]*$/, ""));},

	trim: function() {return(this.rtrim().ltrim());},
	
	right: function(nbr_char){
		if(nbr_char < this.length){
			return this.substr(this.length - nbr_char, nbr_char);
		}else{
			return this;
		}
	},
	
	left: function(nbr_char){
		if(nbr_char < this.length){
			return this.substr(0, nbr_char);
		}else{
			return this;
		}
	},

	lpad: function(char, nbr_char){
		var result = this; 
		var i;
		
		for(i=this.length;i<nbr_char;i++) {
			result = String(char) + result;
		}
		
		return result;	
	},

	rpad: function(char, nbr_char){
		var result = this; 
		var i;
		
		for(i=this.length;i<nbr_char;i++) {
			result = result + String(char);
		}
		
		return result;	
	},
	
	insert: function(start, value){
		var result = this; 
		
		if(start <= result.length){
			result = result.substring(0, start) + value + result.substring(start, result.length);
		}
		
		return result;
	},
	
	get_filename_before_extension: function (){
		var result = this.lastIndexOf('\\', this.length - 1);
	
		result = this.substr(result + 1);
		result = result.substr(0, result.length - (this.get_file_extension().length+1)).toLowerCase();
	
		return result;
	},
	
	get_filename: function() {return this.substr(this.lastIndexOf('\\', this.length)+1).toLowerCase();},
	
	get_file_extension: function() {return this.substr(this.lastIndexOf('.', this.length)+1).toLowerCase();},
	
	to_date: function(){
		var array_date;
		
		if(this.length != 10){
			return new Date();
		}else{
			array_date = this.split("-")
			return new Date(array_date[0], array_date[1]-1, array_date[2]);	
		}
	}
});

function get_qs_param(name){
	name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
	var regexS = "[\\?&]" + name + "=([^&#]*)";
	var regex = new RegExp( regexS );
	var results = regex.exec( window.location.href );
	
	if( results == null )
		return "";
	else
		return results[1];
}