// JavaScript Document

var validate = new Array();
for( i=0; i<4; i++ ) validate[i] = false;
enable_next();

function check_username()
{
	el = gettarget(window.event);
	
	if( el )
	{
		data = el.value;
		var request = "widgets/home.php?ajax=check_username&data="+urlencode(data);
		callAjaxFunction( request, false, check_username_cb, data );
	}
}

function check_email()
{
	el = gettarget(window.event);
	
	if( el )
	{
		data = el.value;
		var request = "widgets/home.php?ajax=check_email&data="+urlencode(data);
		callAjaxFunction( request, false, check_email_cb, data );
	}
}

function password_strength()
{
	el = gettarget(window.event);
	
	if( el )
	{
		data = el.value;
		var request = "widgets/home.php?ajax=password_strength&data="+urlencode(data);
		callAjaxFunction( request, false, password_strength_cb, data );
		
		elpw = document.getElementById('passwordconfirm').onkeyup();
	}
}

function password_verification()
{
	el = document.getElementById('passwordconfirm');
	elpw = document.getElementById('newpassword');
	elstat = document.getElementById('passwordconfirm_status');
	
	if( el && elpw  && elstat )
	{
		if( el.value == elpw.value && el.value.length > 0 )
		{
			elstat.innerHTML = "<img src=\"images/ui/tick.png\" alt=\"OK\" /> Your passwords match.";
			validate[3] = true;
		} else {
			elstat.innerHTML = "<img src=\"images/ui/cross.png\" alt=\"Invalid\" /> Your passwords do not match.";
			validate[3] = false;
		}
	}
	enable_next();
}


function check_username_cb( response, data )
{
	el = document.getElementById('username_status');
	if( el )
	{
		el.innerHTML = response;
		imgs = el.getElementsByTagName('IMG');
		for( i=0; i<imgs.length; i++ )
		{
			if( imgs[i].alt == 'OK' )
				validate[0] = true;
		}
		enable_next();
	}
}

function check_email_cb( response, data )
{
	el = document.getElementById('email_status');
	if( el )
	{
		el.innerHTML = response;
		imgs = el.getElementsByTagName('IMG');
		for( i=0; i<imgs.length; i++ )
		{
			if( imgs[i].alt == 'OK' )
				validate[1] = true;
		}
		enable_next();
	}
}

function password_strength_cb( response, data )
{
	el = document.getElementById('password_status');
	if( el )
	{
		el.innerHTML = response;
		imgs = el.getElementsByTagName('IMG');
		for( i=0; i<imgs.length; i++ )
		{
			if( imgs[i].alt == 'OK' )
				validate[2] = true;
		}
		enable_next();
	}
}

function enable_next()
{
	enable = true;
	
	for( i=0; i<4; i++ )
	{
		if( !validate[i] ) enable = false;
	}
	
	el = document.getElementById('next');
	if( el ) {
		if( enable ) {
			el.setAttribute( 'href','javascript:nextwizardpage();' );
			el.className = "button";
		} else {
			el.setAttribute( 'href','javascript:donothing();' ); 
			el.className = "buttondisabled";
		}
	}
}

function selectgroup()
{
	el = gettarget(window.event);
	
	if( el.parentNode )
	{
		if( el.parentNode.className == 'rowstate_0' ) el.parentNode.className = 'rowstate_1';
		else el.parentNode.className = 'rowstate_0';
	}
	buildgrouplist();
}

function selectprimarygroup()
{
	el = gettarget(window.event);
	
	if( el )
	{
		id = "grouprow_"+el.value;
		els = document.getElementsByTagName('TR');
		for( i=0; i<els.length; i++ ) {
			if( els[i].className == "rowstate_disabled" ) {
				els[i].className = "rowstate_0";
				els[i].onclick = selectgroup;
			}
		}
		
		elnew = document.getElementById( id );
		if( elnew ) {
			elnew.className = "rowstate_disabled";
			elnew.onclick = null;
		}
	}
	buildgrouplist();
}

function buildgrouplist()
{
	el = document.getElementById('groups');
	if( el )
	{
		el.value = "";
		els = document.getElementsByTagName('TR');
		for( i=0; i<els.length; i++ ) {
			if( els[i].className == "rowstate_1" ) {
				if( els[i].id.substr(0,9) == "grouprow_" ) {
					id = els[i].id.substr(9,els[i].id.length-9);
					el.value += id+",";
				}
			}
		}
	}
}
