var blockreq;String.prototype.trim=function(){return this.replace(/^\s+/g,'').replace(/\s+$/g,'');}
function blockloaded(){return blockreq.status==200;}
function object(objectId){if(document.getElementById&&document.getElementById(objectId)){return document.getElementById(objectId);}else if(document.all&&document.all(objectId)){return document.all(objectId);}else if(document.layers&&document.layers[objectId]){return document.layers[objectId];}else{return false;}}
function dbg(aString){object('debug').innerHTML+="<b>"+aString+"</b><br/>";}
function dbgt(tgt,aString){object(tgt).innerHTML="<p>"+aString+"</p>";}
function dbs(aString){object('debug').innerHTML="<b>"+aString+"</b>";}
function togglepanel(id){closeall(id);var ele=object(id);if(ele.style.display=='none')ele.style.display='block';else ele.style.display='none';}
function togglehelp(){var ele=object('markuphelp');if(ele.style.display=='none')
ele.style.display='block';else
ele.style.display='none';}
function closeall(id){if(!object('wikileftpage'))return;var divs=object('wikileftpage').getElementsByTagName('div');for(var i=0;i<divs.length;i++)
if(divs[i].id!=id&&divs[i].getAttribute('iscat')=='true')
divs[i].style.display='none';}
function setindexmarkup(){var editarea=object('editarea');var list=object('indexes');var item=''+list.options[list.selectedIndex].value;var tag=item.match(/\[\[anime\]\]/);item=item.replace(/\[\[anime\]\]/,'');var v='<br/>----<br/><<|'+item+'|>>'+(tag?tag:'')+'<br/>';editarea.value+=v.unbroken();}
function checkauthor(event){var authorinput=object('authorinput');var author=''+authorinput.value;author=author.trim();if(author==''){object('inputform').action='#';object('inputmessage').innerHTML='please make up a wiki handle';authorinput.focus();return false;}
return true;}
function sendurl(url){delete blockreq;if(window.XMLHttpRequest){blockreq=new XMLHttpRequest();blockreq.open('get',url,false);blockreq.send(null);}else if(window.ActiveXObject){try{blockreq=new ActiveXObject('Msxml2.XMLHTTP');}catch(e1){try{blockreq=new ActiveXObject('Microsoft.XMLHTTP');}catch(e2){}}
if(blockreq){blockreq.open('get',url,false);blockreq.send();}}}
function unlock(page){var url='http://'+window.location.hostname
url+='/pmwiki/unlock.php?pagename='+page;sendurl(url);window.location.href=window.location.href;}
function getselection(pulldown){var st='';for(var i=0;i<pulldown.options.length;i++)
if(pulldown.options[i].selected){if(pulldown.options[i].value)st=pulldown.options[i].value;else st=pulldown.options[i].text;break;}
return st;}
function flag(){var flagselect=object('flagselect');var entry=escape(window.location.href);var flag=''+getselection(flagselect);if(flag=='none')return;var url='http://tvtropes.org/pmwiki/flag.php?action=flag'
+'&entry='+entry
+'&flag='+flag;sendurl(url);object('flagmessage').innerHTML='flag saved';}
function makeknown(){clearmsg();var msg=object('messages');var handle=''+object('handle').value;var p=''+object('zombiebutt-knucklesfrommars').value;if(p==''||handle==''){msg.innerHTML='We\'ll need a handle and a password to do this.';return;}
var url='knower.php?action=makeknown&handle='+handle+'&pass='+p;sendurl(url);if(blockreq&&blockloaded()){msg.innerHTML=blockreq.responseText;object('doit').style.display='none';delete blockreq;}
return;}
function renewcookie(){clearmsg();var msg=object('messages');var handle=''+object('handle').value;var p=''+object('zombiebutt-knucklesfrommars').value;if(p==''||handle==''){msg.innerHTML='We\'ll need a handle and a password to do this.';return;}
var url='knower.php?action=checklogin&handle='+handle+'&pass='+p;sendurl(url);var reply="";if(blockreq&&blockloaded()){msg.innerHTML=blockreq.responseText;delete blockreq;}
return;}
function clearmsg(){object('messages').innerHTML='';}
function setfocus(id){var mb=object(id);mb.focus();}
function danumberoverride(){var daNumber=""+object('danumber').value;window.location.href="http://tvtropes.org/pmwiki/changes.php?daNumber="+daNumber.trim();}
function dropwatch(button,entry){url="http://tvtropes.org/pmwiki/watchlist.php?action=dropwatch&entry="+entry;sendurl(url);if(blockreq&&blockloaded()){object('watchmsg').innerHTML='<br/><span class="asscaps">'+entry+' '+blockreq.responseText+'</span>';button.parentNode.parentNode.removeChild(button.parentNode);}}
function filterchanges(select,daNumber){var item=getselection(select);window.location.href='http://tvtropes.org/pmwiki/changes.php?filter='+item+'&daNumber='+daNumber;}
function createanchor(subject,url){subject.setAttribute('href',url);}
function findfor(){var target=""+object('findfor').value;if(target=="")return;window.location.href='http://tvtropes.org/pmwiki/el.php?findfor='+target;}
function submitsearch(){var searchform=object('searcher');searchform.setAttribute('action','http://tvtropes.org/pmwiki/pmwiki.php/Main/SearchWiki');searchform.submit();}
function chpass(){dbgt('amessage','');dbgt('bmessage','');var troper=""+object('troper').value;var cpass=""+object('cpass').value;var npass=""+object('npass').value;var ncheck=""+object('ncheck').value;if(troper==""||cpass==""){dbgt('amessage','please enter both a handle and your current password');}else{var url='knower.php?action=checklogin&handle='+troper+'&pass='+cpass;sendurl(url);if(blockreq&&blockloaded()){var rsp=""+blockreq.responseText;if(rsp.indexOf('cookied up')==-1){object('amessage').innerHTML=blockreq.responseText;delete blockreq;return;}}}
if(npass==""||ncheck==""){dbgt('bmessage','gonna need both a new password and that image word');}else{var url='knower.php?action=changepass&handle='+troper
+'&pass='+cpass
+'&captchaText='+ncheck
+'&npass='+npass;sendurl(url);if(blockreq&&blockloaded()){object('bmessage').innerHTML=blockreq.responseText;delete blockreq;return;}}}
function fixptitle(id){var p_value=""+object(id).value;if(p_value=="")return;var url="http://tvtropes.org/pmwiki/ptitlecontrol.php?id="+id+"&p_value="+p_value;sendurl(url);if(blockreq&&blockloaded()){object('spanfor'+id).innerHTML=' fixed!';}}
function ptitlezap(id){var url="http://tvtropes.org/pmwiki/ptitlezap.php?id="+id;sendurl(url);if(blockreq&&blockloaded()){window.location.href=window.location.href;}}
function toggleinline(anchor){var tgt=anchor.getElementsByTagName('div')[0];if(tgt.style.display=='none')tgt.style.display='inline';else tgt.style.display='none';}
function showgallery(){var l=document.getElementsByName('avatarfile')[0];var a=l.childNodes;var c=document.getElementById('avatar-gallery');if(c){c.style.display=c.style.display=='none'?'block':'none';}else{c=document.createElement('div');c.id='avatar-gallery';c.style.display='block';for(var i=1;i<a.length;i++){var n=document.createElement('img');n.setAttribute('src','http://static.tvtropes.org/pmwiki/pub/images/'+a[i].value);n.style.cursor='pointer';n.value=a[i].value;n.onclick=function(){l.value=this.value};var s=document.createElement('span');s.style.width='100px';s.style.display='inline-block';s.style.textAlign='center';s.style.margin='0.25em';s.appendChild(n);c.appendChild(s);}
l.parentNode.appendChild(c);}}
function setwatch(entry){url="http://tvtropes.org/pmwiki/watchlist.php?action=watch&entry="+entry;sendurl(url);if(blockreq&&blockloaded()){object('watchmsg').innerHTML+='<span class="asscaps">'+blockreq.responseText+'</span>';}}
function gentag(id){ object('tag_receiver').innerHTML='<<|Repair Shop Notification:'+id+'|>>';}
function zap_quote_buttons(){imgs=document.getElementsByTagName('img');for(var i = 0; i < imgs.length; i++){ if( imgs[i].getAttribute('alt')=='[[/quoteblock]]' || imgs[i].getAttribute('alt')=='[[quoteblock]]') imgs[i].parentNode.removeChild(imgs[i]); }}
