
jQuery.validator.addMethod("otherThan", function(value, element, param) { 
  return value != param; 
});

jQuery.validator.addMethod("requiredWith", function(value, element, param) {
	var elements = param.split(",");
		elements.push(element);
	
	var state = true;

	for(i in elements){
		var element = jQuery(elements[i])[0];
		
		switch( element.nodeName.toLowerCase() ) {
		case 'select':
			var options = jQuery("option:selected", element);
			if(!options.length > 0 && ( element.type == "select-multiple" || (jQuery.browser.msie && !(options[0].attributes['value'].specified) ? options[0].text : options[0].value).length > 0))
				state = false;
		case 'input':
			if ( this.checkable(element) )
				if(!this.getLength(value, element) > 0)
					state = false;
		default:
			if(!value.length > 0)
				state = false;
		}
	}

	return state;
},"Please fill up all related fields");
	 

jQuery.validator.addMethod("cpf", function(value, element, param) { 
		  
	var i;
	s = value.replace(/[^\d]/gi,"");

	if (s == "62752632762") return true; // CPF correspondente ao MARJAN FARMA
	
	var c = s.substr(0,9);
	var dv = s.substr(9,2);
	var d1 = 0;

	for (i = 0; i < 9; i++){
		d1 += c.charAt(i)*(10-i);
	}

	if (d1 == 0){
		return false;
	}

	d1 = 11 - (d1 % 11);
	if (d1 > 9) d1 = 0;

	if (dv.charAt(0) != d1){
		return false;
	}
	d1 *= 2;
	for (i = 0; i < 9; i++){
		d1 += c.charAt(i)*(11-i);
	}

	d1 = 11 - (d1 % 11);

	if (d1 > 9) d1 = 0;
	if (dv.charAt(1) != d1){
		return false;
	}
	return true
		  
	},"Por favor digite um CPF v&aacute;lido");
  
