var nCrackrate = 1000;		// Anzahl mÃ¶glicher Versuche das Passwort zu Knacken pro Sekunde
var nTreshholddays = 365 * 10;	// Schwellwert, ab wann das Passwort als Sicher gilt
var nSteps = 10;		// Anzahl der Schritte, die im CSS angehangen werden

function contains(strText, strPattern)
{
	for (i = 0; i < strText.length; i++)
	{
		if (strPattern.indexOf(strText.charAt(i)) > -1) return true;
	}
	return false;
}

function checkPass(strPass, strId, strClassname, strTextId, aTexts)
{
	nCombinationCount = 0;
	
	strToCheck = "0123456789";			// Ã¼berprÃ¼fen ob Ziffern vormmen
	if (contains(strPass, strToCheck)) nCombinationCount += strToCheck.length;
	strToCheck = "abcdefghijklmnopqrstuvwxyz";	// Ã¼berprÃ¼fen ob kleine Buchstaben vorkommen
	if (contains(strPass, strToCheck)) nCombinationCount += strToCheck.length;
	strToCheck = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";	// Ã¼berprÃ¼fen ob grosse Buchstaben vorkommen
	if (contains(strPass, strToCheck)) nCombinationCount += strToCheck.length;
	strToCheck = ",;:-_=+\|//?^&!.@$Â£#*()%~<>{}[]";// Ã¼bersprÃ¼fen ob Sonderzeichen vorkommen
	if (contains(strPass, strToCheck)) nCombinationCount += strToCheck.length;

	var nDays = ((Math.pow(nCombinationCount, strPass.length) / nCrackrate) / 2) / 86400;	// Wieviele Tage benÃ¶tigt man?
	var nStrongness = Math.round(nDays / nTreshholddays * 100);				// StÃ¤rke errechnen
	if (nStrongness < (strPass.length * 5)) nStrongness += strPass.length * 5;		// ZeichenlÃ¤nge fÃ¼r StÃ¤rke berÃ¼cksichtigen
	if (nStrongness > 100) nStrongness = 100;						// Max 100% zulassen
	nStrongness = Math.round(nStrongness / (100 / nSteps));					// Max Schritte

	oId = document.getElementById(strId);
	oId.className = strClassname + "-" + nStrongness;

	otId = document.getElementById(strTextId);
	
	if (aTexts)
	{
		nKey = Math.round((aTexts.length - 1) / nSteps * nStrongness);
		otId.innerHTML = aTexts[nKey];
	}
}












function checkuser()
{
	username = document.getElementById('reg_username').value;

	if (username.length < '5') { 
	$('checkusernameDIV').update('<div style=color:red>Benutzername ist zu kurz</div>');
	}
	else
	{
	nocache = Math.random();
	new Ajax.Updater('checkusernameDIV', 'http://www.talk-portal.de/function/registration.php?username='+$('reg_username').value+'&'+nocache, {method: 'get'})
	}
}





function checkpassword()
{
	password = $('reg_password').value;
	password2 = $('reg_password2').value;

	if (password.length < '5') { 
	$('checkpasswordDIV').update('<div style=color:red;>Passwort ist zu kurz</div>');
	}
	else if(password != password2)
	{
	$('checkpasswordDIV').update('<div style=color:red>Passwörter sind ungleich</div>');
	}
	else
	{
	$('checkpasswordDIV').update('<div style=color:green>Passwort OK!</div>');
	}
}







function checkemail()
{
	


	email = $('reg_email').value;
	email2 = $('reg_email2').value;

	if(email != email2)
	{
	$('checkemailDIV').update('<div style=color:red>E-Mail adressen sind ungleich</div>');
	}
	else
	{
	nocache = Math.random();
	new Ajax.Updater('checkemailDIV', 'http://www.talk-portal.de/function/registration.php?email='+email+'&'+nocache, {method: 'get'})
	
	}
}



