// KOPIEREN IST UNTERSAGT!
// Script by PA-S.de
// P93AUC & P93PWS(C) 2007 by PA-S.de

var P93Styles = new Array("P93PWS_1", "P93PWS_2", "P93PWS_3", "P93PWS_4", "P93PWS_6");
var P93Output = ("P93PWS_O");
var P93mode = 1;
var P93valid = null;
var P93Msg = new Array("Sehr sicher", "Sicher", "Stark", "Mittel", "Sehr schlecht");


var P93 = null;
function P93AUC_system(){
	if (window.XMLHttpRequest) {
	  P93 = new XMLHttpRequest();
	} else if (window.ActiveXObject) {
	  try {
		P93 = new ActiveXObject("Msxml2.XMLHTTP");
	  } catch (ex) {
		try {
		  P93 = new ActiveXObject("Microsoft.XMLHTTP");
		} catch (ex) {
		}
	  }
	}
}
function P93AUC_heuri() {
  if (P93.readyState == 4) {
    var heurix = document.getElementById("P93AUC");
    heurix .innerHTML = P93.responseText;
  }
}
function P93AUC() {
  var pas = document.getElementById("username").value; 
  var heurix  = document.getElementById("P93AUC");
  heurix .innerHTML = '<img src="http://www.onlinepay.ch/loading.gif" alt="Laden...." />';
  P93.open("GET", "http://www.onlinepay.ch/ajaxus.php?username=" + pas);
  P93.onreadystatechange = P93AUC_heuri;
  P93.send(null);
}
var heurix = P93AUC_system();


function P93PWS(heuri) {
	var P93b = new Array(0,0,0,0);
	var P93r = new Array(0,0,0,0);
	var P93various = 1;
	var sum = 0;
	var erg = null;
	var P93PWS = document.getElementById("P93PWS"); 
	var heuri = heuri.split('');
	for(i = 0; i <= (heuri.length - 1); i++) {
		if (heuri[i] != null) {
			// LOW
			if (heuri[i].match(/([a-z])/)) {
				P93b[0]++;
				if (i > 0) {
					if (!heuri[(i - 1)].match(/([a-z])/)) {
						P93various++;
					}
				}
			}
			// UP
			if (heuri[i].match(/([A-Z])/)) {
				P93b[1]++;
				if (i > 0) {
					if (!heuri[(i - 1)].match(/([A-Z])/)) {
						P93various++;
					}
				}
			}
			// NUM
			if (heuri[i].match(/([0-9])/)) {
				P93b[2]++;
				if (i > 0) {
					if (!heuri[(i - 1)].match(/([0-9])/)) {
						P93various++;
					}
				}
			}
			// SON
			if (P93valid == null) {
				if (heuri[i].match(/[^a-zA-Z0-9ts]/)) {
					P93b[3]++;
					P93various++;
				}
			} else {
				if (heuri[i].match(P93valid)) {
					P93b[3]++;
					P93various++;
				}
			}
		}
    }
	sum = (P93b[0] + P93b[1] + P93b[2] + P93b[3]);
	if(sum < 1)  {
		sum = 1;
	}
	// Bewertung
	P93r[4] = Math.round(P93various * 100 / sum);
	P93r[3] = Math.round(P93b[3] * 100 / sum);
	P93r[2] = Math.round(P93b[2] * 100 / sum);
	P93r[1] = Math.round(P93b[1] * 100 / sum);
	P93r[0] = Math.round(P93b[0] * 100 / sum);  
	// Analyse by PAS
	if(P93r[0] == 100) {
		erg = 4;
	} else if(P93r[0] == 100) {
		erg = 4;
	} else if(P93r[1] == 100) {
		erg = 4;
	}  else if(P93r[2] == 100) {
		erg = 4;
	} else if(P93r[3] == 100 && sum > 5) {
		erg = 0;
	} else 
	if (P93mode == 0) { // hart
		if (sum > 13) {
			if (P93various > 6 || P93b[3] > 4) {
				erg = 0;
			}
			else {
				erg = 1;
			}
		}
		else if (sum > 5 && sum < 14) {
				if (P93various > 5) {
					erg = 2;
				}
				else {
					erg = 3;
				}
			}
			else {
				erg = 4;
			}
	}
	else { // normal
		if (sum > 9) {
			if (P93various > 5 || P93b[3] > 4) {
				erg = 0;
			}
			else {
				erg = 1;
			}
		}
		else if (sum > 5 && sum < 10) {
				if (P93various > 3) {
					erg = 2;
				}
				else {
					erg = 3;
				}
			}
			else {
				erg = 4;
			}
	}	
 
	P93PWS.innerHTML = '<div class="' + P93Output + ' "> ' + P93Msg[erg] +'</div><div class="P93PWS_C"><div class="' + P93Styles[erg] + '"></div></div>';
	return true;
}
