function validateformfield(val, type)
{
	switch (type)
	{
		case "notnull":
			if (val == "") { return false; }
			else { return true; }
		break;
		
		case "epost":
			var regex = /^[a-zA-Z0-9._%-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/;
			if(val.match(regex) || isnull(val) || val == "") { return true; }
			else { return false; }
		break;
		
		case "nummer":
			val = val.replace(',','.');
			if (isNumeric(val) || isnull(val) || val == "") { return true; }
			else { return false; }
		break;
		
		case "mmss":
			var arr = new Array();
			arr = val.split(":")
			if (arr.length == 2 && isNumeric(arr[0].toString()) && isNumeric(arr[1].toString())) {
				if (arr[0] < 60 && arr[1] < 60 && ((arr[0] + arr[1]) > 0)) { return true; }
				else { return false; }
			}
			else { return false; }
		break;
		
		case "hhmm":
			var arr = new Array();
			arr = val.split(":")
			if (arr.length == 2 && isNumeric(arr[0].toString()) && isNumeric(arr[1].toString())) {
				if (arr[0] < 24 && arr[1] < 60 && ((arr[0] + arr[1]) > 0)) { return true; }
				else { return false; }
			}
			else { return false; }
		break;
	}
	return false;
}


function validatelessequalthan(val, ref) {
	if (isNumeric(val) && isNumeric(ref)) {
		if (val <= ref) { return true;	}
		else { return false; }
	}
	else { return false; }
}


function validatemoreequalthan(val, ref) {
	if (isNumeric(val) && isNumeric(ref)) {
		if (val >= ref) { return true;	}
		else { return false; }
	}
	else { return false; }
}


function isNumeric(str)
   //  check for valid numeric strings	
{
	var strString = new String(str);
	var strValidChars = "0123456789.-";
	var strChar;
	var blnResult = true;
	
	if (strString.length == 0) return false;
	
	//  test strString consists of valid characters listed above
	for (i = 0; i < strString.length && blnResult == true; i++)
	{
    strChar = strString.charAt(i);
    if (strValidChars.indexOf(strChar) == -1)
	    {
		    blnResult = false;
	    }
	}
	return blnResult;
}


function isNumberKey(evt)
{
	 var charCode = (evt.which) ? evt.which : event.keyCode
	 if (charCode > 31 && (charCode < 48 || charCode > 57))
			return false;

	 return true;
}



function isnull(val){return(val==null);}


function confirmDeletePost(obj) {
	if (confirm('Vill du verkligen ta bort denna post?')) {
		obj.action = '_structure_sql_delete.php';
		return true;
	}
	else {
		return false;
	}
}

function confirmDeleteList(obj) {
	if (confirm('Vill du verkligen ta bort valda poster?')) {
		obj.submit();
		return true;
	}
	else {
		return false;
	}
}

function toggle(hideshow) {
	if (document.getElementById(hideshow).style.display=='none' )	{
		document.getElementById(hideshow).style.display = '';
		document.getElementById('showhidetext').innerHTML = 'Dölj';
	}
	else {
		document.getElementById(hideshow).style.display = 'none';
		document.getElementById('showhidetext').innerHTML = 'Visa';
	}
}


function toggletable(hideshow) {
	if (document.getElementById(hideshow).style.display=='none' )	{
		document.getElementById(hideshow).style.display = '';
	}
	else {
		document.getElementById(hideshow).style.display = 'none';
	}
}


function mark_unmark(setall, table) {
	
	var elem = document.getElementById(table).elements;
	
	var set;
	if (setall.checked) {
		set = true;
	}
	else {
		set = false;
	}

	for (var i = 0; i < elem.length; i++) {
		elem[i].checked = set;
	}
	
}


function displayAltlist(field) {
	var obj = document.getElementById(field);
	var div = document.getElementById('altlist_' + field);
	var iframe = document.getElementById('altlist_iframe_' + field); 
	if (div.style.display == 'none') {
		div.style.top = findPosY(obj) + obj.offsetHeight;
		div.style.left = findPosX(obj);
		div.style.width = obj.offsetWidth - 2;
		div.style.display = '';
		iframe.style.top = findPosY(obj) + obj.offsetHeight;
		iframe.style.left = findPosX(obj);
		iframe.style.width = obj.offsetWidth - 2;
		iframe.style.display = '';
		div.focus();
	}
	else {
		div.style.display = 'none';
		iframe.style.display = 'none';
	}
}

function altlist_setvalue(field, string) {
	var obj = document.getElementById(field);
	var div = document.getElementById('altlist_' + field);
	var iframe = document.getElementById('altlist_iframe_' + field); 
	obj.value = string;
	div.style.display = 'none';
	iframe.style.display = 'none';
}

function findPosX(obj)
{
  var curleft = 0;
  if(obj.offsetParent)
      while(1) 
      {
        curleft += obj.offsetLeft;
        if(!obj.offsetParent)
          break;
        obj = obj.offsetParent;
      }
  else if(obj.x)
      curleft += obj.x;
  return curleft;
}

function findPosY(obj)
{
  var curtop = 0;
  if(obj.offsetParent)
      while(1)
      {
        curtop += obj.offsetTop;
        if(!obj.offsetParent)
          break;
        obj = obj.offsetParent;
      }
  else if(obj.y)
      curtop += obj.y;
  return curtop;
}
