var IPS_Lite_Editor=new Array();function ips_text_editor_lite(editor_id)
{this.editor_id=editor_id;this.control_obj=document.getElementById(editor_id+'-controls');this.initialized=false;this.buttons=new Array();this.fonts=new Array();this.state=new Array();this.text_obj=document.getElementById(this.editor_id+'_textarea');this.open_brace='[';this.close_brace=']';this.editor_document=this.text_obj;this.editor_window=this.editor_document;this._ie_cache=null;this.is_ie=is_ie;this.is_moz=is_moz;this.is_opera=is_opera;this.has_focus=false;this.emoticon_window_id=null;this.init=function()
{var controls=new Array();if(!this.control_obj)
{return;}
var items=this.control_obj.getElementsByTagName("DIV");for(var i=0;i<items.length;i++)
{if((items[i].className=='rte-normal'||items[i].className=='rte-menu-button'||items[i].className=='rte-normal-menubutton')&&items[i].id)
{controls[controls.length]=items[i].id;}}
for(var i=0;i<controls.length;i++)
{var control=document.getElementById(controls[i]);if(control.className=='rte-normal')
{this.init_editor_button(control);}
else if(control.className=='rte-menu-button'||control.className=='rte-normal-menubutton')
{this.init_editor_popup_button(control);}}
this.text_obj.onfocus=ips_editor_events.prototype.editor_window_onfocus;this.text_obj.onblur=ips_editor_events.prototype.editor_window_onblur;if(this.editor_document.addEventListener)
{this.editor_document.addEventListener('keypress',ips_editor_events.prototype.editor_document_onkeypress,false);}};this.editor_check_focus=function()
{if(!this.text_obj.has_focus)
{if(this.is_opera)
{this.text_obj.focus();}
try
{this.text_obj.focus();}
catch(err)
{return false;}}
return true;};this.init_editor_button=function(obj)
{obj.cmd=obj.id.replace(new RegExp('^'+ this.editor_id+'_cmd_(.+?)$'),'$1');obj.editor_id=this.editor_id;this.buttons[obj.cmd]=obj;obj.state=false;obj.mode='normal';obj.real_type='button';obj.onclick=ips_editor_events.prototype.button_onmouse_event;obj.onmousedown=ips_editor_events.prototype.button_onmouse_event;obj.onmouseover=ips_editor_events.prototype.button_onmouse_event;obj.onmouseout=ips_editor_events.prototype.button_onmouse_event;};this.set_button_context=function(obj,state,type)
{if(typeof type=='undefined')
{type='button';}
switch(obj.state)
{case true:{switch(state)
{case'mouseout':{this.editor_set_ctl_style(obj,'button','selected');break;}
case'mouseover':case'mousedown':case'mouseup':{this.editor_set_ctl_style(obj,type,'down');break;}}
break;}
default:{switch(state)
{case'mouseout':{this.editor_set_ctl_style(obj,type,'normal');break;}
case'mousedown':{this.editor_set_ctl_style(obj,type,'down');break;}
case'mouseover':case'mouseup':{this.editor_set_ctl_style(obj,type,'hover');break;}}
break;}}};this.editor_set_ctl_style=function(obj,type,mode)
{if(obj.mode!=mode)
{var extra='';if(type=='menu')
{extra='-menu';}
else if(type=='menubutton')
{extra='-menubutton';}
extra+=obj.colorname?'-color':'';extra+=obj.emo_id?'-emo':'';obj.mode=mode;try
{switch(mode)
{case"normal":{obj.className='rte-normal'+ extra;}
break;case"hover":{obj.className='rte-hover'+ extra;}
break;case"selected":case"down":{obj.className='rte-selected'+ extra;}
break;}}
catch(e)
{}}};this.format_text=function(e,command,arg)
{e=ipsclass.cancel_bubble(e,true);if(command.match(/resize_/))
{this.resize_editorbox(command.replace(/.+?resize_(up|down)/,"$1"));}
if(command.match(/emoticon/))
{this.show_all_emoticons();}
this.editor_check_focus();if(this[command])
{var return_val=this[command](e);}
else
{try
{var return_val=this.apply_formatting(command,false,(typeof arg=='undefined'?true:arg));}
catch(e)
{var return_val=false;}}
this.editor_check_focus();return return_val;};this.createlink=function()
{var _url=prompt(ipb_global_lang['editor_enter_url'],'http://');if(!_url||_url==null||_url=='http://')
{return false;}
var _text=this.get_selection();_text=_text?_text:prompt(ipb_global_lang['editor_enter_title']);if(!_text||_text==null)
{return false;}
this.wrap_tags('url',_url,_text);};this.insertimage=function()
{var _text=this.get_selection();var _url=prompt(ipb_global_lang['editor_enter_image'],_text?_text:"http://");if(!_url||_url==null||_url=='http://')
{return false;}
this.wrap_tags('img',false,_url);};this.ipb_quote=function()
{var _text=this.get_selection();this.wrap_tags('quote',false,_text);};this.ipb_code=function()
{var _text=this.get_selection();this.wrap_tags('code',false,_text);};this.ipb_hide=function()
{var _text=this.get_selection();this.wrap_tags('hide',false,_text);};this.apply_formatting=function(cmd,dialog,argument)
{switch(cmd)
{case'bold':case'italic':case'underline':{this.wrap_tags(cmd.substr(0,1),false);return;}
case'justifyleft':case'justifycenter':case'justifyright':{this.wrap_tags(cmd.substr(7),false);return;}
case'indent':{this.wrap_tags(cmd,false);return;}
case'createlink':{var sel=this.get_selection();if(sel)
{this.wrap_tags('url',argument);}
else
{this.wrap_tags('url',argument,argument);}
return;}
case'fontname':{this.wrap_tags('font',argument);return;}
case'fontsize':{this.wrap_tags('size',argument);return;}
case'forecolor':{this.wrap_tags('color',argument);return;}
case'backcolor':{this.wrap_tags('background',argument);return;}
case'insertimage':{this.wrap_tags('img',false,argument);return;}
case'strikethrough':{this.wrap_tags('strike',false);return;}
case'superscript':{this.wrap_tags('sup',false);return;}
case'subscript':{this.wrap_tags('sub',false);return;}
case'removeformat':return;}};this.wrap_tags=function(tag_name,has_option,selected_text)
{var tag_close=tag_name;if(typeof selected_text=='undefined')
{selected_text=this.get_selection();selected_text=(selected_text===false)?'':new String(selected_text);}
if(has_option===true)
{var option=prompt(ips_language_array['js_rte_optionals']?ips_language_array['js_rte_optionals']:"Enter the optional arguments for this tag",'');if(option)
{var opentag=this.open_brace+ tag_name+'="'+ option+'"'+ this.close_brace;}
else
{return false;}}
else if(has_option!==false)
{var opentag=this.open_brace+ tag_name+'="'+ has_option+'"'+ this.close_brace;}
else
{var opentag=this.open_brace+ tag_name+ this.close_brace;}
var closetag=this.open_brace+'/'+ tag_close+ this.close_brace;var text=opentag+ selected_text+ closetag;this.insert_text(text);return false;};this.wrap_tags_lite=function(start_text,close_text)
{selected_text=this.get_selection();selected_text=(selected_text===false)?'':new String(selected_text);this.insert_text(start_text+ selected_text+ close_text);return false;};this.editor_get_contents=function()
{return this.editor_document.value;};this.get_selection=function()
{if(typeof(this.editor_document.selectionStart)!='undefined')
{return this.editor_document.value.substr(this.editor_document.selectionStart,this.editor_document.selectionEnd- this.editor_document.selectionStart);}
else if((document.selection&&document.selection.createRange)||this._ie_cache)
{return this._ie_cache?this._ie_cache.text:document.selection.createRange().text;}
else if(window.getSelection)
{return window.getSelection()+'';}
else
{return false;}};this.insert_text=function(text)
{if(this.editor_check_focus()==false)
{return false;}
if(typeof(this.editor_document.selectionStart)!='undefined')
{var open=this.editor_document.selectionStart+ 0;var st=this.editor_document.scrollTop;this.editor_document.value=this.editor_document.value.substr(0,this.editor_document.selectionStart)+ text+ this.editor_document.value.substr(this.editor_document.selectionEnd);if(!text.match(new RegExp("\\"+ this.open_brace+"(\\S+?)"+"\\"+ this.close_brace+"\\"+ this.open_brace+"/(\\S+?)"+"\\"+ this.close_brace)))
{this.editor_document.selectionStart=open;this.editor_document.selectionEnd=open+ text.length;this.editor_document.scrollTop=st;}}
else if((document.selection&&document.selection.createRange)||this._ie_cache)
{var sel=this._ie_cache?this._ie_cache:document.selection.createRange();sel.text=text.replace(/\r?\n/g,'\r\n');sel.select();}
else
{this.editor_document.value+=text;}
this._ie_cache=null;};this.show_all_emoticons=function()
{if(typeof(this.emoticon_window_id)!=null)
{this.emoticon_window_id=window.open(ipb_var_base_url+"act=legends&CODE=emoticons&_lite=1&editor_id="+ editor_id,"Legends","width=250,height=500,resizable=yes,scrollbars=yes");}
else
{this.emoticon_window_id.focus();}
return false;};this.insert_emoticon=function(emo_id,emo_image,emo_code,event)
{emo_code=ipsclass.un_htmlspecialchars(emo_code);this.wrap_tags_lite(" "+ emo_code," ");if(this.is_ie)
{if(IPS_Lite_Editor[this.editor_id].emoticon_window_id!=''&&typeof(IPS_Lite_Editor[this.editor_id].emoticon_window_id)!='undefined')
{IPS_Lite_Editor[this.editor_id].emoticon_window_id.focus();}}};this.resize_editorbox=function(direction)
{var inc_value=100;var current_height=parseInt(this.text_obj.style.height);var new_height=0;current_height=current_height?current_height:200;if(current_height>=50)
{if(direction=='up')
{new_height=current_height- inc_value;}
else
{new_height=current_height+ inc_value;}
if(new_height>149)
{this.text_obj.style.height=new_height+'px';}}};};function ips_editor_events()
{}
ips_editor_events.prototype.button_onmouse_event=function(e)
{if(is_ie)
{e=ipsclass.cancel_bubble(e,true);}
if(e.type=='click')
{IPS_Lite_Editor[this.editor_id].format_text(e,this.cmd,false,true);}
IPS_Lite_Editor[this.editor_id].set_button_context(this,e.type);};ips_editor_events.prototype.editor_window_onfocus=function(e)
{this.has_focus=true;};ips_editor_events.prototype.editor_window_onblur=function(e)
{this.has_focus=false;};ips_editor_events.prototype.editor_document_onkeypress=function(e)
{if(e.ctrlKey)
{switch(String.fromCharCode(e.charCode).toLowerCase())
{case'b':cmd='bold';break;case'i':cmd='italic';break;case'u':cmd='underline';break;default:return;}
e.preventDefault();IPS_Lite_Editor[this.editor_id].apply_formatting(cmd,false,null);return false;}};
