var activeGSK="";

function showGSKItem(id) {
	if (activeGSK) {
		$('gsk'+activeGSK).hide();
	}
	$('gsk'+id).show();
	activeGSK=id;
}

function getRadioValue(r) {
  if (r.length) {
  	for (i=0;i<r.length;i++)	{
  		if (r[i].checked) {
  			return r[i].value;
  		}
  	}
  } else {
  	if (r.value!=null&&r.checked)	{
  		return r.value;
  	}
  }

	return -1;
}

function isValidEmail(email) {
	return validateValue(email,getPatternByName("email"));
}

function updateLengthVV(ta) {
	maxTekens=4000;
	aantalTekens=ta.value.length;
	if (aantalTekens > maxTekens) {
		ta.value=ta.value.substring(0,maxTekens);
	} else {
		$('charCounter').update(aantalTekens+" / "+maxTekens+" tekens");
	}
}


function updateLength(ta,maxTekens) {
	aantalTekens=ta.value.length;
	if (aantalTekens > maxTekens) {
		ta.value=ta.value.substring(0,maxTekens);
	} else {
		$('charCounter').update(aantalTekens+" / "+maxTekens+" tekens");
	}
}

//Pass a value and a regular expression pattern
function validateValue(fv,pattern) {
  var re = new RegExp(pattern);
  return re.test(fv);
}

function getPatternByName(patternName) {
  switch (patternName) {
    case "06nummer":
			return "^06(\\s|-|\\s-\\s)?[0-9]{8}$";
      break;
    case "empty_or_email":
      return "^$|^[0-9a-zA-Z][-_0-9a-zA-Z.]*@[-_0-9a-zA-Z.]+[.][a-zA-Z]+$";
      break;
  	case "empty_or_url":
      return "^$|^http://.{2,}";
      break;
  	case "empty_or_time":
      return "^$|^00:00$|^[012][0-9]:[0-9][0-9]$";
      break;
  	case "empty_or_date":
      return "^$|^0000-00-00$|^[12][0-9]{3}[-][01]?[0-9]-[0-3]?[0-9]$";
      break;
  	case "empty_or_float":
      return "^$|[+-]?[0-9]+([.][0-9]+)?$";
      break;
  	case "notempty":
      return "^.";
      break;
    case "email":
      return "^[0-9a-zA-Z][-_0-9a-zA-Z.]*@[-_0-9a-zA-Z.]+[.][a-zA-Z]+$";
      break;
  	case "pagename":
      return "^[_a-z0-9]{1,50}$";
      break;
  	case "username":
      return "^[_a-z0-9]{1,50}$";
      break;
  	case "pass":
      return "^[a-zA-Z0-9 ]{3,20}$";
      break;
   	//dd-mm-yyyy
   	case "nldate":
      return "^[0-3]?[0-9][-][01]?[0-9][-][12][0-9]{3}$";
      break;
   	//yyyy-mm-dd
   	case "date":
      return "^[12][0-9]{3}[-][01]?[0-9]-[0-3]?[0-9]$";
      break;
  	case "integer":
      return "^[-]?[0-9]+$";
      break;
  	case "posinteger":
      return "^[0-9]+$";
      break;
  	case "float":
      return "^[+-]?[0-9]+([.][0-9]+)?$";
      break;
  	case "nlfloat":
      return "^[+-]?[0-9]+([,][0-9]+)?$";
      break;
		case "url":
      return "^http://.{2,}";
      break;
  	default:
   		alert("Unknown validator added to a form element: '" + patternName+"'");
	}
}