/************************************************************
*	jqueryHvalidator (jquery.hvalidator.js)
*	simple plugin de validador con jquery
*	author: Romero Hernan L.
*	last revition date: 26/02/2009
*	
*	example:
*	
*	<form id="formExample">
		<div class="showError"></div>
*	</form>
*	
*	   $('#formExample').hValidator({
*	      idFrmError: 'formExample',
*	      classDivError: 'showError'
*	   });
*	
*************************************************************/

$.fn.hValidator = function (settings)
		{
			settings = jQuery.extend({
			idFrmError: 'frm',
			classDivError: false,
			messageError: 'This fields are required',
		}, settings);
	
	if(settings.classDivError)
		{
			$('.'+settings.classDivError).hide();
		}
	
	//Inicializo el array con los siguientes valores
	requiredFields='inputRequired';
		
	//Cuando se envia el formulario, disparo la funcion
	$('#'+settings.idFrmError).submit(function(){
		
		//Recorro los inputs que tengan de las clases como "inputRequired" o "selectRequired", etc.
		var error="";
		var marcarError=false;
		
		i=false;
		$('.'+requiredFields).each(function(){
				marcarError=false;
				if($(this).attr('lang'))
					{
						var blank=$(this).attr('lang'); aBlank=blank.split("=");  marcarError=($(this).val()==aBlank[1]);
					} else {
						marcarError=($(this).val()=="");
					}
			
			if(marcarError)
				{
					//Almaceno el error en un div, y marco el campo como requerido
					if($(this).attr('alt'))
						{ fieldError=$(this).attr('alt'); } else { fieldError=$(this).attr('name'); }
					
					//fieldError=fieldError.substr(0,1).toUpperCase()+fieldError.substr(1,fieldError.length).toLowerCase();
					lang=fieldError.substr(fieldError.indexOf("[")+1,2);
					//Si desea personalizar el mensaje de error puede desbloquear el que esta debajo y bloquear el siguiente.
					//error=error+'&nbsp;*&nbsp;'+fieldError+': &nbsp;'+settings.messageError' <br>';
					error=settings.messageError;
					/*if($(this).parent().is("div"))
						{
							$(this).parent().css('border','1px solid #960001');
						} else {*/
							//$(this).attr('style','border:1px solid #960001');
						//}
					$(this).css('border','1px solid #960001');
					$(this).css('background','#FFE2E2');

					
					//Si i vale "false" entonces marco el primer campo requerido para completar
					if(i==false) {
							$(this).focus();
							$('#idBlockTab-'+lang).click();
							i=true;
						}
				} else {
					$(this).css('background','#FFFFFF');
				}
		});
	
		
		if(error!="")
			{
				if(settings.classDivError)
					{
						$('.'+settings.classDivError).html(error);
						$('.'+settings.classDivError).addClass('errorBlock');
						$('.'+settings.classDivError).fadeIn();
					} else {
						$('#'+idFrmError).prepend('<div class="showError errorBlock">'+error+'</div>');
					}
				return false;
			} else {
				return true;
			}
			
	});
}
