//DOM password edit control JavaScript functions
//(c) Zagorodnikov Anton 2007

function zsite_textbox_enable(id)
{
    dojo.byId(id).removeAttribute('disabled');
    dojo.byId(id).className="zsite_textbox";
}

function zsite_textbox_disable(id)
{
    dojo.byId(id).setAttribute('disabled', 'disabled');
    dojo.byId(id).className="zsite_textbox_disabled";
}

function zsite_passwordbox_check(passid)
{
	var passstr = dojo.byId(passid).value;
	var passvalue = 4;
	//evaluate password length
	if((passstr.length)<3)
		passvalue = passvalue - 4;
	if((passstr.length)<5)
		passvalue = passvalue - 3;
	else if((passstr.length)<7)
		passvalue = passvalue - 1;
	else if((passstr.length)>7)
		passvalue = passvalue + 1;
	else if((passstr.length)>9)
		passvalue = passvalue + 2;
	var charspan = 4;
	var letterpresent = false;
	var smallletterpresent = false;
	var numberspresent = false;
	var symbolspresent = false;
	for(var index = 0; index < passstr.length; index++)
	{
		var character = passstr[index];
		if((character >= 'A') && (character <= 'Z'))
		{
			if(!letterpresent) charspan--;
			letterpresent = true;
		}
		else if ((character >= 'a') && (character <= 'z'))
		{
			if(!smallletterpresent) charspan--;
			smallletterpresent = true;
		}
		else if ((character >= '0') && (character <= '9'))
		{
			if(!numberspresent) charspan--;
			numberspresent = true;
		}
		else if (".,:;[]{}<>\\|/@#$%^&?!*()_+-='\"`~".indexOf(character) >= 0)
		{
			if(!symbolspresent) charspan--;
			symbolspresent = true;
		}
//		else
//		{
//			alert("only latin characters, numbers and punctuation symbols are allowed");
//		}
	}
	passvalue = passvalue - charspan;
	if(passvalue <= 0)
	{
		dojo.byId(passid+"meter1").style.background="#f00";
		dojo.byId(passid+"meter2").style.background="#666";
		dojo.byId(passid+"meter3").style.background="#666";
		dojo.byId(passid+"meter4").style.background="#666";
		dojo.byId(passid+"meter5").style.background="#666";
		dojo.byId(passid+"meterstring").innerHTML=" "+ZLOCALE("Very weak");
	}
	else if(passvalue == 1)
	{
		dojo.byId(passid+"meter1").style.background="#f00";
		dojo.byId(passid+"meter2").style.background="#951";
		dojo.byId(passid+"meter3").style.background="#666";
		dojo.byId(passid+"meter4").style.background="#666";
		dojo.byId(passid+"meter5").style.background="#666";
		dojo.byId(passid+"meterstring").innerHTML=" "+ZLOCALE("Weak");
	}                                                 
	else if(passvalue == 2)
	{
		dojo.byId(passid+"meter1").style.background="#f00";
		dojo.byId(passid+"meter2").style.background="#951";
		dojo.byId(passid+"meter3").style.background="#880";
		dojo.byId(passid+"meter4").style.background="#666";
		dojo.byId(passid+"meter5").style.background="#666";
		dojo.byId(passid+"meterstring").innerHTML=" "+ZLOCALE("Average");
	}
	else if(passvalue == 3)
	{
		dojo.byId(passid+"meter1").style.background="#f00";
		dojo.byId(passid+"meter2").style.background="#a51";
		dojo.byId(passid+"meter3").style.background="#880";
		dojo.byId(passid+"meter4").style.background="#5a1";
		dojo.byId(passid+"meter5").style.background="#666";
		dojo.byId(passid+"meterstring").innerHTML=" "+ZLOCALE("Strong");
	}
	else if(passvalue > 3)
	{
		dojo.byId(passid+"meter1").style.background="#f00";
		dojo.byId(passid+"meter2").style.background="#a51";
		dojo.byId(passid+"meter3").style.background="#880";
		dojo.byId(passid+"meter4").style.background="#5a1";
		dojo.byId(passid+"meter5").style.background="#0f0";
		dojo.byId(passid+"meterstring").innerHTML=" "+ZLOCALE("Very strong");
	}
}

