var flashvars = {};
var params = {
	wmode: "transparent",
	allowScriptAcces: "always",
	base: "flash/"
};
var attributes = {};


var dsVideos = new Spry.Data.XMLDataSet(
	pathToXMLFile, 
	"/abooma-gallery/video|/abooma-gallery/photoset",
	{subPaths: 'content[1]/thumbnail'}
);
var dsPhotosFields = new Spry.Data.NestedXMLDataSet(dsVideos, "content");

var videoObserver = new Object;
videoObserver.onCurrentRowChanged = function(notUsed,eventData){
 	if(eventData.newRowID!=-1){ openVideoOrPhotoset(eventData.newRowID);}
}

// Set the initial row so future calls
// Can be observed and events will be raise
videoObserver.onPostLoad = function(){
	dsVideos.setCurrentRow(-1);
}

// This handles simulating a loading visual
// as well as hiding the templating while it is loading
videoObserver.onPostUpdate = function(){
	var vpl = $mplayer("video-player-list");
	var vp = $mplayer("video-playlist");
	var pp = $mplayer("photo-playlist");
	
	vpl.className = vpl.className.replace("loading","");
	vp.className = vp.className.replace("SpryHiddenRegion","");
	pp.className = pp.className.replace("SpryHiddenRegion","");
	
	Spry.Data.Region.removeObserver("video-player-list",videoObserver);
};
Spry.Data.Region.addObserver("video-player-list",videoObserver);
dsVideos.addObserver(videoObserver);

function $mplayer(elementID){
	return document.getElementById(elementID);
}

function openVideoOrPhotoset(rowID){
	var ph = $mplayer("memories-placeholder");
	var vp = $mplayer("video-player");
	var pv = $mplayer("picture-viewer");
	
	ph.style.display = "none";
	
	var row = dsVideos.getRowByID(rowID);
	if(row['@type']=='video'){
		createVideoContainer();
		playFlashVideo(preparePath(row['content']));
		vp.style.display = "block";
		pv.style.display = "none";
	}else{
		swfobject.removeSWF("video-media-player");
		pv.style.display = "block";
		vp.style.display = "none";
	}
}
function createVideoContainer(){
	var player = $mplayer("video-media-player");
	if (!player) {
		var d = document.createElement("div");
		d.setAttribute("id", "video-media-player");
		$mplayer("video-player").appendChild(d);
	}
}

function playFlashVideo(path){
	flashvars.videoPath = path;
	swfobject.embedSWF(
		"flash/video_player.swf", "video-media-player", 
		"450", "345", "8.0.0", false, flashvars, params, attributes
	);
}

function preparePath(video){
	return '../' + video;
}