var FORUM = {

  get_thread_body: function(id) {
  
    var bc = document.getElementById("$threadbody$"+id);
    if(bc.style.display!="none"){
      bc.style.display="none";
    } else {
      if(bc.innerHTML=="") {
      
        var req = FORUM.createRequest();
        req.open("get", "get_post_body.php?tid=" + id, true);
          
        req.onreadystatechange=function() {
          
          if(req.readyState==4) {
            if(req.status==200 || req.status==304) {
              var bc = document.getElementById("$threadbody$"+id);
              bc.innerHTML = req.responseText;           
              bc.style.display="block";
            }
          }
          
        };
        req.send(null);
        bc.innerHTML = "<div class='loading'><img src='images/loading.gif' /><span>Loading...</span></div>";
        bc.style.display="block";
        
      } else {
        bc.style.display="block";
      }
    }

  }
  
};



FORUM.createRequest=function() {
  if (typeof XMLHttpRequest != "undefined") { //for mozilla
    return (new XMLHttpRequest());
  } else {
    var arrObj=["MSXML2.XMLHttp.5.0", "MSXML2.XMLHttp.4.0",
      "MSXML2.XMLHttp.3.0", "MSXML2.XMLHttp", "Microsoft.XMHttp"];
    var req=null;
    for (var i=0;i<arrObj.length;i++) {
      try {
        req=new ActiveXObject(arrObj[i]);
        return req;
      } catch (e) { }
    }
  }
};

var VALIDATION = {

  require: function (field, fieldDesc) {
    var o = document.getElementById(field);
    if(o && o.value=="") {
      alert("Please enter value for " + fieldDesc);
      o.focus();
      o.select();
      return false;
    }
    return true;
  },
  
  checkDate:function (field, fieldDesc) {
    var o = document.getElementById(field);
    if(o && o.value!="") {
    var d = Date.parse(o.value);
      if(isNaN(d)) {
        alert("Please enter valid date value for " + fieldDesc);
        o.focus();
        o.select();
        return false;
      }
    }
    return true;
  }  
  
};