﻿
// Do not edit mnually this portion
// <WebServiceGeneratedProxy Path="/Modules/Activity/Services/ActivitySubscriptionService.asmx">
Type.registerNamespace('MySpace.Web.Modules.Activity.Services');
MySpace.Web.Modules.Activity.Services.ActivitySubscriptionService = function() {
	MySpace.Web.Modules.Activity.Services.ActivitySubscriptionService.initializeBase(this);
	this._timeout = 0;
	this._userContext = null;
	this._succeeded = null;
	this._failed = null;
}
MySpace.Web.Modules.Activity.Services.ActivitySubscriptionService.prototype = {
	GetFriendActivitiesByPage: function(token, succeededCallback, failedCallback, userContext) {
		return this._invoke(MySpace.Web.Modules.Activity.Services.ActivitySubscriptionService.get_path(), 'GetFriendActivitiesByPage', false, { token: token }, succeededCallback, failedCallback, userContext);
	},
	GetActivitiesForHomeXml: function(token, succeededCallback, failedCallback, userContext) {
		return this._invoke(MySpace.Web.Modules.Activity.Services.ActivitySubscriptionService.get_path(), 'GetActivitiesForHomeXml', false, { token: token }, succeededCallback, failedCallback, userContext);
	},
	Initialize: function(token, succeededCallback, failedCallback, userContext) {
		return this._invoke(MySpace.Web.Modules.Activity.Services.ActivitySubscriptionService.get_path(), 'Initialize', false, { token: token }, succeededCallback, failedCallback, userContext);
	},
	GetMyActivitiesByPage: function(token, succeededCallback, failedCallback, userContext) {
		return this._invoke(MySpace.Web.Modules.Activity.Services.ActivitySubscriptionService.get_path(), 'GetMyActivitiesByPage', false, { token: token }, succeededCallback, failedCallback, userContext);
	},
	SaveBandShowToCalendar: function(token, calenderEvent, succeededCallback, failedCallback, userContext) {
		return this._invoke(MySpace.Web.Modules.Activity.Services.ActivitySubscriptionService.get_path(), 'SaveBandShowToCalendar', false, { token: token, calenderEvent: calenderEvent }, succeededCallback, failedCallback, userContext);
	} 
}
MySpace.Web.Modules.Activity.Services.ActivitySubscriptionService.registerClass('MySpace.Web.Modules.Activity.Services.ActivitySubscriptionService', Sys.Net.WebServiceProxy);
MySpace.Web.Modules.Activity.Services.ActivitySubscriptionService._staticInstance = new MySpace.Web.Modules.Activity.Services.ActivitySubscriptionService();
MySpace.Web.Modules.Activity.Services.ActivitySubscriptionService.set_path = function(value) { MySpace.Web.Modules.Activity.Services.ActivitySubscriptionService._staticInstance._path = value; }
MySpace.Web.Modules.Activity.Services.ActivitySubscriptionService.get_path = function() { return MySpace.Web.Modules.Activity.Services.ActivitySubscriptionService._staticInstance._path; }
MySpace.Web.Modules.Activity.Services.ActivitySubscriptionService.set_timeout = function(value) { MySpace.Web.Modules.Activity.Services.ActivitySubscriptionService._staticInstance._timeout = value; }
MySpace.Web.Modules.Activity.Services.ActivitySubscriptionService.get_timeout = function() { return MySpace.Web.Modules.Activity.Services.ActivitySubscriptionService._staticInstance._timeout; }
MySpace.Web.Modules.Activity.Services.ActivitySubscriptionService.set_defaultUserContext = function(value) { MySpace.Web.Modules.Activity.Services.ActivitySubscriptionService._staticInstance._userContext = value; }
MySpace.Web.Modules.Activity.Services.ActivitySubscriptionService.get_defaultUserContext = function() { return MySpace.Web.Modules.Activity.Services.ActivitySubscriptionService._staticInstance._userContext; }
MySpace.Web.Modules.Activity.Services.ActivitySubscriptionService.set_defaultSucceededCallback = function(value) { MySpace.Web.Modules.Activity.Services.ActivitySubscriptionService._staticInstance._succeeded = value; }
MySpace.Web.Modules.Activity.Services.ActivitySubscriptionService.get_defaultSucceededCallback = function() { return MySpace.Web.Modules.Activity.Services.ActivitySubscriptionService._staticInstance._succeeded; }
MySpace.Web.Modules.Activity.Services.ActivitySubscriptionService.set_defaultFailedCallback = function(value) { MySpace.Web.Modules.Activity.Services.ActivitySubscriptionService._staticInstance._failed = value; }
MySpace.Web.Modules.Activity.Services.ActivitySubscriptionService.get_defaultFailedCallback = function() { return MySpace.Web.Modules.Activity.Services.ActivitySubscriptionService._staticInstance._failed; }
MySpace.Web.Modules.Activity.Services.ActivitySubscriptionService.set_path("/Modules/Activity/Services/ActivitySubscriptionService.asmx");
MySpace.Web.Modules.Activity.Services.ActivitySubscriptionService.GetFriendActivitiesByPage = function(token, onSuccess, onFailed, userContext) { MySpace.Web.Modules.Activity.Services.ActivitySubscriptionService._staticInstance.GetFriendActivitiesByPage(token, onSuccess, onFailed, userContext); }
MySpace.Web.Modules.Activity.Services.ActivitySubscriptionService.GetActivitiesForHomeXml = function(token, onSuccess, onFailed, userContext) { MySpace.Web.Modules.Activity.Services.ActivitySubscriptionService._staticInstance.GetActivitiesForHomeXml(token, onSuccess, onFailed, userContext); }
MySpace.Web.Modules.Activity.Services.ActivitySubscriptionService.Initialize = function(token, onSuccess, onFailed, userContext) { MySpace.Web.Modules.Activity.Services.ActivitySubscriptionService._staticInstance.Initialize(token, onSuccess, onFailed, userContext); }
MySpace.Web.Modules.Activity.Services.ActivitySubscriptionService.GetMyActivitiesByPage = function(token, onSuccess, onFailed, userContext) { MySpace.Web.Modules.Activity.Services.ActivitySubscriptionService._staticInstance.GetMyActivitiesByPage(token, onSuccess, onFailed, userContext); }
MySpace.Web.Modules.Activity.Services.ActivitySubscriptionService.SaveBandShowToCalendar = function(token, calenderEvent, onSuccess, onFailed, userContext) { MySpace.Web.Modules.Activity.Services.ActivitySubscriptionService._staticInstance.SaveBandShowToCalendar(token, calenderEvent, onSuccess, onFailed, userContext); }
var gtc = Sys.Net.WebServiceProxy._generateTypedConstructor;
Type.registerNamespace('MySpace.Domain.Profile');
if (typeof (MySpace.Domain.Profile.CalendarEvent) === 'undefined') {
	MySpace.Domain.Profile.CalendarEvent = gtc("MySpace.Domain.Profile.CalendarEvent");
	MySpace.Domain.Profile.CalendarEvent.registerClass('MySpace.Domain.Profile.CalendarEvent');
}
// </WebServiceGeneratedProxy>

var MyXmlDocument;
var startTime;
var xslStyleSheet;

function onOkClicked() {
	var elem = $get("results");
	if (elem != null) {
		elem.focus();
	}
}
function changeText(arg1, arg2) {
	$get(arg1).style.display = 'none';
	$get(arg2).style.display = 'inline';
}
function AddToCalendar(title, eventId, dateTime, venue, address, city, country, zipCode) {
	var calEvent = new Object();
	calEvent.Title = title;
	calEvent.EventId = eventId;
	calEvent.DateTime = dateTime;
	calEvent.Location = venue;
	calEvent.Street = address;
	calEvent.City = city;
	calEvent.Country = country;
	calEvent.Zip = zipCode;
	MySpace.Web.Modules.Activity.Services.ActivitySubscriptionService.SaveBandShowToCalendar(this.bandShowHash, calEvent, onSaveComplete, onSaveError);
}
function onSaveComplete(args) {
	//TODO
}
function onSaveError(args) {
	//TODO
}
function OnMouseOver(position) {
	document.getElementById(position).style.backgroundColor = "#ffd2d2";
}
function OnMouseOut(position) {
	document.getElementById(position).style.backgroundColor = "#eff3ff";
}
//function DeleteByAvtivityId(position, activityType, userid, activityId)
//{
//	document.getElementById(position).style.display = "none";
//	MySpace.Web.Modules.Activity.Services.RemovePublishedActivityService.DeleteByActivityId(activityId, activityType, userid);	
//}
//function DeleteByParentId(position, activityType, userid, activityId, timestamp, token)
//{
//	document.getElementById(position).style.display = "none";
//	MySpace.Web.Modules.Activity.Services.RemovePublishedActivityService.DeleteByParentId(activityId, activityType, userid, timestamp, token);	
//}
function display(html) {
	var elem = $get(settings.TargetDivId);
	if (elem != null)
		elem.innerHTML = html;

	var titleElem = $get("viewall");
	if (titleElem != null)
		titleElem.style.display = "none";
}

function displayHtml() {
	var regExpr = /&lt;([^&]*)&gt;/g;
	var elem = $get(settings.TargetDivId);
	if (settings.htmlFeed.length > 0) {
		elem.innerHTML = settings.htmlFeed.replace(regExpr, "<$1>");
		InitActivitiesMusicPlayer(settings.RealSwfPlayer)
	}
	else
		settings.displayImmediately = true;
}

// This is the callback function invoked if the Web service
// succeeded.
// It accepts the result object as a parameter.
function SucceededCallback(xmlResult, eventArgs) {
	startTime = new Date().getTime();

	var xsl;

	if (xmlResult != null) {
		var node = xmlResult.getElementsByTagName("AggregatedActivity");
		if (node != null && node.length > 0) {
			if (navigator.userAgent.indexOf("MSIE") >= 0) {
				var xslt = null;
				var xslDoc = null;
				var xslProc;
				try {
					xslt = new ActiveXObject("MSXML2.XSLTemplate.6.0");
					xslDoc = new ActiveXObject("Msxml2.FreeThreadedDOMDocument.6.0");
					xslDoc.setProperty("AllowXsltScript", true);
				}
				catch (err) {
					xslt = new ActiveXObject("Msxml2.XSLTemplate");
					xslDoc = new ActiveXObject("Msxml2.FreeThreadedDOMDocument");
				}

				xslDoc.async = false;
				xslDoc.resolveExternals = false;
				xslDoc.load(settings.XsltUrl);
				xslt.stylesheet = xslDoc;
				xslProc = xslt.createProcessor();
				xslProc.input = xmlResult;
				xslProc.addParameter("ImagePath", settings.ImagePath);
				xslProc.addParameter("VideoSmallBK", settings.VideoSmallBK);
				xslProc.addParameter("VideoLargeBK", settings.VideoLargeBK);
				xslProc.addParameter("LinkOnTop", settings.LinkOnTop);
				xslProc.addParameter("LinkOnTopUrl", settings.UpdatesHomeUrl);
				xslProc.addParameter("ShowMyUpdateLink", settings.ShowMyUpdateLink);
				xslProc.addParameter("ShowDeleteLink", settings.ShowDeleteLink);
				xslProc.addParameter("feature", settings.Feature);
				xslProc.addParameter("AddToMyProfile", settings.AddToMyProfile);
				xslProc.addParameter("ShowAddToMyProfileLink", settings.ShowAddToMyProfileLink);
				xslProc.addParameter("PlaySong", settings.PlaySong);

				xslProc.transform();

				settings.htmlFeed = xslProc.output;
				if (settings.displayImmediately)
					displayHtml();

			}
			else if (document.implementation && document.implementation.createDocument) {
				MyXmlDocument = xmlResult;
				xslStyleSheet = document.implementation.createDocument("", "", null);
				xslStyleSheet.load(settings.XsltUrl);
				xslStyleSheet.onload = RenderHTML;
			}
			else
				display(settings.UnsupportedBrowser);
		}
		else
			display(settings.NoRecordsMessage);
	}
	else
		display(settings.NoRecordsMessage);
}

function RenderHTML() {
	var xsltProcessor = new XSLTProcessor();
	xsltProcessor.importStylesheet(xslStyleSheet);
	xsltProcessor.setParameter(null, "VideoSmallBK", settings.VideoSmallBK);
	xsltProcessor.setParameter(null, "VideoLargeBK", settings.VideoLargeBK);
	xsltProcessor.setParameter(null, "ImagePath", settings.ImagePath);
	xsltProcessor.setParameter(null, "LinkOnTop", settings.LinkOnTop);
	xsltProcessor.setParameter(null, "LinkOnTopUrl", settings.UpdatesHomeUrl);
	xsltProcessor.setParameter(null, "ShowMyUpdateLink", settings.ShowMyUpdateLink);
	xsltProcessor.setParameter(null, "ShowDeleteLink", settings.ShowDeleteLink);
	xsltProcessor.setParameter(null, "feature", settings.Feature);
	xsltProcessor.setParameter(null, "AddToMyProfile", settings.AddToMyProfile);
	xsltProcessor.setParameter(null, "ShowAddToMyProfileLink", settings.ShowAddToMyProfileLink);
	xsltProcessor.setParameter(null, "PlaySong", settings.PlaySong);

	var resultDocument = xsltProcessor.transformToDocument(MyXmlDocument);

	var xmls = new XMLSerializer();
	settings.htmlFeed = xmls.serializeToString(resultDocument);
	if (settings.displayImmediately)
		displayHtml();
}

function OnTimeOut(args) {
	display(settings.TimeOutError);
}

function OnError(args) {
	display(settings.AjaxSaveError);
}

function ReportTimer(timeDuration) {
	if (settings.ShowResultTime)
		window.status = "Xslt transformation: " + timeDuration + " ms";
}

//Function to Resize IFrame
function resizeFrame(f) {
	var height = f.contentWindow.document.body.scrollHeight;

	if (height > 45) {
		f.style.height = height + "px";
	}
	else {
		f.style.height = "45px";
	}
}


// Music Player
var activePlayer = null;

function playPauseSong(elemPlayPause, songId, bandId) {
	var response = "";

	// If currently playing, pause.
	if (getBtnState(elemPlayPause) == "playing") {
		response = document["PixelPlayer"].pauseSong();
		setBtnState(elemPlayPause, "paused");

		// Currently paused, start playing.
	} else {
		// Pause any previously playing song
		if (activePlayer != null && activePlayer != elemPlayPause) {
			pauseSong(activePlayer);
			activePlayer = null;
		}
		response = document["PixelPlayer"].playSong(songId, bandId);
		activePlayer = elemPlayPause;
		setBtnState(elemPlayPause, "playing");
	}
}

function pauseSong(elemPlayPause) {
	var response = document["PixelPlayer"].pauseSong();
	setBtnState(elemPlayPause, "paused");
	window.status = "Paused song";
}

function getBtnState(elemPlayPause) {
	return (elemPlayPause.title.indexOf("playing") >= 0) ? "playing" : "paused";
}

function setBtnState(elemPlayPause, state) {
	if (state == "playing") {
		elemPlayPause.className = "pauseSong"
		elemPlayPause.title = "playing";
		elemPlayPause.innerHTML = MySpaceRes.SongHistory.PauseSongV2;
	} else if (state == "paused") {
		elemPlayPause.className = "playSong"
		elemPlayPause.title = "paused";
		elemPlayPause.innerHTML = MySpaceRes.SongHistory.PlaySongV2;
	}
}

function InitActivitiesMusicPlayer(pixelPlayerURL) {
	var arrActivitiesMusicPlayer = document.getElementsByName("activitiesMusicPlayer");

	//Initialize if there are any profile song activities
	if (arrActivitiesMusicPlayer.length > 0) {
		arrActivitiesMusicPlayer[0].parentNode.parentNode.innerHTML += "<div id='divActivitiesPixelPlayer' />";

		var SongPlaylist = new SWFObject(pixelPlayerURL, "PixelPlayer", "1", "1", "8", "#ffffff");
		SongPlaylist.addParam('codebase', 'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,45,0');
		SongPlaylist.addParam('width', '1');
		SongPlaylist.addParam('height', '1');
		SongPlaylist.addParam('src', pixelPlayerURL);
		SongPlaylist.addParam('quality', 'high');
		SongPlaylist.addParam('pluginspage', 'http://www.macromedia.com/go/getflashplayer');
		SongPlaylist.addParam('align', 'middle');
		SongPlaylist.addParam('play', 'true');
		SongPlaylist.addParam('loop', 'true');
		SongPlaylist.addParam('scale', 'showall');
		SongPlaylist.addParam('wmode', 'window');
		SongPlaylist.addParam('devicefont', 'false');
		SongPlaylist.addParam('id', 'PixelPlayer');
		SongPlaylist.addParam('bgcolor', '#ffffff');
		SongPlaylist.addParam('name', 'PixelPlayer');
		SongPlaylist.addParam('menu', 'true');
		SongPlaylist.addParam('allowScriptAccess', 'always');
		SongPlaylist.addParam('allowFullScreen', 'false');
		SongPlaylist.addParam('movie', pixelPlayerURL);
		SongPlaylist.addParam('salign', '');
		SongPlaylist.write("divActivitiesPixelPlayer");
	}
}

function GetMoreUpdates() {
	alert("hello");
}

function UpdatesOkCallback(result, eventArgs) {
	alert(result);
}
