/*
 * KIMONO 1.1.0 - New Javascript
 *
 * Copyright (c) 2008 Maximiliano Garcia (kimono.com.ar)
 * GPL LICENSE
 *
 * $Date: 2009-02-16 01:20:10 -0200
 *
 */
 
$(document).ready(function() 
{
	$("form").bind("submit", function(e)
	{
		/******************
		 *Config***********
		 ******************/
		var bgcolor = "#80C9FF";
		var fontcolor = "#FFFFFF";

		/******************
		 *Filtros**********
		 ******************/
		var filtros = 
		{
			obligatorio:function(el) 
					   	{
							return ($(el).val() != '' && $(el).val() != -1);
					   	},
			email: 		function(el) 
						{
							if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test($(el).val()))
							{
								return true;
							}
							else
							{
								return false;
							}
						},
			numerico: function(el)
						{
							if (/^[0-9]*$/.test($(el).val()) && $(el).val() != "")
							{
								return true;
							}
							else
							{
								return false;
							}
						},
			moneda: function(el)
						{
							if (/^[0-9]+[\.]?[0-9]+$/.test($(el).val()) && $(el).val() != "")
							{
								return true;
							}
							else
							{
								return false;
							}
						}
		};
		
		/******************
		 *CORE*************
		 ******************/
		var aux = true;
		$(this).find("input, textarea, select").each(function(index, element)
		{
			if ($(element).attr("rel"))
			{
				var filtroCompleto = $(element).attr("rel").split(":");
				var tipoFiltro = filtroCompleto[0];
				var mensajeFiltro = filtroCompleto[1];
				if (!filtros[tipoFiltro](element) || $(element).attr("value") == mensajeFiltro)
				{
					$(element).css({"background":bgcolor, "color":fontcolor});
					$(this).val(mensajeFiltro);
					$(element).focus(function()
					{
						if ($(this).attr("value") == mensajeFiltro)
						{
							$(this).val("");
							$(this).removeAttr("style");
						}
					});
					$(element).focus(function()
					{
							$(this).removeAttr("style");
					});
					aux = false;
				}
				else
				{
					$(element).val();
				}
			}
		});

		/*Si aux es false quiere decir que un filtro dio false*/
		if (!aux)
		{
			/*Paro el evento submit*/
			if (e.preventDefault) e.preventDefault();
			if (e.stopPropagation) e.stopPropagation();
			return false;
		}
		else /*Sino elimino los campos con los atributos*/
		{
			$(this).find('input[id=_bgcolor]').remove();
			$(this).find('input[id=_fontcolor]').remove();
		}
	});

	$("#submit").click(function(){
		$('.formValidar').submit();
	});
});
