	var requiredRegexp = /[^.*]/
	var policyRegexp = /^(\d{9,10})$/i
	var offerRegexp = /^(\w{1,10}|)$/i
	var identRegexp = /^\d{6,10}$/i
	var spzRegexp = /^\w{6,7}$/i
	var tpRegexp = /^\w{2}\d{6}$/i
	var integerRegexp = /^[-+]?\d+$/
	var realRegexp = /^[-+]?\d*\.?\d+$/
	var dateRegexp = /^((([0]?[1-9])|([12][0-9])|(3[01]))\.(([0]?[1-9])|(1[0-2]))\.([12]\d{3}))$/i
	var timeRegexp = /^(\d{1}|([01]\d{1})|(2[0-3]))\:(\d{1}|([0-5]\d{1}))$/i
	var emailRegexp = /^[a-z0-9._%-]+@[a-z0-9.-]+\.[a-z]{2,4}$/i
	var phoneRegexp = /^(\+420|)\d{9}$/
	var urlRegexp = /^(http|https|ftp)\:\/\/[a-z0-9\-\.]+\.[a-z]{2,3}(:[a-z0-9]*)?\/?([a-z0-9\-\._\?\,\'\/\\\+&amp;%\$#\=~])*$/i
	var zipRegexp = /^\d{5}$/
	var alfanumRegexp = /^[a-z0-9 ._-]+$/i
	var alfaRegexp = /^[a-z ._-]+$/i
	var policyHavRegexp = /^((((06)|(95)|(93))\d{2})|(0500))\d{6}$/i
	var policyPovRegexp = /^((((61)|(95)|(93))\d{2})|(0500))\d{6}$/i
	var policyMajRegexp = /^((05)|(07)|(08)|(09)|(10)|(11)|(15)|(17)|(18)|(21)|(22)|(23)|(25)|(29)|(51)|(52)|(53)|(54)|(55)|(56))\d{8}$/i
		
	function validate(id, errorMsg, regexp) {
		result = document.getElementById(id).value.match(regexp);
		var future = "0"
		if (id == "in_dateCreated" && result != null) {
			var d = document.getElementById("in_dateCreated").value;
			var ds = d.split(".");
			var dnes = new Date();
			var rok = dnes.getFullYear()
			var mesic = dnes.getMonth()+1
			var den = dnes.getDate()
			if (ds[2]>rok || (ds[2]==rok && ds[1]>mesic ) || (ds[2]==rok && ds[1]==mesic && ds[0]>den) ) {
				errorMsg = "Datum je v budoucnosti"
				future = "1"
			}
		}
		newDiv = document.createElement("div");
		newDiv.setAttribute('id',id+'errorMsg');
	    newDiv.style.color="red";
	    newDiv.style.textAlign="center";
		newText = document.createTextNode(errorMsg);
		newDiv.appendChild(newText);
		if (result == null || future == "1") {
			if (!document.getElementById(id+'errorMsg')) {
				if (document.getElementById(id).parentNode.id == 'policies' || document.getElementById(id).parentNode.id == 'offers') {
					var elementId = document.getElementById(id).id;
					if (elementId.match("1")) { // first element
						document.getElementById(id).parentNode.insertBefore(newDiv,document.getElementById(id).nextSibling.nextSibling.nextSibling);					
					}
					else {
						document.getElementById(id).parentNode.insertBefore(newDiv,document.getElementById(id).nextSibling.nextSibling);
					}
				}
				else {
					document.getElementById(id).parentNode.insertBefore(newDiv,document.getElementById(id).nextSibling);
				}
			}
			else {
				document.getElementById(id).nextSibling.firstChild.replaceNode(newDiv,document.getElementById(id).nextSibling.firstChild);
			}
		}
		else {
			if (document.getElementById(id+'errorMsg'))
				document.getElementById(id+'errorMsg').parentNode.removeChild(document.getElementById(id+'errorMsg'));	
		}
	}
	
	function getElementsByClass(searchClass,node,tag) {
		var classElements = new Array();
		if ( node == null )
			node = document;
		if ( tag == null )
			tag = '*';
		var els = node.getElementsByTagName(tag);
		var elsLen = els.length;
		var pattern = new RegExp("(^|\\s)"+searchClass+"(\\s|$)");
		for (i = 0, j = 0; i < elsLen; i++) {
			if ( pattern.test(els[i].className) ) {
				classElements[j] = els[i];
				j++;
			}
		}
		return classElements;
	}
		
	function checkRequired() {
		var elements = getElementsByClass('requiredField',document,'*');
		
		for (i=0;i<elements.length;i++) {			
			if (elements[i].id) {
				newDiv = document.createElement("div");
				newDiv.setAttribute('id',elements[i].id+'errorMsg');
			    newDiv.style.color="red";
			    newDiv.style.textAlign="center";
				newText = document.createTextNode("povinne pole");
				newDiv.appendChild(newText);
				result = document.getElementById(elements[i].id).value.match(requiredRegexp);
				if (result == null) {
					if (!document.getElementById(elements[i].id+'errorMsg')) {
						document.getElementById(elements[i].id).parentNode.insertBefore(newDiv,	document.getElementById(elements[i].id).nextSibling);
					}
					else{
					//document.getElementById(elements[i].id).nextSibling.firstChild.replaceNode(newDiv, document.getElementById(elements[i].id).nextSibling.firstChild);
					}
				}
			}		
		}	
	}	
	
	
	
	function checkRequired2() {
	var elements = getElementsByClass('requiredField',document,'*');
	for (i=0;i<elements.length;i++) {			
		if (elements[i].id) {
			document.getElementById(elements[i].id).focus();
		}		
	}
		document.getElementById("in_notifyFirstName").focus();	
		document.getElementById(elements[0].id).focus();	
	}	

