/*
 CLEditor XHTML Plugin v1.0.0
 http://premiumsoftware.net/cleditor
 requires CLEditor v1.3.0 or later

 Copyright 2010, Chris Landowski, Premium Software, LLC
 Dual licensed under the MIT or GPL Version 2 licenses.

 Based on John Resig's HTML Parser Project (ejohn.org)
 http://ejohn.org/files/htmlparser.js
 Original code by Erik Arvidsson, Mozilla Public License
 http://erik.eae.net/simplehtmlparser/simplehtmlparser.js
*/
(function(g){var h=g.cleditor.defaultOptions.updateTextArea;g.cleditor.defaultOptions.updateTextArea=function(a){h&&(a=h(a));return g.cleditor.convertHTMLtoXHTML(a)};g.cleditor.convertHTMLtoXHTML=function(a){function f(a){for(var d={},a=a.split(","),c=0;c<a.length;c++)d[a[c]]=!0;return d}function g(a,d,b,j){d=d.toLowerCase();if(n[d])for(;e.last()&&o[e.last()];)i("",e.last());p[d]&&e.last()==d&&i("",d);(j=q[d]||!!j)||e.push(d);var f=[];b.replace(r,function(a,d,c,b,e){f.push({name:d,escaped:(c?c:b?
b:e?e:s[d]?d:"").replace(/(^|[^\\])"/g,'$1\\"')})});c+="<"+d;for(a=0;a<f.length;a++)c+=" "+f[a].name+'="'+f[a].escaped+'"';c+=(j?" /":"")+">"}function i(a,d){if(d){d=d.toLowerCase();for(b=e.length-1;0<=b&&!(e[b]==d);b--);}else var b=0;if(0<=b){for(var f=e.length-1;f>=b;f--)c+="</"+e[f]+">";e.length=b}}function h(a,b){c=c.replace(a,b)}var k=/^<(\w+)((?:\s+\w+(?:\s*=\s*(?:(?:"[^"]*")|(?:'[^']*')|[^>\s]+))?)*)\s*(\/?)>/,l=/^<\/(\w+)[^>]*>/,r=/(\w+)(?:\s*=\s*(?:(?:"((?:\\.|[^"])*)")|(?:'((?:\\.|[^'])*)')|([^>\s]+)))?/g,
q=f("area,base,basefont,br,col,frame,hr,img,input,isindex,link,meta,param,embed"),n=f("address,applet,blockquote,button,center,dd,del,dir,div,dl,dt,fieldset,form,frameset,hr,iframe,ins,isindex,li,map,menu,noframes,noscript,object,ol,p,pre,script,table,tbody,td,tfoot,th,thead,tr,ul"),o=f("a,abbr,acronym,applet,b,basefont,bdo,big,br,button,cite,code,del,dfn,em,font,i,iframe,img,input,ins,kbd,label,map,object,q,s,samp,script,select,small,span,strike,strong,sub,sup,textarea,tt,u,var"),p=f("colgroup,dd,dt,li,options,p,td,tfoot,th,thead,tr"),
s=f("checked,compact,declare,defer,disabled,ismap,multiple,nohref,noresize,noshade,nowrap,readonly,selected"),t=f("script,style"),e=[];e.last=function(){return this[this.length-1]};for(var b,m=a,c="";a;){if(!e.last()||!t[e.last()])if(0==a.indexOf("<\!--"))b=a.indexOf("--\>"),0<=b&&(c+=a.substring(0,b+3),a=a.substring(b+3));else if(0==a.indexOf("</")){if(b=a.match(l))a=a.substring(b[0].length),b[0].replace(l,i)}else if(0==a.indexOf("<")){if(b=a.match(k))a=a.substring(b[0].length),b[0].replace(k,g)}else b=
a.indexOf("<"),c+=0>b?a:a.substring(0,b),a=0>b?"":a.substring(b);else a=a.replace(RegExp("(.*)</"+e.last()+"[^>]*>"),function(a,b){b=b.replace(/<\!--(.*?)--\>/g,"$1").replace(/<!\[CDATA\[(.*?)]]\>/g,"$1");c+=b;return""}),i("",e.last());if(a==m)throw"Parse Error: "+a;m=a}i();h(/<b>(.*?)<\/b>/g,"<strong>$1</strong>");h(/<i>(.*?)<\/i>/g,"<em>$1</em>");return c}})(jQuery);

