(function(f){
																		var n;var e;var p=new Object();var o;var x=new Array("");var A=0;var a=null;var s=null;var t="\n";var g=false;f.fn.bbcodeeditor=function(B){
																		e=f.extend({
																		},f.fn.bbcodeeditor.defaults,B);n=this;if(!f.browser.opera){
																		n.keydown(c)}else{
																		n.keypress(c)}if(f.browser.msie){
																		f(document).mousedown(function(C){
																		if(s!=null&&s==n[0]){
																		a=document.selection.createRange()}s=C.target})}if(f.browser.msie||f.browser.opera){
																		t="\r\n"}if(e.bold!=false){
																		e.bold.click(function(){
																		r("testo grassetto","[b]","[/b]")})}if(e.italic!=false){
																		e.italic.click(function(){
																		r("testo corsivo","[i]","[/i]")})}if(e.underline!=false){
																		e.underline.click(function(){
																		r("testo sottolineato","[u]","[/u]")})}if(e.link!=false){
																		e.link.click(q)}if(e.quote!=false){
																		e.quote.click(function(){
																		r("testo tra doppi apici","[quote]","[/quote]")})}if(e.code!=false){
																		e.code.click(function(){
																																																																																																																																																																																																																										
var B="<a href='mailto:mail_da_inserire@dominio.TLD'>";
var Bfine="</a>";
r("inserisci testo della mail",B,Bfine)																																																																																																																																																																																																											 })
																																																																																																																																																																																																		}
																																																																																																																																																																																																		if(e.image!=false){
																		e.image.click(h)}if(e.nlist!=false){
																		e.nlist.click(function(){
																		r("testo della lista","[list=1]"+t+"[*]",""+t+"[/list]")})}if(e.blist!=false){
																		e.blist.click(function(){
																		r("testo della lista","[list]"+t+"[*]","[/*]"+t+"[/list]",true)})}if(e.litem!=false){
																		e.litem.click(function(){
																		r("blocco di testo centrato","[testo centrato]"+t+"",""+t+"[/testo centrato]")})}if(e.usize!=false){
																		e.usize.click(function(){
																		j(true)})}if(e.dsize!=false){
																		e.dsize.click(function(){
																		j(false)})}if(e.back!=false){
																		if(e.back_disable!=false){
																		p.back=e.back[0].className}e.back.click(v);u(false)}if(e.forward!=false){
																		if(e.forward_disable!=false){
																		p.forward=e.forward[0].className}e.forward.click(l);m(false)}if(e.back!=false||e.forward!=false){
																		n.keyup(w)}f.fn.bbcodeeditor.preview();window.onbeforeunload=k;return this};function u(B){
																		if(!B){
																		if(e.back_disable==false){
																		e.back.css("opacity",0.5)}else{
																		if(e.back!=false){
																		e.back[0].className=e.back_disable}}}else{
																		if(e.back_disable==false){
																		e.back.css("opacity",1)}else{
																		if(e.back!=false){
																		e.back[0].className=p.back}}}}function m(B){
																		if(!B){
																		if(e.forward_disable==false){
																		e.forward.css("opacity",0.5)}else{
																		if(e.forward!=false){
																		e.forward[0].className=e.forward_disable}}}else{
																		if(e.forward_disable==false){
																		e.forward.css("opacity",1)}else{
																		if(e.forward!=false){
																		e.forward[0].className=p.forward}}}}function k(B){
																		if(e.exit_warning&&!g&&n[0].value!=""){
																		var B=B||window.event;if(B){
																		B.returnValue="You have started writing a post."}return"You have started writing a post."}}function w(B){
																		if(f.browser.msie){
																		a=document.selection.createRange()}if(B.keyCode!=17&&!(B.ctrlKey&&(B.keyCode==89||B.keyCode==90))){
																		if(n.val().length!=0){
																		u(true)}else{
																		u(false)}if(A!=0){
																		x.slice(0,x.length-A);m(false);A=0}if(B.keyCode==8||B.keyCode==13||B.keyCode==32||B.keyCode==46||(B.ctrlKey&&(B.keyCode==67||B.keyCode==86))){
																		d()}f.fn.bbcodeeditor.preview()}}function c(L){
																		if(f.browser.msie){
																		a=document.selection.createRange()}if(e.keyboard&&L.ctrlKey){
																		if(L.keyCode==66&&e.bold!=false){
																		L.preventDefault();r("bold text","[b]","[/b]")}else{
																		if(L.keyCode==73&&e.italic!=false){
																		L.preventDefault();r("italic text","[i]","[/i]")}else{
																		if(L.keyCode==75&&e.code!=false){
																		L.preventDefault();r("function(event) {","[code]","[/code]",true)}else{
																		if(L.keyCode==76&&e.link!=false){
																		L.preventDefault();q()}else{
																		if(L.keyCode==80&&e.image!=false){
																		L.preventDefault();h()}else{
																		if(L.keyCode==81&&e.quote!=false){
																		L.preventDefault();r("quote","[quote]","[/quote]",true)}else{
																		if(L.keyCode==85&&e.underline!=false){
																		L.preventDefault();r("underline text","[u]","[/u]")}else{
																		if(L.keyCode==89&&e.forward!=false){
																		L.preventDefault();l()}else{
																		if(L.keyCode==90&&e.back!=false){
																		L.preventDefault();v()}}}}}}}}}}if(L.keyCode==13){
																		var B=y().start;var Q=n[0].value.substring(0,B).lastIndexOf("\n");Q=(Q==-1?0:Q+1);var H=n[0].value.substring(Q,B).match(/^\t+/g);if(H!=null){
																		L.preventDefault();var D=i();var M=t;for(var F=0;F<H[0].length;F++){
																		M+="\t"}n[0].value=n[0].value.substring(0,B)+M+n[0].value.substring(B);z(B+M.length,B+M.length);b(D)}}else{
																		if(L.keyCode==9){
																		L.preventDefault();var D=i();d();var I=y();if(I.start!=I.end&&n[0].value.substr(I.start,1)=="\n"){
																		I.start++}var H=n[0].value.substring(I.start,I.end).match(/\n/g);if(H!=null){
																		var K=n[0].value.substring(0,I.start).lastIndexOf(t);var P=(K!=-1?K:0);if(!L.shiftKey){
																		var C=n[0].value.substring(P,I.end).replace(/\n/g,"\n\t");n[0].value=(K==-1?"\t":"")+n[0].value.substring(0,P)+C+n[0].value.substring(I.end);z(I.start+1,I.end+H.length+1)}else{
																		var F=(n[0].value.substr((K!=-1?K+t.length:0),1)=="\t"?1:0);var J=n[0].value.substring(P,I.end).match(/\n\t/g,"\n");if(K==-1&&n[0].value.substr(0,1)=="\t"){
																		n[0].value=n[0].value.substr(1);J.push(0)}var C=n[0].value.substring(P,I.end).replace(/\n\t/g,"\n");n[0].value=n[0].value.substring(0,P)+C+n[0].value.substring(I.end);z(I.start-F,I.end-(J!=null?J.length:0))}}else{
																		if(!L.shiftKey){
																		n[0].value=n[0].value.substring(0,I.start)+"\t"+n[0].value.substring(I.start);z(I.start+1,I.start+1)}else{
																		var O=n[0].value.substring(0,I.start).lastIndexOf("\n");var N=(O==-1?0:O);var E=n[0].value.substring(N+1).indexOf("\n");if(E==-1){
																		E=n[0].value.length}else{
																		E+=N+1}if(O==-1){
																		var G=n[0].value.substring(N,E).match(/^\t/);var C=n[0].value.substring(N,E).replace(/^\t/,"")}else{
																		var G=n[0].value.substring(N,E).match(/\n\t/);var C=n[0].value.substring(N,E).replace(/\n\t/,"\n")}n[0].value=n[0].value.substring(0,N)+C+n[0].value.substring(E);if(G!=null){
																		z(I.start-(I.start-1>O?1:0),I.end-((I.start-1>O||I.start!=I.end)?1:0))}}}b(D)}}}function i(){
																		return{
																		scrollTop:n.scrollTop(),scrollHeight:n[0].scrollHeight}}function b(B){
																		n.scrollTop(B.scrollTop+n[0].scrollHeight-B.scrollHeight)}function d(){
																		A=0;m(false);u(true);if(x[x.length-1]!=n[0].value){
																		x.push(n[0].value)}}function v(){
																		var B=n.scrollTop();if(A==0){
																		d();A++}if(A!=x.length){
																		A++;n[0].value=x[x.length-A];f.fn.bbcodeeditor.preview();m(true);if(A==x.length){
																		u(false)}}n.scrollTop(B)}function l(){
																		var B=n.scrollTop();if(A>1){
																		n[0].value=x[x.length- --A];f.fn.bbcodeeditor.preview();u(true);if(A==1){
																		m(false)}}n.scrollTop(B)}function r(F,G,J,C){
																		d();var H=y();var B=i();if(C){
																		if(J!="[/list]"&&G!="[*]"){
																		G=G+t}if(G!="[*]"){
																		J=t+J}if(H.start!=0&&n[0].value.substr(H.start-1,1)!=t.substr(0,1)){
																		G=t+G}if(n[0].value.length!=H.end&&n[0].value.substr(H.end,1)!=t.substr(0,1)){
																		J=J+t}}if(H.start!=H.end){
																		F=n[0].value;if(C){
																		var I=new RegExp("\\["+J.substring((t.length==2?4:3),J.length-1)+"(.*?)\\]"+t+(J==t+"[/list]"?"\\[\\*\\]":"")+"$");var K=new RegExp("^"+t+"\\[/"+J.substring((t.length==2?4:3),J.length-1)+"\\]")}else{
																		var I=new RegExp("\\["+J.substring(2,J.length-1)+"([^\\]]*?)\\]$","g");var K=new RegExp("^\\[/"+J.substring(2,J.length-1)+"\\]","g")}var D=F.substring(0,H.start).match(I);var E=F.substring(H.end).match(K);if(D!=null&&E!=null){
																		n[0].value=F.substring(0,H.start).replace(I,"")+F.substring(H.start,H.end)+F.substring(H.end).replace(K,"");z(H.start-D[0].length,H.end-D[0].length)}else{
																		n[0].value=n[0].value.substr(0,H.start)+G+n[0].value.substring(H.start,H.end)+J+n[0].value.substr(H.end);z(H.start+G.length,H.end+G.length)}}else{
																		n[0].value=n[0].value.substring(0,H.start)+G+F+J+n[0].value.substring(H.end);z(H.start+G.length,H.start+G.length+F.length)}b(B);f.fn.bbcodeeditor.preview()}function z(F,C){
																		if(!f.browser.msie){
																		n[0].setSelectionRange(F,C);n.focus()}else{
																		var B=n[0].value.substring(0,F).match(/\r/g);B=(B!=null?B.length:0);var E=n[0].value.substring(F,C).match(/\r/g);E=(E!=null?E.length:0);var D=n[0].createTextRange();D.collapse(true);D.moveStart("character",F-B);D.moveEnd("character",C-F-E);D.select();a=document.selection.createRange()}}function j(B){
																		if(B){
																		r("testo grande","[size=150]","[/size]")}else{
																		r("testo piccolo","[size=80]","[/size]")}}function h(){
																		var B="http://";r(B,"[img]","[/img]")}function q(C){
																		var B="www.link.TLD";r("testo del link","[url="+B+"]","[/url]")}function y(){
																		if(!f.browser.msie){
																		return{
																		start:n[0].selectionStart,end:n[0].selectionEnd}}else{
																		if(a==null){
																		return{
																		start:n[0].value.length,end:n[0].value.length}}var M=a.duplicate();var F=document.body.createTextRange();F.moveToElementText(n[0]);F.setEndPoint("EndToStart",M);var D=document.body.createTextRange();D.moveToElementText(n[0]);D.setEndPoint("StartToEnd",M);var H=false,C=false,L=false;var J,G,K,B,I,E;J=G=F.text;K=B=M.text;I=E=D.text;do{
																		if(!H){
																		if(F.compareEndPoints("StartToEnd",F)==0){
																		H=true}else{
																		F.moveEnd("character",-1);if(F.text==J){
																		G+="\r\n"}else{
																		H=true}}}if(!C){
																		if(M.compareEndPoints("StartToEnd",M)==0){
																		C=true}else{
																		M.moveEnd("character",-1);if(M.text==K){
																		B+="\r\n"}else{
																		C=true}}}if(!L){
																		if(D.compareEndPoints("StartToEnd",D)==0){
																		L=true}else{
																		D.moveEnd("character",-1);if(D.text==I){
																		E+="\r\n"}else{
																		L=true}}}}while((!H||!C||!L));return{
																		start:G.length,end:G.length+B.length}}}f.fn.bbcodeeditor.defaults={
																		bold:false,italic:false,underline:false,link:false,quote:false,code:false,image:false,usize:false,nsize:false,nlist:false,blist:false,litem:false,back:false,back_disable:false,forward:false,forward_disable:false,exit_warning:false,preview:false,keyboard:true};f.fn.bbcodeeditor.preview=function(){
																		if(e.preview!=false){
																		var B=n.val();
																		B=B.replace(/</g,"&lt;");
																		B=B.replace(/>/g,"&gt;");
																		B=B.replace(/[\r\n]/g,"%lb%");
																		var E=[/\[b\](.*?)\[\/b\]/gi,/\[i\](.*?)\[\/i\]/gi,/\[u\](.*?)\[\/u\]/gi,/\[size=(8\d|9\d|1\d\d|200)](.*?)\[\/size\]/gi,/\[url(?:\=?)(.*?)\](.*?)\[\/url\]/gi,/\[img(.*?)\](.*?)\[\/img\]/gi,/(?:%lb%|\s)*\[code(?:\=?)(?:.*?)\](?:%lb%|\s)*(.*?)(?:%lb%|\s)*\[\/code\](?:%lb%|\s)*/gi,/(?:%lb%|\s)*\[quote(?:\=?)(.*?)\](?:%lb%|\s)*(.*?)(?:%lb%|\s)*\[\/quote\](?:%lb%|\s)*/gi,/\[list(.*?)\](.*?)\[\*\](.*?)(?:%lb%|\s)*(\[\*\].*?\[\/list\]|\[\/list\])/i,/(?:%lb%|\s)*\[list\](?:%lb%|\s)*(.*?)(?:%lb%|\s)*\[\/list\](?:%lb%|\s)*/gi,/(?:%lb%|\s)*\[list=(\d)\](?:%lb%|\s)*(.*?)(?:%lb%|\s)*\[\/list\](?:%lb%|\s)*/gi,/(?:%lb%){3,}/g];var D=["<b>$1</b>","<i>$1</i>","<u>$1</u>",'<span style="font-size:$1%;">$2</span>','<a href="$1">$2</a>','<img $1 src="$2" />',"<pre><code>$1</code></pre>","<blockquote>$2</blockquote>","[list$1]$2<li>$3</li>$4","<ul>$1</ul>","<ol start=$1>$2</ol>","%lb%%lb%"];for(var C in E){																		B=B.replace(E[C],D[C]);if(C==8){while(B.match(E[C],D[C])){	B=B.replace(E[C],D[C])}}}B=B.replace(/%lb%/g,"<br />");e.preview.html(B)}};f.fn.bbcodeeditor.pause=function(){
																		if(!g){
																		g=true}else{
																		g=false}}})(jQuery);