	var req;
	
	function retrieveURL(url) {
		if (window.XMLHttpRequest) { // Non-IE browsers
			req = new XMLHttpRequest();
		} else if (window.ActiveXObject) { // IE
			req = new ActiveXObject("Microsoft.XMLHTTP");
		}
		if (req) {
			//Define "callback" function
			req.onreadystatechange = processStateChange;
			try {
				req.open("GET", url, false);
				req.send('');
				return req.responseText;
			} catch (e) {
				alert(e);
			}
		} else {
			alert('XML HTTP Request not supported!');
		}
	}
	
	function processStateChange() {
		switch (req.readyState) {
			// usually, these steps happen too fast to see
			case 4:
				if (req.status == 200) { // OK response
					// all ok
				} else {
					alert("Problem: " + req.statusText);
				}
				break;
		}
	}
	
	function markError(field) {
		field.style.borderBottomColor = "#ff0000";
		field.style.borderBottomStyle = "solid";
		field.style.backgroundColor  = "#eeeeee";				
		field.focus();			
	}
	
	function checkRequiredFields() {
		var inputs = document.getElementsByTagName('INPUT');
		
		for (var i in inputs) {
			var input = inputs[i];
			var valid;
			
			if (!input.id || input.type == "hidden") {
				continue;
			}
			
			if (input.hasAttribute) {
				valid = input.hasAttribute('notrequired');
			} else {
				valid = (input.outerHTML.indexOf("notrequired") > -1);
			}
			
			if (valid) {
				continue;				
			} else {
				if (input.value) {
					continue;	
				} else {
					alert('Не сте попълнили стойност в задължително поле!');
					markError(input);
					return false;	
				}
			}
		}
		
		return true;
	}

	function checkForm() {
		var inputs = document.getElementsByTagName('INPUT');
		var url = 'checks.php?check=1&';
		
		for (var i in inputs) {
			if (inputs[i].name && 
				(
					inputs[i].name.search('BULSTAT') > -1 ||
					inputs[i].name.search('IBAN') > -1 ||
					inputs[i].name.search('BIC') > -1 ||
					inputs[i].name.search('EGN') > -1 ||
					inputs[i].name.search('LNCH') > -1
				)
			) url += inputs[i].name + '=' + encodeURI(inputs[i].value) + '&';	
		}
		
		result = retrieveURL(url);
		result = result.split("|");

		for (var i = 0; i < result.length; i += 2) {
			if (result[i+1] == 0) {
				var field = document.getElementById(result[i]);
				
				if (!field || field.type != "text") {
					continue;
				}
					
				markError(field);
				
				//alert('Некоректно попълнени данни - моля, проверете валидноста');
				return false;
			}
		}
		
		return checkRequiredFields();
	}
