// JavaScript Document

// Constants

SHOW_LANGUAGE_SELECTION_BAR = false;

// Animation Timings Constants

MINIMUM_TIME_ON_SCREEN_FOR_PRELOAD_GIF = 2000;
TIME_BETWEEN_AS_CANCELAS_TITLE_ELEMENTS = 500;
TIME_BETWEEN_MENU_CUBE_FADE_IN = 25;
TIME_AS_CANCELAS_TITLE_SLIDE_UP = 1000;
FADE_SPEED = 'slow';

// Global Variables

var currentSection = "";
var filesToPreload = 0;
var languageCodeInUse = "";

var newsletter_textfield_default_text_es = "Escribe tu Email aquí";
var newsletter_textfield_default_text_en = "Write your Email here";
var newsletter_textfield_default_text_gl = "Introduza o seu Email aquí";

var statusBarTimeout;
var newsletterSendURL = 'sendmail.asp'; // <<<<< Modificar esta URL con la dirección a la que se desea enviar el email del campo Newsletter
var newsletterEmail = "";

var newsletterSuccessMessage = [{ es:'Tu dirección de Email se envió correctamente',
																	en:'Email address sent successful',
																	gl:'** Tu dirección de Email se envió correctamente **' }];

var newsletterErrorMessage = [{ es:'No se pudo enviar tu dirección de Email. Inténtalo más tarde',
																en:"Your Email address couldn't be sent. Try again in a few minutes",
																gl:'** No se pudo enviar tu dirección de Email. Inténtalo más tarde **' }];

// Functions
																	
function loader() {
	if($.cookie('lang') == null || !SHOW_LANGUAGE_SELECTION_BAR) {
		languageCodeInUse = 'es';
		$.cookie('lang', 'es');
	}	else {
		languageCodeInUse = $.cookie('lang');
	}
	Shadowbox.init({ handleOversize: "drag", modal: false });
	initMenus();
	initGalleryOnTop();
	initNewsletter();
	filesToPreload = $('.-preload').length;
	$('.-preload').each(function() { preloadFile(extractUrl($(this).css('background-image'))) });
}

function openImageInGallery(img) {
	//Shadowbox.open({ player:'iframe', content:'http://maps.google.com/maps?f=q&hl=es&q=+42.889210, -8.527850&output=embed' });
	//Shadowbox.open({ player:'img', content:'images/' + img });
	var arr = img.split(',');
	var parr = new Array(arr.length);
	for(var i=0; i<arr.length; i++) {
		parr[i] = new Object({ player:'img', content:'images/' + arr[i] + '-big.jpg' });
	}
	Shadowbox.open(parr);
}

function initGalleryOnTop() {
	$('#slides').slides();
}
function loadSection(sectionName) {
	showHideDropDownMenu($('.dropDownMenuWrapper'), 'hide');
	if(sectionName == currentSection) return;
	$('.miniLoaderWrapper').fadeIn();
	$.when($('.webSectionWrapper').fadeOut()).done(function() {
		$('.webSectionWrapper').load(sectionName + '.html .webSectionWrapper > *', function(response, status, xhr) { sectionLoaded(sectionName); });
	});
}

function sectionLoaded(loadedSection) {
	currentSection = loadedSection;
	$.when($('.miniLoaderWrapper').fadeOut()).done(function() {
		initThumbsAndLinks();
		selectLanguageCode(languageCodeInUse, true);
		$('.webSectionWrapper').delay(500).fadeIn(function() {
			//if(currentSection == 'situation') initGoogleMaps();
		});
	});
}

function initThumbsAndLinks() {
	$('.thumb').each(function() {
		var arr = $(this).attr('name').split(',');
		$(this).css('background-image', 'url(images/thumb-' + arr[0] + '.jpg)');
		$(this).mouseenter(function () {
			$(this).css('background-position', parseFloat($(this).css('width')) * (-1));
		});
		$(this).mouseleave(function () {
			$(this).css('background-position', 0);
		});
		$(this).click(function () {
			//openImageInGallery($(this).attr('name') + '-big.jpg');
			openImageInGallery($(this).attr('name'));
		});
	});
	
	$('.link').each(function() {
		$(this).mouseenter(function () { $(this).css('color', '#FFFF88'); });
		$(this).mouseleave(function () { $(this).css('color', '#FFF'); });
		$(this).click(function () {
			if($(this).attr('name').substr(0, 12) == 'loadSection>') {
				loadSection($(this).attr('name').replace('loadSection>',''));
			} else if($(this).attr('name').substr(0, 14) == 'showPlaneFile>') {
				showPlaneFile($(this).attr('name').replace('showPlaneFile>',''));
			} else {
				window.open($(this).attr('name'));
			}
		});	
	});
}

function showPlaneFile(planeFileNumber) {
	if($('.planeFileScrollWrapper').queue().length > 0) return;
	var f = Number(planeFileNumber);
	$('.planeFileScrollWrapper').animate({top:-(f*250)});
	$('.planesTriangle').animate({top:89+(f*20)});
}
function preloadFile(file) {
	$.get(file).complete(function(data) { filePreloaded(); });
}

function filePreloaded() {
	filesToPreload = filesToPreload - 1;
	if(filesToPreload <= 0) setTimeout('hideLoader();', MINIMUM_TIME_ON_SCREEN_FOR_PRELOAD_GIF);
}

function extractUrl(url)
{
  return url.replace(/"/g,"").replace(/url\(|\)$/ig, "");
}

function hideLoader() {
	$('.loaderWrapper').fadeOut(FADE_SPEED, showWeb);
}

function showWeb() {
	$('.webWrapper').fadeIn(FADE_SPEED, function() {
		$('.webWrapper').animate({width:1024}, 'easeOutQuart', showTitle);
	});
}

function showTitle() {
	d = TIME_BETWEEN_AS_CANCELAS_TITLE_ELEMENTS;
	$('.titleLogo').fadeIn(FADE_SPEED);
	$('.titleAsCancelas').delay(d).fadeIn(FADE_SPEED);
	$('.titleCentroComercial').delay(d*2).fadeIn(FADE_SPEED);
	$('.title').delay(d*4).animate({top:50}, TIME_AS_CANCELAS_TITLE_SLIDE_UP, 'easeOutQuart', function() {moveCubesToInitialPosition(); });
}

function hideTitleAndShowGallery() {
	$('.title').fadeOut(function() {
		$('.topGallery').delay(500).fadeIn();
		$('.asCancelasLogoHome').delay(1000).fadeIn();
		$('.asCancelasFBIcon').delay(1100).fadeIn();
		$('.asCancelasTWIcon').delay(1200).fadeIn();
		$('.newsletterWrapper').delay(1500).fadeIn();
	});
}
function selectLanguageCode(code, forceChange) {
	if((code == languageCodeInUse) && !forceChange) return;
	languageCodeInUse = code;
	$.cookie('lang', languageCodeInUse);
	changeNewsletterTextfieldDefaultText();
	hideNoCurrentLanguageCodeTexts();
}

function hideNoCurrentLanguageCodeTextsAlter() {
	$('.localizedTextWrapper div:not(#' + languageCodeInUse + ')').each(function() { $(this).fadeOut(FADE_SPEED); });
	$('.localizedTextWrapper div#' + languageCodeInUse).fadeIn(FADE_SPEED);
}

function hideNoCurrentLanguageCodeTexts() {
	$.when($('.localizedTextWrapper > div:not(.' + languageCodeInUse + ')').each(function() { $(this).fadeOut(FADE_SPEED); })).done(function() {
			$('.localizedTextWrapper > div:not(.' + languageCodeInUse + ')').css('display','none');
			showCurrentLanguageCodeTexts();
		});
}

function showCurrentLanguageCodeTexts() {
	$('.localizedTextWrapper > div.' + languageCodeInUse).fadeIn(FADE_SPEED);
}

function changeNewsletterTextfieldDefaultText() {
	var text;
	switch(languageCodeInUse) {
		case 'en':
			text = newsletter_textfield_default_text_en;
			break;
		case 'gl':
			text = newsletter_textfield_default_text_gl;
			break;
		default:
			text = newsletter_textfield_default_text_es;
	}
	var tf = $('.newsletterTextField').attr('value', text);
}

function initNewsletter() {
	var tf = $('.newsletterTextField');
	
	tf.focusin(function() {
		tf.attr('value', '');
		tf.css('color', '#666666');
	});
	
	tf.focusout(function() {
		newsletterEmail = tf.attr('value');
		changeNewsletterTextfieldDefaultText();
		tf.css('color', '#C7D10A');
		$('.newsletterButton').fadeOut();
	});
	
	tf.keyup(function() {
		var emailRegExp = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/;
		if(emailRegExp.test(tf.attr('value'))) {
			$('.newsletterButton').fadeIn();
		} else {
			$('.newsletterButton').fadeOut();
		}
	});
}

function sendNewsletterEmail() {
	$.post(newsletterSendURL, { email:newsletterEmail }).success(function() {
		writeMessageInStatusBar(getLocalizedText(newsletterSuccessMessage, languageCodeInUse), true);
	}).error(function() {
		writeMessageInStatusBar(getLocalizedText(newsletterErrorMessage, languageCodeInUse), false);
	});
}

function getLocalizedText(o, a) {
	return $(o).attr(a);
}

function writeMessageInStatusBar(msg, type) { // type = true | false; true = messageBar en tonos verdes; false = messageBar en tonos rojos;
	clearTimeout(statusBarTimeout);
	$('.messageBar').clearQueue();
	$('.messageBar').css('top', -18);
	$('.messageBar').html(msg);
	$('.messageBar').css('backgroundColor', type ? '#E9F314' : '#FFC0C0');
	$('.messageBar').css('borderColor', type ? '#C7D10A' : '#F00');
	$('.messageBar').css('color', type ? '#8CB317' : '#F00');
	$('.messageBar').animate({top:0});
	statusBarTimeout = setTimeout('hideStatusBar();', 5000);
}

function hideStatusBar() {
	$('.messageBar').animate({top:-18});
}

function initGoogleMaps() {
	var latlng = new google.maps.LatLng(42.889210, -8.527850);
	var myOptions = { zoom: 10, center: latlng, mapTypeId: google.maps.MapTypeId.ROADMAP };
	var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
	var fundMarker = new google.maps.Marker({ position: latlng, map: map, title: "As Cancelas" });
}
