
	function isZip(value) {
		return (/[0-9]{4}([a-z]{2}|[A-Z]{2}|[A-Z][a-z]|[a-z][A-Z])/.test(value));
	}
	
	function toZip(o) {					
		if (isZip(o))
	    {
	        o = o.toUpperCase().replace(/([0-9]{4}[A-Z]{2})/g, "");
		}
	}
	
	function onlyZipA(obj) {	
		if (obj.value != '') {
			obj.value = obj.value.toUpperCase().replace(/([0-9]{4}[A-Z]{4})/g, "");
		}
	}
	
	function onlyZip(obj) {	
		if (obj.value != '') {
			obj.className = (isZip(obj.value) ? 'textinput' : 'texterror');
			obj.value = obj.value.toUpperCase().replace(/([0-9]{4}[A-Z]{4})/g, "");
		}
	}
		
	function onlyZipReq(obj) {	
		if (obj.value != '') {
			obj.className = (isZip(obj.value) ? 'required' : 'texterror');
			obj.value = obj.value.toUpperCase().replace(/([0-9]{4}[A-Z]{4})/g, "");
		}
	}
	
	function getAddressByZip(oZip, oStreet, oCity) {
		try {
		
			var sUrl = getZipURL();
		
			var zip = oZip.value;
			var xml = new XMLHttpRequest();
			xml.open("GET", "/includes/zip/" + sUrl + "&zip=" + zip, true);
			xml.onreadystatechange = function() {
				if (xml.readyState == 4) {
					var data = xml.responseText;
					var street = "";
					var city = "";
					var dom = new ActiveXObject("Microsoft.XMLDOM");
					dom.async = "false";
					dom.loadXML(data);
					
					if (dom.getElementsByTagName("address").length == 1) {
						try {
							street = dom.getElementsByTagName("address")[0].childNodes[0].text;
							city = dom.getElementsByTagName("address")[0].childNodes[1].text;
							oStreet.value = street;
							oCity.value = city;
						} catch (e) {
						}
					}
				}
			}
			xml.send(null);
		} catch (e) {			
		}
	}
	
	function AddressObject() {
		this.Zip = '';
		this.City = '';
		this.Street = '';
		this.ReturnFunction = '';
		this.Extra = '';
		this.GetAddress = fnc_getAddress;
				
		function fnc_getAddress(sZip) {
			try {
				var obj = this;
				var sUrl = getZipURL();
				var xml = new XMLHttpRequest();
				xml.open("GET", "/includes/zip/" + sUrl + "&zip=" + this.Zip, true);
				xml.onreadystatechange = function() {
					if (xml.readyState == 4) {
						var data = xml.responseText;
						var dom = new ActiveXObject("Microsoft.XMLDOM");
						dom.async = "false";
						dom.loadXML(data);
						
						if (dom.getElementsByTagName("address").length == 1) {
							try {
								obj.Street = new String(dom.getElementsByTagName("address")[0].childNodes[0].text);
								obj.City = new String(dom.getElementsByTagName("address")[0].childNodes[1].text);
								eval( obj.ReturnFunction + "(obj)" );
							} catch (e) {
							}
						}
					}
				}
				xml.send(null);
			} catch (e) {			
			}
		}
	
	}
	
