
/* - changePasswordScripts.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 generateSaltPass(ourl)
{
 var current=document.getElementById('current').value;
 var password = document.getElementById('password').value;
 var password_confirm = document.getElementById('password_confirm').value;
 var random1=randomString();
 var random2=randomString();
  var newpass1=random1+'~/~'+encode64(current)+'~/~'+random2;
 var newpass2=random1+'~/~'+encode64(password)+'~/~'+random2;
 var newpass3=random1+'~/~'+encode64(password_confirm)+'~/~'+random2;
 if(newpass3){
 finalSaltPass1(newpass1,ourl);
 }
 if(finalSaltPass1){
 finalSaltPass2(newpass2,ourl);
 }
 if(finalSaltPass2){
 finalSaltPass3(newpass3,ourl);
 }
}

function finalSaltPass1(incpass1,ourl)
{
var fpath=ourl+'/finalsaltChangePass1?inc='+incpass1+'&random='+Math.random();
//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;
    // alert(finalsaltvalue);
     document.getElementById('current').value= finalsaltvalue;
     //document.change_password.submit();

     }

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

function finalSaltPass2(incpass2,ourl)
{
var fpath=ourl+'/finalsaltChangePass1?inc='+incpass2+'&random='+Math.random();
//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;
    // alert(finalsaltvalue);
     document.getElementById('password').value= '{SSHA}'+finalsaltvalue;
     //document.change_password.submit();

     }

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

function finalSaltPass3(incpass2,ourl)
{
var fpath=ourl+'/finalsaltChangePass1?inc='+incpass2+'&random='+Math.random();
//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;
    // alert(finalsaltvalue);
     document.getElementById('password_confirm').value= '{SSHA}'+finalsaltvalue;
     document.change_password.submit();

     }

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

// JavaScript Document

