var __PASSWORD__ = {
  colorKO: [255, 0, 0], // Color de contraseña no válida
  colorOK: [0, 255, 0], // Color de contraseña válida
  width: 150,
  
  init: function() {
    $$("input.password").each(function(el){
		el.addEvent('keyup', __PASSWORD__.checkPassword);
	});
  },
  
  getColor: function(porc) {
	return new Color(__PASSWORD__.colorKO).mix(__PASSWORD__.colorOK,porc);
  },
    
  checkPassword: function() {

    var cont = 0,
    comprobaciones = new Array(
      /[A-Z]/, // mayúsculas
      /[a-z]/, // minúsculas
      /\d/,    // números 
      /.{6}/,  // más de 6 caracteres
      /(\s|\\|\/|!|·|\$|%|&|\(|\)|=|\?|¿|\||@|#|¬|€|\^|`|\[|\]|\+|\*|¨|´|\{|\}|\-|_|\.|:|,|;|>|<)/
      ), len=comprobaciones.length;
	$each(comprobaciones,function(item){ if (this.match(item)) cont++;},this.value);

    var porc = ((cont*100/(len-1))-(1/(len-1)*100)).toInt(), color = __PASSWORD__.getColor(porc);
    this.setStyles({'background-position':((cont*__PASSWORD__.width/len).toInt()-(__PASSWORD__.width))+"px 0",'background-color':(porc < 0)?'':color});

  }
};
window.addEvent('domready',__PASSWORD__.init);
