// String extensions

jQuery.extend(String.prototype, {

	Left: function(characterCount)

	{

		return this.substring(0,characterCount);

	},

	

	// Right

	Right: function(characterCount)

	{

		return this.substring((this.length - characterCount), this.length);

	},

	

	// Mid

	Mid: function(start, end)

	{

		if(!start){start=0};

		if(!end || end > this.length){end=this.length};

		if(end != this.length){end = start + end};

		return this.substring(start,end);

	},

	

	// Replace

	Replace: function(replaceThis, replaceWith)

	{

		var retval = this;

		while(retval.indexOf(replaceThis) > -1){

			retval = retval.replace(replaceThis,replaceWith);

		}

		return retval;

	},

	

	// Trim

	Trim: function()

	{

		var retval = this;

		retval = this.TrimStart();

		return retval.TrimEnd();

	},

	

	// TrimStart

	TrimStart: function ()

	{

		var retval = this;

		while(retval.charAt(0)==" "){

			retval = retval.replace(retval.charAt(0),"");

		}

		return retval;

	},

	

	// TrimEnd

	TrimEnd: function ()

	{

		var retval = this;

		while(retval.charAt((retval.length -1))==" "){

			retval = retval.substring(0,retval.length-1);

		}

		return retval;

	},

	

	// RemoveAllWhitespace

	RemoveAllWhitespace: function ()

	{

		var exp = new RegExp('\\s{1,}', 'gi');

		return this.replace(exp, '');

	}

	

});





// Returns a value of a field as a string.

// Will return checkbox lists etc as a comma separated string

jQuery.fn.fieldStringVal = function(successful) {

	var retval = new String();

	if (this.length > 0){

		var elm = this[0];

		var name = new String(elm.name);

		var t = elm.type;

		if (t == "checkbox" || t == "radio"){

			if (name == ""){

				if (elm.checked) retval = elm.id;

			}

			else{

				/* See if it's a checkbox / radiobutton list */

				/* Find all controls of the same name */

				jQuery("input[@name=" + name + "]").each(function(){

					if (this.checked){

						if (retval != "") retval += ",";

						retval += this.id;

					}

				});

			}

		}

		else if (t == "select-one" || t == "select-multiple"){

			for (var i=0; i<elm.length; i++){

				if (elm.options[i].selected){

					if (retval != "") retval += ",";

					retval += elm.options[i].value;

				}

			}

		}

		else{

			retval = elm.value;

		}

	}

	return jQuery.trim(retval);

};




