slEHowUtils = {
	serverUrl: "http://sitelifestage.ehow.com/ver1.0/Direct/Process?sid=sitelifestage.ehow.com",
	getQueryParam: function(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];
		}
	},
	makeSingleRequest: function(request, callback) {
		var rb = new RequestBatch();
		rb.AddToRequest(request)
		rb.BeginRequest(this.serverUrl, function(data) {
			console.log(data);
			if (callback)
				callback(data);
		});
	}

}

var slEHowUrls = function() {

	var buildPersonaUrl = function(userKey, page) {
		return "/members/"+ userKey +"-"+page+".html";
	}

	return {
		'persona': {
			'profile': function(userKey) {
				return buildPersonaUrl(userKey, 'profile');
			},
			'friends': function(userKey) {
				return buildPersonaUrl(userKey, 'friends');
			},
			'inbox': function(userKey) {
				return buildPersonaUrl(userKey, 'inbox');
			}
		}
	}
}();

var PrettyDate = function() {

	var getPrettyDate = function(time) {
		var date = new Date((time || "").replace(/-/g,"/").replace(/[TZ]/g," ")),
			diff = (((new Date()).getTime() - date.getTime()) / 1000),
			day_diff = Math.floor(diff / 86400);
				
		if ( isNaN(day_diff) || day_diff < 0 || day_diff >= 31 )
			return time;
				
		return day_diff == 0 && (
				diff < 60 && "just now" ||
				diff < 120 && "1 minute ago" ||
				diff < 3600 && Math.floor( diff / 60 ) + " minutes ago" ||
				diff < 7200 && "1 hour ago" ||
				diff < 86400 && Math.floor( diff / 3600 ) + " hours ago") ||
			day_diff == 1 && "Yesterday" ||
			day_diff < 7 && day_diff + " days ago" ||
			time
	}


	return {
		execute: function() {
			$(".PrettyDate").each(function() {
				var prettyDate = getPrettyDate($(this).html());
				$(this).html(prettyDate);
			});
		},

		getPrettyDate: function(time) {
			return getPrettyDate(time);
		}
	}
}();

var cookie = {

	createCookie: function(name,value,days) {
		if (days) {
			var date = new Date();
			date.setTime(date.getTime()+(days*24*60*60*1000));
			var expires = "; expires="+date.toGMTString();
		}
		else var expires = "";
		document.cookie = name+"="+value+expires+"; path=/";
	},

	readCookie: function(name) {
		var nameEQ = name + "=";
		var ca = document.cookie.split(';');
		for(var i=0;i < ca.length;i++) {
			var c = ca[i];
			while (c.charAt(0)==' ') c = c.substring(1,c.length);
			if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
		}
		return null;
	},

	eraseCookie: function(name) {
		createCookie(name,"",-1);
	}
}

