﻿//creates a cross browser ajax function

function createAjaxObj()
{
var ajaxObj;
try
  {
  // Firefox, Opera 8.0+, Safari
  ajaxObj=new XMLHttpRequest();
  }
catch (e)
  {
  // Internet Explorer
  try
    {
    ajaxObj=new ActiveXObject("Msxml2.XMLHTTP.3.0");
    }
  catch (e)
    {
    try
      {
      ajaxObj=new ActiveXObject("Microsoft.XMLHTTP");
      }
    catch (e)
      {
      alert("Your browser does not support AJAX!");
      return false;
      }
    }
  }
    return ajaxObj;
}



//cross browser DOMParser
if (typeof DOMParser == "undefined") {
   DOMParser = function () {}

   DOMParser.prototype.parseFromString = function (str, contentType) {
      if (typeof ActiveXObject != "undefined") {
         var d = new ActiveXObject("MSXML.DomDocument");
         d.loadXML(str);
         return d;
      } else if (typeof XMLHttpRequest != "undefined") {
         var req = new XMLHttpRequest;
         req.open("GET", "data:" + (contentType || "application/xml") +
                         ";charset=utf-8," + encodeURIComponent(str), false);
         if (req.overrideMimeType) {
            req.overrideMimeType(contentType);
         }
         req.send(null);
         return req.responseXML;
      }
   }
}

function showBadLogin()
{
     document.getElementById("spnUName").innerHTML = "Sign In";
     document.getElementById("spnStatus").innerHTML = "Bad Username/Password";
     document.getElementById("spnStatus").style.color = "Red";
     document.getElementById("btnLogin").disabled = false;
}

function AJAXLogin ()
{
    document.getElementById("spnStatus").style.color = "Black";
    document.getElementById("spnStatus").innerHTML = "Logging in...";
    document.getElementById("btnLogin").disabled = true;
    var uName = document.getElementById("uName").value;
    var pWord = document.getElementById("pWord").value;
    var remember;
    if(document.getElementById("chkRemember").checked)
        remember = "yes";
    else
        remember = "no";
   
    var ajaxObj = createAjaxObj();
    ajaxObj.open("GET","/account/loginAJAX.aspx?mode=login&u=" + uName + "&p=" + pWord + "&r=" + remember , false);
    ajaxObj.send(null);
    
   
    if(ajaxObj.status == 201)
        setTimeout("showBadLogin()",500);
    else if(ajaxObj.status == 202)
    {
        location.href = "/account/banned.aspx";
    }
    else if(ajaxObj.status == 200)
    {
        document.getElementById("spnUName").innerHTML = ajaxObj.responseText;
        document.getElementById("spnStatus").innerHTML = "";
        document.getElementById("loggedOutTable").style.display = "none";
        document.getElementById("loggedInTable").style.display = "block";
        document.getElementById("uName").value = "";
        document.getElementById("pWord").value = "";
        location.href = location.href;
    }
}

function AJAXLogout ()
{
    document.getElementById("btnLogout").disbaled = true;
    var ajaxObj = createAjaxObj();
    ajaxObj.open("GET","/account/loginAJAX.aspx?mode=logout", false);
    ajaxObj.send(null);
    if(ajaxObj.status == 200)
    {
        document.getElementById("loggedOutTable").style.display = "block";
        document.getElementById("loggedInTable").style.display = "none";
        document.getElementById("spnUName").innerHTML = "Sign In";
        document.getElementById("spnStatus").innerHTML = "";
        document.getElementById("uName").value = "";
        document.getElementById("pWord").value = "";
        location.href = location.href;
    }
    document.getElementById("btnLogout").disbaled = false;
}