function showFormError(fi){
	if(!fi || $('mark_' + fi.getProperty('id')) == null) return;
	$('mark_' + fi.getProperty('id')).setStyle('visibility', 'visible');
}

function hideFormError(fi){
	if(!fi || $('mark_' + fi.getProperty('id')) == null) return;
	$('mark_' + fi.getProperty('id')).setStyle('visibility', 'hidden');
}

function checkForm(f){
	if(!f || $(f) == null) return false;
	var items = $$('form#' + $(f).getProperty('id') + ' .require');
	if(items.length == 0) return true;
	var success = true;
	for(var i=0; i<items.length; i++){
		var item = items[i];
		if(item.hasClass('notempty')){
			if(item.value.trim().length == 0){
				showFormError(item);
				success = false;
			}else{
				hideFormError(item);
			}
		}
		if(item.hasClass('notnull')){
			if(item.value == '0'){
				showFormError(item);
				success = false;
			}else{
				hideFormError(item);
			}
		}
		if(item.hasClass('mail')){
			val=/\w.+@\w.+\.\w.+/;
			if(!val.test(item.value)){
				showFormError(item);
				success = false;
			}else{
				hideFormError(item);
			}
		}
	}
	return success;
}

var formdata = false;
var formerrors = new Array();

window.addEvent('domready', function(){
	if(formdata){
		for(var fitem in formdata){
			if($(fitem) == null) continue;
			var element = $(fitem);
			var value = formdata[fitem];
			if( value.charAt(0) == '{' && value.charAt(value.length - 1) == '}' ) continue;
			switch(element.nodeName.toLowerCase()){
				case 'select':
					for(var o=0; o<element.options.length; o++){
						if(element.options[o].value == value){
							element.selectedIndex = o;
							break;
						}
					}
					break;
				case 'input':
					switch(element.getProperty('type').toLowerCase()){
						case 'radio':
						case 'checkbox':
							element.checked = (value.toInt() == 1) ? true : false;
							break;
						case 'text':
							element.value = value;
							break;
					}
					break;
				case 'textarea':
					element.value = value;
					break;
			}
		}
	}
	if(formerrors && formerrors.length > 0){
		for(var e=0; e<formerrors.length; e++){
			if($(formerrors[e]) == null) continue;
			showFormError($(formerrors[e]));
		}
	}
});

