var linkPlugin = new Class
(
	{
		initialize: function(parent)
		{
			this.parent = parent;
		},

		load: function()
		{
			this.parent.buildSubmitButton(this);
			
			if(this.parent.position)
			{
				value = this.parent.element.getValue();
				start = this.parent.position.selectionStart;
				end = this.parent.position.selectionEnd;

				$('ubbLinkConfigName').value = value.substr(start, end-start);
				$('ubbLinkConfigInternalName').value = value.substr(start, end-start);
				
				pageFinders();
			}
		},

		complete: function()
		{
			var label = '';
			var url = '';

			if($('ubbLinkConfigTypeExternal').checked == true)
			{
				if($('ubbLinkConfigName'))
				{
					label = $('ubbLinkConfigName').value;
				}

				if($('ubbLinkConfigUrl'))
				{
					url = $('ubbLinkConfigUrl').value;
				}

				if($('ubbLinkConfigUrlIsEmail').checked)
				{
					url = 'mailto:' + url;

					if($('ubbLinkConfigEmailSubject'))
					{
						url = url + '?subject=' + $('ubbLinkConfigEmailSubject').value;
					}
				}
			}
			else
			{
				if($('ubbLinkConfigInternalName'))
				{
					label = $('ubbLinkConfigInternalName').value;
				}

				if($('ubbLinkConfigInternalId'))
				{
					url = $('ubbLinkConfigInternalId').value;
				}

				if($('ubbLinkConfigInternalAbstract').checked)
				{
					url += ' abstract';
				}
			}

			this.parent.insertTag(null, 'link', true, url, label);
		},

		view: function()
		{
			var url = site_url + "js/custom/link.php";
			
			//	onComplete: this.load.bind(this)			
			
			var req = new Ajax(url, {
				method: 'get',
				update: this.parent.advancedConfig,
				onComplete: this.load.bind(this)
			});
			req.request();
			
			return '';
		}
	}
);
