CoreFunctions = {
	
	isInRange: function(val, minVal, maxVal) {
		var val = val * 1;
		return (val <= maxVal) && (val >= minVal);
	},
				
	isInteger: function(val) {
		return parseInt(val) === Number(val);
	},
	
	isNumeric: function(val) {
		return !isNaN(parseFloat(val)) && isFinite(val);
	},
	
	padNumberToTwoDigits: function(val) {
		return ((val < 10) && (val > 0) && (val.substr(0,1) != "0") ? '0' : '') + val;
	},
	
	
	// expects element id of a user number input
	isLuckyDip: function(elementId) {
		if($('#'+elementId).parents('form').find('input[name="drawGameBoards[' + elementId.substr(2, 1) + '].luckyDip"]').val() == 'true') return true;
	},
	
	
	isDatePickerOpen: function() {
		if($('#ui-datepicker-div').css('display') == 'block' && parseInt($('#ui-datepicker-div').css('left')) > 0) return true;
		return false;
	}
	
}

// JS object prototypes

String.prototype.trim = function() {
   return this.replace(/^\s+|\s+$/g,"");
}
String.prototype.ltrim = function() {
   return this.replace(/^\s+/g,"");
}
String.prototype.rtrim = function() {
   return this.replace(/\s+$/g,"");
}
String.prototype.endsWith = function(str) {
	return (this.match(str+"$")==str);
}
String.prototype.startsWith = function(str) {
	return (this.match("^"+str)==str)
}

if(!Array.indexOf){
	 Array.prototype.indexOf = function(obj){
		  for(var i=0; i<this.length; i++){
				if(this[i]==obj){
					 return i;
				}
		  }
		  return -1;
	 }
}

