/**
 *
 */
var Api = new Class
({
	/**
	 * Klassenvariablen
	 */
	options:			null,		//  Wird durch Mootools gesetzt - durch setOptions()

	initialize: function(options) {
		this.setOptions(this.getOptions(), options);
		
		window.addEvent('domready', function()
		{
			Ajax = new Ajax();
		});
	},
	
	getOptions: function() {
		return {
			//  Keine Standartwerte fürs übergebene Objekt
		};
	},
	
	openNewWindow: function(width, height, url, name, features)
	{
		var left = (screen.availWidth - width) / 2;
		var top = (screen.availHeight - height) / 2;
	
		var settings = 'height=' + height + ',' + 'width=' + width + ',' + 'top=' + top + ',' + 'left=' + left + ',';
		settings += features;
	
		whandle = window.open(url, name, settings);
		whandle.focus();
	},	
	
	encode: function(pageTitle)
	{
		var encoded_string = '';
		
		if (encodeURIComponent) {
			encoded_string = encodeURIComponent(pageTitle);
		}
		else {
			encoded_string = escape(pageTitle);
		}
		
		return encoded_string;
	},
	
	printPage: function() {
		window.addEvent('domready', function()
		{
			print();
		});
	}
});

Api.implement(new Options);
Api.implement(new Events);


/**
 *
 */
var Ajax = new Class
({
	options:			null,			//  Wird durch Mootools gesetzt - durch setOptions()
	
	initialize: function(options)
	{
		this.setOptions(this.getOptions(), options);
	},
	
	getOptions: function() {
		return {
			//  Keine Standartwerte fürs übergebene Objekt
		};
	},
	
	merkzettelAddPage: function(pageTitle)
	{
		pageTitle = Api.encode(pageTitle);
		mooRemote.RPC.merkzettelAddPage({id: 'ajax_seite_merken', update: 'anz_merkzettel_seiten', std_ajax_loader: false, params: [pageTitle]}).addEvent('onSuccess', function(result)
		{
			if (result !== false) {
				$('seite_merken_link').setStyle('display', 'none');
				$('seite_loeschen_link').setStyle('display', 'block');
			}
		});
	},
	
	merkzettelDelPage: function()
	{
		mooRemote.RPC.merkzettelDelPage({id: 'ajax_seite_merken', update: 'anz_merkzettel_seiten', std_ajax_loader: false}).addEvent('onSuccess', function(result)
		{
			if (result !== false) {
				$('seite_merken_link').setStyle('display', 'block');
				$('seite_loeschen_link').setStyle('display', 'none');
			}
		});
	},
	
	merkzettelDelPageFromUebersicht: function(page_url)
	{
		mooRemote.RPC.merkzettelDelPageFromUebersicht({id: 'merkzettel_uebersicht', update: 'merkzettel_uebersicht', std_ajax_loader: true, params: [page_url]}).addEvent('onSuccess', function(result)
		{
			if (result !== false) {
				$('anz_merkzettel_seiten').setHTML(result);
			}
		});
	}
});

Ajax.implement(new Options);
Ajax.implement(new Events);