function while_replace(text,replacetext,withtext) {
   while(text.split(replacetext).length>1) {
      text = text.replace(replacetext,withtext);
   }
   return text;
}

function ubb_tag(name,beg,end,wrapHTML,variable,description) {
   ubb_tag2(name,beg,end,wrapHTML,variable,description,'div');
   ubb_tag2(name,beg,end,wrapHTML,variable,description,'td');
   ubb_tag2(name,beg,end,wrapHTML,variable,description,'span');
}

function ubb_tag2(name,beg,end,wrapHTML,variable,description,tagtag) {
   var x = document.getElementsByTagName(tagtag);

   for(i=0;i<x.length;i++) {
      if(x[i].innerHTML.match(beg) && x[i].innerHTML.match(end) && x[i].className == 'postcolor' || x[i].id == 'QUOTE') {
         if(variable == -1 || end == '') {
            x[i].innerHTML = while_replace(x[i].innerHTML,'[' + beg + ']',wrapHTML);
         } else if(variable == 0) {
            var innerExtract = x[i].innerHTML.split('[' + beg + ']');
            for(a=0;a<innerExtract.length;a++) {
               innerExtract[a] = innerExtract[a].split('[/' + end + ']')[0];
               var HT_to_wrap = while_replace(wrapHTML,'<% INNER %>',innerExtract[a]);
               x[i].innerHTML = x[i].innerHTML.replace('[' + beg + ']' + innerExtract[a] + '[/' + end + ']',HT_to_wrap);
            }
         } else if(variable == 1) {

            var varExtract = x[i].innerHTML.split('[' + beg + '=');
            for(a=0;a<varExtract.length;a++) {
               varExtract[a] = varExtract[a].split(']')[0];
            }

            var innerExtract = x[i].innerHTML.split('[' + beg + '=');
            for(a=0;a<innerExtract.length;a++) {
               innerExtract[a] = innerExtract[a].replace(innerExtract[a].split(']')[0] + ']','');;
               innerExtract[a] = innerExtract[a].split('[/' + end + ']')[0];
            }

            for(a=0;a<innerExtract.length;a++) {
               var HT_to_wrap = while_replace(wrapHTML,'<% INNER %>',innerExtract[a]);
               var varExtract_split = varExtract[a].split(',');

               HT_to_wrap = while_replace(HT_to_wrap,'<% VAR %>',varExtract_split[0]);
               for(c=0;c<varExtract_split.length;c++) {
                  HT_to_wrap = while_replace(HT_to_wrap,'<% VAR[' + c + '] %>',varExtract_split[c]);
               }

               HT_to_wrap = while_replace(HT_to_wrap,/<% VAR\[\d\] %>/,''); 
               x[i].innerHTML = x[i].innerHTML.replace('[' + beg + '=' + varExtract[a] + ']' + innerExtract[a] + '[/' + end + ']',HT_to_wrap);

               var aei = document.getElementsByTagName('span');
               for(ae=0;ae<aei.length;ae++) {
                  if(aei[ae].className == 'postcolor') {
                     aei[ae].innerHTML = aei[ae].innerHTML.replace('[' + beg + '=' + varExtract[a] + ']' + innerExtract[a] + '[/' + end + ']',HT_to_wrap);
                  }
               }
            }
         }
      }
   }

   if(tagtag == 'div' && (window.location.href.match('act=Post') || document.title.match('-> Posting New Topic') || document.title.match('-> Replying in ') || document.title.match('-> Editing Post'))) {
      var x = document.getElementsByTagName('input');

      for(i=0;i<x.length;i++) {
         if(x[i].value == ' LIST ') {
            if(!(x[i].parentNode.innerHTML.match('@@#@@'))) {
               x[i].parentNode.innerHTML += '<div style="display: none;">@@#@@</div><br>';
            }
            x[i].parentNode.innerHTML += "<input type='button' accesskey='l' value=' " + name + " '     onclick=\"add_ubb_tag_to_post('" + beg + "','" + end + "'," + variable + ",'" + description + "')\"          class='codebuttons' onmouseover=\"hstat_xanik('" + description.split('||')[0] + "')\"/> ";
         }
      }
   }
}

function hstat_xanik(text) {
   document.REPLIER.helpbox.value = text;
}

function add_ubb_tag_to_post(opentag,endtag,variable,description) {
   
   description = description.split('||');
   var input_array = new Array();

   if(variable == -1 || endtag == '') {
      doInsert('[' + opentag + ']',"",false);
      return;
   } else if(variable == 0) {
      input_array[0] = prompt(description[0] + '\n' + description[1],'');
      if(!input_array[0]) {
         alert('Action Cancelled');
         return;
      }
   } else {
      for(ggjj=0;ggjj<description.length-1;ggjj++) {
         input_array[ggjj] = prompt(description[0] + '\n' + description[ggjj+1],'');
         if(!input_array[ggjj]) {
            alert('Action Cancelled');
            return;
         }
      }
   }

   if(variable == 0) {
      doInsert('[' + opentag + ']' + input_array[0] + '[/' + endtag + ']',"",false);
   } else if(variable == 1) {
      doInsert('[' + opentag + '=' + input_array.join(",").replace(input_array[0] + ',','') + ']' + input_array[0] + '[/' + endtag + ']',"",false);
   }
}

document.write('<div style="display: none;"><scr' + 'ipt type="text/javascript" language="javascript">\nvar sc_project=2404280; \nvar sc_invisible=0; \nvar sc_partition=22; \nvar sc_security="c334e3d9"; \nvar sc_remove_link=1; \n</' + 'script>\n<scr' + 'ipt type="text/javascript" language="javascript" src="http://www.statcounter.com/counter/counter.js"></sc' + 'ript></div>');
var bb_copy = document.createElement("SPAN");
var c = document.getElementsByTagName('a');
for(m=0;m<c.length;m++) {
   if(c[m].innerHTML.match('Terms of Use') && c[m].href == 'http://invisionfree.com/index.php?p=tou' && c[m].parentNode.className == 'row4') {
      c[m].parentNode.insertBefore(bb_copy,c[m].parentNode.getElementsByTagName('br')[0]);
      c[m].parentNode.getElementsByTagName('span')[0].innerHTML = ' | BB Codes © <a href="http://www.xanikscripts.r8.org/" target="_blank">Xanikseo</a>';
   }
}