noPosting = false;
currentPage = 0;
freezeComments = false;
articleId = 0;
topicId = 0;
mouseX = false;
mouseY = false;
topicLocked = false;
forumCategories = new Array();
topicStarter = '';
categoryId = 0;
topicStartDate = 0;
newThread = false;
forumFront = 0;
postsReported = new Array();
requestedPost = 0;

var forumEngine = {
  init: function() {
    if (top.location.href.match("#")) forumEngine.goToPageFromURL();
    else if (currentPage > 1) forumEngine.goToPage(false, currentPage);
    else forumEngine.output_comments();
    forumEngine.highlightNavBar();
    forumEngine.renderPostButtons();
    forumEngine.renderTopicButtons();
    refresher = new PeriodicalExecuter(forumEngine.refresh_comments, 120);
    forumEngine.output_latestForumPosts(20);
    forumEngine.output_forumFront();
    //document.getElementById('bannerAD590').innerHTML = document.getElementById('hiddenBannerAd590').innerHTML;

    postsReported = (getCookieValue('postsReported')) ? getCookieValue('postsReported').split(',') : postsReported;
    if ($('deletedPostArea')) forumEngine.getDeletedPost();
    if ($('deletedTopicArea')) forumEngine.getDeletedTopic();
  },

  refresh_comments_universal: function() {
    if (articleId > 0 && (typeof podcastEngine == "undefined")) {
        artEngine.refresh_comments();
    } else if (typeof pimpmypcEngine != "undefined") {
        pimpmypcEngine.refresh_comments();
    } else if (typeof freecastEngine != "undefined") {
        freecastEngine.refresh_comments();
    } else if (typeof podcastEngine != "undefined") {
        podcastEngine.refresh_comments();
    } else if (categoryId > 0) {
        forumEngine.refresh_comments();
    }
  },

  refresh_comments: function() {
    var myAjax = new Ajax.Request('/include/forumFeed_js.php', {
      method: 'get',
      requestHeaders: ['Cache-Control', 'no-cache, must-revalidate, no-store', 'Expires', '0', 'pragma', 'no-cache'],
      parameters: 'art=' + articleId + '&topicId=' + topicId + '&categories=' + forumFront,
      onSuccess: function(req){
            eval(req.responseText);
            forumEngine.output_comments();
            forumEngine.output_latestForumPosts(20);
            }
    });
  },

  output_comments: function(divId, fromPost, toPost) {
    if (typeof divId == "undefined") {
     if ($('podcastComments')) divId = 'podcastComments';
     else if (articleId > 0) divId = 'storyComments';
     else if (pageName == 'forum') divId = 'forumPosts';
     else return;
    }
    //alert(freezeComments+' '+divId);
    if (!$(divId)) return;
    if ((typeof fromPost == "undefined") || (typeof toPost == "undefined")) {
      if (currentPage > 1) {
        fromPost = ((currentPage-1)*10)+1;
        toPost = fromPost + 9;
      } else {
        fromPost = 1;
        toPost = kommentarer_antall;
      }
    }
    output = '';

  if (!freezeComments && $(divId) ) {

      if ((divId == 'storyComments') || (divId == 'pimpedPCComments') || (divId == 'freecastComments') || (divId == 'podcastComments')) {
      var scroller = true;
      var height1 = $(divId).scrollTop;  /* SJEKK HVOR SCROLLBAREN STÅR */
      var goToBottom = false;
      if (height1 >= ($(divId).scrollHeight - 600)) goToBottom = true;
      if (kommentarer_antall > 0) {
        //headingOutput = '<h1><img alt="Kommentarer" src="/gfx/icons/comments18x14.png" width="18" height="14" /><span><b>' + kommentarer_antall + '</b> Kommentar';
		headingOutput = '<div class="commentsStripe"><div class="commentsHeadingleft">Kommentar';
		if (kommentarer_antall > 1) headingOutput += 'er';
		headingOutput += ':</div><div class="commentsHeadingRight"><img alt="Kommentarer" src="/gfx/icons/comments18x14.png" width="18" height="14" /><span><b>' + kommentarer_antall + '</b> Kommentar';
        if (kommentarer_antall > 1) headingOutput += 'er';
		if (divId == 'freecastComments') headingOutput += ' til sendingen';
        //headingOutput += '</span></h1>';
		headingOutput += '</span></div></div>';
        $('commentsHeading').innerHTML = headingOutput;
      } else {
        $('commentsHeading').innerHTML = '<h1><img alt="Kommentarer" src="/gfx/icons/comments18x14.png" width="18" height="14" /><span>Bli den første til å kommentere saken</span></h1>'
      }
      2}
      if (kommentarer_antall > 0) {
        var i = 1;
        var j = 0;
        kommentarer_id.each(function(kommentarId) {
          if ((j < toPost) && (j >= (fromPost-1))) {
            if (requestedPost == kommentarer_id[j]) output += '<div id="requestedPost"></div>';
            output += '<div class="post" style="';
            if ((kommentarer_status[j] == 'superuser')) {
              output += 'border: 1px dotted #354253;'
            }
            if (i==2) {
              i = 0;
              output += ' background-color: #eee;';
            }
            if (requestedPost == kommentarer_id[j]) {
              output += ' border: 2px dotted #ee7000;';
              if (articleId) output += ' background-color: #556677; color: #fff;';
              else requestedPost = 0;
            }
            output += '">';
            if (i==2) i=0;
            output += '<div class="inner" id="post_' + j + '">';
             output += '<div class="postFooter"><div class="postByline">Av <a title="' + kommentarer_navn[j] + '" href="/brukere/' + kommentarer_navn[j] + '"><b>' + kommentarer_navn[j] + '</b></a> <span>' + elapsed_time(kommentarer_dato[j]) + ':</span></div>';
            output += '<div class="postButtons" id="postButtons_' + j +'">';
            output += '</div>';
            output += '</div>';


            output += '<div class="avatar"><a title="' + kommentarer_navn[j] + '" href="/brukere/' + kommentarer_navn[j] + '"><img src="/gfx/image.php?src=users/' + encodeURIComponent(kommentarer_navn[j]) + '.jpg&h=50&w=50&default=/users/defaultUser.jpg" alt="' + kommentarer_navn[j] + '" /></a>';
            if (kommentarer_status[j] == 'moderator') output += '<br/>moderator';
            if (kommentarer_status[j] == 'superuser') output += '<br/>admin';
            output += '</div>';
            output += '<div class="postText"';
            output += '>';
            output += forumEngine.forum_format(kommentarer_tekst[j]);
            if (kommentarer_redigert[j] == 'redigert') output += ' <div style="font-size: 9px; color: #b2b79a;; margin-top: 8px;">[ </i>redigert</i> ]</div>';
            else if (kommentarer_redigert[j] == 'moderert') output += ' <div style="font-size: 9px; color: red; margin-top: 8px;">[ </i>redigert av moderator</i> ]</div>';
            output += '</div>';
/*            output += '<div class="postFooter"><div class="postByline">Av <a title="' + kommentarer_navn[j] + '" href="/brukere/' + kommentarer_navn[j] + '"><b>' + kommentarer_navn[j] + '</b></a> <span>' + elapsed_time(kommentarer_dato[j]) + '</span></div>';
            output += '<div class="postButtons" id="postButtons_' + j +'">';
            output += '</div>';
            output += '</div>'; */
            output += '</div></div></div>';
            i = i + 1;
          }
          j = j + 1;
        })
        output += '</div>';
      }
      $(divId).innerHTML = output;
     if (scroller === true) {
      /* SET SCROLLBAR TILBAKE DER LESEREN HADDE DEN */
       if (height1 > 0) {
        if (goToBottom === true) $(divId).scrollTop = $(divId).scrollHeight;
        else $(divId).scrollTop = height1;
      }
     } else if ($('requestedPost')) $('requestedPost').scrollTo();
      // if (divId=='forumPosts') Element.scrollTo('topicTitleArea');
      forumEngine.renderPostButtons();
       forumEngine.renderTopicButtons();
       forumEngine.renderNavBar();
       forumEngine.highlightNavBar();
       if ($('numPostsArea')) {
         output = 'Emnet har ' + kommentarer_antall + ' innlegg';
         $('numPostsArea').innerHTML = output;
      }
      if ($('topicStartDate') && topicStartDate) $('topicStartDate').innerHTML = elapsed_time(topicStartDate);
    }
  },

  renderPostButtons: function() {
  $$('.postButtons').each(function(el){
      var j = el.id.replace('postButtons_', '');
     output = '';
     if (!topicLocked) output += '<a href="javascript:forumEngine.quote(' + j + ');" title="Bruk utdrag fra dette innlegget">sitér</a> ';
      if (((kommentarer_status[j] != 'superuser') && (kommentarer_status[j] != 'moderator')) || ((kommentarer_navn[j] == my.username) || (my.status == 'superuser'))) {
        if ((kommentarer_navn[j] == my.username) && ((elapsed_seconds(kommentarer_dato[j]) < 86400) || ur_mod()) && (kommentarer_redigert[j] != 'moderert')){
          if (!topicLocked) output += '|';
          output += ' <a href="javascript:forumEngine.editPost(' + j +');" title="Rediger innlegg">rediger</a>';
          if (ur_mod()) output += ' | <a href="javascript:forumEngine.deletePost(' + j + ');" title="Slett innlegg">slett</a>';
        }
        else if (((my.status == "superuser") || (my.status == "moderator")) && (kommentarer_navn[j] != my.username))  {
          if (!topicLocked) output += '|';
          output += ' <a href="javascript:forumEngine.editPost('+ j + ',\'moderation\');" title="Rediger innlegg">rediger</a>';
          output += ' | <a href="javascript:forumEngine.deletePost(' + j + ',\'moderation\');" title="Slett innlegg">slett</a>';
        } else {
			if(my.username != 'gjest'){
        		if (!topicLocked) output += '|';
          		output += ' <a href="javascript: forumEngine.reportPost(' + j + ');" title="Varsle en moderator om upassende innhold">varsle</a> ';
			}
        }
      }
     el.innerHTML = output;
   })
  },

  renderTopicButtons: function() {
    if ($('topicButtons')) {
      output = '';
      if (((my.status == "superuser") || (my.status == "moderator")) || ((my.username == topicStarter) && elapsed_seconds(topicStartDate < 86400))) {
        output += ' <a href="javascript: forumEngine.editTopic();" title="Rediger tittelen">rediger</a>';
        output += ' | <a href="javascript: forumEngine.showMoveTopic();" title="Skift kategori">flytt</a>';
      }
      if ((my.status == "superuser") || (my.status == "moderator")) {
        if (topicLocked) {
          output += ' | <a href="javascript:forumEngine.unlockTopic();" title="Lås opp dette emnet">åpne</a>';
        } else {
          output += ' | <a href="javascript:forumEngine.lockTopic();" title="Lås dette emnet">lås</a>';
        }
        output += ' | <a href="javascript:forumEngine.deleteTopic();" title="Slett dette emnet">slett</a>';
      }
      $('topicButtons').innerHTML = output;
    }
  },

  renderNavBar: function() {
    if (kommentarer_antall > 10) {
      output = '';
      i = Math.floor((kommentarer_antall-1)/10)+1;
      numPages = i;
      j = 0;
      output += '<div class="inner">';
      output += '<div class="navPage" onclick="forumEngine.prevPage(event);"><div class="inner"><<</div></div>';
      while (i) {
        j++;
        if ((numPages > 20) && (j == (numPages-2))) output += '... ';
        if ((numPages < 20) || (j == currentPage) ||  (j == (currentPage-1)) ||  (j == (currentPage-2)) ||  (j == (currentPage+1)) || (j == (currentPage+2)) || (j < 4) || (j > (numPages-3))) {
          output += '<div class="navPage" onclick="forumEngine.goToPage(event, ' + j + ');"><div class="inner">' + j + '</div></div>';
        }
        // if (Math.round(j / 20) == (j / 20)) output += '<br />';
        if ((numPages > 20) && (j == 3)) output += '... ';
        i--;
      }
      output += '<div class="navPage" onclick="forumEngine.nextPage(event);"><div class="inner">>></div></div>';

      if ($('topNavBarArea') && $('bottomNavBarArea')) {
          $('topNavBarArea').innerHTML = '<div class="navBar" id="topNavBar"><div class="innder">' + output + '</div></div>';
          $('bottomNavBarArea').innerHTML = '<div class="navBar" id="bottomNavBar"><div class="innder">' + output + '</div></div>';
      }
    }
  },

  output_latestForumPosts: function(numTopics) {
   $('latestForumPosts').innerHTML = '<div class="inner">' + fpEngine.output_forumList(numTopics, 'FERSKE INNLEGG', false) + '</div>';
  },

  output_forumFront: function() {
    if ($('categoryListing')) {
      output = '';
      j = 0;
      i = 1;
      kategorier_id.each(function(id){
        output += '<div class="catListingItem"';
        if (i == 2) {
          output += ' style="background-color: #eee;"';
          i = 0;
        }
        output += '>';
        output += '<div class="category">';
        output += '<a href="/forum/kategori/' + (kategorier_id[j]) + '/" title="Klikk for å åpne denne kategorien">' + kategorier_tittel[j] + '</a>';
        output += '<br />' + kategorier_beskrivelse[j];
        output += '</div>';
        output += '<div class="topics">' + kategorier_antall[j] + '</div>';
        output += '<div class="lastPost">';
        if (kategorier_sisteId[j] > 0) {
	        output += '<div class="avatar"><a title="' + kategorier_sisteNavn[j] + '" href="/brukere/' + kategorier_sisteNavn[j] + '/"><img src="/gfx/image.php?src=users/' + encodeURIComponent(kategorier_sisteNavn[j]) + '.jpg&h=30&w=30&default=/users/defaultUser.jpg" alt="' + kategorier_sisteNavn[j] + '" /></a></div>';
    	    output += '<a href="/forum/' + kategorier_sisteId[j] + '/" title="Klikk for å åpne dette emnet"><u>' + kategorier_sisteTittel[j] + '</u> <span style="font-weight: normal; color: #ee7000;">[' + kategorier_sisteAntall[j] + ']</span>';
			if (kategorier_sisteStatus[j] == 'avsluttet') output += '<img src="/gfx/icons/locked.png" alt="Dette emnet er avsluttet" />';
			output += '</a>';
        	output += '<br />av <a class="user" href="/brukere/' + encodeURIComponent(kategorier_sisteNavn[j]) + '/" title="' + kategorier_sisteNavn[j] + '">' + kategorier_sisteNavn[j] + '</a> ' + elapsed_time(kategorier_sisteDato[j]);
        }
        else output += 'Ingen ferske innlegg i denne kategorien';
        output += '</div>';
        output += '</div>'; // END catListingItem

        if(j==4){
          //output += '<div id="bannerAD590" style="margin:5px 0px 10px 0px;"></div>';
        }

        j++;
        i++;
      });
     $('categoryListing').innerHTML = output;
    }
  },

  submitPost: function(text, type) {
    var newTopicTitle = (newThread) ? $F('newTopicTitle') : '';
    if (newThread || ((articleId == 0) && (typeof pimpedPCId == "undefined") && (typeof freecastSendingId == "undefined"))) {  /* DETTE ER EN FORUMPOST */
      if ($('selectCategory')) categoryId = $F('selectCategory');
      if ((categoryId == 0) || (categoryId < 1) || (categoryId > 64)) {
        alert("Du må velge en kategori for innlegget ditt!");
        return;
      }
    }
    if (typeof type == "undefined") return false;
    if (noPosting) {
      alert("Du må vente noen sekunder før du kan skrive et nytt innlegg.")
      return;
    }
    if (my.id < 1) {
      loginMsg = "Du må være pålogget som bruker av ITavisen.no for å skrive kommentarer.";
      doAfterLogin = "forumEngine.submitPost(text, type);";
      fpEngine.showLoginScreen(loginMsg);
    } else {
      if ($('commentSubmitButton')) $('commentSubmitButton').innerHTML = '<div class="inner"">Vent litt...</div>';
      switch(type) {
        case "articleComment":
          topicId = articleId;
          break;
        case "pimpedPC":
          topicId = pimpedPCId;
          if (topicId == 0) return false;
          break;
        case "freecast":
          topicId = freecastSendingId;
          if (topicId == 0) return false;
      }
      var myAjax = new Ajax.Request("/forum/forum_action.php", {
      method: 'post',
      requestHeaders: ['Cache-Control', 'no-cache, must-revalidate, no-store', 'Expires', '0', 'pragma', 'no-cache'],
      parameters: 'task=submitPost&type=' + type + '&text=' + encodeURIComponent(text) + '&topicId=' + topicId + '&categoryId=' + categoryId + '&newTopicTitle=' + encodeURIComponent(newTopicTitle) + '&ajax=' + new Date() * 1,
      onSuccess: function(req){
          if (req.responseText) {
            if (newThread) {
              eval(req.responseText);
            } else {
              alert(req.responseText);
            }
          } else {
            if ($('commentInputText')) $('commentInputText').clear();
            if ($('commentSubmitButton')) {
              $('commentSubmitButton').innerHTML = '<div class="inner"">Takk</div>';
              setTimeout("$('commentSubmitButton').innerHTML = '<div class=\"inner\">Send kommentar</div>';", 10000);
            }
            noPosting = true;  // FOR Å FORHINDRE DOBBELTPOSTING, 10 sek
            setTimeout("noPosting = false;", 10000);
            freezeComments = false;
            forumEngine.refresh_comments_universal();
          }
        }
      });
    }
  },

  deletePost: function(j, moderation) {
    if (typeof moderation == "undefined") moderation = false;
    if (typeof j == "undefined") return false;
    postId = kommentarer_id[j];
    if (confirm("Virkelig slette dette innlegget?")) {
      if (moderation === 'moderation') {
        var reason = prompt('Hva er årsaken til at du sletter dette innlegget?', '');
      } else {
        var reason = '';
      }
      if (!reason && moderation) return;
      $('post_' + j).innerHTML = '<img src="/gfx/icons/rotation.gif" alt="Vent litt, oppdaterer..." />';
      var myAjax = new Ajax.Request("/forum/forum_action.php", {
      method: 'post',
      requestHeaders: ['Cache-Control', 'no-cache, must-revalidate, no-store', 'Expires', '0', 'pragma', 'no-cache'],
      parameters: 'task=deletePost&postId=' + postId + '&reason=' + reason + '&ajax=' + new Date() * 1,
      onSuccess: function(req){
          if (req.responseText) {
            alert(req.responseText);
          } else {
            forumEngine.refresh_comments_universal();
          }
        }
      });
    }
  },

  undeletePost: function(postId) {
    if (confirm("Undelete, altså? Sikker?")) {
      var myAjax = new Ajax.Request("/forum/forum_action.php", {
      method: 'post',
      requestHeaders: ['Cache-Control', 'no-cache, must-revalidate, no-store', 'Expires', '0', 'pragma', 'no-cache'],
      parameters: 'task=undeletePost&postId=' + postId + '&ajax=' + new Date() * 1,
      onSuccess: function(req){
          if (req.responseText) {
            alert(req.responseText);
          } else {
      top.location.href = '/forum/post/' + postId + '/';
          }
      }
      });
    }
  },

  insertSmiley: function(smiley, divId) {
    if ($(divId)) {
      if ($F(divId) == 'Skriv her...') $(divId).clear();
      $(divId).value += smiley;
    }
  },

  openSmileyWindow: function(divId){
    window.open('/forum/smileyWindow.php?divId=' + divId, 'smileys','directories=no, height=400, width=200, location=no, menubar=no, resizable=no, toolbar=no');
  },

  quote: function(j) {
    if ($('commentInputText')) {
      if ($F('commentInputText') == 'Skriv her...') $('commentInputText').clear();
      $('commentInputText').value += '[quote=' + kommentarer_navn[j] + ']' + strip_tags_forum(kommentarer_tekst[j]).replace(/\[quote=([^\]]*)\]([^\[]*)\[\/quote\]/ig, '') + '[/quote]';
      window.scroll(0, (Position.cumulativeOffset($('commentInputText'))[1])-20);
    }
  },

  editPost: function(j, moderation) {
    freezeComments = true;
    if (typeof moderation == "undefined") moderation = false;
    var reason = '';
    /*if (moderation === 'moderation') {
        reason = prompt('For ordens skyld...hva er årsaken til at du vil moderere dette innlegget?', '');
      }
    */
    if ($('editInput')) {
      freezeComments = false;
      forumEngine.output_comments();
    }
    $('post_' + j).innerHTML = '<div class="postEditArea">Rediger innlegg fra <b>' + kommentarer_navn[j] + '</b>:</b><br/><textarea class="commentEdit" id="editInput">' + strip_tags_forum(kommentarer_tekst[j]) + '</textarea><div style="text-align: right;"><input type="submit" name="OK" value="OK" onclick="javascript: forumEngine.submitEdit(' + j + ', \'' + reason + '\');" /> <input type="submit" name="glem det" value="glem det" onclick="javascript:freezeComments = false; forumEngine.output_comments();" /></div></div>';
    $('editInput').focus();
  },

  submitEdit: function(j, reason) {
    if (typeof reason == "undefined") reason = false;
    if ($('editInput')) {
     if (!$F('editInput')) {
      alert("Du kan ikke ha en blank kommentar!");
      return false;
     }
     newCommentText = $F('editInput');
     $('post_' + j).innerHTML = '<img src="/gfx/icons/rotation.gif" alt="Vent litt, oppdaterer..." />';
      var myAjax = new Ajax.Request("/forum/forum_action.php", {
      method: 'post',
      requestHeaders: ['Cache-Control', 'no-cache, must-revalidate, no-store', 'Expires', '0', 'pragma', 'no-cache'],
      parameters: 'task=updatePost&postId=' + kommentarer_id[j] + '&text=' + encodeURIComponent(newCommentText) + '&ajax=' + new Date() * 1,
      onSuccess: function(req){
          if (req.responseText) {
            alert(req.responseText);
          } else {
            freezeComments = false;
            forumEngine.refresh_comments_universal();
          }
        }
      });
    }
  },

  lockTopic: function() {
    var myAjax = new Ajax.Request("/forum/forum_action.php", {
    method: 'post',
    requestHeaders: ['Cache-Control', 'no-cache, must-revalidate, no-store', 'Expires', '0', 'pragma', 'no-cache'],
    parameters: 'task=lockTopic&topicId=' + topicId + '&ajax=' + new Date() * 1,
    onSuccess: function(req){
        if (req.responseText) {
          alert(req.responseText);
        } else {
          window.location.reload(true);
        }
      }
    });
  },

  unlockTopic: function() {
    var myAjax = new Ajax.Request("/forum/forum_action.php", {
    method: 'post',
    requestHeaders: ['Cache-Control', 'no-cache, must-revalidate, no-store', 'Expires', '0', 'pragma', 'no-cache'],
    parameters: 'task=unlockTopic&topicId=' + topicId + '&ajax=' + new Date() * 1,
    onSuccess: function(req){
        if (req.responseText) {
          alert(req.responseText);
        } else {
          window.location.reload(true);
        }
      }
    });
  },

  deleteTopic: function() {
    var reason = prompt('Hva er årsaken til at du sletter dette emnet?', '');
    if (reason) {
      var myAjax = new Ajax.Request("/forum/forum_action.php", {
        method: 'post',
        requestHeaders: ['Cache-Control', 'no-cache, must-revalidate, no-store', 'Expires', '0', 'pragma', 'no-cache'],
        parameters: 'task=deleteTopic&topicId=' + topicId + '&reason=' + encodeURIComponent(reason) + '&ajax=' + new Date() * 1,
        onSuccess: function(req){
            if (req.responseText) {
              alert(req.responseText);
            } else {
              top.location.href="/forum/";
            }
          }
        });
    }
  },

  editTopic: function() {
    if ((my.status == "superuser") || (my.status == "moderator")) {
      var oldTitle = strip_tags($('topicTitle').innerHTML);
      var newTitle = prompt('Skriv inn ny tittel for dette emnet', oldTitle);
      if (newTitle) {
       var myAjax = new Ajax.Request("/forum/forum_action.php", {
        method: 'post',
        requestHeaders: ['Cache-Control', 'no-cache, must-revalidate, no-store', 'Expires', '0', 'pragma', 'no-cache'],
        parameters: 'task=editTopicTitle&topicId=' + topicId + '&newTitle=' + encodeURIComponent(newTitle) + '&ajax=' + new Date() * 1,
        onSuccess: function(req){
            if (req.responseText) {
              alert(req.responseText);
            } else {
              window.location.reload(true);
            }
          }
        });
      }
    }
  },

  showMoveTopic: function() {
    if ((my.status == "superuser") || (my.status == "moderator")) {
      freezeComments = true;
      output = '<select name="selectCategory" id="selectCategory" onchange="forumEngine.moveTopic(this.value);">';
      forumCategories.each(function(category, id){
        if (typeof category != 'undefined') {
          if ((id > 1) && (id < 65)) {
            output += '<option value="' + id + '"';
            if (id == categoryId) output += ' selected="selected"';
            output += '>' + category + '</option>';
          }
        }
      });
      output += '</select>';
      $('topicButtons').innerHTML = output;
      }
  },

  moveTopic: function(newCategoryId) {
    if (typeof newCategoryId != 'undefined') {
      var myAjax = new Ajax.Request("/forum/forum_action.php", {
        method: 'post',
        requestHeaders: ['Cache-Control', 'no-cache, must-revalidate, no-store', 'Expires', '0', 'pragma', 'no-cache'],
        parameters: 'task=moveTopic&topicId=' + topicId + '&newCategoryId=' + newCategoryId + '&ajax=' + new Date() * 1,
        onSuccess: function(req){
            if (req.responseText) {
              alert(req.responseText);
            } else {
              window.location.reload(true);
            }
          }
        });
    }
  },

  forum_format: function(str) {
    str = html_to_norsk(str);
    str = str.replace(/\[url\](https?:\/\/)?(.+?)\[\/url\]/ig,"<a href=\"$1$2\" target=_blank>$2</a>");
    str = str.replace(/\[url=(https?:\/\/)?(.+?)\](.+?)\[\/url\]/ig,"<a href=\"$1$2\" target=_blank>$3</a>");
    str = str.replace(/\[quote=([^\]]*)\]([^\[]*)\[\/quote\]/ig, '<div class="quote"><div class="quoteName"><b>$1</b> skrev:</div><div class="quoteText"><div class="inner">$2</div></div></div>');
    // str = str.replace(/(:([^:|\s]*):)/ig, '<img src="/gfx/icons/smileys/$2.gif" border="0" alt="$2">');
    str = str.replace(/(:(anerikke|banger|blunker|banner|digger|digger2|fekteduell|forbauset|grine|gryn|hammer|hmf|hmskilt|hyllest|lol|knegg|plystre|kongen|pcnerd|digger|digger|winkwink|oppgitt|oppgitt2|krangel|lokkeavtale|solbrilleglis|pchammer|pcnerd|pirat|regler|respekt|sjokkert|skjenne|skaal|sover|standard|tunge2|uzi|yuck|klapper):)/ig, '<img src="/gfx/icons/smileys/$2.gif" border="0" alt="$2">');
    str = str.replace(/(:\)|:-\))/ig, '<img src="/gfx/icons/smileys/standard.gif" border="0" alt="smil">');
    str = str.replace(/(:D|:-D)/ig, '<img src="/gfx/icons/smileys/glis.gif" border="0" alt="glis">');
    str = str.replace(/(:\(|:-\()/ig, '<img src="/gfx/icons/smileys/trist.gif" border="0" alt="trist">');
    str = str.replace(/(;\)|;-\))/ig, '<img src="/gfx/icons/smileys/blunker.gif" border="0" alt="blunker">');
    str = str.replace(/(:P|:-P)/ig, '<img src="/gfx/icons/smileys/tunge.gif" border="0" alt="tunge">');
	str = str.replace(/\\\//g, '/'); // counter of some obscure bug produced by eval();
    return str;
  },

  highlightNavBar: function() {
    if (currentPage > 0) {
      $$('.navPage').each(function(el){
        if (parseInt(strip_tags(el.innerHTML)) == currentPage) {
          el.addClassName('selectedPage');
        } else {
          if (el.hasClassName('selectedPage')) el.removeClassName('selectedPage');
        }
      })
    }
  },

  goToPage: function(event, page) {
    page = page * 1;
    if (event) {
      var mouseY = getPointerY(event);
      var mouseX = getPointerY(event);
    }
    freezeComments = false;
    var fromPost = ((page-1) * 10) + 1;
    var toPost = fromPost + 9;
    currentPage = page;
    forumEngine.output_comments('forumPosts', fromPost, toPost);
    if (top.location.href.match("#")) top.location.href = top.location.href.slice(0, top.location.href.indexOf('#')) + '#' + currentPage;
    else top.location.href = top.location.href + "#" + currentPage;
    if (event) {
      Position.prepare();
      if ((!Position.withinIncludingScrolloffsets($('bottomNavBar'), mouseX, mouseY)) && (!Position.withinIncludingScrolloffsets($('topNavBar'), mouseX, mouseY))) window.scroll(0, (Position.cumulativeOffset($('topNavBar'))[1])-300);
    }
  },

  nextPage: function(event) {
    if ((currentPage) <= (Math.floor((kommentarer_antall-1)/10)))  forumEngine.goToPage(event, (currentPage*1)+1);
  },

  prevPage: function(event) {
    if (currentPage > 1) forumEngine.goToPage(event, (currentPage*1)-1);
  },

  goToPageFromURL: function() {
    if (top.location.href.match("#")) {
      forumEngine.goToPage(false, top.location.href.slice(top.location.href.indexOf('#')+1));
    }
  },

  registerComment: function() {
    if (($F('commentInputText') === 'Skriv her...') || !$F('commentInputText')) {
      alert("Du må skrive noe i kommentarfeltet først!");
      $('commentInputText').clear();
      $('commentInputText').focus();
      return;
    }
    if (newThread) {
      if ($F('selectCategory') == 0) {
        alert("Du må velge en kategori for innlegget ditt.");
        return;
      }
      if (!$F('newTopicTitle')) {
        alert("Du må skrive inn en tittel for emnet ditt først.");
        return;
      }
    } else if (categoryId == 0) {
        alert("Du må velge en kategori for innlegget ditt.");
        return;
    }
    if (my.id < 1) {
      loginMsg = "Du må være pålogget som bruker av ITavisen.no for å skrive kommentarer.";
      doAfterLogin = "forumEngine.submitPost($F('commentInputText'), 'phorum');";
      fpEngine.showLoginScreen(loginMsg);
      return;
    }
    forumEngine.submitPost($F('commentInputText'), 'phorum');
  },

  reportPost: function(j) {
    if (typeof j != "undefined") {
      postId = kommentarer_id[j];
      postsReported.each(function(reportedPost){
        if (reportedPost == postId) {
          alert('Du har allerede rapportert denne posten');
          postId = false;
          return;
        }
      });
      if (!postId) return;
      reason = prompt('Hvis du mener det er noe galt med denne posten, og du ønsker at moderatorene skal ta en nærmere titt på den (evt. fjerne den), vennligst oppgi begrunnelsen din for dette ønsket her: ', '');
      if (reason) {
        var myAjax = new Ajax.Request("/forum/forum_action.php", {
          method: 'post',
          requestHeaders: ['Cache-Control', 'no-cache, must-revalidate, no-store', 'Expires', '0', 'pragma', 'no-cache'],
          parameters: 'task=reportPost&postId=' + postId + '&reason=' + encodeURIComponent(reason) + '&ajax=' + new Date() * 1,
          onSuccess: function(req){
              if (req.responseText) {
                alert(req.responseText);
              } else {
                postsReported[postsReported.length] = postId;
                writeSessionCookie('postsReported',postsReported.join(','));
                alert('Takk! Din kommentar er registrert, og ITavisens moderatorer vil bli varslet. ');
              }
            }
          });
      }
    }
  },

  forumSearchSubmit: function() {
    if ($('forumSearchInput')) {
      if ($F('forumSearchInput') && ($F('forumSearchInput') != 'Forumsøk...')) top.location.href = '/forum/finn/' + encodeURIComponent(strip_tags($F('forumSearchInput')));
    }
  },

  getDeletedPost: function() {
    if (ur_mod()) {
     $('deletedPostArea').innerHTML = '<center><img src="/gfx/icons/rotation.gif" alt="Henter innlegg..." /><br/><br/>Vennligst vent, henter innlegg...</center>';
      var myAjax = new Ajax.Request("/forum/forum_action.php", {
      method: 'post',
      requestHeaders: ['Cache-Control', 'no-cache, must-revalidate, no-store', 'Expires', '0', 'pragma', 'no-cache'],
      parameters: 'task=getDeletedPost&postId=' + requestedPost + '&ajax=' + new Date() * 1,
      onSuccess: function(req){
          if (req.responseText) {
            $('deletedPostArea').innerHTML = req.responseText;
          }
        }
      });
    }
  },
  
  getDeletedTopic: function() {
    if (ur_mod()) {
     $('deletedTopicArea').innerHTML = '<center><img src="/gfx/icons/rotation.gif" alt="Henter slettet emne..." /><br/><br/>Vennligst vent, henter info om emne...</center>';
      var myAjax = new Ajax.Request("/forum/forum_action.php", {
      method: 'post',
      requestHeaders: ['Cache-Control', 'no-cache, must-revalidate, no-store', 'Expires', '0', 'pragma', 'no-cache'],
      parameters: 'task=getDeletedTopic&topicId=' + topicId + '&ajax=' + new Date() * 1,
      onSuccess: function(req){
          if (req.responseText) {
            $('deletedTopicArea').innerHTML = req.responseText;
          }
        }
      });
    }
  }

};
//alert("denne blir inkludert");
