function valideR(name,object){
	if (validationD[name]){
		for (i in validationD[name]){
			var reg = validationD[name][i]['method'];
			if (reg.substring(0,1) != '/'){
				p = eval(reg);
				if (!p(object, validationD[name][i]['message'])){					
					return false;
				}
			} else {
				reg = reg.substring(1);
				reg = reg.substring(0,reg.length -1);
				if (object.value.search(reg) == -1){
					document.getElementById(object.id + '_span').className = 'error';
					document.getElementById(object.id + '_span').title = validationD[name][i]['message'];
					return false;
				} else {
					span = document.getElementById(object.id + '_span');
					if (span){
						span.className = 'ok';	
						span.title = '';
					}
				}
			}
		}
		
	}
}



function isConfirm(object,error){
	var parObject = document.getElementById(object.id.substring(0,object.id.length - 8));
	if (parObject.value != object.value){
		document.getElementById(object.id + '_span').className = 'error';
		document.getElementById(object.id + '_span').title = error;
		return false;
	} else {
		span = document.getElementById(object.id + '_span');
		if (span){
			span.className = 'ok';	
			span.title = '';
		}
		return true;
	}
}

function iDontWaitForNobody(){
}

function isUnique(object,error){
	//setTimeout(iDontWaitForNobody, 5000);
	new Ajax.Request(
		'/app/isUnique/'+object.name,
		{
			evalScript	:	true,
			method		:	'post',
			parameters:Form.serialize(object.form),
			onLoading	:	function(){
				document.getElementById(object.id + '_span').className = 'load';
			},
			onComplete	:	function(request, json){
				//alert('sss');
				if (request.responseText == 1){
					document.getElementById(object.id + '_span').className = 'error';
					document.getElementById(object.id + '_span').title = error;
					object.value = error;
					return false;
				} else {
					span = document.getElementById(object.id + '_span');
					if (span){
						span.className = 'ok';	
						span.title = '';
					}
					return true;
				}
			}
		}
	)
}

function getElementsByClassName(oElm, strTagName, oClassNames){
	var arrElements = (strTagName == "*" && oElm.all)? oElm.all : oElm.getElementsByTagName(strTagName);
	var arrReturnElements = new Array();
	var arrRegExpClassNames = new Array();
	if(typeof oClassNames == "object"){
		for(var i=0; i<oClassNames.length; i++){
			arrRegExpClassNames.push(new RegExp("(^|\\s)" + oClassNames[i].replace(/\-/g, "\\-") + "(\\s|$)"));
		}
	}
	else{
		arrRegExpClassNames.push(new RegExp("(^|\\s)" + oClassNames.replace(/\-/g, "\\-") + "(\\s|$)"));
	}
	var oElement;
	var bMatchesAll;
	for(var j=0; j<arrElements.length; j++){
		oElement = arrElements[j];
		bMatchesAll = true;
		for(var k=0; k<arrRegExpClassNames.length; k++){
			if(!arrRegExpClassNames[k].test(oElement.className)){
				bMatchesAll = false;
				break;
			}
		}
		if(bMatchesAll){
			arrReturnElements.push(oElement);
		}
	}
	return (arrReturnElements)
}

function validForm(form,model){
	var validObjects = getElementsByClassName(form, "*", "validation");
	var message = '';
	
	for (i=0; i<validObjects.length; i++){
		v = validObjects[i].name.substring(7+model.length,validObjects[i].name.length-1);
		object = validObjects[i];
		name = v.replace('][','/')
		if (validationD[name]){
			for (j in validationD[name]){
				var reg = validationD[name][j]['method'];
				if (reg == 'isUnique'){
				} else if (reg.substring(0,1) != '/'){
					p = eval(reg);
					if (!p(object, validationD[name][j]['message'])){	
						message += validationD[name][j]['message'] + "\n";
						break; 
					}
				} else {	
					reg = reg.substring(1);
					reg = reg.substring(0,reg.length -1);
					if (object.value.search(reg) == -1){
						document.getElementById(object.id + '_span').className = 'error';
						document.getElementById(object.id + '_span').title = validationD[name][j]['message'];
						message += validationD[name][j]['message'] + "\n";
						break; 
					} else {
						span = document.getElementById(object.id + '_span');
						if (span){
							span.className = 'ok';	
							span.title = '';
						}
					}
				}
			}
		}
	}
	
	if (message == ''){
		return true;
	} else {
		alert(message);
		return false;
	}
}

	
	function numbersonly(myfield, e, dec) {
   var key;
   var keychar;
 if (window.event)
     key = window.event.keyCode;
   else if (e)
     key = e.which;
   else
     return true;
   keychar = String.fromCharCode(key);

   if ((key==null) || (key==0) || (key==8) || (key==9) || (key==13) || (key==27) )
     return true;
   else if ((("0123456789").indexOf(keychar) > -1))
     return true;
   else if (dec && (keychar == ".")) {
     myfield.form.elements[dec].focus();
     return false;
    } else
     return false;
  }

  function zobrazSkryj(idecko){
	el=document.getElementById(idecko);
	if (el.style.display == 'block')
		el.style.display = 'none';
	else 
		el.style.display = 'block';
}