var g_contentId;var g_contentScopeId;var g_wikiUserId=-1;var g_pendingCall;function loginCallback(){eval(g_pendingCall);}function buildLoginCreateBoxForWiki(callback){if(!Btv.User.IsLoggedIn()){g_pendingCall=callback;Btv.User.InitLogin(loginCallback);}}function getWikiCurrentUserId(){if(-1!=g_wikiUserId){return g_wikiUserId;}var cookie=getCookie("BuddyTVUserId");if(null!=cookie&&cookie.length>0){try{g_wikiUserId=parseInt(cookie,10);}catch(e){g_wikiUserId=-1;}}return g_wikiUserId;}function expandWikiInfo(clickedSection){if(clickedSection.className=="wiki_history_section"){clickedSection.className="wiki_history_section_open";for(var i=0;i<clickedSection.childNodes.length;i++){var child=clickedSection.childNodes[i];if(child.nodeName=="DIV"&&child.className.indexOf("wiki_history_changes")!=-1){child.style.display="block";break;}}}else{if(clickedSection.className=="wiki_history_section_open"){clickedSection.className="wiki_history_section";for(var i=0;i<clickedSection.childNodes.length;i++){var child=clickedSection.childNodes[i];if(child.nodeName=="DIV"&&child.className.indexOf("wiki_history_changes")!=-1){child.style.display="none";break;}}}}}function editWikiContentIsland(flags,label,copyContent){if(getWikiCurrentUserId()==-1){buildLoginCreateBoxForWiki("editWikiContentIsland("+flags+', "'+label+'", '+copyContent+")");return;}else{document.getElementById("wikiEdit2"+label).style.display="none";document.getElementById("wikiContainer"+label).className+=" wiki-edit-mode";document.getElementById("wikiPreview"+label).style.display="inline";document.getElementById("wikiSave"+label).style.display="inline";document.getElementById("wikiCancel"+label).style.display="inline";document.getElementById("wikiAddLink"+label).style.display="none";document.getElementById("wikiEdit"+label).style.display="none";document.getElementById("wikiContent"+label).style.display="none";document.getElementById("wikiContentEdit"+label).style.display="inline";document.getElementById("wikiContentPreview"+label).style.display="none";document.getElementById("wikiHide"+label).style.display="none";if(true==copyContent){var content=document.getElementById("wikiContent"+label).innerHTML;content=content.replace(/\<Br>/gim,"\n");document.getElementById("wikiContentEdit"+label).firstChild.value=content;}}}function cancelEditWikiContentIsland(flags,label){document.getElementById("wikiEdit"+label).style.display="inline";document.getElementById("wikiEdit2"+label).style.display="none";document.getElementById("wikiContainer"+label).className+="wiki-section";document.getElementById("wikiPreview"+label).style.display="none";document.getElementById("wikiSave"+label).style.display="none";document.getElementById("wikiCancel"+label).style.display="none";document.getElementById("wikiAddLink"+label).style.display="none";document.getElementById("wikiContent"+label).style.display="inline";document.getElementById("wikiContentEdit"+label).style.display="none";document.getElementById("wikiContentPreview"+label).style.display="none";if(1!=(flags&1)){document.getElementById("wikiHide"+label).style.display="inline";}}function hideWikiContentIsland(flags,label){if(getWikiCurrentUserId()==-1){buildLoginCreateBoxForWiki("hideWikiContentIsland("+flags+', "'+label+'")');return;}else{document.getElementById("wikiContainer"+label).style.display="none";if(null!=g_pendingChange){alert("Please wait for the previous edit to finish before editing again.");return;}var url="/wiki/updatewiki.aspx?type=hide&section="+label+"&cachekey="+escape(g_wikicachekey);g_saveXmlHttp=GetXmlHttpObject(url,true);g_saveXmlHttp.onreadystatechange=OnFinishWikiContentIslandSave;document.getElementById("wikiContainer"+label).insertBefore(document.getElementById("saving"),document.getElementById("wikiContainer"+label).firstChild);document.getElementById("saving").style.display="inline";g_pendingChange=new Object();g_pendingChange.Type="hide";g_saveXmlHttp.send(null);}}function previewWikiContentIsland(flags,label){document.getElementById("wikiEdit2"+label).style.display="inline";document.getElementById("wikiContainer"+label).className+="wiki-section";document.getElementById("wikiPreview"+label).style.display="none";document.getElementById("wikiSave"+label).style.display="inline";document.getElementById("wikiCancel"+label).style.display="inline";document.getElementById("wikiAddLink"+label).style.display="none";document.getElementById("wikiContent"+label).style.display="none";document.getElementById("wikiEdit2"+label).style.display="inline";document.getElementById("wikiContentEdit"+label).style.display="none";document.getElementById("wikiContentPreview"+label).style.display="inline";var content=document.getElementById("wikiContentEdit"+label).firstChild.value;content=content.replace(/\r|\n|\r\n/gim,"<br/>");document.getElementById("wikiContentPreview"+label).innerHTML=content;document.getElementById("wikiHide"+label).style.display="none";}var g_saveXmlHttp;var g_pendingChange=null;function saveWikiContentIsland(flags,label){if(getWikiCurrentUserId()==-1){buildLoginCreateBoxForWiki("saveWikiContentIsland("+flags+', "'+label+'")');return;}else{if(null!=g_pendingChange){alert("Please wait for the previous edit to finish before editing again.");return;}var content=document.getElementById("wikiContentEdit"+label).firstChild.value;var url="/wiki/updatewiki.aspx?type=saverev&section="+label+"&change="+escape(content)+"&cachekey="+escape(g_wikicachekey)+"&showcachekey="+escape(g_showCacheKey);g_saveXmlHttp=GetXmlHttpObject(url,true);g_saveXmlHttp.onreadystatechange=OnFinishWikiContentIslandSave;document.getElementById("wikiContainer"+label).insertBefore(document.getElementById("saving"),document.getElementById("wikiContainer"+label).firstChild);document.getElementById("saving").style.display="inline";g_pendingChange=new Object();g_pendingChange.Content=content;g_pendingChange.Label=label;g_pendingChange.Flags=flags;g_pendingChange.Type="save";g_saveXmlHttp.send(null);}}function OnFinishWikiContentIslandSave(){if(4!=g_saveXmlHttp.readyState){return;}var rootNode=0==g_saveXmlHttp.responseXML.childNodes.length?null:g_saveXmlHttp.responseXML.childNodes[g_saveXmlHttp.responseXML.childNodes.length-1];if(null!=rootNode){for(var i=0;i<rootNode.childNodes.length;i++){var node=rootNode.childNodes[i];switch(node.nodeName){case"newsectionhtml":g_pendingChange.NewSectionHtml=getXmlNodeInnerText(node);case"newsectionid":g_pendingChange.NewSectionId=getXmlNodeInnerText(node);case"content":g_pendingChange.Content=getXmlNodeInnerText(node);break;case"status":var response=getXmlNodeInnerText(node);if(response=="401"){g_pendingChange=null;window.location="/register.aspx?sourceUrl="+escape(document.location)+"&customHeader="+escape("Please register so we can save your changes.");return;}else{if(response=="504"){alert("A field with this name already exists.  Please use a different name.");document.getElementById("saving").style.display="none";g_pendingChange=null;return;}}break;}}}switch(g_pendingChange.Type){case"save":document.getElementById("wikiContent"+g_pendingChange.Label).innerHTML=g_pendingChange.Content;cancelEditWikiContentIsland(g_pendingChange.Flags,g_pendingChange.Label);break;case"addnew":var div=document.createElement("div");div.innerHTML=g_pendingChange.NewSectionHtml;document.getElementById("wikiItems").appendChild(div);cancelAddNewWikiItem();break;case"addvideolink":var div=document.createElement("div");div.innerHTML=g_pendingChange.NewSectionHtml;document.getElementById("videoLinksContainer").appendChild(div);cancelAddVideoLinkDialog();break;case"removevideolink":document.getElementById(g_pendingChange.LinkId).style.display="none";}document.getElementById("saving").style.display="none";g_pendingChange=null;g_saveXmlHttp=null;}function cancelLinkDialog(){document.getElementById("add_link_box").style.display="none";document.getElementById("linkUrl").value="";document.getElementById("linkText").value="";}function showLinkDialog(flags,label){document.getElementById("wikiContainer"+label).appendChild(document.getElementById("add_link_box"));document.getElementById("add_link_box").style.display="inline";document.getElementById("add_link_box").setAttribute("wikiContent",label);}function createLink(){var wikiLabel=document.getElementById("add_link_box").getAttribute("wikiContent");var url=document.getElementById("linkUrl").value;var text=document.getElementById("linkText").value;if(0==url.length){alert("Please provide a URL for the link.  Example: http://www.buddytv.com");return;}if(0==text.length){text=url;}document.getElementById("add_link_box").style.display="none";var urlText='<a href="'+url+'">'+text+"</a>";insertAtCaret(document.getElementById("wikiContentEdit"+wikiLabel).firstChild,urlText);}function insertAtCaret(obj,text){if(document.all&&"None"!=document.selection.type){var range=null;obj.focus();range=document.selection.createRange();range.text=text;}else{if(obj.selectionStart){var start=obj.selectionStart;var end=obj.selectionEnd;obj.value=obj.value.substr(0,start)+text+obj.value.substr(end,obj.value.length);}else{obj.value+=text;}}}function showAddNewWikiItem(){if(getWikiCurrentUserId()==-1){buildLoginCreateBoxForWiki("showAddNewWikiItem()");return;}else{document.getElementById("addNewWikiItem").style.display="block";document.getElementById("addNewWikiItemLink").style.display="none";}}function cancelAddNewWikiItem(){document.getElementById("addNewWikiItem").style.display="none";document.getElementById("addNewWikiItemLink").style.display="block";}function addNewWikiItem(){if(getWikiCurrentUserId()==-1){buildLoginCreateBoxForWiki("addNewWikiItem()");return;}else{if(null!=g_pendingChange){alert("Please wait for the previous edit to finish before editing again.");return;}var newName=document.getElementById("newFieldName").value;if(newName.length==0){alert("Please provide a name for the new field");return;}g_pendingChange=new Object();g_pendingChange.Type="addnew";var url="/wiki/updatewiki.aspx?&type=addnew&section="+escape(newName)+"&contentscopeid="+g_contentScopeId+"&contentid="+g_contentId+"&cachekey="+escape(g_wikicachekey);g_saveXmlHttp=GetXmlHttpObject(url,true);g_saveXmlHttp.onreadystatechange=OnFinishWikiContentIslandSave;document.getElementById("addNewFieldContainer").insertBefore(document.getElementById("saving"),document.getElementById("addNewFieldContainer").firstChild);document.getElementById("saving").style.display="inline";g_saveXmlHttp.send(null);}}function showAddVideoLink(){document.getElementById("addVideoLinkBox").style.display="block";}function cancelAddVideoLinkDialog(){document.getElementById("addVideoLinkBox").style.display="none";}function addVideoLink(){if(getWikiCurrentUserId()==-1){buildLoginCreateBoxForWiki("addVideoLink()");return;}else{if(null!=g_pendingChange){alert("Please wait for the previous edit to finish before editing again.");return;}var link=document.getElementById("videoLinkUrl").value;if(link.length==0){alert("Please provide a url");return;}var text=document.getElementById("videoLinkText").value;if(text.length==0){alert("Please provide the title for the link");return;}g_pendingChange=new Object();g_pendingChange.Type="addvideolink";var suffix=(null!=g_showCacheKey?"&showcachekey="+escape(g_showCacheKey):"");var url="/wiki/updatewiki.aspx?&type=addvideolink&show="+g_showId+"&season="+g_season+"&episode="+g_episode+"&link="+escape(link)+"&text="+escape(text)+"&cachekey="+escape(g_wikicachekey)+suffix;g_saveXmlHttp=GetXmlHttpObject(url,true);g_saveXmlHttp.onreadystatechange=OnFinishWikiContentIslandSave;g_saveXmlHttp.send(null);}}function removeVideoLink(id){if(getWikiCurrentUserId()==-1){buildLoginCreateBoxForWiki("removeVideoLink("+id+")");return;}else{g_pendingChange=new Object();g_pendingChange.Type="removevideolink";g_pendingChange.LinkId="videoLink"+id;var suffix=(null!=g_showCacheKey?"&showcachekey="+escape(g_showCacheKey):"");var url="/wiki/updatewiki.aspx?&type=removevideolink&linkid="+id+"&cachekey="+escape(g_wikicachekey)+suffix;g_saveXmlHttp=GetXmlHttpObject(url,true);g_saveXmlHttp.onreadystatechange=OnFinishWikiContentIslandSave;g_saveXmlHttp.send(null);}}