var Zend = Zend || { };
Zend.Form = Zend.Form || { };

Zend.Form.isValid = function(form)
{
	var c = form.elements;
	
	var formName = (form.getAttribute('name'))
	             ? form.getAttribute('name')
	             : 'form';

	var rules = Forms[formName];
	var formValidates = true;
	
	for(var key in rules)
	{
		var element = form[key];
		var ruleset = rules[key];
		
		for(var i in ruleset)
		{
			var nameParts = ruleset[i].name.split('_');
			var validator = window[nameParts[0]];
			for(var j = 1, len = nameParts.length; j < len; j++)
			{
				validator = validator[nameParts[j]];
			}
			
			try 
			{
				var elementValidates = validator(element.value, ruleset[i].parameters);
			
				if(elementValidates)
				{
				    // je validni
				    element.style.backgroundImage ='url(/image/insert-required-bg.gif)';   
                    element.style.backgroundRepeat ='repeat-x'; 
                    element.style.backgroundPosition ='center';
                    element.style.borderColor ='#666666';
                    element.parentNode.parentNode.firstChild.firstChild.className = 'form_table_cell_label label_required';
				}
				else 
				{
				    // nevalidni ->
				    // zmena policka
					element.style.backgroundImage ='url(/image/insert-requiredalert-bg.gif)';	
					element.style.backgroundRepeat ='repeat-x';	
					element.style.backgroundPosition ='center';	
					element.style.borderColor ='red';
					element.parentNode.parentNode.firstChild.firstChild.className = 'form_table_cell_label label_alert';
					
					formValidates = false;
					break;
				}
			}
			catch(exception)
			{
				continue;
			}
		}
	}
	
    // je nevalidni
    if (formValidates == false) {
        // error v rohu tabulky - kvuli iecku takhle picusky
    	if (document.getElementById('form_table_head_error')) {
            document.getElementById('form_table_head_error').style.display="inline";
        }
        // alert
        alert('Please fill in the required fields correctly');
    // je validni
    } else {
    	if (document.getElementById('form_table_head_error')) {
    		document.getElementById('form_table_head_error').style.display="none";
    	}
    }
    
	return formValidates;
}

