jQuery.fn.checkear = function(campos){
	jQuery.ae_alertame.mid = this.id();
	$.each(campos, function(i) { 
			jQuery.ae_alertame.agregar_elemento($('[@name='+i+']', $('#'+jQuery.ae_alertame.mid)), this);
		} );
	$(this).bind('submit', jQuery.ae_alertame.chequearSubmit);
}
jQuery.ae_alertame = {
	mid:'',
	campos:{},
	msg_wrong:'*',
	msg_ok:'<img src="img/ok.gif" align="absmiddle" />',
	agregar_elemento: function(obje, condiciones){
			condiciones = condiciones.split(';');
			jQuery.ae_alertame.campos[obje.attr('name')] = false;
			jQuery.ae_alertame.agregar_icono(obje, jQuery.ae_alertame.msg_wrong, 'ae_nok');
			for(var i=0; i<condiciones.length; i++)
				jQuery.ae_alertame.conectar(obje, condiciones[i]);
		},
	agregar_icono: function(obje, valor, clase) { 
			var icono = document.createElement('span');
			$(icono).id('ae_alertme_icon_'+jQuery.ae_alertame.mid+'_'+$(obje).attr('name'));
			$(icono).addClass(clase);
			$(icono).html(valor);
			$(obje).after(icono);
		},
	conectar: function(obje, condicion) { 
			switch(obje.attr('type')){
				case 'text':
				case 'password':
				case null:
					if(condicion=='notnull'){
						$(obje).keyup(jQuery.ae_alertame.chequearNotNull);
					}
					if(condicion=='email'){
						$(obje).change(jQuery.ae_alertame.chequearEmail);
					}
					if(condicion=='confirm'){
						$(obje).change(jQuery.ae_alertame.chequearConfirm);
					}
					break;
				default:
					if(condicion=='notnull'){
						$(obje).change(jQuery.ae_alertame.chequearNotNull);
					}
			}
			switch(condicion)
			{
				case 'notnull':
					if($(obje).attr('value')==''){
						jQuery.ae_alertame.replace_icono(obje, jQuery.ae_alertame.msg_wrong, 'ae_nok');
						jQuery.ae_alertame.campos[$(obje).attr('name')] = false;
					}else{
						jQuery.ae_alertame.replace_icono(obje, jQuery.ae_alertame.msg_ok, 'ae_ok');
						jQuery.ae_alertame.campos[$(obje).attr('name')] = true;
					}
					break;
			}						
		},
	chequearNotNull: function() {
			if($(this).attr('value')==''){
				jQuery.ae_alertame.campos[$(this).attr('name')] = false;
				jQuery.ae_alertame.replace_icono(this, jQuery.ae_alertame.msg_wrong, 'ae_nok');
			}else{
				jQuery.ae_alertame.replace_icono(this, jQuery.ae_alertame.msg_ok, 'ae_ok');
				jQuery.ae_alertame.campos[$(this).attr('name')] = true;
			}
		},
	chequearEmail: function() {
			//checar confirm
		},
	chequearConfirm: function() {
			var confirm_name = $(this).attr('confirm');
			var confirm_value = ($('[@name='+confirm_name+']', $('#'+jQuery.ae_alertame.mid)).attr('value'));
			if(this.value != confirm_value){
				jQuery.ae_alertame.replace_icono(this, jQuery.ae_alertame.msg_wrong, 'ae_nok');
				jQuery.ae_alertame.campos[$(this).attr('name')] = false;
				if($(this).attr('ae_msg')){
					alert($(this).attr('ae_msg'));
				}
			}else{
				jQuery.ae_alertame.replace_icono(this, jQuery.ae_alertame.msg_ok, 'ae_ok');
				jQuery.ae_alertame.campos[$(this).attr('name')] = true;
			}
		},
	chequearSubmit: function() {
		var retorno = true;
		$.each(jQuery.ae_alertame.campos, function(i){
				if(this==false){
					retorno = false;
				}
			});
		if(retorno == false && $(this).attr('ae_msg')){
			alert($('#'+jQuery.ae_alertame.mid).attr('ae_msg'));
		}
		
		return retorno;
	},
	replace_icono: function(obje, vale, clase) {
			$('#ae_alertme_icon_'+jQuery.ae_alertame.mid+'_'+$(obje).attr('name')).remove();
			jQuery.ae_alertame.agregar_icono(obje, vale, clase);
		}
};

