/* BOWL JS by Rodolfo Berríos http://godlikestudio.com/ > */

/*** preload images ***/
function preloadImages(id) {
    var c = new Array();
    $(id+' img').each( function(j) {
        c[j] = new Image();
        c[j].src = this.src;
    });

}
preloadImages('body');


/*** parametros fancybox ***/
var bowl_fancybox_options = {
	'padding' : 0,
	'overlayColor' : '#000',
	'hideOnOverlayClick': false
};


/*** Shake FX ***/
jQuery.fn.shake = function(){ 
     this.each(function(init){ 
          var jqNode = $(this); 
          jqNode.css({position: 'relative'}); 
          for (var x=1; x<=2; x++){ 
               jqNode.animate({ left: -10 },0) 
               .animate({ left: 0 },30) 
               .animate({ left: 10 },30) 
               .animate({ left: 0 },30); 
          } 
     }); 
	return this; 
}

$(document).ready(function () {
	$(".prev-arrow").delay(1000).animate({left:0});
	$(".next-arrow").delay(1000).animate({right:0});
});

/*** Funciones sin loading completo ***/
$(function (){
	var logo = $("#logo");	
	$("body").css({backgroundPosition: "-660px -660px"});
	function bkg_position() {
		var logo_position = logo.position();
		var bkg_left = logo_position.left-330+70; /* 330 = 0.5*IMG_ELIPSE_WIDTH  70 = DISTANCIA HASTA EL CENTRO DE BOWL (B+O) */
		//$('body').css("backgroundPosition", bkg_left+"px -255px"); /* -255 es 330 - 75 ... Al ojito */
		$("body").stop().animate(
			{backgroundPosition: bkg_left+"px -255px"}, 
			{duration: 500})
	}
	$(window).load(bkg_position);
	$(window).resize(bkg_position);
	
	
	/*** resize ***/
	var alto_minimo = 600;
	
	function BowlSizes() {
		if($(window).height()>alto_minimo) {
			margintop = ($(window).height()-alto_minimo)/2;
			$('#screens').css("margin", margintop+"px auto ");
		} else {
			$("#screens").css("margin", "0");
		}	
	}
	
	BowlSizes();
	$(window).resize(BowlSizes);
	
	/*** navy select ***/
	function selectNav() {
		$(this).parents('ul:first').find('a').removeClass('selected').end().end().addClass('selected');
	}
	
	/*** screenshoots ***/
	$("#home-screenshots").css({"background-image": "url(" + $("img.selected").attr("src") + ")"});
	
	function home_screenshoots() {
		var actual_id 		= "img#"+$("#home-screenshots img.selected").attr("id"); // El id activo actual
		var selected_id 	= "img#img_"+$(this).attr("href").substr(1); // El que se pretende cambiar
		
		var actual_img		= $(actual_id).attr("src");
		var selected_img	= $(selected_id).attr("src");
		
		// Se saca la actual removiendo la class "selected"
		$(actual_id).removeClass("selected").removeAttr("style");
		
		// Hacemos el fadein a la nueva imagen y le damos el selected
		if ($.browser.msie) {
			var fadeR = 0;
		} else {
			var fadeR = 500;
		}
		$(selected_id).fadeIn(fadeR).addClass("selected");

		// Finalmente se cambia el fondo a la imagen selected...
		$("#home-screenshots").removeAttr("style").css({"background-image": "url(" + actual_img + ")"});
	}

	/*** Home scroll ***/
	var home_selector		= "body";
	var home_nav			= "ul#navegacion-home";
	var home_target			= "#home-slider-screen";
	var home_items			= ".case";
	var home_prev			= "#home-prev-arrow";
	var home_next			= "#home-next-arrow";

	/*** Global scroll ***/
	var global_selector		= "body";
	var global_nav			= "ul#navegacion";
	var global_target		= "#screens";
	var global_items		= ".screen-content";
	var global_prev			= "#global-prev-arrow";
	var global_next			= "#global-next-arrow";

	
	function trigger_pre_home(e, data, $pane, $items, pos) {
		home_screenshoots.call($("a[href='#"+data.id+"']"));
	}
	
	function trigger_home(data) {
		var el_home = $(home_nav).find('a[href$="' + data.id + '"]').get(0);
		selectNav.call(el_home);
		var _last_id = $(home_nav+' li:last a').attr("href").substr(1);
		if(data.id==_last_id) {
			$(home_next).css("display", "none");
			$(global_next).css("display", "block").addClass("home-next-arrow");
		} else {
			$(home_next).css("display", "block");
			$(global_next).css("display", "none").removeClass("home-next-arrow");
		}
	}
	
	function trigger_global(data) {
		var el = $(global_nav).find('a[href$="' + data.id + '"]').get(0);
		selectNav.call(el);
		var last_id = $(home_nav+' li:last a').attr("href");
		if(data.id=="home") {
			$(home_prev+", "+home_next).css("display", "block");
			$(global_prev+", "+global_next).css("display", "none").removeClass("home-next-arrow");
			if($(home_nav+" a.selected").attr("href")==last_id) {
				$(home_next).css("display", "none");
				$(global_next).css("display", "block").addClass("home-next-arrow");
			} else {
				$(home_next).css("display", "block");
				$(global_next).css("display", "none").removeClass("home-next-arrow");
			}
		} else {
			$(home_prev+", "+home_next).css("display", "none");
			$(global_prev+", "+global_next).css("display", "block").removeClass("home-next-arrow");
		}
	}
	
	$(home_nav).find('a').click(selectNav);
	
	/*** hash save ***/
	if (window.location.hash) {
		trigger_global({ id : window.location.hash.substr(1) });
	} else {
		$(global_nav+' a:first, '+home_nav+' a:first').click();
	}
	
	var home_scrollOptions = {
		cycle: false,
		force: true,
		constant: false,
		target: home_target,
		items: home_items,
		navigation: home_nav+" li a",
		prev: '#home-prev-arrow', 
		next: '#home-next-arrow',
		axis: 'x',
		onBefore: trigger_pre_home,
		onAfter: trigger_home, // our final callback
		duration: 700
	};
	var global_scrollOptions = {
		cycle: false,
		force: true,
		constant: false,
		target: global_target,
		items: global_items,
		navigation: global_nav+" li a",
		prev: global_prev, 
		next: global_next,
		axis: 'x',
		onAfter: trigger_global, // our final callback
		duration: 700
	};

	/*** home --> ***/
	$(home_selector).serialScroll(home_scrollOptions); // Aplicar el serials en el slider del home
	
	/*** GLOBAL --> ***/
	$(global_selector).serialScroll(global_scrollOptions); // Aplicar el serials en el slider del home
	$.localScroll.hash(global_scrollOptions);
	
	$("ul#equipo-list li a").click(function() {
		var idFicha = "#"+$(this).attr('id').replace("ficha-", "");
		$("ul#equipo-list").fadeOut(700, function() { $(idFicha).fadeIn(); });
		$(idFicha).addClass('ficha-activa');
	});
	$("a.ver-todo-equipo").click(function() {
		$(".ficha-activa").fadeOut(700, function() { $("ul#equipo-list").fadeIn(); });
		$(".ficha").removeClass('ficha-activa');
	});
	
	
	/*** modal contacto ***/
	var form				= "#form";
	var nombre				= "input[name=nombre]";
	var red					= "input[name=red]";
	var url					= "input[name=url]";
	var email				= "input[name=email]";
	var telefono			= "input[name=telefono]";
	var mensaje				= "textarea[name=mensaje]";
	var default_email		= "Email";
	var default_telefono	= "Teléfono";
	var default_mensaje		= "Mensaje";
	var enviar_form			= "a#enviar";
	
	var modal_resultado		= "#modal-resultado";
	var mostrar_resultado	= "a#mostrar-modal-resultado";
	
	$("a#mostrar-modal-contacto").fancybox(bowl_fancybox_options);
	$("a#mostrar-modal-resultado").fancybox(bowl_fancybox_options);
	$("a#cancelar-contacto").click(function() {
		$.fancybox.close();
	});
	
	// Valores default
	$(email).attr('value', default_email);
	$(telefono).attr('value', default_telefono);
	$(mensaje).attr('value', default_mensaje);
	
	// Acciones focusin
	$(email).focus(function() { if(this.value==default_email || this.value=='') this.value=''; });
	$(email).blur(function() { if(this.value==default_email || this.value=='') this.value=default_email; });
	
	$(telefono).focus(function() { if(this.value==default_telefono || this.value=='') this.value=''; });
	$(telefono).blur(function() { if(this.value==default_telefono || this.value=='') this.value=default_telefono; });
	
	$(mensaje).focus(function() { if(this.value==default_mensaje || this.value=='') this.value=''; });
	$(mensaje).blur(function() { if(this.value==default_mensaje || this.value=='') this.value=default_mensaje; });

	// Metodos regex
	/*jQuery.validator.addMethod("accept", function(value, element, param) {
	  return value.match(new RegExp("." + param + "$"));
	});*/	

	// Validar los campos
	$(form).validate({
		rules: {
			email : {
				required: true,
				email: true
			},
			telefono : {
				required: true
			},
			mensaje : {
				required: true,
				/*accept: "[a-zA-Z]+",*/
				minlength: 4
			},
		},
		messages: {
			email: false,
			telefono: false,
			mensaje: false,
		}
	});
	
	function fancybox_close(){
		$('#fancy_outer').hide();
		$('#fancy_overlay').hide();
		$('#fancy_title').hide();
		$('#fancy_loading').hide();
		$('#fancy_ajax').remove();
	}

	
	// Enviar formulario
	$(enviar_form).click(function () {
		var send = true;
		/*** observar cada input ***/
		if($(email).val()=='' || $(email).hasClass("error")  || $(email).val()==default_email) {
			$(email).addClass("error").shake();
			var send = false;
		}
		if($(telefono).val()=='' || $(telefono).hasClass("error")  || $(telefono).val()==default_telefono) {
			$(telefono).addClass("error").shake();
			var send = false;
		}
		if($(mensaje).val()=='' || $(mensaje).hasClass("error")  || $(mensaje).val()==default_mensaje) { 
			$(mensaje).addClass("error").shake();
			var send = false;
		}
		
		if(send==true) {
			$.post("http://bowl.cl/", { email: $(email).val(), telefono: $(telefono).val(), mensaje: $(mensaje).val(), red: $(red).val(), nombre: $(nombre).val(), url: $(url).val() },
				function(data) {
					eval("var response="+data);
					if (response.error == "true") {
						var estado_contacto = '<b>'+$(nombre).val()+'</b> ocurrió un problema al enviar el formulario.';
					} else {
						var estado_contacto = '<b>Gracias '+$(nombre).val()+'.</b> <p>Ya sabemos quien eres y como encontrarte, pronto tendrás noticias nuestras... Muhahahahaha!.</p>';
					}
					fancybox_close();
					$(modal_resultado).html(estado_contacto);
					$(mostrar_resultado).fancybox(bowl_fancybox_options).trigger('click');
				});
		}
		

	});
	

});
