﻿/**
* Copyright (c) 2010 eSolutionsGroup
* All rights reserved.
* 
* Author: Timothy Grant Vogelsang <tvogelsang@esolutionsgroup.ca>
*/

Ext.apply(Ext.form.VTypes, {
	host: function(val, field) {
		return /^(\w[\-\w]*\.){1,5}([A-Za-z]){2,6}$/.test(val);
	},
	hostText: 'This field should a host name value in the format myapp.example.com'
} );

Ext.apply(Ext.form.VTypes, {
	timerange: function(val, field) {
		var time = field.parseDate(val);
		
		if (time) {
			if (field.startTimeField && (!field.timeRangeMax || (time.getTime() != field.timeRangeMax.getTime()))) {
				var start = Ext.getCmp(field.startTimeField);
				
				if (start) {
					start.setMaxValue(time);
					field.timeRangeMax = time;
					start.validate();
				}
			} else if (field.endTimeField && (!field.timeRangeMin || (time.getTime() != field.timeRangeMin.getTime()))) {
				var end = Ext.getCmp(field.endTimeField);

				if (end) {
					end.setMinValue(time);
					field.timeRangeMin = time;
					end.validate();
				}
			}
		}
	
		return true;
	}
} );
