function checkNumber(inp)
{
	var sText = inp.value;
	var ValidChars = "0123456789.-";
	var sRet = "";
	var bInvalidChar = false;
	var bDotUsed = false;
	var bDashUsed = false;
	
	for (i = 0; i < sText.length; i++) 
	{ 
		var Char = sText.charAt(i); 
		if (ValidChars.indexOf(Char) != -1)
		{
			//check that there is only one dot
			if(bDotUsed && Char == ".")
				bInvalidChar = true;
			//check that there is only one dash
			else if(bDashUsed && Char == "-")
				bInvalidChar = true;
			//check that the dash is the first character
			else if(Char == "-" && i != 0)
				bInvalidChar = true;
			//else add the character to the return string
			else
				sRet = sRet + Char;
			
			//mark the dot or dash as "used"
			if(Char == ".")
				bDotUsed = true;
			if(Char == "-")
				bDashUsed = true;
		}
		else
			bInvalidChar = true;
	}
	
	if(bInvalidChar == true)
		inp.value = sRet;
}

function checkForm(formID){ 
	var arr_Elements = dojo.byId(formID).elements;
		
		bPassed = true;
		for(i = 0; i<arr_Elements.length; i++)
		{
			var mandatory = arr_Elements[i].getAttribute('mandatory');
			if(mandatory == 1){
				
				//text, number, file & date
				if(arr_Elements[i].type == 'text' && arr_Elements[i].value.length > 0 && arr_Elements[i].value != ' '){
					bPassed = !bPassed ? false : true;
						arr_Elements[i].style.border = '';
				}
				
				// select
				else if(arr_Elements[i].nodeName == 'SELECT' && arr_Elements[i].options[arr_Elements[i].selectedIndex].value.length > 0 && arr_Elements[i].options[arr_Elements[i].selectedIndex].value > 0){
					bPassed = !bPassed ? false : true;
					// arr_Elements[i].style.backgroundColor = 'white';
						arr_Elements[i].style.border = '';
				}
			
				//textarea
				else if(arr_Elements[i].nodeName == 'TEXTAREA' && arr_Elements[i].value != ''){
					bPassed = !bPassed ? false : true;
					arr_Elements[i].style.border = '';
				}
				
				//checkbox
								
				//radio
				
				
				else{
					bPassed = false;
					arr_Elements[i].style.border = 'solid 1px red';
				}			
			}
		}
		
		if(bPassed)
			return true;
		else return false;
}

function roleManagerSelectAll(usage,type)
{
	var arrInputs = document.getElementById('RM'+type).getElementsByTagName('INPUT');
	for(i=0; i<arrInputs.length; i++)
	{
		var inputID = arrInputs[i].id;
		var tmp = inputID.split('_');
		if(tmp[1] == usage)
			document.getElementById(inputID).checked = true;
	}
	document.getElementById(type+usage+'IMG').onclick = function() {roleManagerUnselectAll(usage,type)};
}

function roleManagerUnselectAll(usage,type)
{
	var arrInputs = document.getElementById('RM'+type).getElementsByTagName('INPUT');
	for(i=0; i<arrInputs.length; i++)
	{
		var inputID = arrInputs[i].id;
		var tmp = inputID.split('_');
		if(tmp[1] == usage)
			document.getElementById(inputID).checked = false;
	}
	document.getElementById(type+usage+'IMG').onclick = function() {roleManagerSelectAll(usage,type)};
}

function showhideBar(id)
{
	if(document.getElementById(id).style.display == "none")
	{
		document.getElementById(id).style.display = "block";
		setCookie("leftmenu","block");
	}
	else
	{
		document.getElementById(id).style.display = "none";
		setCookie("leftmenu","none");
	}
}
function showhideBlock(id)
{
	if(document.getElementById(id).style.display == "none")
	{
		document.getElementById(id).style.display = "block";
		setCookie(id,"block");
	}
	else
	{
		document.getElementById(id).style.display = "none";
		setCookie(id,"none");
	}
}
function checkstate(id)
{
	if(getCookie(id) == "block")
	{
		document.getElementById(id).style.display = "block";
	}
	if(getCookie(id) == "none")
	{
		document.getElementById(id).style.display = "none";
	}

}
function getCookie(name) {
	var dc = document.cookie;
	var prefix = name + "=";
	var begin = dc.indexOf("; " + prefix);
	if (begin == -1) {
		begin = dc.indexOf(prefix);
		if (begin != 0) return null;
	} else {
		begin += 2;
	}
	var end = document.cookie.indexOf(";", begin);
	if (end == -1) {
		end = dc.length;
	}
	return unescape(dc.substring(begin + prefix.length, end));
}
function setCookie(name, value, expires, path, domain, secure) {
	document.cookie= name + "=" + escape(value) +
		((expires) ? "; expires=" + expires.toGMTString() : "") +
		((path) ? "; path=" + path : "") +
		((domain) ? "; domain=" + domain : "") +
		((secure) ? "; secure" : "");
}