
/* - authenticationConversion.js - */
 var keyStr = "ABCDEFGHIJKLMNOP" +
                "QRSTUVWXYZabcdef" +
                "ghijklmnopqrstuv" +
                "wxyz0123456789+/" +
                "=";

   function encode64(input) {
      var output = "";
      var chr1, chr2, chr3 = "";
      var enc1, enc2, enc3, enc4 = "";
      var i = 0;

      do {
         chr1 = input.charCodeAt(i++);
         chr2 = input.charCodeAt(i++);
         chr3 = input.charCodeAt(i++);

         enc1 = chr1 >> 2;
         enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);
         enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);
         enc4 = chr3 & 63;

         if (isNaN(chr2)) {
            enc3 = enc4 = 64;
         } else if (isNaN(chr3)) {
            enc4 = 64;
         }

         output = output +
            keyStr.charAt(enc1) +
            keyStr.charAt(enc2) +
            keyStr.charAt(enc3) +
            keyStr.charAt(enc4);
         chr1 = chr2 = chr3 = "";
         enc1 = enc2 = enc3 = enc4 = "";
      } while (i < input.length);

      return output;
   }


function randomString() {
	var chars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz";
	var string_length = 8;
	var randomstring = '';
	for (var i=0; i<string_length; i++) {
		var rnum = Math.floor(Math.random() * chars.length);
		randomstring += chars.substring(rnum,rnum+1);
	}
	return randomstring;
}


function generateSalt(ourl)
{
    var login=document.getElementById('__ac_name').value
    var password=document.getElementById('__ac_password').value
    var c=0;
    if(login.length=='')
    {
      alert('Login Name Cannot Be Blank');
      c=1;
    }

    if(password.length=='')
    {
      alert('Password Cannot Be Blank');
      c=1;
    }

    if(c==0)
    {
      var random1=randomString();
      var random2=randomString();
      var newpass1=random1+'~/~'+encode64(password)+'~/~'+random2;
      //alert(newpass1);
      finalsalt(newpass1,login,ourl);
    }
 }



function finalsalt(incpass,loginid,ourl)
{
var fpath=ourl+'/getfinalsalt?inc='+incpass+'&loginid='+loginid;
//alert(fpath);
var fpath1=fpath+"&timestamp=" + new Date().getTime();
var xmlhttp;
if (window.XMLHttpRequest)
  {
  // code for IE7+, Firefox, Chrome, Opera, Safari
  xmlhttp=new XMLHttpRequest();
 }
else if (window.ActiveXObject)
  {
  // code for IE6, IE5
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
 }
else
  {
  alert("Your browser does not support XMLHTTP!");
 }


xmlhttp.onreadystatechange=function()
{
if(xmlhttp.readyState==4)
  {
if (xmlhttp.status==200)
    {
     var finalsaltvalue=xmlhttp.responseText;
     if(finalsaltvalue == -1){
      alert('Your account seems to be locked. Kindly contact Portal Administrator.');
      return false;
     }
     else if(finalsaltvalue == 0){
      alert('Oops!!! There is problem with Portal. Plesae contact Portal Administrator.');
      return false;
     }
     else {
     document.getElementById('__ac_password').value= finalsaltvalue;
     document.loginform.submit();
     }

     }
else
   {
    
    alert("Message: Invalid Username or Password!!");
    //alert(xmlhttp.statusText);
   }

  }
}
xmlhttp.open("GET",fpath1,true);
xmlhttp.send(null);
}

