$(document).ready(function(){
	/*						   
	$('#freservar').enviarForm(function(json){
		if(!json.error){
			//location.reload(true);
			document.location = '?c=pagina&m=reservacion';
		} else{
			alert(json.mensaje);	
		}
		return false;
	});
	*/
	$('#fcompletar').enviarForm(function(json){
		alert(json.mensaje);
		/*if(!json.error){
			document.location = '?c=pagina&m=inicio';
		}*/
		return false;
	});
	
	if($('#fcompletar').length > 0){
		$('#rese_nombre').focus();
		$('input.cantidad').focus(function(){ $(this).select(); });
		$('input.cantidad').blur(function(){ if($.trim($(this).val()) == ''){ $(this).val('0'); } });
	}


	if($('#slide-restaurante').length > 0){
		var sld = new GSlide({container:'#slide-restaurante', width:520, height:348, delay:3000});
		sld.addSlide('/img/restaurante/01.jpg', '#', '');
		sld.addSlide('/img/restaurante/02.jpg', '#', '');
		sld.addSlide('/img/restaurante/03.jpg', '#', '');
		sld.addSlide('/img/restaurante/04.jpg', '#', '');
		sld.addSlide('/img/restaurante/05.jpg', '#', '');
		sld.showSlide();
	}
	
	if($('#slide-servicios').length > 0){
		var sld = new GSlide({container:'#slide-servicios', width:278, height:352, delay:3500});
		sld.addSlide('/img/servicios/01.jpg', '#', '');
		sld.addSlide('/img/servicios/02.jpg', '#', '');
		sld.addSlide('/img/servicios/03.jpg', '#', '');
		sld.addSlide('/img/servicios/04.jpg', '#', '');
		sld.addSlide('/img/servicios/05.jpg', '#', '');
		sld.addSlide('/img/servicios/06.jpg', '#', '');
		sld.showSlide();
	}

	if($('#slide-cabecera').length > 0){
		var sld = new GSlide({container:'#slide-cabecera', width:960, height:265, delay:3500});
		sld.addSlide('/img/cabecera/01.jpg', '#', '');
		sld.addSlide('/img/cabecera/02.jpg', '#', '');
		sld.addSlide('/img/cabecera/03.jpg', '#', '');
		sld.addSlide('/img/cabecera/04.jpg', '#', '');
		sld.showSlide();
	}
});

/* plugin jQuery para enviar formulario con ajax */
jQuery.fn.enviarForm = function(respuesta){
	$(this).submit(function(){
		var datos = $(this).serialize();							
		var objForm = new FORM(this);
		objForm.disable();
		$.post($(this).attr('action'), datos, function(data){ objForm.enable(); respuesta(data); }, 'json');
		return false;
	});	
}

/* pseudo clase FORM */
var FORM = function(form)
{
	var form = form;
	var disablings = new Array();
	
	this.disable = function(){
		for(i = 0; i < form.elements.length; i++){
			disablings[i] = form.elements[i].disabled;
			form.elements[i].disabled = true;
		}
	} // end disable
	
	this.enable = function(){
		for(i = 0; i < form.elements.length; i++){
			form.elements[i].disabled = disablings[i];
		}
	} // end enable
	
	this.clean = function(){
		form.reset();
	}
	
	this.getFields = function(){
		var fields = {};
		jQuery('input, select, textarea', form).each(function(){
			var fieldName = jQuery(this).attr('name');
			if(fieldName){ fields[fieldName] = jQuery(this).val(); }
		});
		fields['ajax'] = true;
		return fields;
	}
	
	this.setFieldValue = function(iField, valor){
		form.elements[iField].value = valor;
		//form.elements[iField].focus();
	}
} // end seudo clase form


var GSlide = function(params){
	var params = params || {};
	
	var container = params.container;
	var width = params.width;
	var height = params.height;
	var delay = params.delay;
		
	var count = 0;
	var slides = new Array();
	var actual = 0;
	
	var entrante = document.createElement('a');
	var saliente = document.createElement('a');

	/* init */
	jQuery(container).css({'position':'relative', 'width':width + 'px', 'height':height + 'px'});
	jQuery(entrante).css({'position':'absolute', 'z-index':'20'}).html('<img />');
	jQuery(saliente).css({'position':'absolute', 'z-index':'30'}).html('<img />');
	jQuery(container).append(entrante).append(saliente);

	this.addSlide = function(src, href, title){
		slides[count++] = {src:src, href:href, title:title};
	}
	
	function loadSlide(){
		jQuery(entrante).children('img').attr('src', slides[actual]['src']);
		actual = (actual + 1) % count;
		var href = slides[actual]['href'];
		var title = slides[actual]['title'];
		var src = slides[actual]['src'];		
		var img = new Image();
		jQuery(img).load(function(){
			jQuery(saliente).css({opacity:0.0});
			setData(saliente, src, href, title);
			jQuery(saliente).animate({opacity:1.0}, 1000);
		}).attr('src', src);
	}
	
	function setData(slide, src, href, title){
		jQuery(slide).attr('href', href);
		jQuery(slide).attr('title', title);
		jQuery(slide).children('img').attr('src', src);
	}
	
	this.showSlide = function(){
		setData(saliente, slides[0]['src'], slides[0]['href'], slides[0]['title']);
		setInterval(loadSlide, delay);
	}
}

