/* converts original rules to jquery validation compatible rules*/
function convertRules(rules) {
	var newrules = {};
	for(var elem in rules) {
		newrules[elem] = {};
		newrules[elem]['required'] = rules[elem]['required'];

		switch(rules[elem].type) {
			case 'email':
				newrules[elem]['email'] = true;
				break;
		}
	}
	return newrules;
}

/* replacement for original initWebform
 * just call this function at the end of the document
 */
function initWebform(number, orgrules) {
	$form = $('form[name=webform_'+number+']');
	//if the form exists on the current page
	if($form.length > 0) {
		$form[0].onsubmit = null;
		//convert generated rules
		var rules = convertRules(orgrules);
		
		$form.validate({
			rules: rules,
			showErrors: function(errorMap, errorList) {
				for(var key in errorList) {
					$(errorList[key].element)
					.addClass('error')
					.parent('.data')
					.prev('.label')
					.addClass('error');
				}
			}
		});

		$form.submit(function(e) {
			if(!$form.valid()) {
				e.preventDefault();
			}
		});
	}
}


