guieditor/editor.js
author Dan Fuhry <dan@enanocms.org>
Wed, 27 Oct 2010 03:18:51 -0400
changeset 0 640e15974415
child 1 960c1572df75
permissions -rw-r--r--
First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
     1
attachHook('editor_gui_toolbar', 'guied_insert_toolbar(ta_wrapper, response.toolbar_templates);');
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
     2
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
     3
function guied_insert_toolbar(ta_wrapper, toolbar_templates)
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
     4
{
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
     5
	// Init toolbar
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
     6
	var toolbar = '';
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
     7
	var head = new templateParser(toolbar_templates.toolbar_start);
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
     8
	var button = new templateParser(toolbar_templates.toolbar_button);
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
     9
	var label = new templateParser(toolbar_templates.toolbar_label);
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
    10
	var tail = new templateParser(toolbar_templates.toolbar_end);
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
    11
	
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
    12
	button.assign_bool({
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
    13
			show_title: true
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
    14
		});
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
    15
	
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
    16
	toolbar += head.run();
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
    17
	
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
    18
	var buttons = ['bold*', 'italic*', 'underline*', '|', 'intlink', 'extlink', 'image'];
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
    19
	
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
    20
	// Button: Bold
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
    21
	var i;
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
    22
	var hide_label = false;
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
    23
	for ( i = 0; i < buttons.length; i++ )
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
    24
	{
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
    25
		if ( buttons[i] == '|' )
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
    26
		{
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
    27
			label.assign_vars({
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
    28
					TITLE: '<img alt="|" src="' + scriptPath + '/plugins/guieditor/icons/separator.png" />'
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
    29
				});
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
    30
			toolbar += label.run();
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
    31
		}
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
    32
		else
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
    33
		{
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
    34
			if ( buttons[i].charAt(buttons[i].length - 1) == '*' )
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
    35
			{
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
    36
				hide_label = true;
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
    37
				buttons[i] = buttons[i].substr(0, buttons[i].length - 1);
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
    38
				button.assign_bool({ show_title: false });
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
    39
			}
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
    40
			button.assign_vars({
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
    41
					TITLE: $lang.get('guied_btn_' + buttons[i]),
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
    42
					IMAGE: cdnPath + '/plugins/guieditor/icons/' + buttons[i] + '.png',
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
    43
					FLAGS: 'href="#" onclick="guied_act(\'' + buttons[i] + '\'); return false;"'
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
    44
				});
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
    45
			toolbar += button.run();
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
    46
			if ( hide_label )
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
    47
			{
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
    48
				button.assign_bool({ show_title: true });
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
    49
				hide_label = false;
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
    50
			}
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
    51
		}
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
    52
	}
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
    53
	
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
    54
	// End of toolbar
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
    55
	toolbar += tail.run();
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
    56
	
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
    57
	var wrapperdiv = document.createElement('div');
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
    58
	wrapperdiv.innerHTML = toolbar;
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
    59
	ta_wrapper.appendChild(wrapperdiv);
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
    60
}
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
    61
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
    62
function guied_act(action)
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
    63
{
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
    64
	var textarea = document.getElementById('ajaxEditArea');
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
    65
	switch(action)
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
    66
	{
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
    67
		case 'bold':
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
    68
			guied_insert_wikitext_tag(textarea, "'''", "'''", $lang.get('guied_sample_bold'));
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
    69
			break;
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
    70
		case 'italic':
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
    71
			guied_insert_wikitext_tag(textarea, "''", "''", $lang.get('guied_sample_italic'));
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
    72
			break;
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
    73
		case 'underline':
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
    74
			guied_insert_wikitext_tag(textarea, "__", "__", $lang.get('guied_sample_underline'));
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
    75
			break;
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
    76
		case 'intlink':
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
    77
			load_component('autofill');
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
    78
			var selection = guied_get_selection(textarea);
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
    79
			var il_mp = miniPrompt(function(div)
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
    80
				{
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
    81
					div.innerHTML += '<h3>' + $lang.get('guied_intlink_title') + '</h3>';
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
    82
					div.innerHTML += '<table border="0" cellspacing="5" cellpadding="0" style="width: 100%;"> \
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
    83
								<tr> \
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
    84
									<td valign="top" style="white-space: nowrap;"> \
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
    85
									' + $lang.get('guied_intlink_lbl_page') + ' \
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
    86
									</td> \
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
    87
									<td valign="top"> \
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
    88
										<input type="text" id="guied_intlink_page" class="autofill page" style="width: 100%;" /><br /> \
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
    89
										<small>' + $lang.get('guied_intlink_af_hint') + '</small> \
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
    90
									</td> \
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
    91
								</tr> \
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
    92
								<tr> \
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
    93
									<td valign="top" style="white-space: nowrap;"> \
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
    94
									' + $lang.get('guied_intlink_lbl_text') + ' \
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
    95
									</td> \
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
    96
									<td valign="top"> \
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
    97
										<input type="text" id="guied_intlink_text" style="width: 100%;" /><br /> \
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
    98
										<small>' + $lang.get('guied_intlink_text_hint') + '</small> \
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
    99
									</td> \
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   100
								</tr>';
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   101
					div.innerHTML += '<p style="text-align: right;"> \
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   102
									<a class="abutton abutton_blue" onclick="guied_intlink_finish(this); return false;" href="#">' + $lang.get('guied_btn_insert') + '</a> \
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   103
									<a class="abutton abutton_red" onclick="miniPromptDestroy(this); return false;" href="#">' + $lang.get('etc_cancel') + '</a> \
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   104
								</p>';
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   105
				});
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   106
			
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   107
			// This fixes autofill
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   108
			il_mp.style.zIndex = getHighestZ() + 1;
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   109
			
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   110
			autofill_init_element(document.getElementById('guied_intlink_page'), {});
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   111
			document.getElementById('guied_intlink_page').focus();
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   112
			$('#guied_intlink_text').val(selection);
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   113
			
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   114
			break;
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   115
		case 'extlink':
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   116
			load_component('autofill');
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   117
			var selection = guied_get_selection(textarea);
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   118
			var il_mp = miniPrompt(function(div)
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   119
				{
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   120
					div.innerHTML += '<h3>' + $lang.get('guied_extlink_title') + '</h3>';
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   121
					div.innerHTML += '<table border="0" cellspacing="5" cellpadding="0" style="width: 100%;"> \
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   122
								<tr> \
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   123
									<td valign="top" style="white-space: nowrap;"> \
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   124
									' + $lang.get('guied_extlink_lbl_link') + ' \
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   125
									</td> \
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   126
									<td valign="top"> \
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   127
										<input type="text" id="guied_extlink_link" style="width: 100%;" /><br /> \
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   128
										<small>' + $lang.get('guied_extlink_link_hint') + '</small> \
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   129
									</td> \
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   130
								</tr> \
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   131
								<tr> \
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   132
									<td valign="top" style="white-space: nowrap;"> \
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   133
									' + $lang.get('guied_extlink_lbl_text') + ' \
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   134
									</td> \
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   135
									<td valign="top"> \
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   136
										<input type="text" id="guied_extlink_text" style="width: 100%;" /><br /> \
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   137
										<small>' + $lang.get('guied_extlink_text_hint') + '</small> \
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   138
									</td> \
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   139
								</tr>';
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   140
					div.innerHTML += '<p style="text-align: right;"> \
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   141
									<a class="abutton abutton_blue" onclick="guied_extlink_finish(this); return false;" href="#">' + $lang.get('guied_btn_insert') + '</a> \
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   142
									<a class="abutton abutton_red" onclick="miniPromptDestroy(this); return false;" href="#">' + $lang.get('etc_cancel') + '</a> \
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   143
								</p>';
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   144
				});
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   145
			
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   146
			document.getElementById('guied_extlink_link').focus();
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   147
			$('#guied_extlink_text').val(selection);
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   148
			
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   149
			break;
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   150
		case 'image':
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   151
			// Fuck yeah.
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   152
			load_component('autofill');
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   153
			var selection = guied_get_selection(textarea);
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   154
			var il_mp = miniPrompt(function(div)
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   155
				{
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   156
					div.innerHTML += '<h3>' + $lang.get('guied_image_title') + '</h3>';
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   157
					div.innerHTML += '<table border="0" cellspacing="5" cellpadding="0" style="width: 100%;"> \
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   158
								<tr> \
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   159
									<td valign="top" style="white-space: nowrap;"> \
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   160
									' + $lang.get('guied_image_lbl_image') + ' \
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   161
									</td> \
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   162
									<td valign="top"> \
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   163
										<img id="guied_image_preview" src="' + cdnPath + '/images/spacer.gif" style="display: block;" /> \
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   164
										<input type="text" id="guied_image_file" class="autofill guied_image" style="width: 100%;" onblur="guied_refresh_image();" /><br /> \
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   165
										<small>' + $lang.get('guied_image_af_hint') + '</small> \
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   166
										<div id="guied_upload_body" style="padding: 4px 0;"> \
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   167
										<a class="abutton icon abutton_green" style="background-image: url(' + scriptPath + '/plugins/guieditor/icons/add.png);" href="#" onclick="guied_image_show_uploader(); return false;">' + $lang.get('guied_image_btn_upload') + '</a> \
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   168
										</div> \
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   169
									</td> \
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   170
								</tr> \
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   171
								<tr> \
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   172
									<td valign="top" style="white-space: nowrap;"> \
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   173
									' + $lang.get('guied_image_lbl_caption') + ' \
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   174
									</td> \
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   175
									<td valign="top"> \
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   176
										<input type="text" id="guied_image_caption" style="width: 100%;" /> \
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   177
									</td> \
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   178
								</tr>';
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   179
					div.innerHTML += '<p style="text-align: right;"> \
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   180
									<a class="abutton abutton_blue" onclick="guied_image_finish(this); return false;" href="#">' + $lang.get('guied_btn_insert') + '</a> \
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   181
									<a class="abutton abutton_red" onclick="miniPromptDestroy(this); return false;" href="#">' + $lang.get('etc_cancel') + '</a> \
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   182
								</p>';
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   183
				});
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   184
			
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   185
			// This fixes autofill
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   186
			il_mp.style.zIndex = getHighestZ() + 1;
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   187
			
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   188
			autofill_init_element(document.getElementById('guied_image_file'), {});
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   189
			document.getElementById('guied_image_file').focus();
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   190
			$('#guied_image_caption').val(selection);
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   191
			
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   192
			break;
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   193
		
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   194
	}
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   195
}
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   196
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   197
function guied_intlink_finish(insertbtn)
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   198
{
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   199
	var page = $('#guied_intlink_page').val();
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   200
	var text = $('#guied_intlink_text').val();
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   201
	var tag = text == '' ? '[[' + page + ']]' : '[[' + page + '|' + text + ']]'; 
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   202
	guied_replace_selection(document.getElementById('ajaxEditArea'), tag);
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   203
	
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   204
	miniPromptDestroy(insertbtn);
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   205
}
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   206
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   207
function guied_extlink_finish(insertbtn)
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   208
{
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   209
	var link = $('#guied_extlink_link').val();
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   210
	var text = $('#guied_extlink_text').val();
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   211
	var tag = text == '' ? '[' + link + ']' : '[' + link + ' ' + text + ']'; 
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   212
	guied_replace_selection(document.getElementById('ajaxEditArea'), tag);
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   213
	
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   214
	miniPromptDestroy(insertbtn);
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   215
}
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   216
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   217
var guied_upl_oldhtml = '';
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   218
function guied_image_show_uploader()
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   219
{
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   220
	var div = document.getElementById('guied_upload_body');
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   221
	guied_upl_oldhtml = $(div).html();
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   222
	$(div).html('<form action="' + makeUrlNS('Special', 'UploadFile') + '" target="uploadwin" onsubmit="return guied_upload_popup();" method="post" enctype="multipart/form-data">' +
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   223
				'<p><input type="file" style="width: 100%;" name="data" id="guied_upload_file" /></p>' +
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   224
				'<input type="hidden" value="" name="rename" />' +
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   225
				'<input type="hidden" value="" name="comments" />' +
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   226
				'<p><input type="submit" name="doit" value="' + $lang.get('upload_btn_upload') + '"></p>' +
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   227
			'</form>');
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   228
}
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   229
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   230
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   231
function guied_upload_popup()
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   232
{
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   233
	window.open('about:blank', 'uploadwin', 'width=640,height=480,status=no,toolbar=no,menubar=no,location=no,resizable=yes,scrollbars=yes');
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   234
	var filename = $('#guied_upload_file').val();
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   235
	if ( filename == "" )
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   236
		return false;
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   237
	filename = filename.split(/[\/\\\\]/);
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   238
	filename = filename[ filename.length - 1 ];
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   239
	// sneaky little trick to make onblur get called
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   240
	$('#guied_image_file').val(sanitize_page_id(filename)).focus();
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   241
	setTimeout('$("#guied_upload_body").html(guied_upl_oldhtml)', 100);
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   242
	return true;
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   243
}
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   244
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   245
function guied_refresh_image()
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   246
{
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   247
	$('#guied_image_preview').attr('src', makeUrlNS('Special', 'DownloadFile/' + $('#guied_image_file').val(), 'preview&width=200&height=400')).css('margin-bottom', '5px');
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   248
}
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   249
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   250
function guied_image_finish()
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   251
{
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   252
	// yeah... working on this.
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   253
}
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   254
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   255
// Client detection from MediaWiki
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   256
var clientPC = navigator.userAgent.toLowerCase(); // Get client info
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   257
var is_gecko = ((clientPC.indexOf('gecko')!=-1) && (clientPC.indexOf('spoofer')==-1)
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   258
                && (clientPC.indexOf('khtml') == -1) && (clientPC.indexOf('netscape/7.0')==-1));
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   259
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   260
// Function adapted from MediaWiki/phpBB
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   261
function guied_insert_wikitext_tag(txtarea, tagOpen, tagClose, sampleText)
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   262
{
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   263
	// IE
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   264
	if (document.selection  && !is_gecko) {
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   265
		var theSelection = document.selection.createRange().text;
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   266
		if (!theSelection)
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   267
			theSelection=sampleText;
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   268
		txtarea.focus();
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   269
		if (theSelection.charAt(theSelection.length - 1) == " ") { // exclude ending space char, if any
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   270
			theSelection = theSelection.substring(0, theSelection.length - 1);
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   271
			document.selection.createRange().text = tagOpen + theSelection + tagClose + " ";
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   272
		} else {
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   273
			document.selection.createRange().text = tagOpen + theSelection + tagClose;
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   274
		}
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   275
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   276
	// Mozilla
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   277
	} else if(txtarea.selectionStart || txtarea.selectionStart == '0') {
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   278
		var replaced = false;
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   279
		var startPos = txtarea.selectionStart;
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   280
		var endPos = txtarea.selectionEnd;
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   281
		if (endPos-startPos)
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   282
			replaced = true;
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   283
		var scrollTop = txtarea.scrollTop;
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   284
		var myText = (txtarea.value).substring(startPos, endPos);
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   285
		if (!myText)
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   286
			myText=sampleText;
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   287
		if (myText.charAt(myText.length - 1) == " ") { // exclude ending space char, if any
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   288
			subst = tagOpen + myText.substring(0, (myText.length - 1)) + tagClose + " ";
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   289
		} else {
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   290
			subst = tagOpen + myText + tagClose;
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   291
		}
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   292
		txtarea.value = txtarea.value.substring(0, startPos) + subst +
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   293
			txtarea.value.substring(endPos, txtarea.value.length);
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   294
		txtarea.focus();
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   295
		//set new selection
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   296
		if (replaced) {
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   297
			var cPos = startPos+(tagOpen.length+myText.length+tagClose.length);
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   298
			txtarea.selectionStart = cPos;
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   299
			txtarea.selectionEnd = cPos;
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   300
		} else {
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   301
			txtarea.selectionStart = startPos+tagOpen.length;
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   302
			txtarea.selectionEnd = startPos+tagOpen.length+myText.length;
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   303
		}
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   304
		txtarea.scrollTop = scrollTop;
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   305
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   306
	// All other browsers get no toolbar.
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   307
	}
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   308
	// reposition cursor if possible
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   309
	if (txtarea.createTextRange)
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   310
		txtarea.caretPos = document.selection.createRange().duplicate();
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   311
}
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   312
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   313
function guied_replace_selection(txtarea, text)
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   314
{
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   315
	// IE
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   316
	if (document.selection  && !is_gecko) {
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   317
		txtarea.focus();
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   318
		document.selection.createRange().text = text;
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   319
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   320
	// Mozilla
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   321
	} else if(txtarea.selectionStart || txtarea.selectionStart == '0') {
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   322
		var replaced = false;
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   323
		var startPos = txtarea.selectionStart;
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   324
		var endPos = txtarea.selectionEnd;
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   325
		if (endPos-startPos)
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   326
			replaced = true;
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   327
		var scrollTop = txtarea.scrollTop;
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   328
		var myText = (txtarea.value).substring(startPos, endPos);
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   329
		if (!myText)
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   330
			myText = '';
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   331
		txtarea.value = txtarea.value.substring(0, startPos) + text +
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   332
			txtarea.value.substring(endPos, txtarea.value.length);
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   333
		txtarea.focus();
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   334
		//set new selection
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   335
		var cPos = startPos+text.length;
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   336
		txtarea.selectionStart = cPos;
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   337
		txtarea.selectionEnd = cPos;
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   338
		txtarea.scrollTop = scrollTop;
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   339
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   340
	}
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   341
	// reposition cursor if possible
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   342
	if (txtarea.createTextRange)
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   343
		txtarea.caretPos = document.selection.createRange().duplicate();
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   344
}
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   345
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   346
function guied_get_selection(txtarea, sampleText)
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   347
{
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   348
	if ( !sampleText )
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   349
		sampleText = '';
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   350
	
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   351
	// IE
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   352
	if (document.selection  && !is_gecko) {
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   353
		var theSelection = document.selection.createRange().text;
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   354
		if (!theSelection)
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   355
			theSelection=sampleText;
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   356
		return theSelection;
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   357
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   358
	// Mozilla
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   359
	} else if(txtarea.selectionStart || txtarea.selectionStart == '0') {
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   360
		var replaced = false;
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   361
		var startPos = txtarea.selectionStart;
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   362
		var endPos = txtarea.selectionEnd;
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   363
		if (endPos-startPos)
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   364
			replaced = true;
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   365
		var scrollTop = txtarea.scrollTop;
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   366
		var myText = (txtarea.value).substring(startPos, endPos);
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   367
		if (!myText)
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   368
			myText=sampleText;
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   369
		return myText;
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   370
	}
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   371
	return sampleText;
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   372
}
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   373
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   374
//
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   375
// Autofill schema for images
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   376
//
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   377
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   378
var autofill_schemas = autofill_schemas || {};
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   379
autofill_schemas.guied_image = {
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   380
	init: function(element, fillclass, params)
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   381
	{
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   382
		$(element).autocomplete(makeUrlNS('Special', 'Autofill', 'type=' + fillclass) + '&userinput=', {
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   383
				minChars: 3,
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   384
				formatItem: function(row, _, __)
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   385
				{
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   386
					var html = '<div style="float: left; margin-right: 4px;"><img alt="" src="' + row.thumbnail + '" /></div>';
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   387
					html += row.title;
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   388
					html += '<div style="clear: both;"></div>';
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   389
					return html;
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   390
				},
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   391
				showWhenNoResults: true,
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   392
				noResultsHTML: '<tr><td class="row1" style="font-size: smaller;">' + $lang.get('user_autofill_msg_no_suggestions') + '</td></tr>',
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   393
				onItemSelect: function(li)
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   394
				{
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   395
					// $('#guied_image_file').val(li.selectValue);
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   396
					guied_refresh_image();
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   397
				}
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   398
		});
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   399
	}
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   400
	
640e15974415 First revision. Largely unfinished; all buttons but Image work, but missing many features. Image is partially implemented.
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
   401
};