function pop(theurl, w, h, scroll) { var the_atts = "width="+w+", height="+h+", top=20, screenY=20, left=20, screenX=20, toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars="+scroll+", resizable=yes, copyhistory=no"; // open window window.open(theurl,'pop',the_atts); } function more_info(sid) { if(document.getElementById('more_' + sid).style.display == 'none') { document.getElementById('more_' + sid).style.display = 'block'; document.getElementById('info_' + sid).style.display = 'none'; } else { document.getElementById('info_' + sid).style.display = 'block'; document.getElementById('more_' + sid).style.display = 'none'; } } function category(pid, catid, name, locked, order) { this.pid = pid; this.catid = catid; this.name = name; this.locked = locked; this.order = order; } function character(charid, catid, charname) { this.charid = charid; this.catid = catid; this.charname = charname; } function resetCats(element) { var selItem = document.getElementById(element).selectedIndex; var selValue = document.getElementById(element).options[selItem].value; var serverPage = basedir + "includes/categorylist.php"; myRequest = new ajaxObject(serverPage, resetCatsResponse); val = "element=" + element + "&"; val = val + "catid="+selValue; myRequest.update(val); } function resetCatsResponse(responseText, responseStatus) { if(responseStatus == 200) { categories.length = 0; eval(responseText); var selItem = document.getElementById(el).selectedIndex; var selValue = document.getElementById(el).options[selItem].value; var element = document.getElementById(el); element.options.length = 0; element.options[element.options.length] = new Option(lang['Back2Cats'], -1); for(z = 0; z < categories.length; z++) { categories[z].name = unescape(categories[z].name).replaceAll("+", " "); if(categories[z].pid == selValue || categories[z].catid == selValue) element.options[element.options.length] = new Option(categories[z].name, categories[z].catid); } if(selValue != -1) element.options.selectedIndex = 1; } else { alert(responseStatus + ' -- Error Processing Request'); } } function addCat(fromGroup, toGroup) { var strValues = ""; var listLength = document.getElementById(toGroup).length; var selItem = document.getElementById(fromGroup).selectedIndex; var selValue = document.getElementById(fromGroup).options[selItem].value; var selText = document.getElementById(fromGroup).options[selItem].text; var newItem = true; for(i = 0; i < categories.length; i++) { categories[i].name = unescape(categories[i].name).replaceAll("+", " "); if(categories[i].catid == selValue) { if(categories[i].locked == 1) { alert(lang['CatLocked']); return false; } } } strValues = selValue; for(i = 0; i < listLength; i++) { strValues = strValues + "," + document.getElementById(toGroup).options[i].value; if(document.getElementById(toGroup).options[i].text == selText) { newItem = false; break; } } if(newItem) { document.getElementById(toGroup).options[listLength] = new Option(selText, selValue); document.getElementById(fromGroup).options[selItem] = null; document.getElementById("catid").value = strValues; } buildCharacters(toGroup); } function browseCategories(element) { var selItem = document.getElementById(element).selectedIndex; var selValue = document.getElementById(element).options[selItem].value; var serverPage = basedir + "includes/browsecategories.php"; myRequest = new ajaxObject(serverPage, browseCategoriesResponse); val = "element=" + element + "&"; val = val + "catid="+selValue; myRequest.update(val); } function browseCategoriesResponse(responseText, responseStatus) { if(responseStatus == 200) { var categories = new Array(); var characters = new Array(); eval(responseText); var selItem = document.getElementById(el).selectedIndex; var selValue = document.getElementById(el).options[selItem].value; var element = document.getElementById(el); var charlist1 = document.getElementById('charlist1'); var charlist2 = document.getElementById('charlist2'); var copyOption1 = new Array( ); var copyOption2 = new Array( ); element.options.length = 0; if(selValue != -1) element.options[element.options.length] = new Option(lang['Back2Cats'], -1); else element.options[element.options.length] = new Option(lang['Categories'], -1); for(z = 0; z < categories.length; z++) { categories[z].name = unescape(categories[z].name).replaceAll("+", " "); element.options[element.options.length] = new Option(categories[z].name, categories[z].catid); } if(selValue != -1) element.options.selectedIndex = 1; var copyOption1 = characters; var copyOption2 = characters; for(x = 0; x < copyOption1.length; x++) { for(y = 0; y < charlist1.length; y++) { if(charlist1.options[y].selected == true && charlist1.options[y].value == copyOption1[x][1]) { copyOption1[x][2] = false; copyOption1[x][3] = true; } if(charlist2.options[y].selected == true && charlist1.options[y].value == copyOption2[x][1]) { copyOption2[x][2] = false; copyOption2[x][3] = true; } } } if(charlist1) charlist1.length = 0; charlist2.length = 0; if(charlist1) charlist1.options[charlist1.options.length] = new Option(lang['Characters'], '', false, false); charlist2.options[charlist2.options.length] = new Option(lang['Characters'], '', false, false); for(i = 0; i < copyOption1.length; i++) { if(charlist1) charlist1.options[charlist1.options.length] = new Option(copyOption1[i][1], copyOption1[i][0], copyOption1[i][2], copyOption1[i][3]); charlist2.options[charlist2.options.length] = new Option(copyOption2[i][1], copyOption2[i][0], copyOption2[i][2], copyOption2[i][3]); } } else { alert(responseStatus + ' -- Error Processing Request'); } } function buildCharacters(cats) { if(document.form.formname.value == "admins") return; var catslist = document.getElementById(cats); var serverPage = basedir + "includes/characterlist.php"; var clist = new Array( ); for(z = 0; z < catslist.length; z++) { clist[z] = catslist.options[z].value; } clist[z] = '-1'; myRequest = new ajaxObject(serverPage, buildCharactersResponse); val = "element=" + cats + "&"; val = val + "catid="+clist.join(","); myRequest.update(val); } String.prototype.replaceAll = function(pcFrom, pcTo){ var i = this.indexOf(pcFrom); var c = this; while (i > -1){ c = c.replace(pcFrom, pcTo); i = c.indexOf(pcFrom); } return c; } function buildCharactersResponse(responseText, responseStatus) { if(responseStatus == 200) { characters.length = 0; eval(responseText); var charid = document.form.charid; var copyOption = new Array( ); var a = 0; for(y = 0; y < charid.length; y++) { if(charid.options[y].selected == true) { for(a = 0; a < characters.length; a++) { if(characters[a][0] == charid.options[y].value) { characters[a][2] = false; characters[a][3] = true; } } } } document.form.charid.length = 0; for(i = 0; i < characters.length; i++) { charid.options[charid.options.length] = new Option(unescape(characters[i][1]).replaceAll("+", " "), characters[i][0], characters[i][2], characters[i][3]); } } else { alert(responseStatus + ' -- Error Processing Request'); } } function removeCat( catid ) { var selitem = document.getElementById(catid).selectedIndex; var strValues = ""; document.getElementById(catid).options[selitem] = null; for(i = 0; i < document.getElementById(catid).length; i++) { strValues = strValues + "," + document.getElementById(catid).options[i].value; } document.getElementById("catid").value = strValues; buildCharacters(catid); } function displayCatRows(catid) { var serverPage = basedir + "includes/categorylist.php"; myRequest = new ajaxObject(serverPage, displayCatRowsResponse); val = "element="+catid+"&catid="+catid; myRequest.update(val); } function displayCatRowsResponse(responseText, responseStatus) { if(responseStatus == 200) { categories = Array( ); eval(responseText); if(navigator.appName.indexOf('Microsoft') > -1) var canSee = 'block'; else var canSee = 'table-row'; var start = document.images['c_' + el].src.lastIndexOf(".") - 3; if(document.images['c_' + el].src.indexOf('on', start) == -1) { var state = 'off'; tmp = document.images['c_' + el].src; document.images['c_' + el].src = document.images['c_' + el].src.replace('_off', '_on'); } else { var state = 'on'; tmp = document.images['c_' + el].src; document.images['c_' + el].src = document.images['c_' + el].src.replace('_on', '_off'); } for(x = 0; x < categories.length; x++) { if(state == "off" && x == 0) continue; if(row = document.getElementById('catid_' + categories[x].catid)) { if(state == 'off') row.style.display = 'none'; else row.style.display = canSee; } } } else { alert(responseStatus + ' -- Error Processing Request'); } } function setCategoryForm( chosen ) { var serverPage = basedir + "includes/categorylist.php"; myRequest = new ajaxObject(serverPage, setCategoryFormResponse); var category = chosen.options[chosen.selectedIndex].value; val = "element=" + chosen.name + "&" + "catid=" + category; myRequest.update(val); } function setCategoryFormResponse(responseText, responseStatus) { if(responseStatus == 200) { categories = Array( ); eval(responseText); var selItem = document.getElementById(el).selectedIndex; var selValue = document.getElementById(el).options[selItem].value; var element = document.getElementById(el); element.options.length = 0; orderafter = document.getElementById("orderafter"); orderafter.options.length = 0; if(selValue != -1) element.options[element.options.length] = new Option(lang['Back2Cats'], -1); else element.options[element.options.length] = new Option(lang['Categories'], -1); for(z = 0; z < categories.length; z++) { categories[z].name = unescape(categories[z].name).replaceAll("+", " "); element.options[element.options.length] = new Option(categories[z].name, categories[z].catid); if(!z) continue; orderafter.options[orderafter.options.length] = new Option(categories[z].name, categories[z].catid); } if(selValue != -1) element.options.selectedIndex = 1; } else { alert(responseStatus + " -- Error Processing Request"); } } function displayTypeOpts() { var choice = document.getElementById('field_type').selectedIndex; var type = document.getElementById('field_type').options[choice].value; if(window.tinyMCE) tinyMCE.execCommand('mceResetDesignMode'); for(i = 1; i < 6; i++) { if(document.getElementById('opt_' + i)) { document.getElementById('opt_' + i).style.display = 'none'; } } document.getElementById('opt_' + type).style.display = 'block'; if(window.tinyMCE) tinyMCE.execCommand('mceResetDesignMode'); }