
function EvalPwdStrengthGet(oF,sP){
	//alert('debug - document.forms[0]: ' + oF);  //*** debug purpose: gets form object
	//alert('debug - this.value: ' + sP);		  //*** debug purpose: gets password value from textfield
	//GEId("meter_response").innerHTML = '';
	
	if(ClientSideBestPassword(sP,gSimilarityMap,gDictionary)){
		return 4;//DispPwdStrength(4,'pwdChkCon4');
	}
	else if(ClientSideStrongPassword(sP,gSimilarityMap,gDictionary)){
		return 3;//DispPwdStrength(3,'pwdChkCon3');
	}
	else if(ClientSideMediumPassword(sP,gSimilarityMap,gDictionary)){
		return 2;//DispPwdStrength(2,'pwdChkCon2');			
	}
	else if(ClientSideWeakPassword(sP,gSimilarityMap,gDictionary)){
		return 1;//DispPwdStrength(1,'pwdChkCon1');
	}
	else{
		return 0;//DispPwdStrength(0,'pwdChkCon0');
	}
}

function EvalPwdStrength(oF,sP){
	//alert('debug - document.forms[0]: ' + oF);  //*** debug purpose: gets form object
	//alert('debug - this.value: ' + sP);		  //*** debug purpose: gets password value from textfield
	GEId("meter_response").innerHTML = '';
	
	if(ClientSideBestPassword(sP,gSimilarityMap,gDictionary)){
		DispPwdStrength(4,'pwdChkCon4');
	}
	else if(ClientSideStrongPassword(sP,gSimilarityMap,gDictionary)){
		DispPwdStrength(3,'pwdChkCon3');
	}
	else if(ClientSideMediumPassword(sP,gSimilarityMap,gDictionary)){
		DispPwdStrength(2,'pwdChkCon2');			
	}
	else if(ClientSideWeakPassword(sP,gSimilarityMap,gDictionary)){
		DispPwdStrength(1,'pwdChkCon1');
	}
	else{
		DispPwdStrength(0,'pwdChkCon0');
	}
}
function OKToTabOut(){
	if(window.event.keyCode == 9 && IsStrongPassword == true){
		return true;
	}else if(window.event.keyCode == 9 && IsStrongPassword == false && GEId("password").value != ''){
		return false;
	}else if(window.event.keyCode == 9 && IsStrongPassword == false && GEId("password").value == ''){
		return true;
	}
	else return true;
}

function PadPasswd(oF,lPwd){
	if(typeof oF.PwdPad=="object"){
		var sPad="djg";
		var lPad=sPad.length-lPwd;
		oF.PwdPad.value=sPad.substr(0,(lPad<0)?0:lPad);
	}
}

function DispPwdStrength(iN,sHL){ 
	var meter_level = GetMeterLevel(1);
	
	if(iN > meter_level){
		IsStrongPassword = true;
		GEId("confirmpassword").disabled = false;
		GEId("btnRegister").disabled = false;
				
		if (meter_level != 0)
			GEId("meter_response").innerHTML = "PASSED!";
	}
	else{
		GEId("confirmpassword").disabled = true;
		GEId("btnRegister").disabled = true;
	}
	
	if(iN>4){ 
		iN=4;
	}
	for(var i=0;i<5;i++){ 
		var sHCR="pwdChkCon0";
		if(i<=iN){ 
			sHCR=sHL;
		}if(i>0){ 
				GEId("idSM"+i).className=sHCR;
		}
		GEId("idSMT"+i).style.display=((i==iN)?"inline":"none");
	}
}

var xmlHttp, meter_level

function GetMeterLevel(str_store_id)
{

xmlHttp=GetXmlHttpObject();
if (xmlHttp==null)
  {
  alert ("Your browser does not support AJAX!");
  return;
  } 
var url="includes/meter_level.asp";
url=url+"?store_id="+str_store_id;
url=url+"&sid="+Math.random();

xmlHttp.onreadystatechange=stateChanged;
xmlHttp.open("GET",url,true);
xmlHttp.send(null);
return meter_level
} 

function stateChanged() 
{ 
	if (xmlHttp.readyState==4)
	{ 
			meter_level=parseInt(xmlHttp.responseText);
			//GEId("meter_response").innerHTML = meter_level  //*** debug purpose: gets password strength value from database
	}
}

function GetXmlHttpObject()
{
var xmlHttp=null;
try
  {
  // Firefox, Opera 8.0+, Safari
  xmlHttp=new XMLHttpRequest();
  }
catch (e)
  {
  // Internet Explorer
  try
    {
    xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
    }
  catch (e)
    {
    xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
  }
return xmlHttp;
}
