
//----------------------------------------------------
// hardcode settings for public demo


//----------------------------------------------------
// main code

  var targetObj;
  var hidden = 'hidden';
  var xpwd_A= new Array();
  var xpwd_N= new Array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9);  
  var NNwarned = false;

  if (parseInt(navigator.appVersion) > 3) {
	if (!xpwd_isIE()) {
		layerVar="document.layers";
		styleVar="";
	}else{
		layerVar="document.all";
		styleVar=".style";
	}
  }

  keypadShuffle();
  

// end main code
//----------------------------------------------------

function xpwd_HandleFocus(tObj){

    if (!xpwd_isIE()) {
      if (!NNwarned) alert(not_ie);
      NNwarned = true;
    }

    targetObj = tObj;  
    xpwd_SwapLayer('xpwd_Layer1');
    IEblur(tObj);     
}

function xpwd_keySel(n){
  var tval = targetObj.value;
  var tlen = tval.length;

  if (n==11) {
    // trim the field
    xpwd_keyDel();
  }
  else {
  if (n==12)
    alert(hlp)
  else
  {
    if (tlen >= maxEntries) {
      //close the control
      xpwd_SwapLayer('xpwd_Layer1');
    }
    else{

    targetObj.value = tval + xpwd_A[n]; 

    //again
    if (tlen >= maxEntries-1) {
      //close the control
      xpwd_SwapLayer('xpwd_Layer1');
    }
    }
  }
  }

  // randomise 
  keypadShuffle();

}

//----------------------------------------------------

function xpwd_keyDel(){
  var tval = targetObj.value;
  var tlen = tval.length;
  tval = tval.substring(0, tlen-1);
  targetObj.value = tval;
}

//----------------------------------------------------

function keypadShuffle(){
  // load array A
  var r;
  var k=0;
  
  for (var i=0; i<xpwd_A.length; i++){
    xpwd_A[i]='';
  }
  
  while (k<10){  
  
    r = randomvalue(0, 10);   
    if (!isInArray(r)){
        xpwd_A[k]=r;	  
        k++; 	  
    }
  }
  
  var missing=0;
  for (var i=0; i<10; i++){
    if (!isInArray(i)) missing = i;
  }  
  for (var i=0; i<xpwd_A.length; i++){
    if (xpwd_A[i]==10) xpwd_A[i]=missing;
  }  
  for (var i=0; i<xpwd_A.length; i++){
    eval('n' + i + '.innerHTML = '+ xpwd_A[i]);
  }    
}

//----------------------------------------------------

function isInArray(val) {
  var ret=false;
  for (var i=0; i<xpwd_A.length; i++){
    if (xpwd_A[i]==val) ret = true;
  }
  return ret;
}

//----------------------------------------------------

function randomvalue(low, high) {
    return Math.floor(Math.random() * (1 + high - low) + low);
}
  
//----------------------------------------------------

function xpwd_SwapLayer(MyLayer){  
  if (xpwd_Enabled) {

  if (hidden=='hidden') {
    hidden='visible';
    }
  else{
    hidden = 'hidden';
    }
    if (parseInt(navigator.appVersion) > 3) {
    	eval(layerVar + '["' + MyLayer + '"]' + styleVar + '.visibility = "' + hidden + '"');
    }  
    
  }
}

//----------------------------------------------------

function IEblur(obj){
  if (xpwd_isIE()) {obj.blur()}
}

//----------------------------------------------------

function xpwd_isIE(){
  return (navigator.appName != "Netscape")
}

//----------------------------------------------------

function xpwd_mOvr(src)
{
  if (!src.contains(event.fromElement))
  {
  src.style.cursor = 'hand'; 
  src.bgColor = clrOver;
  }
}

//----------------------------------------------------

function xpwd_mOut(src)
{
  if (!src.contains(event.toElement))
  {
  src.style.cursor = 'default';
  src.bgColor = clrIn;
  }
}

//----------------------------------------------------
