var Utility = {
	convertToDateTime: function(time) {
		var date = new Date();
		date.setTime(time * 1000);
		dateStr = (date.getMonth() + 1) + '/' + date.getDate() + '/' + date.getFullYear();
		var hour = date.getHours();
		var pm = (hour >= 12);
		hour = (hour > 12) ? (hour - 12) : hour;
		var min = date.getMinutes();
		if (min < 10) min = '0' + min;
		timeStr = hour + ':' + min + ' ' + (pm ? "pm" : "am");
		return [dateStr, timeStr];
	},

	convertToTimeInSeconds: function(dateStr, timeStr) {
		return new Date(dateStr + ' ' + timeStr).getTime() / 1000.0;
	},

	noCache: function(url){
		var ts = new Date().getTime();
		return (url.indexOf('?') > -1) ? (url + '&ts=' + ts) : (url + '?ts=' + ts); 
	},

	stripToNums: function(str){
		return str.replace(/[\s-]/g, "").replace(/\D/g, ""); // strip spaces and digits
	},
	
	isValidEmail: function(str){
		var re = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*\.(\w{2}|(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum))$/;
		return re.test(str);
	},
	
	isValidCCNumber: function(value){
		// accept only digits and dashes
		if (/[^0-9-]+/.test(value))
			return false;
		var nCheck = 0,
			nDigit = 0,
			bEven = false;

		value = value.replace(/\D/g, "");

		for (var n = value.length - 1; n >= 0; n--) {
			var cDigit = value.charAt(n);
			var nDigit = parseInt(cDigit, 10);
			if (bEven) {
				if ((nDigit *= 2) > 9)
					nDigit -= 9;
			}
			nCheck += nDigit;
			bEven = !bEven;
		}

		return (nCheck % 10) == 0;
	}
}

