function loadConfiguration()
{
     var url='modules.php?mod=adminforums&req=config';
     displayText('forumsmain',url);
}

function updateConfiguration(form)
{
     var nonmember_posts=form.nonmember_posts.checked==true ? 1:0;
     var url='modules.php?mod=adminforums&req=updateconfig'+
          '&board_name='+form.board_name.value+
          '&posts_per_page='+form.posts_per_page.value+
          '&posts_per_thread='+form.posts_per_thread.value+
          '&nonmember_posts='+nonmember_posts;
     ret=serverFunction(url);
     loadLinks();
}

function loadLinks()
{     
     url='modules.php?mod=adminforums&req=loadlinks';
     displayText('forumsmain',url);
}

function loadForums()
{
     var url='modules.php?mod=adminforums&req=forums';
     displayText('forumsmain',url);
}

function addForum()
{
     var url='modules.php?mod=adminforums&req=addforum';
     displayText('forumsmain',url);
}

function insertForum(form)
{
     orderno=form.orderno.value;
     forum=form.forum.value;
     groupid=form.groupid.value;
     archived=form.archived.checked;
     if (form.allow[0].checked)
          allow=1;
     else
          allow=0;
     var url='modules.php?mod=adminforums&req=insertforum&orderno='
                                   +orderno+'&forum='+forum+'&groupid='+groupid+'&allow='+allow+'&archived='+archived;
     serverFunction(url);
     loadForums();
}

function deleteForums(form)
{
     var recs='';
     for (x=0; x < form.del.length; x++)
          {
          if (form.del[x].checked==true)
               {
               if (recs=='')
                    recs=form.recno[x].value;
               else
                    recs+=','+form.recno[x].value;
               }
          }

     if (recs=='')
          {
          alert('No forums chosen for deletion.');
          return false;
          }
               
     url='modules.php?mod=adminforums&req=delete&recs='+recs;
     ret=serverFunction(url);
     loadForums();
}

function editForum(forumid)
{
     url='modules.php?mod=adminforums&req=edit&forumid='+forumid;
     displayText('forumsmain',url);  
}

function updateForum(form)
{
     forumid=form.forumid.value;
     orderno=form.orderno.value;
     forum=form.forum.value;
     groupid=form.groupid.value;
     archived=form.archived.checked;
     if (form.allow[0].checked)
          allow=1;
     else
          allow=0;
     var url='modules.php?mod=adminforums&req=updateforum&forumid='+forumid+'&orderno='
                          +orderno+'&forum='+forum+'&groupid='+groupid+'&allow='+allow+'&archived='+archived;
     ret=serverFunction(url);
     loadForums();
}

function loadThreads(forumid)
{
     var url='modules.php?mod=adminforums&req=threads&forumid='+forumid;
     displayText('forumsmain',url);
}

function addThread(forumid)
{
     var url='modules.php?mod=adminforums&req=addthread&forumid='+forumid;
     displayText('forumsmain',url);
}

function insertThread(form)
{
     orderno=form.orderno.value;
     body=form.body.value;
     subject=form.subject.value;
     groupid=form.groupid.value;
     forumid=form.forumid.value;
     archived=form.archived.checked;
     allow=form.allow[0].checked;
     var url='modules.php?mod=adminforums&req=insertthread&orderno='
           +orderno+'&body='+body+'&subject='+subject+'&forumid='+forumid+'&groupid='+groupid+'&allow='+allow+'&archived='+archived;
     ret=serverFunction(url);
     loadThreads(forumid);
}

function editThread(threadid)
{
     url='modules.php?mod=adminforums&req=editthread&threadid='+threadid;
     displayText('forumsmain',url);  
}

function updateThread(form)
{
     threadid=form.threadid.value;
     forumid=form.forumid.value;
     orderno=form.orderno.value;
     body=form.body.value;
     subject=form.subject.value;
     groupid=form.groupid.value;
     archived=form.archived.checked;
     if (form.allow[0].checked)
          allow=1;
     else
          allow=0;
     var url='modules.php?mod=adminforums&req=updatethread&forumid='+forumid+'&threadid='+threadid+'&orderno='+orderno+'&body='+body+'&subject='+subject+'&groupid='+groupid+'&allow='+allow+'&archived='+archived;
     ret=serverFunction(url);
     loadThreads(forumid);

}

function deleteThreads(form)
{
     var recs='';
     for (x=0; x < form.del.length; x++)
          {
          if (form.del[x].checked==true)
               {
               if (recs=='')
                    recs=form.recno[x].value;
               else
                    recs+=','+form.recno[x].value;
               }
          }
     if (recs=='')
          {
          alert('No threads chosen for deletion.');
          return false;
          }               
     url='modules.php?mod=adminforums&req=deletethreads&recs='+recs;
     ret=serverFunction(url);
     loadThreads(form.forumid.value);
}

function validateForm(form)
{

     var error_message = "The following required fields are missing:";
     var errors=0;
     if (isEmpty(form.user_name))
          {
          error_message = error_message + "\nUser Name";
          errors=1;
          }
 
     if (isEmpty(form.user_pass1))
          {
          error_message = error_message + "\nPassword 1";
          errors=1;
          }
     if (isEmpty(form.user_pass2))
          {
          error_message = error_message + "\nPassword 2";
          errors=1;
          }
     if (form.user_pass1.textLength < 5 || form.user_pass2.textLength < 5)
          {
          error_message = error_message + "\nPassword must be minimum 5 characters.";
          errors=1;
          } 
     if (form.user_pass1.value != form.user_pass2.value)
          {
          error_message = error_message + "\nPassword entries do not match.";
          errors=1;
          }            
     if (isEmpty(form.first))
          {
          error_message = error_message + "\nFirst Name";
          errors=1;
          }
     if (isEmpty(form.last))
          {
          error_message = error_message + "\nLast Name";
          errors=1;
          }
     if (isEmpty(form.email))
          {
          error_message = error_message + "\nEmail";
          errors=1;
          }
     if (errors==0)
          return true;
     alert(error_message);
     return false;       
}