function _nfv_validate(alias,questions)
{	
	var ok = true;
	//alert(questions);
	//alert(alias);
	quest_count = questions.length;
	for(var i=1;i<quest_count;i++) {
		var quest = questions[i];
		var id = quest['node_id'];
		var value = $F(id);
		//alert(id+'\n'+quest['type']);
		switch(quest['type']) {
			case "email" :
	        	success = /^[\w.-]+@([\w.-]+\.)+\w{2,6}$/i.test(value);
            break;

	        case "http" : case "ftp" : case "gopher" :
	            success = /^http|ftp|gopher:\/\/[^\n\r]+(?=[\s\.,])$/i.test(value);
	        break;
	
	        case "integer" :
	            success = /^\d+$/i.test(value);
	        break;
	
	        case "float" :
	            success = /^\d*\.|\,\d+$/i.test(value);
	        break;
	
	        case "string" :
	            success = /^.+$/i.test(value);
	        break;
	
	        case "text" :
	            success = /^.+$/i.test(value);
	        break;

	        case "password" :
	            success = /^.+$/i.test(value);
	        break;
		}
		//alert(success);
		if(!success && (quest['necessary'] || value.length>0)) {
			_nfv_error(id);
			ok = false;
		}
	}
	
	return ok;
}

function _nfv_error(id)
{	
	var error_bgcolor = '#ffffcc';
	var default_bgcolor = '#ffffff';
	
	var node = $(id);
	
	var bgcolor = node.getStyle('background-color');
	//alert(bgcolor);
	if(bgcolor=='' || bgcolor==null || bgcolor==false) {
		bgcolor = default_bgcolor;
	}
	//var bg = node.getStyle('background');
	setTimeout('$(\''+id+'\').setStyle({backgroundColor: \''+bgcolor+'\'})',600);
	node.setStyle({backgroundColor: error_bgcolor});
}

function _nfv_example()
{
	
}