var checkFormColor = '';

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;
	var arr_strTmp = new Array();
	var arr_bTmp = new Array();
	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].type == 'hidden') && arr_Elements[i].value.length > 0 && arr_Elements[i].value != ' '){
				arr_Elements[i].style.borderLeft = '2px solid #5e5d5d';
				arr_Elements[i].style.borderTop = '2px solid #5e5d5d';
				arr_Elements[i].style.borderBottom = '1px solid #d4d0c8';
				arr_Elements[i].style.borderRight = '1px solid #d4d0c8';
				arr_bTmp.push(true);
			}
			
			// 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){
				arr_Elements[i].style.color = 'black';
				arr_bTmp.push(true);
			}
		
			//textarea
			else if(arr_Elements[i].type == 'TEXTAREA' && arr_Elements[i].value != ''){
				arr_Elements[i].style.borderLeft = '2px solid #5e5d5d';
				arr_Elements[i].style.borderTop = '2px solid #5e5d5d';
				arr_Elements[i].style.borderBottom = '1px solid #d4d0c8';
				arr_Elements[i].style.borderRight = '1px solid #d4d0c8';
				arr_bTmp.push(true);
			}
			
			//checkbox && radio
			else if((arr_Elements[i].type == 'checkbox' || arr_Elements[i].type == 'radio') && arr_strTmp.indexOf(arr_Elements[i].name) == -1){
				arr_strTmp.push(arr_Elements[i].name);
				bPassed = checkGroups(arr_Elements[i].name,arr_Elements);
				arr_bTmp.push(bPassed);
			}
			
			else if(arr_Elements[i].type != 'checkbox' && arr_Elements[i].type != 'radio'){
				bPassed = false;
				arr_bTmp.push(bPassed);
				if(arr_Elements[i].nodeName == 'SELECT')
					arr_Elements[i].style.color = 'red';
				else
					arr_Elements[i].style.border = '1px solid red';
			}			
		}
	}

	noFalse = true;
	for(var i=0; i<arr_bTmp.length; i++)
	{
		if(arr_bTmp[i] == false)
			noFalse = false;
	}
	
	if(noFalse){
		if(dojo.byId("dErrorMessag_"+formID))
			dojo.dom.removeNode(dojo.byId("dErrorMessag_"+formID));
		return true;
	}
	else{ 
		if(!dojo.byId("dErrorMessag_"+formID)){
			var div = document.createElement("DIV");
			div.style.backgroundColor = "red";
			div.style.padding = "10px";
			div.id = "dErrorMessag_"+formID;
			div.style.fontSize = "11px";
			div.style.margin = "5px";
			div.style.width = "160px";
			div.innerHTML = "Merkityt kentät on täytettävä.";

		var elErrorContainer = dojo.byId("formErrorContainer");
			elErrorContainer.appendChild(div);
		}
		return false;
	}
}

function checkGroups(name,arr){
	var arrTmp = new Array();
	var bTmp = false;
	
	for(var i = 0; i<arr.length; i++){
		if(arr[i].name == name && arr[i].checked == true){
			bTmp = true;
		}
  
		if(arr[i].name == name){
				arrTmp.push(arr[i]);
			}
	}
 
	arrTmp.forEach(function(el,id,array){
		el.style.border = !bTmp?'1px none red':'';
	});
 
	return bTmp;
}

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" : "");
}