jQuery.fn.bbcode_editor=function(a){a=jQuery.extend({tag_p:true,tag_br:true,tag_b:true,tag_i:true,tag_s:true,tag_u:true,tag_url:true,tag_img:true,tag_size:true,tag_color:true,tag_ul:true,tag_ol:true,tag_code:true,tag_h1:true,tag_h2:true,tag_h3:true,tag_h4:true,tag_h5:true,tag_h6:true,separator:["br","u","img","color","ol","code"],move_caret:true},a);return this.each(function(){tags=[[a.tag_p,"p","[p]","[/p]",false],[a.tag_br,"br","[br]","",false],[a.tag_b,"b","[b]","[/b]",false],[a.tag_i,"i","[i]","[/i]",false],[a.tag_s,"s","[s]","[/s]",false],[a.tag_u,"u","[u]","[/u]",false],[a.tag_url,"url","[url=","[/url]",true],[a.tag_img,"img","[img]","[/img]",false],[a.tag_size,"size","[size=","[/size]",true],[a.tag_color,"color","[color=","[/color]",true],[a.tag_ul,"ul","[list][*]","[/ul]",false],[a.tag_ol,"ol","[list=1][*]","[/ol]",false],[a.tag_code,"code","[code=","[/code]",true],[a.tag_h1,"h1","[h1]","[/h1]",false],[a.tag_h2,"h2","[h2]","[/h2]",false],[a.tag_h3,"h3","[h3]","[/h3]",false],[a.tag_h4,"h4","[h4]","[/h4]",false],[a.tag_h5,"h5","[h5]","[/h5]",false],[a.tag_h6,"h6","[h6]","[/h6]",false]];var c=$(this).attr("id");var b=$("#"+c);bbcode_editor_bar="<div class='bbcode_editor_bar'><ul>";tags_len=tags.length;for(i=0;i<tags_len;i++){if(tags[i][0]){if(tags[i][4]){click='ta=$("#'+c+'").get(0);txt=prompt("'+tags[i][1]+'");if(txt!=null){insert(ta,{open_tag:"'+tags[i][2]+'"+txt+"]",close_tag:"'+tags[i][3]+'",move_caret:'+a.move_caret+"});}return false;";bbcode_editor_bar+="<li><a onclick='"+click+"' title='"+tags[i][2]+"]"+tags[i][3]+"' href='#' id='#"+tags[i][1]+c+"' class='"+tags[i][1]+"'><i>&nbsp;&nbsp;&nbsp;&nbsp;</i></a></li>"}else{bbcode_editor_bar+="<li><a onclick='insert($(\"#"+c+'").get(0),{open_tag:"'+tags[i][2]+'",close_tag:"'+tags[i][3]+'",move_caret:'+a.move_caret+"});return false;' title='"+tags[i][2]+tags[i][3]+"' href='#' id='#"+tags[i][1]+c+"' class='"+tags[i][1]+"'><i>&nbsp;&nbsp;&nbsp;&nbsp;</i></a></li>"}}if(a.separator){sep_len=a.separator.length;for(j=0;j<sep_len;j++){if(a.separator[j]==tags[i][1]){bbcode_editor_bar+="<li><a class='separator' href='#'><b></b></a></li>"}}}}bbcode_editor_bar+="</ul></div>";b.wrap('<div class="bb_editor_main"></div>');b.before(bbcode_editor_bar);b.wrap('<div class=""></div>')})};function insert(a,d){d=jQuery.extend({open_tag:"",close_tag:"",move_caret:true},d);if("selectionStart" in a){var c=a.selectionStart;var b=a.selectionEnd;sel=d.open_tag+a.value.substring(c,b)+d.close_tag;newPos=c+sel.length-d.close_tag.length;a.value=a.value.substring(0,c)+sel+a.value.substring(b,a.value.length);if(d.move_caret){a.setSelectionRange(newPos,newPos)}a.focus()}else{if(document.selection){a.focus();sel=document.selection.createRange();sel.text=d.open_tag+sel.text+d.close_tag;if(d.move_caret){sel.collapse(true);newPos=sel.text.length-d.close_tag.length;sel.moveStart("character",newPos);sel.moveEnd("character",newPos);sel.select()}a.focus()}else{a.value+=d.open_tag+a.value+d.close_tag;a.focus()}}};
