var xmlhttp=false;
var gErr=true;
/*@cc_on @*/
/*@if (@_jscript_version >= 5)
// JScript gives us Conditional compilation, we can cope with old IE versions.
// and security blocked creation of the objects.
  try {
  xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
  } catch (e) {
   try {
    xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
   } catch (E) {
    xmlhttp = false;
   }
  }
@end @*/
if(!xmlhttp && typeof XMLHttpRequest != 'undefined'){
  xmlhttp = new XMLHttpRequest();
}

function RetriveData(a, e, error) {
  var xmlret;
  var gData;
  
  if(TestQue()) {
    xmlhttp.open("GET", "fsBB_AJAX.asp?a=" + a + e);
    xmlhttp.onreadystatechange = function(){
      if(xmlhttp.readyState == 4){
        switch(xmlhttp.status) {
          case 200 :
            xmlret = xmlhttp.responseText;
            break;
          case 404 :
            xmlret = "ERR404";
            break;
          case 500 :
            xmlret = "ERR500";
            break;
          default :
            xmlret = "ERR000";
        }
        
        if(error) {
          if(xmlret == "ERR404") {alert('404 Error uppstod!');}
          if(xmlret == "ERR500") {alert('500 Error uppstod!');}
          if(xmlret == "ERR000") {alert('Error uppstod!');}
          if(xmlret == "NODATA") {alert('Ingen data är hämtad!');}
        }
  
        jsHandleAJAX(a,xmlret);
      }
    }
    xmlhttp.send(null);
  } else {
    setTimeout("RetriveData(" + a + ", " + e + ", " + error + ");", 1);
  }
}

/* ####################### */
/* #### ^ AJAXMOTOR ^ #### */
/* ####################### */

function TestQue() {
  if(xmlhttp.readyState == 1) {
    return false;
  } else {
    return true;
  }
}

function StayOnline() {
  var sData;
  
  sData = RetriveData(1, "", gErr);
  setTimeout("StayOnline();", 60000);
}

function jsHandleAJAX(a, sData) {
  switch(a) {
    case 2 :
      switch(sData) {
        case "TRUE" :
          alert('INFORMATION\nDu är nu ägare av denna tråd!');
          document.getElementById('bt_Ownership').disabled = true;
          break;
        default :
          alert('FEL UPPSTOD!\nFel uppstod och ägaren kunde inte ändras!');
      }
      break;
    case 3 :
      switch(sData) {
        case "TRUE" :
          alert('INFORMATION\nInlägget är nu utbruten som en egen tråd!');
          document.location.reload();
          break;
        default :
          alert('FEL UPPSTOD!\nFel uppstod och tråden kunde inte bytas ut!');
      }
      break;
    case 4 :
      var eUII = document.getElementById("ExtUserInfoInner");
      eUII.innerHTML = sData;
      break;
    case 5 :
      switch(sData) {
        case "TRUE_1" :
          alert('INFORMATION\nTråden är nu låst!!');
          document.location.reload();
          break;
        case "FALSE_1" :
          alert('FEL UPPSTOD!\nFel uppstod och tråden kunde inte låsas!');
          break;
        case "TRUE_2" :
          alert('INFORMATION\nTråden är nu upplåst!!');
          document.location.reload();
          break;
        case "FALSE_2" :
          alert('FEL UPPSTOD!\nFel uppstod och tråden kunde inte låsas upp!');
          break;
      }
      break;
    case 6 :
      var eUII = document.getElementById("ExtUserNameStatus");
      eUII.innerHTML = sData;
      break;
    case 7 :
      var eUII = document.getElementById("ExtUserNameStatus");
      eUII.innerHTML = sData;
      break;
  }
}

function jsTakeOwnership(no, ni) {RetriveData(2, "&no=" + no + "&ni=" + ni, gErr);}
function jsBreakOutPost(ni) {sData = RetriveData(3, "&ni=" + ni, gErr);}
function jsGetUserData(id) {sData = RetriveData(4, "&id=" + id, gErr);}
function jsLockSatus(id,way) {sData = RetriveData(5, "&id=" + id + "&way=" + way, gErr);}
function jsGetUserNameLegacy(an) {sData = RetriveData(6, "&an=" + an, gErr);}
function jsGetUserNameExist(an) {sData = RetriveData(7, "&an=" + an, gErr);}