// JavaScript Document
$(document).ready(function(){
	$.historyInit(pageload, "");
	$('.menuLink').click(function(event){
		event.preventDefault();
		event.stopPropagation();
		core_clickLink (this);
	});
});

/* 
	PageLoad function
	This function is called when:
	1. after calling $.historyInit();
	2. after calling $.historyLoad();
	3. after pushing "Go Back" button of a browser
*/
function pageload(hash) 
{
	/*alert("pageload: " + hash);*/
	if(hash) {
		// restore ajax loaded state
		/*if($.browser.msie) {
			hash = encodeURIComponent(hash);
		}*/
		var queryString = core_generarQueryString (hash);
		$.get("site.controller.php", queryString, function(html){
			if (hash != "home")
			{
				$("#tiradequesos").hide();
			}
			else
			{
				$("#tiradequesos").show();
			}
			/*
			*	Trackeo en Google Analytics
			*/
			core_trackAnalytics(hash);
			/***/
			$('#contenido').html(html);
			$(document).scrollTo('0%', 0);
			/* SEGUNDA ANIDACION DE AJAX */
			$('.segundoNivel').click(function(event){
				event.preventDefault();
				event.stopPropagation();
				core_clickLink (this);
			});
			
			/* BUSCADOR */
			$('.buscadorRecetas').click(function(event){
				event.preventDefault();
				event.stopPropagation();
				core_buscarRecetas ();
			});
			
			$("form").submit(function(event){
				event.preventDefault();
				event.stopPropagation();
				var form = this;
				if (core_formValidar(form))
				{
					var action = $(form).attr('action');
					var method = $(form).attr('method');
					var queryString = $(form).serialize();
					$.post(action, queryString, function(data){
						$('.mensajeForm').html ('Porcesando datos, aguarde un instante...');
						$('.mensajeForm').html (data.mensaje);
						if (data.ok)
						{
							$('#contentForm').hide();
							core_formLimpiar(form);
						}
					}, 'json');
				}
			});
			
			$('.btnPrint, .btnSubmit').css({cursor:"pointer"});
			$('.btnPrint').click(function(event){
				window.print();
			});
			
			$('.btnSubmit').click(function(event){
				event.preventDefault();
				event.stopPropagation();
				$('form').submit();
			});
			$.getScript("scripts/combos.js");
		});
	} else {
		// start page
		$.get("site.controller.php", {}, function(html){
			$('#contenido').html(html);
		});
	}
}

function core_clickLink (obj)
{
	var hash = obj.href;
	hash = hash.replace(/^.*#/, '');
	$.historyLoad(hash);
}

function core_generarQueryString (hash)
{
	hashSplit = hash.split("/");
	var queryString = new Object();
	if (hashSplit[0] != null)
	{
		queryString.seccion = hashSplit[0];
	}
	if (hashSplit[1] != null)
	{
		queryString.subseccion = hashSplit[1];
	}
	if (hashSplit[1] == "buscadorRecetas")
	{
		if (hashSplit[2] != null)
		{
			queryString.orden = hashSplit[2];
		}
		if (hashSplit[3] != null)
		{
			queryString.idqueso = hashSplit[3];
		}
		if (hashSplit[4] != null)
		{
			queryString.idplato = hashSplit[4];
		}
	}
	return queryString;
}

function core_buscarRecetas (){
	var orden = $("#orden").val();
	var idqueso = $("#idqueso").val();
	var idplato = $("#idplato").val();
	var iddificultad = $("#iddificultad").val();
	var idmaridaje = $("#idmaridaje").val();
	var hash = 'recetas/buscadorRecetas';
	hash += '/'+orden;
	hash += '/'+idqueso;
	hash += '/'+idplato;
	$.historyLoad(hash);
}


function core_formValidar(form)
{
	var bgcolor = "#FDE159";
	var fontcolor = "#145897";
	
	/*
	*****************
	*****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;
	$(form).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).one('focus',function()
				{
					$(this).val("");
					$(this).removeAttr("style");
				});
				aux = false;
			}
			else
			{
				$(element).val();
			}
		}
	});
	
	return aux;
}

function core_formLimpiar(form)
{
	$(form).find("input, textarea, select").each(function(index, element){
		$(element).val("");
	});
}

function core_trackAnalytics(seccion)
{
	var urlSite = "/#"+seccion;
	//alert (urlSite);
	pageTracker._trackPageview(seccion);
}

