﻿function ExtendedCompareValidatorEvaluateIsValid(val) {
	var value = ValidatorGetValue(val.controltovalidate);
	if(ValidatorTrim(value).length != 0 && val.minValue && val.errorTextMin && !ValidatorCompare(value, val.minValue, "GreaterThanEqual", val)) {
		val.innerHTML = val.errorTextMin;//"til må ikke være mindre end " + val.minValue;
		return false;
	}
	if(ValidatorTrim(value).length != 0 && val.maxValue && val.errorTextMax && !ValidatorCompare(value, val.maxValue, "LessThanEqual", val)) {
		val.innerHTML = val.errorTextMax;//"til må ikke være større end " + val.maxValue;
		return false;
	}
	var value = ValidatorGetValue(val.controltocompare);
	if(ValidatorTrim(value).length != 0 && val.minValue && val.errorTextMin && !ValidatorCompare(value, val.minValue, "GreaterThanEqual", val)) {
		val.innerHTML = val.errorTextMin;//"fra må ikke være mindre end " + val.minValue;
		return false;
	}
	if(ValidatorTrim(value).length != 0 && val.maxValue && val.errorTextMax && !ValidatorCompare(value, val.maxValue, "LessThanEqual", val)) {
		val.innerHTML = val.errorTextMax;//"fra må ikke være større end " + val.maxValue;
		return false;
	}

  var value = ValidatorGetValue(val.controltovalidate);
  if (ValidatorTrim(value).length == 0)
      return true;
  var compareTo = "";
  if ((typeof(val.controltocompare) != "string") ||
      (typeof(document.getElementById(val.controltocompare)) == "undefined") ||
      (null == document.getElementById(val.controltocompare))) {
      if (typeof(val.valuetocompare) == "string") {
          compareTo = val.valuetocompare;
      }
  }
  else {
      compareTo = ValidatorGetValue(val.controltocompare);
  }
  var operator = "Equal";
  if (typeof(val.operator) == "string") {
      operator = val.operator;
  }
  if(!ValidatorCompare(value, compareTo, operator, val)) {
		val.innerHTML = val.errorText;//"fra må ikke være større end til";
		return false;
  }
  return true;
}
