
function M44DowFavoritesWidget() {
}
M44DowFavoritesWidget.prototype = new DowWidget;

M44DowFavoritesWidget.prototype.postInit = function() {
}

M44DowFavoritesWidget.prototype.fireAndForgetDB = function(addNewPlayer , responseMethodName) {
	var action = this.createEmptyAction("setGenericXML");
	action.setAttribute("what_key","m44DowFavorites");
	var doc = action.ownerDocument;

	var rows = this.getAllSubElements(this.getWidgetElement(),"TR","favorite_row");
	for (var ii=0; ii<rows.length; ii++) {
		var row = rows[ii];
		data = gWidgets[row.id+"_player"].getData();
		
		var comment = doc.createElement("player");
		comment.setAttribute("player_id", data.player_id);
		comment.setAttribute("login", data.login);
		comment.setAttribute("comment", gWidgets[row.id+"_comment"].getData());
		action.appendChild(comment);
	}
	if (addNewPlayer) {
		var newPlayer = doc.createElement("player");
		newPlayer.setAttribute("player_id", 0);
		newPlayer.setAttribute("login", "unknown user");
		newPlayer.setAttribute("comment", "please fill in comment");
		action.appendChild(newPlayer);
	}

	this.sendAction(action.ownerDocument, responseMethodName);
}

M44DowFavoritesWidget.prototype.fireAndReload = function() {
	window.location.reload(true);
	return true;
}

M44DowFavoritesWidget.prototype.onWidgetModified = function(widget) {
	var match = /^favorite_\d+_(comment|player)$/.exec(widget.uid);
	if (match) {
		this.fireAndForgetDB();
	}
}

M44DowFavoritesWidget.prototype.on_deleteAction = function(widget) {
	var match = /^favorite_(\d+)_delete$/.exec(widget.uid);
	if (match) {
		var index = match[1];
		//alert("on_deleteAction: "+index);
		var rowElem = this.findParent(widget.getWidgetElement() , "TR");
		if (rowElem) {
			rowElem.parentNode.removeChild(rowElem);
			this.fireAndForgetDB(false,"fireAndReload");
			//window.location.reload(true);
		}
	}
}

M44DowFavoritesWidget.prototype.on_addAction = function(widget) {
	//alert("on_addAction");
	this.fireAndForgetDB(true,"fireAndReload");
}



//  *******************

function sc_sortby(scenario_list_id, sort, sort_order) {  //HACK overrides  Yann's sc_sortby in sceanrio.js with my version also in sceanrio.js
	//gJFSPager.sc_sortby(null, sort, sort_order);
}

//  *******************










