
var tag_add_comp;if(fetch_object('tag_edit_link'))
{YAHOO.util.Event.on(fetch_object('tag_edit_link'),'click',tag_edit_click);}
function tag_edit_click(e)
{YAHOO.util.Event.stopEvent(e);if(!this.tag_editor)
{this.tag_editor=new vB_AJAX_TagThread('tag_list_cell',this.id);}
this.tag_editor.fetch_form();}
function vB_AJAX_TagThread(tag_container,linkid)
{this.edit_form='tag_edit_form';this.edit_cancel='tag_edit_cancel';this.form_progress='tag_form_progress';this.submit_progress='tag_edit_progress';this.form_visible=false;this.do_ajax_submit=true;this.tag_container=tag_container;var match=fetch_object(linkid).href.match(/(\?|&)t=([0-9]+)/);this.threadid=match[2];}
vB_AJAX_TagThread.prototype.fetch_form=function()
{if(!this.form_visible)
{YAHOO.util.Connect.asyncRequest("POST","threadtag.php?t="+this.threadid,{success:this.handle_ajax_form,failure:this.handle_ajax_form_error,timeout:vB_Default_Timeout,scope:this},SESSIONURL+"securitytoken="+SECURITYTOKEN+"&t="+this.threadid+"&ajax=1");if(fetch_object(this.form_progress))
{fetch_object(this.form_progress).style.display='';}}}
vB_AJAX_TagThread.prototype.handle_ajax_form=function(ajax)
{if(ajax.responseXML&&!this.form_visible)
{var error=ajax.responseXML.getElementsByTagName('error');if(error.length)
{alert(error[0].firstChild.nodeValue);}
else if(ajax.responseXML.getElementsByTagName('html')[0])
{var container=fetch_object(this.tag_container);container.origInnerHTML=container.innerHTML;container.innerHTML=ajax.responseXML.getElementsByTagName('html')[0].firstChild.nodeValue;YAHOO.util.Event.on(this.edit_form,'submit',this.submit_tag_edit,this,true);YAHOO.util.Event.on(this.edit_cancel,'click',this.cancel_tag_edit,this,true);if(fetch_object('tag_add_wrapper_menu')&&fetch_object('tag_add_input'))
{vbmenu_register('tag_add_wrapper',true);tag_add_comp=new vB_AJAX_TagSuggest('tag_add_comp','tag_add_input','tag_add_wrapper');tag_add_comp.allow_multiple=true;var delimiters=ajax.responseXML.getElementsByTagName('delimiters')[0];if(delimiters&&delimiters.firstChild)
{tag_add_comp.set_delimiters(delimiters.firstChild.nodeValue);}
fetch_object("tag_add_input").focus();fetch_object("tag_add_input").focus();}
this.form_visible=true;}}
if(fetch_object(this.form_progress))
{fetch_object(this.form_progress).style.display='none';}}
vB_AJAX_TagThread.prototype.handle_ajax_form_error=function(ajax)
{vBulletin_AJAX_Error_Handler(ajax);window.location="threadtag.php?"+SESSIONURL+"t="+this.threadid;}
vB_AJAX_TagThread.prototype.submit_tag_edit=function(e)
{if(this.do_ajax_submit)
{YAHOO.util.Event.stopEvent(e);var hidden_form=new vB_Hidden_Form(null);hidden_form.add_variables_from_object(fetch_object(this.edit_form));YAHOO.util.Connect.asyncRequest("POST","threadtag.php?do=managetags&t="+this.threadid,{success:this.handle_ajax_submit,failure:this.handle_ajax_submit_error,timeout:vB_Default_Timeout,scope:this},SESSIONURL+'securitytoken='+SECURITYTOKEN+"&do=managetags&ajax=1&"+hidden_form.build_query_string());if(fetch_object(this.submit_progress))
{fetch_object(this.submit_progress).style.display='';}}}
vB_AJAX_TagThread.prototype.handle_ajax_submit=function(ajax)
{if(ajax.responseXML)
{var error=ajax.responseXML.getElementsByTagName('error');if(error.length)
{alert(error[0].firstChild.nodeValue);}
else
{var taghtml=ajax.responseXML.getElementsByTagName('taghtml');if(taghtml.length&&taghtml[0].firstChild&&taghtml[0].firstChild.nodeValue!=='')
{fetch_object(this.tag_container).innerHTML=taghtml[0].firstChild.nodeValue;}
var warning=ajax.responseXML.getElementsByTagName('warning');if(warning.length&&warning[0].firstChild)
{alert(warning[0].firstChild.nodeValue);}
this.form_visible=false;}}
if(fetch_object(this.submit_progress))
{fetch_object(this.submit_progress).style.display='none';}}
vB_AJAX_TagThread.prototype.handle_ajax_submit_error=function(ajax)
{vBulletin_AJAX_Error_Handler(ajax);this.do_ajax_submit=false;fetch_object(this.edit_form).submit();}
vB_AJAX_TagThread.prototype.cancel_tag_edit=function()
{var container=fetch_object(this.tag_container);if(container.origInnerHTML)
{container.innerHTML=container.origInnerHTML;container.origInnerHTML='';}
if(fetch_object(this.form_progress))
{fetch_object(this.form_progress).style.display='none';}
this.form_visible=false;}