var RegioLinkObserver = new Class({

	Extends: Regio,
	
	Implements: [Options, Events],

	options: {
		url: null,
		type: null,
		title: null,
		popup: {
			width: 600,
			height: 400,
			scrollbars: true
		}
	},

	initialize : function(element,options) {

		this.setOptions(options);

		element.addEvents({
			'click': function(event) {
				this.handleClick(event);
			}.bind(this)
		});
		
	},

	handleClick: function (event) {

		// send google analytics event
		gaLabel = 'Url: ' + this.options.url;
		_gaq.push(['_trackEvent', 'RegioLinkObserver', 'Click', gaLabel]);

		switch( this.options.type ) {

			case 'redirect':
				if( window ) {
					window.location.href = this.options.url;
				} else if( document ) {
					document.location.href = this.options.url;
				} else {
					location.href = this.options.url;
				}
			break;

			case 'ajax':
				event.stop();

				var myRegioDialog_Form = new RegioDialog_Form();
				myRegioDialog_Form.open(this.options.url);

			break;

			case 'popup':
				event.stop();
				var popupTitle = this.options.title.sanitize();
				window.open(this.options.url,popupTitle,this.addPopupOptions());
			break;

		}

	},

	addPopupOptions: function () {

		var Options = '';
		var counter = 1;
		$each(this.options.popup, function(value,key) {

			Options+= key+'='+value;
			if( counter < Object.getLength(this.options.popup) ) Options+= ',';

			counter++;
		}.bind(this));
		
		return Options;
	}

});
