var Markup={MODE_COMMENT:1,MODE_ARTICLE:2,MODE_QUICKFACTS:3,MODE_SIGNATURE:4,simpleTags:{img:1,pad:1,item:1,spell:1},emptyTags:{div:1},_prepare:function(D,C){Markup.tags=[];Markup.links=[];Markup.nTags=0;Markup.nLinks=0;D=D.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;");D=D.replace(/^(\s*)|\r|(\s*)$/g,"");D=D.replace(/\n(\s+)\n/g,"\n\n");var B="b|i|u|s|small";var A="b|i|u|s|small|url";if(C.roles){C.mode=Markup.MODE_ARTICLE}switch(C.mode){case Markup.MODE_ARTICLE:Markup.maps=[];D=D.replace(/(.)?\[h3(\s.+?)?\]/gi,function(F,E,H){if(E=="\\"){return F.substr(1)}else{var G=Markup._yank(H,[["first",""]]);Markup.tags.push({name:"h3",close:false,other:G});return(E||"")+"<t"+(Markup.nTags++)+">"}});D=D.replace(/(.)?\[toggler\s*[\s+=:]\s*(.+?)\]/gi,function(F,E,H){if(E=="\\"){return F.substr(1)}else{var G=Markup._yank(H,[["id","[a-z0-9]+"],["hidden",""]]);Markup.tags.push({name:"toggler",close:false,other:G});return(E||"")+"<t"+(Markup.nTags++)+">"}});D=D.replace(/(.)?\[div\s*[\s+=:]\s*(.+?)\]/gi,function(F,E,H){if(E=="\\"){return F.substr(1)}else{var G=Markup._yank(H,[["id","[a-z0-9]+"],["hidden",""],["clear","left|right|both"]]);Markup.tags.push({name:"div",close:false,other:G});return(E||"")+"<t"+(Markup.nTags++)+">"}});D=D.replace(/(.)?\[img\s*[\s+=:]\s*(.+?)\]/gi,function(F,E,H){if(E=="\\"){return F.substr(1)}else{var G=Markup._yank(H,[["src","\\S+"],["width","[0-9]+"],["height","[0-9]+"],["float","left|right"],["border","[0-9]+"]]);Markup.tags.push({name:"img",close:false,other:G});return(E||"")+"<t"+(Markup.nTags++)+">"}});D=D.replace(/(.)?\[map\s*[\s+=:]\s*(.+?)\]/gi,function(F,E,H){if(E=="\\"){return F.substr(1)}else{var G=Markup._yank(H,[["zone","[0-9]+[a-z]?"],["source","\\S+"]]);Markup.tags.push({name:"map",close:false,other:G});return(E||"")+"<t"+(Markup.nTags++)+">"}});D=D.replace(/(.)?\[pin\s*[\s+=:]\s*(.+?)\]/gi,function(F,E,H){if(E=="\\"){return F.substr(1)}else{var G=Markup._yank(H,[["x","[0-9]{1,2}(\\.[0-9])?"],["y","[0-9]{1,2}(\\.[0-9])?"],["url","\\S+"],["type","[0-9]+"]]);Markup.tags.push({name:"pin",close:false,other:G});return(E||"")+"<t"+(Markup.nTags++)+">"}});B+="|minibox";A+="|minibox|h3|toggler|div|map|pin";case Markup.MODE_QUICKFACTS:D=D.replace(/(.)?\[color\s*[\s+=:]\s*(aqua|black|blue|fuchsia|gray|green|lime|maroon|navy|olive|purple|red|silver|teal|white|yellow|c\d+|q\d+?|#[a-f0-9]{6})\]/gi,function(F,E,G){if(E=="\\"){return F.substr(1)}else{Markup.tags.push({name:"color",color:false,other:(G).toLowerCase()});return(E||"")+"<t"+(Markup.nTags++)+">"}});D=D.replace(/(.)?\[(item|spell)\s*[\s+=:]\s*(\d+?)\]/gi,function(F,E,I,H){if(E=="\\"){return F.substr(1)}else{var G=Markup.tags.push({name:(I).toLowerCase(),close:false,other:H});return(E||"")+"<t"+(Markup.nTags++)+">"}});D=D.replace(/(.)?\[icon\s*[\s+=:]\s*(.+?)\]/gi,function(F,E,H){if(E=="\\"){return F.substr(1)}else{var G=Markup._yank(H,[["name","[a-z_0-9]+"],["align","left|right"]]);Markup.tags.push({name:"icon",close:false,other:G});return(E||"")+"<t"+(Markup.nTags++)+">"}});B+="|pad";A+="|color|icon";case Markup.MODE_COMMENT:D=D.replace(/(.)?\[quote(\s*[\s+=:]\s*([^\]]+?))?\]/gi,function(F,E,I,H){if(E=="\\"){return F.substr(1)}else{var G=Markup.tags.push({name:"quote",close:false,other:H});return(E||"")+"<t"+(Markup.nTags++)+">"}});B+="|code|ul|ol|li";A+="|code|quote|ul|ol|li";default:D=D.replace(/(.)?\[url\s*[\s+=:]\s*([^\]]+?)\]/gi,function(F,E,G){if(E=="\\"){return F.substr(1)}else{Markup.tags.push({name:"url",close:false,other:G});return(E||"")+"<t"+(Markup.nTags++)+">"}})}D=D.replace(new RegExp("(.)?\\[("+B+")\\]","gi"),function(F,E,G){if(E=="\\"){return F.substr(1)}else{Markup.tags.push({name:(G).toLowerCase(),close:false,other:""});return(E||"")+"<t"+(Markup.nTags++)+">"}});D=D.replace(new RegExp("(.)?\\[/("+A+")\\]","gi"),function(F,E,G){if(E=="\\"){return F.substr(1)}else{Markup.tags.push({name:(G).toLowerCase(),close:true,other:""});return(E||"")+"<t"+(Markup.nTags++)+">"}});D=D.replace(/(https?:\/\/|www\.)([\/_a-z0-9\%\?#@\-\+~&=;:']|\.[a-z0-9\-])+/gi,function(E){Markup.links.push(E);return"<l"+(Markup.nLinks++)+">"});return D},_parseCode:function(G,L,E){var B=[],J=[],D="",C;var F=G.length;while(E<F){if(G.charAt(E)=="<"&&G.charAt(E+1)=="t"){if(D.length){if(L=="ol"||L=="ul"){if(trim(D).length){J.push(["<text>",D])}}else{if(L!="map"){B.push(["<text>",D])}}D=""}E+=2;C="";while(G.charAt(E)!=">"){C+=G.charAt(E);++E}++E;var M=Markup.tags[parseInt(C)];if(M.close){if(M.name==L){break}}else{var I=Markup.simpleTags[M.name]!=null,H=Markup.emptyTags[M.name]!=null,K=[];if(!I){var A=Markup._parseCode(G,M.name,E);K=A[0];E=A[1]}if(H||K.length||I){if(M.name=="url"&&!Markup._isUrlSafe(M.other)){M.name="<node>"}if(L=="ol"||L=="ul"){if(M.name=="li"){J=Markup._cleanNodes(J);if(J.length){B.push(["li",J]);J=[]}B.push(["li",K])}else{J.push([M.name,K,M.other])}}else{if(L=="map"){if(M.name=="pin"){B.push(["pin",K,M.other])}}else{if(M.name=="li"){B.push(["<node>",K,M.other])}else{if(M.name!="pin"){B.push([M.name,K,M.other])}}}}}}}else{D+=G.charAt(E);++E}}if(D.length){if(L=="ol"||L=="ul"){if(trim(D).length){J.push(["<text>",D])}}else{if(L!="map"){B.push(["<text>",D])}}}J=Markup._cleanNodes(J);if(J.length){B.push(["li",J]);J=[]}return[B,E]},_cleanNodes:function(B){var D=[];for(var C=0,A=B.length;C<A;++C){if(B[C][0]=="<text>"){if(C==0){B[C][1]=B[C][1].replace(/^\n+/g,"")}if(C==B.length-1){B[C][1]=B[C][1].replace(/\n+$/g,"")}if(B[C][1]!=""){D.push(B[C])}}else{D.push(B[C])}}return D},_yank:function(D,C){var E={};D=" "+D+" ";for(var B=0,A=C.length;B<A;++B){if(C[B][1]==""){D=D.replace(new RegExp("\\s"+C[B][0]+"\\s","ig"),function(F){E[C[B][0]]=true;return" "})}else{D=D.replace(new RegExp("\\s"+C[B][0]+"\\s*[\\s=:]\\s*("+C[B][1]+")\\s","ig"),function(G,F){E[C[B][0]]=F;return" "})}}return E},_isUrlSafe:function(A){if(!A){return true}return !A.match(/^[a-z0-9]+?:/i)||A.match(/^https?:/i)},_htmlmize:function(A){var F="";for(var D=0,E=A.length;D<E;++D){switch(A[D][0]){case"<text>":F+=A[D][1];break;case"<node>":F+=Markup._htmlmize(A[D][1]);break;case"minibox":F+='<div class="minibox">'+Markup._htmlmize(A[D][1])+"</div>";break;case"code":F+='<pre class="code">'+Markup._htmlmize(A[D][1])+"</pre>";break;case"quote":F+='<div class="quote">';if(A[D][2]){var C=trim(A[D][2]);if(C.length>0){F+="<small><b>";if(C.match(/[^a-z0-9]/i)==null&&C.length>=4&&C.length<=16){F+='<a href="/?user='+C+'">'+C+"</a>"}else{F+=C}F+="</b> "+LANG.markup_said+'</small><div class="pad"></div>'}}F+=Markup._htmlmize(A[D][1])+"</div>";break;case"url":F+='<a href="'+A[D][2]+'"';if(A[D][2].indexOf("wowhead.com")==-1&&A[D][2].substr(0,5)=="http:"){F+=' target="_blank"'}F+=">"+Markup._htmlmize(A[D][1])+"</a>";break;case"li":F+="<li><div>"+Markup._htmlmize(A[D][1])+"</div></li>";break;case"u":F+="<ins>"+Markup._htmlmize(A[D][1])+"</ins>";break;case"s":F+="<del>"+Markup._htmlmize(A[D][1])+"</del>";break;case"pad":F+='<div class="pad">'+Markup._htmlmize(A[D][1])+"</div>";break;case"color":var I=A[D][2].charAt(0);F+="<span "+((I=="q"||I=="c")?'class="':'style="color: ')+A[D][2]+'">'+Markup._htmlmize(A[D][1])+"</span>";break;case"h3":var B=A[D][2];F+="<h3";if(B.first){F+=' class="first"'}F+=">"+Markup._htmlmize(A[D][1])+"</h3>";break;case"toggler":var B=A[D][2];if(B.id!=null){F+='<a href="javascript:;" class="disclosure-'+(B.hidden?"off":"on")+'" onclick="return g_disclose(ge(\'ov4io23-'+B.id+"'), this)\">"+Markup._htmlmize(A[D][1])+"</a>"}break;case"div":var B=A[D][2];F+="<div";if(B.id){F+=' id="ov4io23-'+B.id+'"'}var J=[];if(B.hidden){J.push("display: none")}if(B.clear){J.push("clear: "+B.clear)}if(J.length){F+=' style="'+J.join("; ")+'"'}F+=">"+Markup._htmlmize(A[D][1])+"</div>";break;case"img":var B=A[D][2];if(B.src!=""&&Markup._isUrlSafe(B.src)){F+='<img src="'+B.src+'" alt=""';if(B.border!=0){F+=' class="border"'}if(B.width){F+=' width="'+B.width+'"'}if(B.height){F+=' height="'+B.height+'"'}if(B["float"]){F+=' style="float: '+B["float"];if(B["float"]=="left"){F+="; margin: 0 10px 10px 0"}else{F+="; margin: 0 0 10px 10px"}F+='"'}F+=" />"}break;case"item":F+='<a href="/?item='+A[D][2]+'">(Item #'+A[D][2]+")</a>";break;case"spell":F+='<a href="/?spell='+A[D][2]+'">(Spell #'+A[D][2]+")</a>";break;case"icon":var B=A[D][2];if(B.name){F+='<span class="icontiny';if(B.align=="right"){F+="r"}F+='" style="background-image: url(http://static.wowhead.com.br/images/icons/tiny/'+B.name.toLowerCase()+'.gif)">'+Markup._htmlmize(A[D][1])+"</span>"}break;case"map":var B=A[D][2];if(B.zone!=null){var H=Markup._htmlmize(A[D][1]);F+='<a href="javascript:;" onclick="Markup.mapperPreview('+Markup.maps.length+')">(Map: Zone #'+parseInt(B.zone)+", "+H.length+" pin"+(H.length==1?"":"s")+")</a>";Markup.maps.push([B.zone,H])}break;case"pin":var B=A[D][2];if(!Markup._isUrlSafe(B.url)){B.url=""}if(F==""){F=[]}var G=Markup._htmlmize(A[D][1]).replace(/\n/g,"<br />");if(B.url&&B.url.indexOf("?npc=")!=-1){G='<b class="q">'+G+'</b><br/ ><span class="q2">Click to view this NPC</span>'}F.push([parseFloat(B.x||0),parseFloat(B.y||0),{label:G,url:B.url,type:B.type}]);break;default:F+="<"+A[D][0]+">"+Markup._htmlmize(A[D][1])+"</"+A[D][0]+">"}}return F},_tagless:function(B){var E="";for(var C=0,A=B.length;C<A;++C){switch(B[C][0]){case"<text>":E+=B[C][1];break;case"img":var D=B[C][2];if(D.src!=""&&Markup._isUrlSafe(D.src)){E+="(Image: "+D.src+")"}break;case"item":E+="(Item #"+B[C][2]+")";break;case"spell":E+="(Spell #"+B[C][2]+")";break;case"map":E+="(Map)";break;case"pin":break;default:E+=Markup._tagless(B[C][1])}}return E},toHtml:function(D,C){C=C||{};C.root=C.root||"";if(C.mode!=null&&C.mode!=Markup.MODE_SIGNATURE){D=D.replace(/\s*\[(ol|ul|h3|img)/ig,function(F,E){return"["+E});D=D.replace(/\[\/(ol|ul|h3|img|minibox|code|quote)\]\s*/ig,function(F,E){return"[/"+E+"]"});D=D.replace(/\s*\[(pad)\]\s*/ig,function(F,E){return"["+E+"]"})}D=Markup._prepare(D,C);var A=Markup._parseCode(D,C.root,0)[0];var B=Markup._htmlmize(A);B=B.replace(/<l([0-9]+)>/g,function(G,E){var F=Markup.links[parseInt(E)];return'<a href="'+F.replace(/^www/,"http://www")+(F.indexOf("wowhead.com")==-1?'" target="_blank">':'">')+(F.length>100?F.substr(0,97)+"...":F)+"</a>"});B=B.replace(/^(<(ol|ul|h3)>)/i,function(F,E,G){return"<"+G+' class="first">'});B=B.replace(/\n/g,"<br />");return B},removeTags:function(D,C){C=C||{};C.root=C.root||"";if(C.mode!=null&&C.mode!=Markup.MODE_SIGNATURE){D=D.replace(/\s*\[(ol|ul|h3|img)/ig,function(F,E){return"["+E});D=D.replace(/\s?\[\/(ol|ul|h3|img|minibox|code|quote)\]\s*/ig,function(F,E){return"[/"+E+"]"});D=D.replace(/\s*\[(pad)\]\s*/ig,function(F,E){return"["+E+"]"})}D=Markup._prepare(D,C);var A=Markup._parseCode(D,C.root,0)[0];var B=Markup._tagless(A);B=B.replace(/<l([0-9]+)>/g,function(G,E){var F=Markup.links[parseInt(E)];return F});B=B.replace(/&amp;/g,"&").replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&quot;/g,'"');return B},mapperPreview:function(C){try{window.mapper=Markup.maps[C];var B=window.open("/?edit=mapperpreview","mapperpreview","toolbar=no,location=no,directories=no,status=yes,menubar=no,scrollbars=no,resizable=no,width=800,height=540");B.focus()}catch(A){}}};
