// ---- funktioner för input_wiki ----

var input_word_request=[];

var re_word=new RegExp('(\\[\\[)([^\\t]*)(\\]\\])');
var re_url=new RegExp('(\\[)([^\\t]*)(\\])');

function input_wiki_click_span(id,type){
	// infoga span-liknande typ type element i id+"text"
	input=document.getElementById(id+"text");
	
	if(s=get_selection(input)){
		// enbart om markering finns

		re=new RegExp('(^|\\s)([\\*\\/\\[\\=]*?)(\\'+type+')([^\\t]*)(\\'+type+')([\\*\\/\\]\\=]*?)($|\\s)');
		if(s.match(re)){
			// finns redan - slå av
			s=s.replace(re,'$1$2$4$6$7');
		}
		else{
			// slå på
			s=type+s+type;
		};	
		replace_selection(input,s);
	};
	input.focus();
};

function input_wiki_click_word(id){
	// infoga ordlänk i id+"text"
	input=document.getElementById(id+"text");
	
	if(s=get_selection(input)){
		// enbart om markering finns

		if(s.match(re_word)){
			// finns redan - slå av
			s=s.replace(re_word,'$2');
		}
		else{
			// ta bort ev andra länkar
			s=s.replace(re_url,'$2');
			// slå på
			s='[['+s+']]';
		};	
		replace_selection(input,s);
	}
	else{
		s=prompt(input_wiki_text.word,'');
		if(s) insert_selection(input,'[['+s+']]');
	};
	input.focus();
};

function input_wiki_click_url(id){
	// infoga länk i id+"text"
	input=document.getElementById(id+"text");
	
	if(s=get_selection(input)){
		// enbart om markering finns

		if(s.match(re_url)){
			// finns redan - slå av
			s=s.replace(re_url,'$2');
		}
		else{
			// ta bort ev andra länkar
			s=s.replace(re_word,'$2');
			// slå på
			s='['+s+']';
		};	
		replace_selection(input,s);
	}
	else{
		s=prompt(input_wiki_text.url,'http://');
		if(s) insert_selection(input,'['+s+']');
	};
	input.focus();
};

function input_wiki_click_h(id,level){
	// infoga rubrik i id+"text"
	input=document.getElementById(id+"text");
	
	var indent='';
	for(var i=0;i < level;i++){
		indent+='=';
	};

	// kolla om annat finns före och efter på raden
	re_newline=/[\r\n]/;
	var nl_start='';
	if((input.selectionStart > 0) && !(input.value.substr(input.selectionStart-1,1).match(re_newline))){
		nl_start="\r\n";
	};
	var nl_end='';
	if((input.selectionEnd < input.value.length) && !(input.value.substr(input.selectionEnd+1,1).match(re_newline))){
		nl_end="\r\n";
	};

	if(s=get_selection(input)){
		// enbart om markering finns

		re=new RegExp('(?:\\s|^)'+indent+'\\s(.*)\\s'+indent);
		if(s.match(re)){
			// finns redan - slå av
			s=s.replace(re,'$1');
		}
		else{
			// ta bort andra rubriker
			s=s.replace(/=+\s(.*)\s=+/,'$1');
			// slå på
			s=nl_start+indent+' '+s+' '+indent+nl_end;
		};	
		replace_selection(input,s);
	}
	else{
		s=prompt(input_wiki_text['h'+level],'');
		if(s){
			insert_selection(input,nl_start+indent+' '+s+' '+indent+nl_end);
		};

	};
	input.focus();
};

