
function charA()
{
	document.write('&#64;');
}


/***********************************************************************
	Edit user
 ***********************************************************************/

function userChanged()
{
	var p = new Array();
	
	p.push( document.getElementById('uname'));
	p.push( document.getElementById('uemail'));
	p.push( document.getElementById('uadmin'));
	p.push( document.getElementById('usubmit'));
	p.push( document.getElementById('ureset'));

	if(	p[0].value != p[0].defaultValue ||
		p[1].value != p[1].defaultValue ||
		p[2].checked != p[2].defaultChecked )
	{
		p[3].disabled = false;
		p[4].disabled  = false;
	} else {
		p[3].disabled = true;
		p[4].disabled  = true;
	}
}

/***********************************************************************
	Edit page
 ***********************************************************************/

var disabledOption = new Array();

function selectNextLevel(sel, perm)
{
	if( sel.selectedIndex > 0)
	{
		var disOpt    = sel.options[sel.selectedIndex];
		var disOptIdx = disabledOption.length;
		
		// Check if element is stored in disabledOption-array
		for(var i=0; i < disabledOption.length; i++)
		{
			if(disabledOption[i] == disOpt)
			{
				disOptIdx = i;
				break;
			}
		}

		if(disOpt.disabled == false)
		{
			// get index
			var i = sel.parentNode.parentNode.rowIndex;
			
			// get table
			var t = sel.parentNode.parentNode.parentNode;
		
			var tr  = t.insertRow(i+1);
			var tdl = tr.insertCell(0);
			var tdr = tr.insertCell(1);
		
			tdl.className = 'left';
			tdr.className = 'right';
			tdl.style.fontWeight = 'normal';
		
			tdl.innerHTML = sel.options[sel.selectedIndex].text;
			
			var tS = 'selected="selected" ';
			
			var tmp = '<select name="'+sel.name+'_'+disOpt.value+'" class="text" onchange="selectCheckDelete(this,'+disOptIdx+');">';
			tmp += '<option value="delete">Remove</option>';
			tmp += '<option '+(perm == null    ? tS : '')+'value="choose">Choose permission</option>';
			tmp += '<option '+(perm == 'read'  ? tS : '')+'value="read">Read</option>';
			tmp += '<option '+(perm == 'write' ? tS : '')+'value="write">Write</option>';
			tmp += '<option '+(perm == 'edit'  ? tS : '')+'value="edit">Edit</option></select>';
			tdr.innerHTML = tmp;

			// disable option and save pointer
			disOpt.disabled = true;
			disabledOption[disOptIdx] = disOpt;
		}

		// reset calling select
		sel.options[0].selected = true;
	}
}

function selectCheckDelete(sel, doIdx)
{
	if(sel.selectedIndex == 0)
	{
		disabledOption[doIdx].disabled = false;
		
		// delete row from table
		sel.parentNode.parentNode.parentNode.deleteRow
			(sel.parentNode.parentNode.rowIndex);
	}
}

function addSelectNextLevel(selectName, value, perm)
{
	var sa = document.getElementsByTagName("select");

	//find correct select
	for(var i=0; i < sa.length; i++)
	{
		if(sa[i].name == selectName)
		{
			// find correct option
			for(var j=0; j < sa[i].options.length; j++)
			{
				if( sa[i].options[j].value == value )
				{
					sa[i].options[j].selected = true;
					selectNextLevel(sa[i], perm);
					break;
				}
			}
			break;
		}
	}
}

function confirmDeletePage(url)
{
	if (confirm("Do you really want to DELETE this page?") == true)
	{
    	document.write("You pressed OK!")
	    document.location = url;
	}
}

/***********************************************************************
	Change password
 ***********************************************************************/

function checkPasswordForm(f)
{
	var op  = f.elements[0].value;
	var np1 = f.elements[1].value;
	var np2 = f.elements[2].value;
	
	if(np1 != np2)
	{
		alert('The new passwords do not match.');
		return false;
	}
	if(np1.length > 30 || np1.length < 4)
	{
		alert('The new password must be between 4 and 30 characters long.');
		return false;
	}
	if(np1 == op)
	{
		alert('The new password must not be equal the old one.');
		return false;
	}
	
	return true;
}

/***********************************************************************
	Send email function
 ***********************************************************************/

function email_select_all(box,table,c)
{
	var t = document.getElementById(table);
	
	for(var i = 1; i < t.rows.length - 1; i++)
	{
		var rb = t.rows[i].cells[c].firstChild

		if(rb.disabled == false)
		{
			rb.checked = box.checked;
		}
	}

	box.blur();
}

/***********************************************************************
	Login form
 ***********************************************************************/

function login_submit()
{
	var f = document.getElementById('form_login');
	
	return (f.elements[0].value != '' && f.elements[1].value != '');
}

function login_link()
{
	if( login_submit() )
	{
		document.getElementById('form_login').submit();
	}
}