
var _svstream_connectedEndpoint;
var _svstream_callbackAdded = false;
var _svstream_detectedTransport = null;
var _svstream_location = '/SongVoteWeb/svstream';

function svstream_subscribe() {
	// jquery.atmosphere.response
	function callback(response) {
		
		// Websocket events.
		$.atmosphere.log('info', ["response.state: " + response.state]);
		$.atmosphere.log('info', ["response.transport: " + response.transport]);

		_svstream_detectedTransport = response.transport;
		
		//alert(_svstream_detectedTransport + " ::" + response.state + " :: " + response.responseBody);
		
		if (response.transport != 'polling' && response.state != 'connected' && response.state != 'closed') {
			$.atmosphere.log('info', ["response.responseBody: " + response.responseBody]);
			if (response.status == 200) {
				var data = response.responseBody;
				if (data.length > 0) {
					//$('ul.svstream').prepend($('<li></li>').text(data));
					populateSongVoteStream(data);
				}
			}
		}
	}

	$.atmosphere.subscribe(_svstream_location, !_svstream_callbackAdded ? callback : null, $.atmosphere.request = {transport: 'websocket'});
	_svstream_connectedEndpoint = $.atmosphere.response;
	_svstream_callbackAdded = true;
}

function svstream_publish(msg) {

	//_svstream_connectedEndpoint.push(_svstream_location, null, $.atmosphere.request = {data: 'message='+msg});
	//$.atmosphere.publish( _svstream_location, null, $.atmosphere.request = { data: '{"message":"' + msg + '"}' } );
	
	$.post(_svstream_location, 
		{ 
			message : msg
		}, 
		function(data){
			;
		}, "text");
	
}

