var goldenrod
if (!goldenrod) goldenrod = {}

		
goldenrod.myString = new Object;

goldenrod.myString.zero = "0".charCodeAt(0);	//Character code of "0"
goldenrod.myString.nine = "9".charCodeAt(0);	//Character code of "9"


/*************************************************************************************************
*goldenrod.myString.parseInt - s - is a string.
*	
*If the length of s is 0 - we return NaN
*
*We find the the first index of a number between zero and nine.
*If there is no such number we return Nan.
*Then we return the value of the digit string as an integer.
**************************************************************************************************/
goldenrod.myString.parseInt = function(s){

	var i, n, returnvalue = NaN;

	if (s.length != 0 ) {

		for(i=0; i<s.length; i++) {
		
			n = s.charCodeAt(i);
			if( (n >= this.zero) && (n <= this.nine) )
				break;
		}

		if(i < s.length) {
			//alert("goldenrod.myString.parseInt: s.slice(i) = ", s.slice(i));
			returnvalue = parseInt( s.slice(i) )
		}
	}
	return returnvalue
}


/*************************************************************************************************
*goldenrod.myString.getfileName - s - is a string.
*	
*s is suppose to be a path and file name
*
*We return only the file name as an example:
*www.daniellepkoff.com/Goldenrod/filename.ext will return filename.ext
**************************************************************************************************/
goldenrod.myString.getfileName = function(s) {
	if(s.length >0 ) {
		var start, l;
		l = s.length
		for( start = l - 1; ( (start >=0 ) && (s.charAt(start) != "/") ); start--) {
			
		}
		if (start == -1 ) {
			return s;
		}
		else {
			return s.slice(++start, l)
		}
	}
	
}

goldenrod.myString.Esrever = function(s) {
	if(s.length > 1 ) {
		var i, len, t="";
		len = s.length;
		var theString = new Array(len);
		for (i=0; i<len; i++) {
			theString[i] = s.charAt(i);
		}
		theString = theString.reverse();
		for(i=0; i<len; i++) {
			t = t + theString[i];
		}
		return t
	}
	else return s;
}


goldenrod.myString.Trim = function(s) {
	if(s.length > 0 ) {
		var pattern = /(^\s+)|(\s+$)/g;
		var t;
		t = s.replace(pattern, "");
		return t;
	}
	else return s;
}

/*----------------------------------------------------------------------------------------------
	This is a variant of the core Javascript string function String.split.
	I discovered that when you specify a limit to the Core string split function it will 
	completely split the string but return only the number of entries specified by limit.
	
	I want a split function that will return an array of limit number of items but the last item 
	will be the whole remaining part of the string. This imitates the PHP explode function.
------------------------------------------------------------------------------------------------*/
goldenrod.myString.mySplit = function(s, delimiter, limit) {

	if(limit){
		var result = s.split(delimiter);
		if(result.length > limit){
			var ending = result.slice(limit-1).join(delimiter);
			result.length = limit;
			result[limit-1] = ending;
		}
		return result;
		
	}
	else return s.split(delimiter, limit)
}

goldenrod.myString.capitalizeWords = function(s) {
	function firstLetter(word){
		var pattern = /[A-Za-z]|[\u00C0-\u00FF]/;
		var i = word.search(pattern);
		if(i != -1){
			return word.substring(0,i) + word.substring(i,i+1).toUpperCase() + word.substring(i+1);
		}
		else {
			return word;
		}
	}

	if(s.length > 0) {
		var t = s.toLowerCase();
		var pattern = /\S+($|\s+)/g;
		t = t.replace(pattern, firstLetter );
		return t;
	}
	else return s;
}


/*----------------------------------------------------------------------------------------------

goldenrod.myString.capitalizeWords = function(s) {
	if(s.length > 0) {
		var t = s.toLowerCase();
		var pattern = /([A-Za-z]|[\u00C0-\u00FF])+($|\s+)/g;
		t = t.replace(pattern, function(word) {return word.substring(0,1).toUpperCase() + word.substring(1);} );
		return t;
	}
	else return s;
}
----------------------------------------------------------------------------------------------*/



