//------------------------------------------ // Invision Power Board v2.3 // ACP Specific JS File // (c) 2007 Invision Power Services, Inc. // By: Matt Mecham, Brandon Farber // http://www.invisionboard.com //------------------------------------------ //========================================== // AJAX REFRESH //========================================== ajax_load_msg = ''; function ajax_refresh( url, text, addtotext ) { /*--------------------------------------------*/ // Main function to do on request // Must be defined first!! /*--------------------------------------------*/ do_request_function = function() { //---------------------------------- // Ignore unless we're ready to go //---------------------------------- if ( ! xmlobj.readystate_ready_and_ok() ) { // Could do a little loading graphic here? return; } //---------------------------------- // INIT //---------------------------------- var html = xmlobj.xmlhandler.responseText; eval( html ); } //---------------------------------- // LOAD XML //---------------------------------- if ( url ) { xmlobj = new ajax_request(); xmlobj.onreadystatechange( do_request_function ); xmlobj.process( url ); } if ( text ) { // Put it to the top if ( addtotext ) { document.getElementById('refreshbox').innerHTML = text + '
' + document.getElementById('refreshbox').innerHTML; } else { document.getElementById('refreshbox').innerHTML = text; } } } //========================================== // POP UP YA WINDA //========================================== function pop_win(theUrl, winName, theWidth, theHeight) { if (winName == '') { winName = 'Preview'; } if (theHeight == '') { theHeight = 400; } if (theWidth == '') { theWidth = 400; } window.open(ipb_var_base_url+'&'+theUrl,winName,'width='+theWidth+',height='+theHeight+',resizable=yes,scrollbars=yes'); } //========================================== // Toggle div //========================================== function togglediv( did, show ) { //----------------------------------- // Add? //----------------------------------- if ( show ) { my_show_div( my_getbyid( did ) ); } else { my_hide_div( my_getbyid( did ) ); } return false; } //========================================== // Toggle menu categories //========================================== function togglemenucategory( fid, add ) { saved = new Array(); clean = new Array(); //----------------------------------- // Get any saved info //----------------------------------- if ( tmp = my_getcookie('acpcollapseprefs') ) { saved = tmp.split(","); } //----------------------------------- // Remove bit if exists //----------------------------------- for( i = 0 ; i < saved.length; i++ ) { if ( saved[i] != fid && saved[i] != "" ) { clean[clean.length] = saved[i]; } } //----------------------------------- // Add? //----------------------------------- if ( add ) { clean[ clean.length ] = fid; my_show_div( my_getbyid( 'fo_'+fid ) ); my_hide_div( my_getbyid( 'fc_'+fid ) ); } else { my_show_div( my_getbyid( 'fc_'+fid ) ); my_hide_div( my_getbyid( 'fo_'+fid ) ); } my_setcookie( 'acpcollapseprefs', clean.join(','), 1 ); tmp = clean.join(','); } //========================================== // Expand all (remove cookie) //========================================== function expandmenu() { my_setcookie( 'acpcollapseprefs', menu_ids, 1 ); window.location=window.location; } //========================================== // Expand all (remove cookie) //========================================== function collapsemenu() { my_setcookie( 'acpcollapseprefs', '', 1 ); window.location=window.location; } //========================================== // Change text editor size //========================================== function changefont() { var savearray = new Array(); var idarray = new Array(); var rootdoc = ''; if ( template_bit_ids ) { idarray = template_bit_ids.split(","); } if ( tmp = my_getcookie('acpeditorprefs') ) { savearray = tmp.split(","); } try { if ( document.getElementById( 'te-iframe' ) ) { rootdoc = window.frames['te-iframe'].document; } else { rootdoc = document; } } catch(e) { //alert(e); } chosenfont = rootdoc.theform.fontchange.options[rootdoc.theform.fontchange.selectedIndex].value; chosensize = rootdoc.theform.sizechange.options[rootdoc.theform.sizechange.selectedIndex].value; chosenback = rootdoc.theform.backchange.options[rootdoc.theform.backchange.selectedIndex].value; fontcolor = rootdoc.theform.fontcolor.options[rootdoc.theform.fontcolor.selectedIndex].value; widthchange = rootdoc.theform.widthchange.options[rootdoc.theform.widthchange.selectedIndex].value; highchange = rootdoc.theform.highchange.options[rootdoc.theform.highchange.selectedIndex].value; if ( idarray.length ) { for (i = 0 ; i < idarray.length; i++ ) { id = idarray[i]; itm = rootdoc.getElementById( id ); if ( chosenfont != '-' ) { itm.style.fontFamily = chosenfont; savearray[0] = chosenfont; } if ( chosensize != '-' ) { itm.style.fontSize = chosensize; savearray[1] = chosensize; } if ( chosenback != '-' ) { itm.style.backgroundColor = chosenback; savearray[2] = chosenback; } if ( fontcolor != '-' ) { itm.style.color = fontcolor; savearray[3] = fontcolor; } if ( widthchange != '-' ) { itm.style.width = widthchange; savearray[4] = widthchange; } if ( highchange != '-' ) { itm.style.height = highchange; savearray[5] = highchange; } } } my_setcookie( 'acpeditorprefs', savearray.join(','), 1 ); } //========================================== // Auto jump menu //========================================== function autojumpmenu(fobj) { urljump = fobj.options[fobj.selectedIndex].value; if ( urljump != "" && urljump != "-" ) { window.location = urljump; } } //========================================== // Check for no special chars //========================================== function no_specialchars(type) { var name; if (type == 'sets') { var field = document.theAdminForm.sname; name = 'Skin Set Title'; } if (type == 'wrapper') { var field = document.theAdminForm.name; name = 'Wrapper Title'; } if (type == 'csssheet') { var field = document.theAdminForm.name; name = 'StyleSheet Title'; } if (type == 'templates') { var field = document.theAdminForm.skname; name = 'Template Set Name'; } if (type == 'images') { var field = document.theAdminForm.setname; name = 'Image & Macro Set Title'; } var valid = 'abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890.()[]:;~+-_'; var ok = 1; var temp; for (var i=0; i < field.value.length; i++) { temp = "" + field.value.substring(i,i+1); if (valid.indexOf(temp) == "-1") { ok = 0; } } if (ok == 0) { alert('Invalid entry for: ' + name + ', you can only use alphanumerics and the following special characters.\n. ( ) : ; ~ + - _'); return false; } else { return true; } } //========================================== // IPS Kernel method //========================================== function confirm_action( url, msg ) { return maincheckdelete( url, msg ); } //========================================== // Backwards compatible check delete //========================================== function checkdelete( url ) { return maincheckdelete( ipb_var_base_url + '&' + url ); } //========================================== // Main check delete //========================================== function maincheckdelete(url, msg) { if ( ! msg ) { msg = 'PLEASE CONFIRM:\nOK to proceed?'; } if (confirm( msg )) { document.location.href = url; } else { alert ( 'OK, action cancelled!' ); } }