HEX
Server: Microsoft-IIS/8.5
System: Windows NT YDAWBH120 6.3 build 9600 (Windows Server 2012 R2 Standard Edition) AMD64
User: tentjecom_web (0)
PHP: 7.4.14
Disabled: NONE
Upload Files
File: D:/HostingSpaces/PvdBoogaard/indoorski.nl/backup/oude-site/cms/javascript/admin.validator.js
function validate(field, funcs) {
	if(funcs.length == 0) {
		return true;
	}

	var
		result    = '',
		errormsgs = [],
		fieldVal  = field;

	for (var i = 0; i < funcs.length; i++) {
		result = eval('valid_' + funcs[i] + '("' + field + '");');

		if(result !== true){
			result = FieldNameReplace(result, field);
			errormsgs.push(result);
		}
	}

	if(errormsgs.length == 0) {
		return true;
	} else {
		return errormsgs;
	}
}

function FieldNameReplace(strText, field) {
	return strText.replace('%s', FieldName(field));
}



function DisableField(disabler, toDisable) {
	var tmp = $('#'+disabler).attr('checked');
	if(tmp != true){
		tmp = false;
	}
	$('#'+toDisable).attr('disabled', tmp);

	if(tmp == true){
		$('#'+toDisable).hide();
	}else{
		$('#'+toDisable).show();
	}
}

/**
 * Error-handles the passed empty fields.
 *
 * @param  Array emptyFields
 * @return undefined
 */
function EmptyFields(emptyFields) {
	if (typeof emptyFields == 'undefined') {
		return;
	}

	if (emptyFields.length > 0) {
		var
			length    = emptyFields.length,
			oldBorder = '',
			tagName   = '';

		for (var i = length; i--;) {
			var fieldName = emptyFields[i];

			if (!$('#' + fieldName).get(0)) {
				continue;
			}

			$('#'+ fieldName).focus();
		}
	}
}

function EnableField(enabler, toEnable){
	var tmp = $('#'+enabler).attr('checked');
	if(tmp != true){
		tmp = false;
	}
	$('#'+toEnable).attr('disabled', !tmp);

	if(tmp == false){
		$('#'+toEnable).hide();
	}else{
		$('#'+toEnable).show();
	}
}

function valid_IsNotDuplicateCategory(field) {
	return true;
}

function valid_IsNumberOnly(field) {
	var val = parseFloat($('#' + field).val());
	if(typeof val == 'number'){
		return true;
	}else{
		return {$lang.ValidError_IsNumberOnly|iwp_FilterJavascriptString};
	}
}

function valid_ValidEmail (field) {
	//	pass email validation to the server
	return true;
}

/**
 * Checks to see if the passed field is blank
 *
 * @param  String  field
 * @return Boolean
 */
function valid_IsNotBlank(field) {
	var val;
	if (typeof tinyMCE != 'undefined' && typeof tinyMCE.get(field) != 'undefined') {
		val = tinyMCE.get(field).getContent();
	} else {
		var element = $('#'+ field);

		if (!element.length) {
			//	the element (by id) is not present in the client side dom, so return true - this happens with field types such as datetime where there are duplicate html fields
			return true;
		}

		val = element.getValue();
	}

	if (val == '' || val == ' ' || val == '&nbsp;' || val == '<br/>' || val == '&nbsp;<br/>'){
		var arrField = [field];

		EmptyFields(arrField);

		return {$lang.ValidError_IsNotBlank|iwp_FilterJavascriptString};
	} else {
		return true;
	}
}

function valid_GetWYSIWYGContent(field){
	if(typeof(tinyMCE) != 'undefined' && typeof(tinyMCE.get(field)) != 'undefined'){
		var val = tinyMCE.get(field).getContent();
		val = tinyMCE.get(field).getContent();
		$("#"+field).val(val);
	}
	return true;
}

function valid_HasOneSelected(field){
	var origField = field;
	if($('#' + field).hasClass('ISSelectReplacement')){
		field += '_old';
	}

	if($('#' + field).selectedValues().length ==0){
		var arrField = [origField];
		EmptyFields(arrField);
		return {$lang.ValidError_HasOneSelected|iwp_FilterJavascriptString};
	}else{
		return true;
	}
}

function valid_IsInt (field) {
	var jfield = $("#"+ field);
	var val = jfield.val();
	if (val === '') {
		return true;
	}

	var intval = parseInt(val, 10);
	if (isNaN(intval) || intval.toString() != val) {
		return {$lang.ValidError_IsInt|iwp_FilterJavascriptString};
	}
	jfield.val(intval);
	return true;
}

valid_FilterInt = valid_IsInt;

function valid_IsPositiveInt (field) {
	var jfield = $('#'+ field);
	var val = jfield.val();
	if (val === '') {
		return true;
	}

	var intval = parseInt(val, 10);
	if (isNaN(intval) || intval.toString() != val || intval < 0) {
		return {$lang.ValidError_IsPositiveInt|iwp_FilterJavascriptString};
	}

	jfield.val(intval);
	return true;
}

function valid_IsIntGreaterThanZero (field) {
	var jfield = $('#'+ field);
	var val = jfield.val();
	if (val === '') {
		return true;
	}

	var intval = parseInt(val, 10);
	if (isNaN(intval) || intval.toString() != val || intval < 1) {
		return {$lang.ValidError_IsIntGreaterThanZero|iwp_FilterJavascriptString};
	}

	jfield.val(intval);
	return true;
}

function valid_ValidateUserPictureWidth (field) {
	return valid_ValidateUserPictureWidthHeight(field);
}

function valid_ValidateUserPictureHeight (field) {
	return valid_ValidateUserPictureWidthHeight(field);
}

function valid_ValidateUserPictureWidthHeight (field) {
	var parentfield = $('#RestrictUserPictureSize');
	if (!parentfield.attr('checked')) {
		//	skip validation if parent checkbox field is not checked
		return true;
	}

	var result = valid_IsNotBlank(field);
	if (result === true) {
		result = valid_IsPositiveInt(field);
	}

	return result;
}

function valid_ValidateDateString (field) {
	//	on javascript side we do a basic date format check - server side will perform date range and us/uk validation

	var val = $.trim($('#'+ field).val());
	if (val.length == 0) {
		return true
	}

	if (!/^(\d{1,2})[\/\-\.](\d{1,2})[\/\-\.](\d{2,4})$/.test(val)) {
		return {$lang.ValidError_ValidateDateString|iwp_FilterJavascriptString};
	}
	return true;
}

function valid_IsValidTimezone (field) {
	//	returning true as this validation can only be performed by the server
	return true;
}

function valid_IsValidView (field) {
	var valid = true;
	var empty = [];

	$('.FieldRow[id^='+ field +'_row]').each(function(){
		var nodes = $(this).find('.FiltName');
		if (!nodes.val()) {
			//	ignore filter rows without a field selected
			return;
		}

		var nodes = $(this).find('.TypeName');
		var typeName = nodes.val();
		if (!typeName) {
			valid = false;
			empty.push(nodes.attr('id'));
			return;
		}

		if (typeName == 'equals') {
			return;
		}

		var nodes = $(this).find('.FilterEntry');
		if (!nodes.val()) {
			valid = false;
			empty.push(nodes.attr('id'));
			return;
		}
	});

	if (!valid) {
		EmptyFields(empty);
		return {$lang.ValidError_IsValidView|iwp_FilterJavascriptString};
	}
	return true;
}